schreiber 1 Posted December 13, 2020 Share Posted December 13, 2020 Hat jemand einen Hinweis wie ich einen Timestamp (z.B. 1607850033) visuell als Datum und Zeit darstellen kann? Quote Link to post Share on other sites
HolWo 7 Posted December 14, 2020 Share Posted December 14, 2020 Welche Bedeutung hat diese Zahl? (vergangene ms seit 1970 o.ä.) Woher stammt diese? Quote Link to post Share on other sites
schreiber 1 Posted December 15, 2020 Author Share Posted December 15, 2020 Dieser Zahl stammt aus einem Messgerät UMG 511 von Janitza (über Modbus eingelesen) und gibt Datum und Zeit für z.B. den Maximalwert einer Spannung an. Die Zahl gibt die Sekunden seit dem 1. Januar 1970 00:00 Uhr an und müsste entsprechend umgewandelt werden in Datum und Zeit. Quote Link to post Share on other sites
HolWo 7 Posted December 16, 2020 Share Posted December 16, 2020 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 Quote Link to post Share on other sites
schreiber 1 Posted December 20, 2020 Author Share Posted December 20, 2020 Am 16.12.2020 um 08:55 schrieb HolWo: 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 35 kB · 3 Downloads Guten Tag Herr Wons Besten Dank für das Script-Modul; das Einlesen einer Variablen (aktueller Timestamp) und die Ausgabe von zwei Strings konnte ich bewerkstelligen. Was ich nicht hingekriegt habe ist, dass sich die Sache automatisch aktualisiert dh. wenn ich die Variable "Timestamp" ändere passiert nichts; erst wenn ich alles abspeichere und DasyLab neu starte aktualisieren sich die Strings date und time. Können Sie mir bitte weiterhelfen, denn ich habe noch nie mit Script gearbeitet. Besten Dank. Quote Link to post Share on other sites
HolWo 7 Posted January 19 Share Posted January 19 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 Quote Link to post Share on other sites
schreiber 1 Posted January 22 Author Share Posted January 22 Hallo Herr Wons Besten Dank; ist genau das was ich brauche und es funktioniert wie gewünscht. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.