Zeit multiplizieren!

Moritz

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen!
Ich sitze hier vor einem riesen Problem:
Ich habe eine Grundzeit von 100 ms, die ich gerne mit einem Faktor( Zähler im Programm) multiplizieren möchte,
um so eine Prozesszeit zu generieren.
Der Zähler läuft, nur die Zeit zu multiplizieren stellt für mich ein Problem dar.
CPU: S7 300 314-1AE04-0AB0
Software: Step 7 Vers 5.4

Ich brauch nur einen neuen Ansatz!

Danke im Vorraus!
 
Zahlenformat

Hallo Moritz,

zunächst müssen beide Faktoren (Zeittakt und Multiplikator) ins gleiche Format bebracht werden, z.B. Integer. Dann sollte multiplizieren kein Problem sein. Anschließend die berechnete Zeit ins passende Format wandeln.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn es sich um eine S5-Zeit handelt, dann ist doch bereits alles in Butter. Für die Zeit die Basis 100 ms verwenden und den Zählerwert direkt übernehmen. Beide (Zeiten und Zähler) liegen intern im Bereich zwischen 0 und 999.
Code:
      LC    Z      1   // Gewünschten Zeitwert laden
      L     W#16#1000  // Zeitraster laden
      +I               // Der Zeitwert steht jetzt in Akku1
 
Wie?

Also das multiplizieren wäre ja kein Problem!
Nur mit welcher Funktion bekomme ich aus einer Zahl das Format für die Zeit( Bsp. s5t#3s).
Und die Zeit als Variabel einzugeben (direkt) habe ich nicht hinbekommen!
Danke!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wichtig dabei ist, dass die Zeit wirklich im Raster 100 ms ausgewertet werden soll. 10 ms, 1 s und 10 s sind auch kein Problem. Bei anderen Faktoren beginnt die Rechnerei. In welchem Wertebereich liegt der Zählerwert?
 
Zeit-Format erzeugen

Die IEC-Standard-Funktion FC 40 TIM_S5TI wandelt das Datenformat TIME in das Datenformat S5TIME. Vielleicht erspart das ein wenig Rechenarbeit.
 
Zurück
Oben