-> Hier kostenlos registrieren
Hallo,
ich habe folgendes Problem: Ich würde gerne mit ein und demselben Taster eine LED an und wieder ausschalten, das ganze soll in ST programmiert werden. Den Taster entprelle ich über eine TON Funktion.Wenn ich meinen Taster jedoch lange gedrückt halte geht das Programm für den gesamten Zeitraum immer wieder die If-Abfrage durch und es ist am Ende Zufall ob ich die Lampe an oder aus bekomme.
Hier mein Quelltext:
ich habe folgendes Problem: Ich würde gerne mit ein und demselben Taster eine LED an und wieder ausschalten, das ganze soll in ST programmiert werden. Den Taster entprelle ich über eine TON Funktion.Wenn ich meinen Taster jedoch lange gedrückt halte geht das Programm für den gesamten Zeitraum immer wieder die If-Abfrage durch und es ist am Ende Zufall ob ich die Lampe an oder aus bekomme.
Hier mein Quelltext:
Code:
PROGRAM test
VAR
Taster1 AT %I*: BOOL;
Lampe1 AT %Q*: BOOL;
time_Lampe1:TON;
status_Lampe1: BOOL;
END_VAR
timer_Lampe1(IN:= Taster1 , PT:=T#0.5S , Q=>status_Lampe1 , ET=> );
IF Taster1=TRUE AND status_Lampe1=TRUE THEN
IF Lampe1=TRUE THEN
Lampe1:=FALSE;
ELSE
Lampe1:=TRUE;
END_IF
END_IF