Word_to_S5time

Lump

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.

Ich versuche mit Hilfe von SCL eine Zeit, welche in einem MW steht in eine Variable vom Datentyp S5TIME zu schreiben (und umgekehrt).
Der MW und der S5TIME Datentyp dürften ansich ja beide Word-breite haben, jedoch meldet mir der Compiler einen "Ungültigen Datentyp".
Die Zeit-Daten im MW kommen von einem anderen Programm und sind bereits vom Bit-Muster her wie die S5TIME aufgebaut.

Folgendende Typumwandlung erkennt zwar der Compiler, aber inhaltlich ist das natürlich Mist.
Code:
[...]
 TV := "TIM_S5TI"(DINT_TO_TIME(INT_TO_DINT(WORD_BCD_TO_INT( MW77 ))))
[...]
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die schnelle Anwort, aber der Thread war mir bekannt. Hilft mir nur leider nicht weiter.
Ich möchte ja keinen Integer-Wert o.ä. umrechnen. Der Wert liegt im Bitmuster ansich ja schon vor.
In AWL dürfte das glaub ich auch keine Probleme machen, da es ja eigentlich egal sein dürfte ob ich einen S5TIME oder ein WORD in den akku lade.
Ich bin aber leider gezwungen in SCL zu arbeiten.

Bsp.:
Die Variable "Zeit" vom Typ (S5TIME) soll den Inhalt des Merkes MW77 welcher z.B. den Wert W#16#3010 hat übernehmen.

Code:
MW 77 := W#16#3010   // funktioniert
Zeit := MW 77 // ungültiger Typ -> wie umgehe ich das?
 
Zuletzt bearbeitet:
... hast du es schon mal mit AT versucht ?
Also :
Code:
myTime_WORD : WORD ;
myTime_S5Time AT myTime_WORD : S5TIME ;
Gruß
LL
 
nein habe ich nicht, werde es probieren und Bericht erstatten :)

edit: Problem gelöst! Dankeschön! Kannte diesen Union-Operator vorher noch nicht.
 
Zuletzt bearbeitet:
Zurück
Oben