Jump to content

HolWo

Administratoren
  • Content Count

    289
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by HolWo

  1. Vermutlich müssen Sie zuerst das Gerät passend konfigurieren, sodass es eine Verbindung über Ethernet akzeptiert, und dann im DASYLab-ICOM-Modul die IP-Adresse entsprechend einstellen. https://web-material3.yokogawa.com/IMMW100-01E.pdf https://web-material3.yokogawa.com/IMMW100-71E.pdf
  2. Hallo! Das Schaltbild soll zeigen, wie man "zusammengesetzte" Kommandos an ein Gerät versendet. Im Ausgangsmodul "RS232 Aus00" sehen Sie den Formatstring \x02[a]\x03\r. Im Aktionsmodul "Aktion00" ist definiert, dass beim Auslösen der Aktion (Eingangswert hat sich geändert), über den RS232-Ausgang der globale DASYLab-String Nr. 1 gesendet wird. Das [a] im Formatstring des Ausgangsmoduls ist der Platzhalter, der durch den zu sendenden Text ersetzt wird. Die "Dekoration" rund um das [a], also das Symbol \x02, \x03 und das \r werden immer mitgesendet. Im Infofenster sehen Sie den Inhalt d4200 des Strings 1 (Name: DUTYCYCLE_STR). Wenn die Aktion also ausgelöst wird, wird der Text \x02d4200\x03\r an das Gerät geschickt. Wenn Sie rechts in DASYLabs Symbolleiste auf den grünen "Ball" mit der 2 klicken, finden Sie die Liste der globalen DASYLab-Strings. Doppelklick auf den String 1: hier sehen Sie, dass der Inhalt des Strings 1 berechnet ist. Der String besteht aus dem festen Teil d und dem Teil, welcher wiederum vom aktuellen Wert der globalen Variable DUTYCYCLE (Variable 1) abhängt. Das d ist bei "meinem" Gerät das Kommando für das Setzen des Duty Cycles auf 42% (übertragen als 4200). In dem anderen Aktionsmodul "Aktion01" sehen Sie, dass ein anderer String über dasselbe Modul geschickt wird. In diesem String (Nr. 2, Name ist FRQ_STR) wird ein anderes Kommando berechnet, das dann aus einem f und einer Zahl besteht. f steht bei "meinem" Gerät für das Kommando "Frequency", die Zahl ist die Prozentzahl (1000 = 100%). Das alles sind aber Kommandos, die nur für "mein" Gerät geeignet sind, weil "mein" Gerät etwas mit den Kommandos d und f anfangen kann. Zudem möchte "mein" Gerät, dass alle Kommandos explizit mit den Symbolen <STX> und <ETX> anfangen bzw. enden (STX = Start of Text, ETX = End of Text). Die Schreibweise in DASYLab für diese beiden Symbole ist \x02 (STX) bzw. \x03 (ETX) -- siehe ASCII-Tabelle (links oben bei hex 02 bzw. 03). Ausserdem verlangt mein Gerät, dass Nachrichten mit einem Carriage return-Symbol abgeschlossen werden: DASYLab nutzt hier auch die häufig anzutreffende Kurzschreibeweise \r für das CR-Symbol (siehe ASCII-Tabelle, hex 0D, <CR>). Das kann bei Ihrem Gerät natürlich ganz anders sein. D.h. nun, dass Sie für Ihre Anwendung den Formatstring G05 i05 f9 a15000 ersteinmal in den RS232-Ausgang schreiben. Anstelle der fest vorgegebenen 15000 schreiben Sie den Platzhalter [a]. Erstellen Sie ein Aktionsmodul, ein "Variable schreiben"-Modul, schließen Sie einen Handregler an. Der Wert des Handreglers wird in die Variable geschrieben und an das Aktionsmodul weitergegeben. Die Konfiguration des Aktionsmoduls können Sie 1:1 meinem Demoschaltbild entnehmen. Die Berechnung des Strings... müssen Sie entwas abwandeln, weil bei dem Demoschaltbild noch das "d" bzw. "f" Teil des zu versendenen Strings ist, was bei Ihrer Anwendung ja entfällt (nur die 15000 wurde ja gegen den Platzhalter [a] ersetzt, das a in Ihrem Kommando steht fest im RS232-Ausgang.) Bei weiteren Fragen...fragen!
  3. Hallo! Ich habe ein Beispielschaltbild (ab DASYLab 13) angehängt: im Beispiel wird einem Gerät via RS232 mitgeteilt wie Frequenzen und Abtastabstände (Duty cycle) zu setzen sind. Dabei werden Kommandos bestehend aus festen Bestandteilen und Variablen/Strings verschickt. Bitte einfach mal ansehen und bei Bedarf nochmal nachfragen. rs232_messedemo.DSB
  4. Hallo! Sie können probieren, mit dem ICOM-Modul Daten anzufordern. Das Modul ist vergleichbar mit dem RS232-Modul, nur dass es über eine Netzwerkverbindung (TCP/IP) mit Geräten kommunizieren kann. Es gibt auch einen "ICOM-Monitor" mit dem Sie testweise Kommandos zum Gerät senden können, und sehen können, was es antwortet. Die Kommandos des Yokogawa-MW100 können Sie der ANleitung entnehmen: https://web-material3.yokogawa.com/IMMW100-17E.pdf
  5. In diesem Bild (siehe unten) haben Sie kein Gerät angegeben, sondern nur "S1" gesendet. Vmtl. antwortet dann nur das erste Gerät. Schreiben Sie im Kanal0 "G00 S1\r" und verarbeiten Sie, wie auf dem Bild zu sehen, die erhaltenen Daten. Erstellen Sie einen fünften Kanal und schreiben Sie dort als Datenanforderung "G01 S1\r" und verarbeiten Sie in den weiteren Kanälen die Antworten des zweiten Geräts. Die Start- und Stoppkommandos müssen Sie vmtl. auch noch gerätespezifisch angeben ("G00 X\rG01 X\r"), evtl. können SIe diese auch weglassen, da Sie ja in den Kanälen zyklisch die Datenanfrage durchführen. Die Start/Stopp-Kommandos kann man bei anderen Geräten u.a. dazu verwenden, einmal einen Datenanforderung auszulösen, sodass das Gerät dann selbstständig kontinuierlich Daten sendet.
  6. Was passiert denn, wenn Sie nicht nur "S1" senden, sondern zusätzlich auch "G00" bzw. "G01" -- also bspw. "G00S1\r" oder "G00\rS1\r"? Dies können Sie auch im RS232-Monitor ausprobieren -- im oberen Bereich können Sie Befehle eintragen und absenden, ähnlich zum HyperTerminal, und im unteren Bereich die Antworten ablesen.
  7. Hallo! Das ist etwas schwierig zu beantworten, da man wissen muss, welche Befehle die Ahlborn-Geräte GENAU erwarten, um das zu liefern, was Sie gerne haben möchten. Die Befehle sind ja gerätespezifisch und keine Befehle, die von DASYLab oder allgemein dem RS-232-Protokoll abhängen. 1. Fragen Sie bitte den Ahlborn-Support danach, wie die Befehle lauten, um bei Ihrem Geräteaufbau die gewünschten Daten zu liefern. 2. Welche Geräte haben Sie? Haben Sie eine Dokumentation oder ein Handbuch? Evtl. könnte man daraus etwas ableiten; ohne eine Befehlsliste ist es, wie erwähnt, schwierig, weil der Befehlssatz vom Hersteller stammt.
  8. Hallo Geppi, User mad wollte eine normale DASYLab-Version automatisch im Runtime-Modus starten; nicht ein Schaltbild in einer Runtime-Version automatisch starten. Der zuschaltbare Runtime-Modus einer Vollversion ist nur zum Testen für die Zeit der Entwicklung gedacht; ob DASYLab als "normales" DASYLab oder als Runtime-Version startet, hängt von der im Konfigurator hinterlegten Seriennummer ab.
  9. Hallo DASYLab-Nutzer! Es steht eine aktualisierte Version von DASYLab 2016 mit Service Pack 2 zur Verfügung, welche zwei Fehler behebt: Wenn mit DASYLab 2016 SP2 (b882) erstellte, abgespeicherte Black-Boxen in ein Schaltbild eingefügt werden, kann es passieren, dass beim erneuten Laden des Schaltbilds, die Schaltbildmatrix innerhalb der Black-Box nicht korrekt wiederhergestellt wird. Das kann defekte Modulverbindungen und ein Fehlverhalten der Scrollfunktion zufolge haben. Beim Schreiben von Daten in eine Famos-Datei wurde die Dateigrößeninformation bei sehr großen Dateigrößen (> 2 GB) nicht richtig gesetzt, sodass die Datei nicht wieder eingelesen werden konnte, obwohl die Daten korrekt aufgezeichnet worden sind. Download: https://www.measx.com/de/service/download.html Hinweis: Die "alte" Version von DASYLab 2016 SP2 hat die Buildnummer 882, die neue Version hat die Buildnummer 889. Die Buildnummer ihres DASYLabs erfahren Sie innerhalb eines gestarteten DASYLabs über den Menüeintrag Hilfe >> Info über DASYLab 2016... im Reiter Version des erscheinenden Informations-Dialogs. Installation: Bitte zunächst das vorhandene DASYLab deinstallieren und dann die neue DASYLab-Version installieren.
  10. Das aktualisierte SP2 von DASYLab 2016 steht nun zur Verfügung und kann in unserem Download-Bereich heruntergeladen werden: https://www.measx.com/de/service/download.html
  11. Hallo! Es gibt demnächst eine aktualisierte "DASYLab 2016 SP2"-Version in der dieser Fehler korrigiert ist. Ich kann leider noch kein genaues Datum nennen, ich gebe aber hier Bescheid, wenn es soweit ist.
  12. Hallo DASYLab-Nutzer! Ab sofort steht der FAQ-Bereich für DASYLab zur Verfügung! Diesen erreichen Sie leicht mit einem Klick auf den FAQ-Eintrag im Menüband (siehe Bild) oder über diesen Link >> DASYLab FAQ <<. Hier finden Sie Antworten zu häufig gestellten Fragen über DASYLab im Allgemeinen, über Treiber, die Schaltbildgestaltung, u.v.m. Der Inhalt wird laufend erweitert.
  13. Eine Sammlung häufig gestellter Fragen (und zugehöriger Antworten) ist hier zu finden: >> DASYLab FAQ <<
  14. Hallo! Eine Zeitbasis gibt für Datenquell-Module, welche diese Zeitbasis in den jeweiligen Moduloptionen eingestellt haben, die Ausgaberate der Daten an. Beispiel: Für die "DASYLab"-Zeitbasis ist eingestellt: 10 Hz, Blockgröße 1". Für die "Treiber"-Zeitbasis ist eingestellt 1000 Hz, Blockgröße 500. Zwei Schaltermodule im Schaltbild abgelegt, diese werden in ihren Moduloptionen so konfiguriert, dass das eine Modul die DASYLab- das andere die Treiber-Zeitbasis als "Taktquelle" nutzen. Schließt man bspw. einen Linienschreiber an beide Module an, dann sieht man nach gestartetet Messung, dass beide Module Daten ausgeben. Das Schaltmodul mit eingestellten DASYLab-zeitbasis geniert nun 10 Werte pro Sekunde (wegen der Zeitbasis-Einstellung 10Hz für die Abtastrate), das andere Modul generiert aber 1000 Hz Werte pro Sekunde. Die Blockgröße ist sozusagen eine Transportkapazität: wie viele Datenwerte können in einem Block zusamengefasst werden, um von einem Modulausgang zu einem angeschlossenen Moduleingang transportiert zu werden. D.h. es wird nicht generell jeder einzelne Datenwert separat verschickt, sondern Messwerte werden in DASYLab zu Blöcken zusammengefasst und eben "blockweise" von Modul zu Modul geschickt. Bei 10 Hz, BG 1 (Voreinstellung der DASYLab-Zeitbasis) generiert eine Datenquelle 10 Werte pro Sekunde und legt jeden Datenwerte in einen Ausgabeblock. Da die Blockgröße hier nur 1 beträgt, wird tatsächlich jeder einzelne Datenwerte in einem Block der Größe 1 an das nächste Modul übergeben. D.h. jede Zenhtelsekunde wird ein Block der Größe 1 verschickt. Bei 1000 Hz BG 500 (Treiber-Zeitbasis) generiert das Modul 1000 Werte pro Sekunde, es legt die Daten wertweise in den Block, der hier aber nun 500 Werte fasst. D.h., nach einer halben Sekunde sind 500 Werte erfasst worden und im Ausgabeblock "verpackt" -- dieser wird, wenn er voll ist, abgeschickt und das Modul legt die nächsten 500 Werte in einen neuen, leeren Block. Hier versendet das Modul pro Sekunde nur zwei Blöcke, aber diese Blöcke beinhalten mehr Daten als beim anderen Modul, welches zwar weniger Daten pro Sekunde generiert, diese aber öfter pro Sekunde weitergibt. Wenn Sie eine Zeitbasis auf Abtastrate/-abstand "1 Sekunde" einstellen (das ist dann "1 Hz"), dann erzeugt eine Datenquelle einmal pro Sekunde einen Datenwert. Bei einer Blockgröße von 6 heisst das, dass ein Block, der 6 Werte aufnehmen kann und im Sekundentakt um einen neuen Wert gefüllt wird, nur alle 6 Sekunden gefüllt ist und abgeschickt werden kann. Also immer 6 Sekunden warten und dann einen Block mit 6 Werten weitergeben. Frage 1: Wegen der "1 Sekunde"-Einstellung erzeugt das Modul 1 Wert pro Sekunde -- für jeden Kanal. Nach 6 Sekunden ist der 6er-Block jedes Ausgangs voll und für jeden Ausgang wird jeweils ein 6er-Block ausgegeben. Frage 2: Bei der Multi-File-Einstellung für den Dateiwechsel können Sie angeben, nach wie vielen empfangenen Blöcken, der Dateiwechsel ausgelöst werden soll. Wenn hier der Wert 0 eingetragen wird, führt das Modul keinen automatischen Dateiwechsel aus, stattdessen kann man mit einem Aktionsmodul den Dateiwechsel von "außerhalb" auslösen. Der Dateiwechsel bei einem Wert größer 0 wird anhängig der empfangenen Blöcke auf einem Kanal ausgelöst, es werden nciht bei mehreren Eingängen die Blöcke aller Eingänge addiert. Im Eingabefeld "Eingang" kann man auswählen, welcher Eingang betrachtet werden soll. Das ist aber nur notwendig, wenn die Daten an den Eingängen mit unterschiedlichen Abtastraten/Blockgröße ankommen, i.A. schreibt man aber "gleichschnell" Datenströme in dieselbe Datei.
  15. Hallo Druckmesser, ja, das funktioniert (wie oben beschrieben): Für Strings aktivieren, dass diese im Startdialog eingegeben werden können. In den Dateiformat-Optionen des Schreiben-Moduls für diese Strings aktivieren, sie im Header abzulegen.
  16. Hallo! Welche Seriennummer meinen Sie? Die von DASYLab? Diese ist nicht zur Laufzeit DASYLabs abfragbar. Wenn Sie einen Text eingeben möchten, der für Ihre konkrete Anwendung eine Seriennummer repräsentieren soll, dann können Sie dies über einen globalen DASYLab-String machen: In der Symbolleiste "oben rechts" bei den "grünen Knöpfen mit Zahlen" gelangen Sie durch Betätigen der "2" zur Definition der globalen Strings. Hier einen String aussuchen und für diesen die Optionen "Im Startdialog Wert eingeben" und bei Bedarf "Eingabe erforderlich" aktivieren. In einem Modul "Daten schreiben" in den Optionen des Dateiformats können Sie für jede Variable und jeden String auswählen, ob der jeweilige Zustand beim Start der Messung in den Dateiheader übertragen werden soll.
  17. Hallo! Außer der Liste weiss ich leider keine Möglichkeit, so viele Daten numerisch darzustellen.
  18. Hallo! Die Liste hat im Layout leider niemals einen Scrollbalken, sondern ausschließlich in der Schaltbildansicht.
  19. In meinem Testaufbau gibt es keine Fehlermeldung. (1) Haben Sie einmal probiert, nur alle zwei Sekunden die Daten anzufragen? Evtl. dauert ein "Durchgang" länger. (2) In den Modulen haben Sie Kanäle mit einem Suchmuster; in den folgenden Kanälen nutzen Sie zwar einen Formatstring, lassen jedoch den Ausgang des Kanals unverbunden. Wenn Sie sich nur für den ersten Wert interessieren (das jeweilige iy im Kanal mit dem Suchmuster), dann können Sie die restlichen Kanäle mit unverbundenen Ausgängen entfernen -- und haben dann genau 16 Kanäle, die auch Daten ausgeben, in einem einzelnen Modul abgedeckt. Wenn Sie in Formatstrings Suchmuster verwenden, muss man nicht alle erhaltenen Inhalte der Schnittstelle "weglesen". (3) Sie können auch einen Umweg über globale Variablen nutzen: Die Ausgänge der RS232-Module mit Modulen "Globale Variablen schreiben" verbinden. Mit "Globale Variablen lesen" die Werte wieder auslesen und dann mit einem geeigneten Timing in die Datei schreiben. So hat man die RS232-Module vom "Daten schreiben"-Modul entkoppelt.
  20. Hallo! Hängen Sie bitte das Schaltbild an einen Beitrag an -- so kann ich einfach mal einen Blick darauf werfen! Gruss, Holger
  21. Sind auf dem betreffenden Rechner evtl. Windows-Gruppenrichtlinien nachträglich angepasst oder Dienste deaktiviert worden? Im Konfigurator lässt sich unterhalb des Seriennummereingabefelds die Evaluierungsversion DASYLabs aktivieren. Startet DASYLab im aktivierten Eval.-Modus?
  22. Hallo schreiber! DASYLab 2016 (Release-Version) können Sie hier herunterladen: https://downloads.measx.com/dasylab_versions/legacy/DASYLab_2016_(b477)_Deutsch.zip Was passiert, wenn Sie die "lab.exe" im DASYLab-Programmverzeichnis starten anstatt der "dasylab.exe" (direkt oder über den Link auf dem Desktop)? Kann der Konfigurator gestartet werden? Haben Sie die Installation mit Administratorrechten durchgeführt?
  23. Hallo! Das ist leider ein Programmfehler, der auftreten kann, wenn Black-Boxen in einem Schaltbild entfernt worden sind. Wenn man weitere Black-Boxen entfernt oder neue hinzufügt, können Dokurahmen "verrutschen". Dies ließ sich bisher nur vermeiden, indem man einmal im Schaltbild plazierte Black-Boxen NIE mehr löscht, sondern an die Seite schiebt, um sie bei Bedarf wiederzuverwenden. Ab DASYLab 2016 SP2 ist dieser Fehler behoben -- dies betrifft aber nur neue Schaltbilder bzw. Schaltbilder bei denen der Fehler noch nicht aufgetreten ist. Bei Schaltbildern, bei denen die Dokurahmen bereits "verrutscht" sind kann keine Reparatur/Korrektur der Position erfolgen. Hier muss man (leider...) alle Dokurahmen entfernen, das Schaltbild einmal abspeichern und neuladen. Jetzt die Dokurahmen wieder hinzufügen... und bei Verwendung älterer DASYLabs darauf achten, keine Black-Boxen mehr zu löschen.
  24. Hallo! Über das Aktionsmodul geht dies ganz leicht, indem Sie die Aktion "Variablenbereich lesen (Datei)" bzw. "Variablenbereich schreiben (Datei)" benutzen. Hiermit kann man bspw. die Variablen 1-24 in eine Textdatei "Meine_Skalierungen.INI" schreiben und mit der Lesen-Aktion wieder aus der Datei in die globalen Variablen 1-24 übertragen. Zuerst ein Schaltbild erstellen, das dazu dient, die Datei zu erstellen, die Variablenwerte festzulegen und schlussendlich in die Datei zu schreiben. Ein Schalter-Modul (Impulstaster) dient als Auslöser der Aktion. In der Aktion wird dann auf die Steigende Flanke des angeschlossenen Schalters gewartet und die Aktion "Variablenbereich schreiben (Datei)" ausgeführt. Diese hat drei Parameter "Von", "Bis" und "Dateiname". Von und Bis grenzen den Bereich ein, indem die Nummern der Variablen angegeben werden, also für das aktuelle Beispiel 1 bzw. 24. Der Parameter Dateiname ist selbsterklärend... beispielsweise "Meine_Skalierungen.INI". Legen Sie nun die Werte der Variablen fest, bspw. Variablen 1-4 sind für das Messgerät 1 zuständig, Variablen 1 und 2 sind dann X1 bzw. X2 und die Variablen 3 und 4 sind Y1 bzw. Y2. Variablen 5 und 6 sind dann X1 und X2 für das nächste Gerät usw. Sie können die Variablen entsprechend benennen, z.B. Variable 1 ist G1_X1 (Gerät 1 , X1), etc. Wenn die Variablen alle einen Wert erhalten haben, das Schaltbild ausführen und den Schalter betätigen -- die Datei mit den Variableninhalten wird erstellt. Im Schaltbild, in dem die Werte der Variablen benötigt werden, können Sie eine Aktion "Variablenbereich lesen (Datei)" benutzen, die Parameter sind wieder 1 (Von) und 24 (Bis) und der obige Dateiname. Ausgelöst wird das Ganze nun aber durch das Ereignis "Start der Messung" anstatt durch eine Flanke eines Schalters. Immer wenn das Schaltbild gestartet wird, werden die Werte -- bevor überhaupt etwas anderes passiert -- erstmal aus der Datei gelesen. Wenn Sie möchten, können Sie diese INI-Datei mit einem Texteditor öffnen und einfach anpassen, um die Werte zu verändern -- oder wieder über das andere Schaltbild gehen. In einem Skalierungsmodul können Sie die Werte für X1/2 und Y1/2 der jeweiligen Geräte als Variablen verknüpfen.
×
×
  • Create New...