CoDeSys V2.3 TON

Bei anstehendem True an IN beginnt die eingestellte Zeit zu laufen und nach deren Ablauf wird OUT True, solange an IN ein TRUe noch ansteht.
Wird IN False, beginnt die Zeit von vorn mit dem nächsten True an IN.

Problematisch: Bedingte Aufrufe des Timers, "Flackern" des IN-Signals.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe jetzt die Steuerung folgenderweise aufgebaut:

PROGRAM PLC_PRG
VAR
SetOn:BOOL := FALSE;
Set1:TON;
end_var;

Implementation:
Set1(IN := SetOn, PT:= T#5s);
SetOn :=Set1.Q;

Gefressen hat der Compiler den Code. Aber irgendwie bekomme ich keine richtige Ausgabe!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe jetzt die Steuerung folgenderweise aufgebaut:

PROGRAM PLC_PRG
VAR
SetOn:BOOL := FALSE;
Set1:TON;
end_var;

Implementation:
Set1(IN := SetOn, PT:= T#5s);
SetOn :=Set1.Q;

Gefressen hat der Compiler den Code. Aber irgendwie bekomme ich keine richtige Ausgabe!
Was soll denn da bitte auch passieren?
Ein TON ist eine Einschaltverzögerung. Ist dessen Eingang mindestens die an PT angegebene Zeit an, geht der Ausgang Q an. Damit sich irgendwann was tut muss IN auf TRUE sein.
Jetzt schau Dir bitte mal Deinen Code an, dann siehst Du ziemlich sicher, was fehlt oder nicht ist.
Was möchtest Du denn überhaupt erreichen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe jetzt mein Code folgenderweise abgedänedert!

PROGRAM PLC_PRG
VAR
Set1:TON;
SetOn1:BOOL := FALSE;
SetOn2:BOOL := FALSE;
end_var;

Implementation:
Set1(IN := SetOn1, PT:= T#5s);
SetOn2 :=Set1.Q;

Stimmt das soweit?
 
Zurück
Oben