Jump to content

HolWo

Administratoren
  • Posts

    338
  • Joined

  • Last visited

  • Days Won

    5

HolWo last won the day on July 31 2019

HolWo had the most liked content!

1 Follower

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

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

  1. Hallo! Die "Reihenfolge im Startdialog" können Sie über das Menü ändern (s. auch Bild): Optionen >> Globale Variablen und Strings >> "Reihenfolge im Startdialog..."
  2. Hallo! Nein, dies lässt sich nicht abfragen. Wenn Sie aber vor(!) dem Start der Messung Variablen/Strings abfragen möchten, dann setzen Sie bitte für die jeweiligen Variablen die Option "Im Startdialog Wert eingeben" (siehe Bild unten) Wenn Sie nun die Messung starten ("Play" betätigen), dann erscheint ein Dialog, der den Benutzer zur Eingabe der Variablen/Strings auffordert. Der Startdialog kann mit "Starten" und "Abbrechen" verlassen werden: bei "Starten" startet die Messung, bei Abbrechen nicht. Mit der Aktion zum Eingeben von Variablen/Strings können Sie während der bereits laufenden Schaltbildausführung Variablen-/Stringinhalte eingeben lassen. Kontrollieren, ob der Benutzer den Dialog mit "Ok/Abbrechen" verlässt, ist aber nicht möglich. Mit dem Aktions-Ereignis "Globale Variable/String geändert" können Sie sich aber benachrichtigen lassen, ob sich ein Inhalt verändert hat.
  3. Hallo! Das Betriebssystem hat auf die Modbus-Kommunikation (die Funktionen) keinen Einfluss.
  4. Hallo, argh, Sie haben den Beitrag editiert... Für das vorige Gerät BK8100 gibt es ein PDF mit einem RSR232-Beispiel: https://download.beckhoff.com/download/Document/io/bus-terminals/bk8100de.pdf Allerdings muss man hier eine Prüfsumme ausrechnen und anhängen. Ich konnte nicht ausmachen, welche verwendet wird. DASYLab bietet einige automatisch berechnete an; wenn davon keine mit der notwendigen Prüfsumme für das Gerät übereinstimmt, müsste man diese manuell berechnen und einen festen Anfrage-String senden. Die Kontrolle der vom Gerät gelieferten Antwort inkl. Prüfsumme kann das Standard-RS232-Modul leider nicht leisten. Entweder ignoriert man das Verhandensein der Prüfsumme der Antwort oder man könnte das Skriptmodul verwenden, um die Kommunikation (vollständig!) selber zu implementieren. Das BK9050 sollte sich laut Handbuch (https://download.beckhoff.com/download/document/io/bus-terminals/bk9000_bk9050_bk9100de.pdf) via Modbus auch von DASYLab ansprechen lassen. Beachten Sie aber bitte, dass DASYLab nicht alle Modubus-Funktionen unterstützt, sondern sich auf die Modbus-Funktionen 1, 3, 4, 15 und 16 beschränkt: 0x01 Read Multiple Coils Digital-Eingang 0x03 Read Holding Register 40000 Analog-Eingang 0x04 Read Input Register 30000 Analog-Eingang 0x10 Write Multiple Register Analog-Ausgang 0x0F Write Multiple Coils Digital-Ausgang
  5. Hallo! Die Anzeigemodule haben eine feste Grenze der Anzahl der gleichzeitig darstellbaren Daten. Die Aufzeichnung in eine Datei kann natürlich (nahezu) beliebig schnell passieren, aber für die Darstellung muss man reduzieren, wenn (vergleichsweise) hohe Abtastraten und lange Historien der Anzeige zusammentreffen. Für die reine Darstellung über Tage ist es möglicherweise ausreichend, wenn man bspw. statt 100 Hz nur einen reduzierten Datenstrom mit 1 Hz verwendet -- für den "groben" Überblick über mehrere Tage. In der Datendatei steht ja die volle Auflösung zur Verfügung. Hier gibt es mehrere Möglichkeiten, den Datenstrom vor der Anzeige im Linenschreiber zu reduzieren. Bspw. mit dem Separieren-Modul: bei einem Datenstrom mit 1000Hz/BG100 könnte man 99 Werte ignorieren und einen passieren lassen, sodass der Datenstrom nur noch ein Zehntel der Werte umfasst. Oder mit einem Kombitrigger (Steigende Flanke/Direkt) und einem Relais (mit Steuereingang): am Steuereingang schließt man ein Generatormodul an, welches alle paar Sekunden, Minuten oder Stunden einen Impuls erzeugt. Das Relais wird zum Zeitpunkt des Impulses nur einen Wert jedes Kanals passieren lassen. Auf diese Weise könnte man für kürzere Historien eine höhere Auflösung der Daten ermöglichen, in dem man weniger stark reduziert, und gleichzeitig über längere Zeiträume stärker reduzierte Datenströme darstellen.
  6. Hallo! Sie können mithilfe eines Analog- bzw. Digitalausgangsmoduls ein 5.0V-Signal auf einem Ausgang Ihrer DataTranslation-Messhardware ausgeben. Als Datenquelle im Schaltbild können Sie bspw. ein Generatormodul (Konstante, 5.0V) oder ein Schaltermodul verwenden (AUS: 0.0V, EIN: 5.0V).
  7. Demnächst gibt es wieder ein vollständiges und einheitlich gefärbtes Gitter im Layout.
  8. Hallo! Können Sie bitte das betreffende Schaltbild zur Verfügung stellen?
  9. Fixed errors: Worksheet zoom Correction of moving documentation frames when the schematic is zoomed. Multiplex module A crash could occur when stopping the measurement if a multiplex module is used in the schematic. DASYLab Online Help The help pages of the MQTT driver have been updated. Behobene Fehler: Schaltbildzoom Korrektur des Verschiebens von Dokumentationsrahmen, wenn das Schaltbild gezoomt ist. Modul Multiplexen Beim Stopp der Messung konnte es zu einem Absturz kommen, wenn ein Multiplexen-Modul im Schaltbild verwendet wird. DASYLab Online-Hilfe Die Hilfeseiten des MQTT-Treibers wurden aktualisiert. Downloads: (EN) https://www.measx.com/de/service/download.html (DE) https://www.measx.com/en/service/download.html
  10. Hallo! Wenn der Zeitstempel sich ändert, z.B. der angelieferte Wert am Eingang ändert sich, dann muss man die "Neuberechnung" in der ProcessData-Funktion durchführen, siehe angehängtes Schaltbild/Skript. Bild: In der globalen Variable steht beispielhaft ein Zeitstempel. Das Modul "Variable lesen" gibt den Wert als Datenblock an seinem Ausgang aus. Das Skriptmodul empfängt den Datenblock (siehe ProcssData, ganz unten im Skript) und holt sich den letzten Wert des Datenblocks (falls Blockgröße > 1). Der Wert ist der Zeitstempel, welcher dann über die Bibliotheksfunktion in Zeit/Datum-Information gewandelt wird. Ist das erfolgreich gewesen, werden die sich ergebenden Texte in globale String geschrieben. Änderungen am Skript machen: Die Py-Datei kann mit einem beliebigen Texteditor angepasst werden. Im Skriptmodul muss dann über die "Laden"-Taste die Py-Datei in das Modul geladen werden. Die Py-Datei muss für die Schaltbildausführung nicht neben der Schaltbilddatei (*.DSB) liegen -- die Py-Datei braucht man nur zum Verändern des Verhaltens des Skriptmoduls: Skriptmodul-Skript mit "Speichern"-Taste als Datei abspeichern, in der Datei Änderungen durchführen, Py-Datei wieder mit "Laden"-Taste ins Modul zurückladen. date_time.DSB timestamp.py
  11. Hallo! Wie Hag erwähnte, sollte ein Formatstring a\n eigentlich ausreichen (siehe Bild). a - alle Zeichen bis zum Terminator-Symbol versuchen als Zahl zu interpretieren \n - Linefeed-Symbol als Terminator nutzen Im Digitalinstrument nur noch im Kanal die Anzahl der Nachkommastellen erhöhen -- in den Optionen des Moduls die Gesamtanzahl der anzuzeigenden Stellen der Zahl ebenfalls. Im Bild sind es 15 Stellen, davon im Kanal 0 Nachkommastellen = 6. 6a\n o.ä. funktioniert nicht, wenn die Anzahl der Zeichen größer als (hier) 6 ist: zuerst werden sechs Zeichen als Zahl aus dem Ausgang ausgegeben, dann wird der "Rest" der empfangenen Zahl bis zum Terminator-Symbol ausgegeben -- auf demselben Ausgang. Daher werden pro Nachricht mehrere Zahlen ausgegeben, sodass die Digitalanzeige nichts plausibles anzeigen kann: zuerst werden die ersten 6 Zeichen als Zahl angezeigt, aber quasi sofort vom "hinteren" Teil der Nachricht überschrieben, d.h. den eigentlich noch sinnvollen Anfangsteil der Nachricht, sieht man nur für den Bruchteil einer Sekunde und der hintere Teil der Nachricht bleibt in der Digitalanzeige stehen, bis die nächste Nachricht vom Gerät eintrifft. (An der seriellen Schnittstelle habe ich die Pins 2 und 3 kurzgeschlossen, sodass ich mir über dieselbe Schnittstelle selber Nachrichten zusenden kann -- sehr praktisch beim Tüfteln... )
  12. Hallo! Mit dem Skriptmodul kann man den Zeitstempel in eine besser lesbare Datums- und Zeitinformation umwandeln, siehe Bild. Für den Gebrauch in DASYLab müsste der Zeitstempel dann über einen Datenkanal an einen Eingang des Skriptmodul geliefert werden oder in einer globalen Variable abgelegt sein. Mit value = Ly.GetVar(5) liest man z.B. den Inhalt der globalen Variable 5 in die Python-Variable 'value' (Ly.GetStr(x) liest den Inhalt eines globalen Strings). Nach der Umwandlung müsste man 'date' und 'time' wieder in globale Strings (Texte) übertragen, um sie an anderer Stelle in DASYLab weiterverenden zu können. Mit Ly.SetVar(num, value) bzw. Ly.SetStr(num, text) kann eine globaler Variable/String mit einem Wert/Text beschrieben werden. date_time.DSB
  13. Welche Bedeutung hat diese Zahl? (vergangene ms seit 1970 o.ä.) Woher stammt diese?
  14. Hallo, danke, ich habe schon etwas getestet und es tritt auch bereits mit DASYLab 12 und 13 auf -- das deutet auf einen tief vergrabenen Fehler hin. Ich habe es entsprechend weitergeleitet.
  15. Hallo! Das Schaltbild ist leider interessanter, auch wenn man es nicht ausführen kann. Ist es mit DASYLab 2020 ursprünglich erstellt worden oder ist es ein "altes" Schaltbild, das mit einem anderen DASYLab erstellt und mit der "2020" geladen wurde?
×
×
  • Create New...