恭喜,你发布的帖子
发布于 2016-12-27 15:57:41
6楼
我用SCL写过,下面是代码可以实现楼主的功能。
FUNCTION_BLOCK mxlFB_blink
KNOW_HOW_PROTECT
VAR_INPUT
in_enable :BOOL; // 闪烁使能
in_on_time :REAL; // 输出为ON时间
in_off_time :REAL; // 输出为OFF时间
in_time_ob35 :REAL:= 0.1; // OB35的中断时间
END_VAR
VAR_OUTPUT
out_blink :BOOL; // 输出值/BOOL,闪烁
END_VAR
VAR
count_on :REAL;
count_off :REAL;
END_VAR
IF in_enable THEN
IF (NOT out_blink) THEN
count_off := count_off+1.0;
count_on := 0.0;
IF count_off>=(in_off_time/in_time_ob35) THEN
out_blink := true;
ELSE
out_blink := false;
END_IF;
ELSE
count_on := count_on+1.0;
count_off := 0.0;
IF count_on>=(in_on_time/in_time_ob35) THEN
out_blink := false;
ELSE
out_blink := true;
END_IF;
END_IF;
ELSE
out_blink := false;
count_on := 0.0;
count_off := 0.0;
END_IF;
END_FUNCTION_BLOCK
请填写推广理由:
分享
只看
楼主