-> Hier kostenlos registrieren
Hallo Forum,
Ich habe ein Baustein Programmiert in dem ich den Timer Pulse verwende.
Der Baustein sieht wie folgt aus:
Mein Problem ist jetzt nur dass wenn "Freigabe" false ist die 2 TPs trotzdem "intern" weiter zählen... (Obwohl Sie ja eigentlich durch das IF... sozusagen ausgeklammert sind.
Was überseh ich da? bzw. Woran liegt das?
Schonmal danke für die Hilfe
EDIT: Hier die Deklaration:
Ich habe ein Baustein Programmiert in dem ich den Timer Pulse verwende.
Der Baustein sieht wie folgt aus:
Code:
IF Freigabe THEN
TP_IMP(IN:=NOT Q_TP_PAU , PT:=Imp_Zeit , Q=>Q_TP_IMP , ET=>Imp_Zaehl);
TP_Pau(IN:=NOT Q_TP_IMP , PT:=Pau_Zeit , Q=>Q_TP_PAU , ET=>Pau_Zaehl);
IF Q_TP_IMP THEN
Anst:=TRUE;
ELSE
Anst:=FALSE;
END_IF
ELSE
Imp_Zaehl:=t#0s;
Pau_Zaehl:=t#0s;
Anst:=FALSE;
END_IF
Mein Problem ist jetzt nur dass wenn "Freigabe" false ist die 2 TPs trotzdem "intern" weiter zählen... (Obwohl Sie ja eigentlich durch das IF... sozusagen ausgeklammert sind.
Was überseh ich da? bzw. Woran liegt das?
Schonmal danke für die Hilfe
EDIT: Hier die Deklaration:
Code:
VAR_INPUT
Imp_Zeit:TIME;
Pau_Zeit:TIME;
Freigabe:BOOL;
END_VAR
VAR_OUTPUT
Imp_Zaehl:TIME;
Pau_Zaehl:TIME;
Anst:BOOL;
END_VAR
VAR
TP_IMP:TP;
TP_PAU:TP;
Q_TP_IMP:BOOL;
Q_TP_PAU:BOOL;
END_VAR
Zuletzt bearbeitet: