(**********************Demo1*****************************)
Remarks:高低位占空比统一
PROGRAM Demo1R
VAR
Out:BOOL;(*输出*)
flickerTon:TON;(*交变定时器*)
END_VAR
flickerTon(IN:=TRUE,PT:=T#500ms,Q=>,ET=>);
IF flickerTon.Q THEN
IF Out THEN
Out:=FALSE;
ELSE
Out:=TRUE;
END_IF
flickerTon.IN:=FALSE;
END_IF
(**********************Demo2****************************)
Remarks:高低位占空比不一,可以自由调整;
PROGRAM Demo2
VAR
TimeLow:TIME;(*低电平时间*)
TimeHigh:TIME;(*高电平时间*)
Ctrl:BOOL;(*控制*)
Out:BOOL;(*输出*)
flickerTP:TP;(*交变定时器*)
END_VAR
flickerTP(IN:= , PT:= , Q=> , ET=> );
IF NOT flickerTP.Q AND Ctrl THEN
flickerTP.IN:=TRUE;
flickerTP.IN:=FALSE;
IF NOT Out THEN
flickerTP.PT:=TimeHigh;
ELSE
flickerTP.PT:=TimeLow;
END_IF
Out:=NOT Out;
END_IF