Step 5 S5 Zeitwert KT multiplizieren

kassla

Level-1
Beiträge
135
Reaktionspunkte
10
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

wie kann man einen Zeitwert in S5 multiplizieren.

Ich habe den fixen Zeitwert KT 70.2 (=70s), welchen ich mit der Variablen MW12 (variabel 1 bis 5) multiplizieren muss.
Welche Funktion gibt es hierfür? Wie muss ich vorgehen?
Muss ich den Zeitwert getrennt von der Zeitbasis multiplizieren und dann als Byte zusammensetzen??? Oder geht's einfaceR?

Danke für eure Hilfe
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sieh mal in unsere FAQ.
Da ist beschrieben, wie der Zeitwert bei S5 zusammengesetzt ist. Du mußt ihn vor der Multiplikation zerlegen und dann wieder zusammenbauen.

PS: Ich sehe, du kennst das mit der Basis bereits. Ja, ich denke, du mußt das "zu Fuß" machen. Und auf "Überlauf" achten, wenn deine Zeit zu groß für den Basis-Bereich wird.

PS2: Ich arbeite lieber mit Millisekunden und wandle die dann ganz am Schluß ins S5-Zeitformat, wenn es denn sein muß.
 
Muss ich den Zeitwert getrennt von der Zeitbasis multiplizieren und dann als Byte zusammensetzen???
Ja, so geht es am einfachsten, solange das Ergebnis nicht größer als 999 ist.

- MW12 mit 70 multiplizieren (oder so oft 70 addieren, wie in MW12 steht)
- das Ergebnis in BCD wandeln (DUF oder FB241)
- KT 0.2 dazuaddieren oder Word-verodern (KT 0.2 = KH 2000)

Je nach Fähigkeiten der S5-CPU kann es bei wenigen Werten auch einfacher sein, je nach Multiplikator einfach einen festen/vorberechneten Wert zu laden.
(wenn 1 dann KT 070.2, wenn 2 dann KT 140.2, ...)

Harald
 
Ich würde eine Kombination aus Zeit und Zähler verwenden.
Die Zeit einfach öfters ablaufen lassen.
 
Zurück
Oben