Unterschiede Timer Step7/Codesys

Big X

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

Ich nutze in Codesys regelmäßig einen sich selbst rücksetzenden Timer als Blinkgenerator, z.B.

Code:
TON1(PT := t#10s, IN := NOT Ton1.Q );

Wenn ich das in Step7 probiere, funktioniert das mit den S5-Timern so nicht. Zum testen habe ich verschiedene Kombinationen probiert, sowohl in Codesys als auch in Step 7 (siehe Anhang). In Codesys funktionieren alle Varianten, in Step 7 nur eine.

Dazu hätte ich ein paar Fragen, ich hoffe ihr könnt mir weiterhelfen:

-Wo liegt da genau der Unterschied in der Programmabarbeitung zwischen Siemens und Codesys?

-Warum funktioniert bei Siemens die letzte Variante mit Merker nicht richtig?

-Wenn die probierten Varianten alle im Codesys-Simulator (bzw. auch auf dem TwinCat-Laufzeitsystem) funktionieren, kann ich davon ausgehen, dass diese auf jeder mit Codesys programmierbarer Steuerung funktionieren oder darf es hier Unterschiede geben?

Vielen Dank.



Anhang anzeigen test_codesys23.zip

Anhang anzeigen test2.zip
 
Du vergleichst hier ein wenig Äpfel mit Birnen!

Warum:
In Codesys sind TON, CTU und Co. ganz normale FBs, welche entsprechend nur zum Zeitpunkt des Aufrufs ihren Zustand ändern können.

Bei Siemens wiederum sind die von dir verwendeten S5-Timer und Zähler hart im Betriebssystem integriert, was hier jetzt zur Folge hat, das der Timer "exakt" nachdem die Zeit abgelaufen ist High wird,
das kann also auch irgendwann mitten im Zyklus passieren, also auch eine Zeile vor oder nach dem Aufruf.
Entsprechend deiner Programmierung, ist es nun also relativer Zufall was passieren wird.
Zu deinem Merker-Beispiel mit M30.0, es kann nun also durchaus passieren, das der Timer nach dem Zähler Z4 aktiv wird, was dann zwar der M30.0 mitbekommt, der Z4 aber nicht mehr.

Tip: TON und Co. sind bei Siemens auch als SFB verfügbar, dann hast du mit einer Ausnahme gleiches Verhalten.
Diese eine Ausnahme ist, das ein IEC-Timer bei Siemens bei dem PT mit T#0ms beschrieben wird, initialisiert wird, d.h. der Ausgang Q immer 0 bleibt.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das heisst also dass nichtmal die von mir als funktionierend gedeutete Variante (Zähler ein Netzwerk vor dem S5-Timer) verlässlich ist, da der Timer ja theoretisch genau nach Aufruf des Zählers und vor Aufruf des Timers true werden könnte?

Bezüglich meines Denkfehlers was den obigen TON-FB angeht: Wird der Baustein aufgerufen, wenn die Zeit abgelaufen ist, ist er genau einen Zyklus lang true, d.h. bis zum nächsten Aufruf, wo er sich selbst zurücksetzt, richtig?
 
Zurück
Oben