FrankTheTank
Level-1
- Beiträge
- 41
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hallo Allerseits!
Ich bin neu in der S7 Welt und als "Hochsprachler" (C++, Matlab, etc.) tu ich mir noch etwas schwer mit AWL und Co.
Ich möchte gerne einen REAL Wert (Zeitangabe in Sekunden) in S5Time Umwandeln, um damit einen Timer zu starten. Durch Recherche hier im Forum und im Internet bin ich bisher soweit gekommen:
Das Problem ist nun, dass als Ausgang von FC40 nicht (wie gewünscht) 2 Sekunden als TmaxS5Time herauskommt, sondern 20 Millisekunden. Woran kann das liegen? Wenn ich den Baustein beobachte und als die Darstellung auf Dezimal stelle, so hat TmaxTime den Wert 2000. Als Millisekunden wären das genau die 2 Sekunden, die ich möchte.
Mit freundlichen Grüßen,
FrankTheTank
Ich bin neu in der S7 Welt und als "Hochsprachler" (C++, Matlab, etc.) tu ich mir noch etwas schwer mit AWL und Co.
Ich möchte gerne einen REAL Wert (Zeitangabe in Sekunden) in S5Time Umwandeln, um damit einen Timer zu starten. Durch Recherche hier im Forum und im Internet bin ich bisher soweit gekommen:
Code:
L 2.000000e+000 // Zeit in Sekunden (Real)
L 1.000000e+003 //
*R // Umwandlung Sekunden in Millisekunden
RND // Umwandlung Real in DInt
T #TmaxTime // Speichern als Time
CALL "TIM_S5TI"
IN :=#TmaxTime
RET_VAL:=#TmaxS5Time
NOP 0
Das Problem ist nun, dass als Ausgang von FC40 nicht (wie gewünscht) 2 Sekunden als TmaxS5Time herauskommt, sondern 20 Millisekunden. Woran kann das liegen? Wenn ich den Baustein beobachte und als die Darstellung auf Dezimal stelle, so hat TmaxTime den Wert 2000. Als Millisekunden wären das genau die 2 Sekunden, die ich möchte.
Mit freundlichen Grüßen,
FrankTheTank