TIA 4 Byte float (DWord) zu Uhrzeit

DCDCDC

Level-3
Beiträge
2.750
Reaktionspunkte
659
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

irgendwie bekomme ich die Umrechnung nicht hin.

Ich bekomme von meiner Weber C30S Schraubsteuerung über PROFIBUS ein "Ergebnis Schraubzeit" mit dem Typ 4 Byte float übermittelt, diese hab ich bei mir als DWord deklariert.
In der Dokumentation ist auf einer anderen Seite beschrieben, dass die Schraubzeit in Sekunden angegeben ist.
Mehr steht leider nicht dabei, was alles an Informationen in dem Ergebnis enthalten ist. Ich schätze aber mal dass es sich um die Uhrzeit ohne Datum handelt.

Hier mal ein Beispiel:

Auf der Schnittstelle steht in Hex dieser Wert in der Variable: 16#3F83_953E
Wenn ich diese jetzt nach TIME rechne, bekomme ich raus: T#12D_7H_59M_48S_30MS
Wenn ich mir dass jetzt wieder als TIME_OF_DAY ausgeben lasse, habe ich es nicht im TOD#00:00:00 Format, sondern wieder: 16#3F83_953E
Im HMI habe ich mir mal den Wert der Schnittstelle als Dezimal-Ausgabe eingestellt, da steht jetzt drin: 10665588030
Ich hab mir auch mal die Bytes einzeln ausgeben lassen, da steht aktuell drin: Byte 0 = 62, Byte 1 = 149, Byte 2 = 131, Byte 3 = 63

Irgendwie erscheint das mir alles unschlüssig.
Hat jemand schon mal mit einer Weber Schraubsteuerung über Profibus gearbeitet und das ganze in passendes Format gewandelt? Wo ist in meinem Kopf noch der Fehler? Liegt es an der Deklarierung für das Ergebnis, also dass ich inital schon mit dem falschen Datentyp (DWord aktuell) arbeite?

Ich hab auch noch andere Ergebnisse welche als 4 Byte float übergeben werden, welche ich auch als DWord deklariert hab, da sind die Ergebnisse nach dem Umrechnen schlüssig.

Danke!
 
"4 Byte float" = REAL

Könnte es sein, daß das das Time_ms-Format ist, was TIA als Zeitstempel in Archiven verwendet, und auch von Excel verwendet wird?

Harald
 
"4 Byte float" = REAL

Könnte es sein, daß das das Time_ms-Format ist, was TIA als Zeitstempel in Archiven verwendet, und auch von Excel verwendet wird?

Harald
Wie gesagt, laut deren Betriebsanleitung ist es in Sekunden:
Screenshot 2023-08-21 113608.png

Wie wär's mit der Schraubzeit als Real in Sekunden?
Denke ich auch. Also 16#3F83_953E wären dann 1,02799201011658 Sekunden.
Kann das sein?
Hab ich jetzt mal direkt in der Schnittstellen UDT angepasst:
Screenshot 2023-08-21 114802.png

Ist tatsächlich nicht der Zeitstempel, wann geschraubt wurde, sondern wie lange die Ausführung des Programms gedauert. (1,02s)

Hätte ich mir alles ersparen könnnen, wenn ich direkt die richtigen Datentypen für die Schnittstelle ausgewählt hätte.

Sorry und danke!
 
Zurück
Oben