Scl ton

bluebird277

Level-1
Beiträge
100
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Kollegen,

kann mir jemand erklären warum beim unten stehenden Programm der Timer nur läuft so lange bstart betätigt ist? Eigentlich habe ich doch den Timer auf True gesetzt.

Sorry bin Anfänger in SCL

FUNCTION_BLOCK FB2

VAR_TEMP
// temporäre Variablen

END_VAR
VAR
iSchrittnummer:INT;
tWait_Time:TON;
END_VAR

VAR_INPUT

bStart:BOOL;
bReset:BOOL;
bKamera_Output_1:BOOL;
bKamera_Output_2:BOOL;
bKamera_Output_3:BOOL;

END_VAR

VAR_OUTPUT

bSelect:BOOL;
bTrigger:BOOL;

END_VAR

BEGIN

// Schrittkette in Grundstellung bringen

IF bReset AND iSchrittnummer <> 0 THEN
iSchrittnummer:=0;
tWait_Time(IN:=False);
END_IF;


IF bStart THEN
tWait_Time(IN:=TRUE,PT:=T#5s);
END_IF;


IF tWait_Time.Q then
iSchrittnummer:=10;
tWait_Time(IN:=False);
END_IF;


END_FUNCTION_BLOCK
 
Du darfst
Code:
tWait_Time(IN:=TRUE,PT:=T#5s);
nur einmal aufrufen. Für "IN:=TRUE" solltest du statt mit TRUE mit einer Variablen verknüpfen. Also z.B.
Code:
VAR
tWait_Time:TON;
StartTimer:bool;
END_VAR
BEGIN
tWait_Time(IN:=StartTimer,PT:=T#5s);
 
if iSchrittnummer:=0;
StartTimer:=false;
END_IF;
 
 
IF bStart THEN
StartTimer:=true;
END_IF;
 
Zurück
Oben