Jump to content

HolWo

Administratoren
  • Content Count

    293
  • Joined

  • Last visited

  • Days Won

    5

HolWo last won the day on July 31

HolWo had the most liked content!

About HolWo

  • Rank
    DASYmatrix 001

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. HolWo

    Diagram

    Hallo! Das Diagramm-Modul beherrscht diese Funktionen leider nicht. Nutzen Sie bitte das Linienschreiber-Modul, wenn Sie das Gitter und höhere Strichstärken benötigen.
  2. Hallo, ich weiss zwar nicht, was Sie mit "permanent zugreifen" meinen, aber mit dem Schreiben in eine Datei und dem Auslesen aus einer Datei kommt man vermutlich in die Nähe dessen, was Sie gerne machen möchten. Da man nicht aus der Datei lesen kann, in die man gerade schreibt, muss man etwas Tricksen. Es gibt zwei Dateien, aus einer wird gelesen, in die andere wird geschrieben -- wenn man den Datensatz "aktualisiert" (Schalter rechts oben: "Aufzeichnen"), dann werden die Dateien quasi beim Schreiber und Lesen getauscht. Mit dem Schalter (links unten) kann man dann wiederholt die gerade auktuelle "Lesedatei" auslesen. Der linke Linienschreiber zeigt, was in eine Datei geschrieben wird, der rechte Schalter zeigt, was gelesen wird -- auch mehrfach denselben "Datensatz", wenn man auf die Taste hämmert. Das Schaltbild ist angehängt (DASYLab 2016 SP2). Da Sie die Dateien "file_a/b" nicht haben, müssen Sie diese erstmal in einem "Trockenlauf" erstellen lassen: Schaltbild laden, den "Lesen"-Zweig entfernen, Schaltbild starten und zweimal "Aufzeichnen" betätigen. Jetzt existieren die Dateien. Nun Schaltbild laden und es funktioniert. 2000werte_datei_schreiben_lesen.DSB
  3. Hallo! Man kann einzelne(!) Zeichen in einem globalen String mit einem Hexcode angeben, z.B. um nicht druckbare Zeichen zu versenden. Siehe Bild: der String SIMU_SENDEN1 hat den Inhalt \x0a\xff\x1f -- das sind eigentlich nur drei Zeichen, aber mit dem Steuerzeichen \x geben wir DASYLab an, dass die beiden folgenden Zeichen der Hexcode sein sollen. Also \x1f ist das Zeichen mit dem Hexcode 31, was dem ASCII-Zeichen '1' entspricht. (siehe ASCII-Tabelle). Der Formatstring im RS232-Ausgang ist der Standardstring [a]/r. -- Für das [a] wird der zu sendende String eingesetzt und ein Carriage return (\r) angehängt, um die Nachricht abzuschließen. Die Aktion (Aktion00) sendet den String 1 und den String 2. String 2 enthält den Text FFFFFFFF (8xF). Im RS232-Eingang gibt es fünf Kanäle: die ersten vier haben als Formatstring ein einzelnen b (für Byte). Der fünfte Kanal enthält den Formatstring ahl\r. Jeder Kanal mit einem b liest ein einzelnen Byte aus dem empfangenen Datenstrom und gibt den (dezimalen) Wert auf dem Ausgang aus, angezeigt im Digitalinstrument. \x0a oder 0x0A oder 0Ahex entspricht 10 dezimal. \xff oder 0xff oder FFhex entspricht 255 dezimal usw. Der letzte Kanal enthält den Formatstring ahl, was soviel bedeutet, dass 8 Bytes als hexcodierte ASCII-Zeichen zu interpretieren sind (a=ascii/h=hex/l=long). 0xFFFFFFFF entspricht eben 4294..blahblah als Dezimalzahl. Mit dem Formatstring $1\r in einem RS232-Eingang kann man Daten in einen globalen String schreiben (hier: $1 >> Variable 1). Allerdings kann man dabei keine Interpretation durchführen, da dies nur für Klartext-Teile einer Nachrichten gedacht ist. rs232simusenden.DSB
  4. Hallo! Über die Stringfunktionen kann man leider keine führenden Nullen bei der Umwandlung hinzufügen lassen. Der RS232-Ausgang hingegen kann dies beispielsweise machen durch Nutzung des Formatstrings [az5]: z=leading zeros, 5=fünf Stellen (siehe Bild / angehängtes Beispielschaltbild / Hilfeseite zu Formatanweisungen des RS232-Ausgangs). Der sich nicht ändernde "Kommando-Teil" ist jetzt direkt im RS232-Ausgang eingegeben, gefolgt vom [az5]-Platzhalter. Eine Aktion sendet über den RS232-Ausgang eine globale Variable (Nr. 1, im Bild Wert =1080). Der Handregler gibt die Spannung vor, das Skalierungsmodul wandelt den Bereich 0-10 zu 0-20000. Das Ergebnis wird in die Variable 1 geschrieben. Vorteil dieser Lösung: Führende Nullen. Nachteil: Die Nachricht G05 i05 f9 aXXXXX an das Gerät kann nur einen variablen Teil haben (aXXXXX). Falls einer der anderen Werte auch variabel sein muss, funktioniert dieses Konzept nicht mehr. Wenn mehrere variable Teil in der zu sendenden Nachricht sind -- UND führende Nullen notwendig sind --, müsste man das Skriptmodul bemühen, um sich die zu sendende Nachricht geeignet zu programmieren. RS232_String_FührendeNullen.DSB
  5. 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
  6. 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!
  7. 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
  8. 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
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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
  15. 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.
×
×
  • Create New...