Iec time_s5time

vita-2002

Level-2
Beiträge
182
Reaktionspunkte
33
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich habe ein Problem mit IEC FUNCTION TIME_S5TIME. Und zwar, sobald TIME > 999000ms, wird S5TIME falsch berechnet (umgewandelt). Alles mit PLCSIM 5.4+SP2 simuliert. Liegt das vielleicht am PLCSIM?
 

Anhänge

  • 16m39s.jpg
    16m39s.jpg
    45,7 KB · Aufrufe: 31
  • 16m41s.jpg
    16m41s.jpg
    42,7 KB · Aufrufe: 19
  • 16m53s.jpg
    16m53s.jpg
    44,2 KB · Aufrufe: 20
Zuletzt bearbeitet:
Hallo, ich habe ein Problem mit IEC FUNCTION TIME_S5TIME. Und zwar, sobald TIME > 999000ms, wird S5TIME falsch berechnet (umgewandelt). Alles mit PLCSIM 5.4+SP2 simuliert. Liegt das vielleicht am PLCSIM?

das ist normal!

S5Time hat nur 3 BCD-codierte Stellen + Zeitbasis

Beispiel: 999 Sekunden = 999.2
1000 Sekunden = 100.3
1001 Sekunden = 100.3 => die letze Sekunde wird "weg gerundet"

Falls Du es genauer brauchst benutze die IEC-Timer TON, TOF

IMHO haben S5-Timer in einem S7-Prog sowieso nix verloren
 
Zuviel Werbung?
-> Hier kostenlos registrieren
IMHO haben S5-Timer in einem S7-Prog sowieso nix verloren

Und das ist IMHO Käse! Was da ist kann man auch nutzen, warum auch nicht. Zumal nicht immer ein DB zu verballern Sinn macht und nicht jeder ausschließlich FB am Start hat.
 
Zuletzt bearbeitet:
Erstmal danke!
Wegen BCD-format wusste ich, aber ich dachte, dass das fertige IEC Function wandelt TIME in S5TIME korrekt um. Wer braucht sonst die Funktion?!!! :sw9:Wegen: "nichts verloren". Wenn du 20-40 Timer hast, nimmst du dafür 20-40 DBs??? :shock:
 
Hallo,
ich kenne die Funktion nicht, aber ich denke, dass sie im Bereich des S5TIME korrekt arbeitet. Außerhalb davon ist es dann halt so eine Sache.
Was steht beispielsweise in einem INT drin, wenn du den Wert 170000 dort hinein schreibst ? Ist die gleiche Sache.

Die IEC-Timer machen vor allem dann einen Sinn, wenn man mit dem Zeitbereich der S5-Timer nicht mehr klarkommt oder wenn man einen FB mit sauberer Kapselung erstellen möchte. Innerhalb des FB's kannst du die IEC-Timer zu einem Bestandteil der Instanz machen und brauchst dadurch keine zusätzlichen DB's (sie werden in den I-DB des FB mit integriert).

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Innerhalb des FB's kannst du die IEC-Timer zu einem Bestandteil der Instanz machen und brauchst dadurch keine zusätzlichen DB's (sie werden in den I-DB des FB mit integriert).

Gruß
LL

Hast Recht, ich habe nicht dran gedacht.:oops:

Beschreibung FC 40 TIM_S5TI
Die Funktion FC 40 wandelt das Datenformat TIME in das Format S5TIME. Bei der
Wandlung wird abgerundet. Ist der Eingangsparameter größer als das darstellbare
S5TIME-Format (größer als TIME#02:46:30.000), wird als Ergebnis S5TIME#999.3
ausgegeben und das Binärergebnis BIE auf "0" gesetzt.
Wer lesen kann, der ist König. :oops:
 
Zurück
Oben