场景:在报警状态下,安灯上红灯需要一开一关的闪烁。

闪烁

本质上,我们需要创建一个功能块Blink,在未导通的情况下通过TON定时器延迟导通,而在导通后再通过TOF定时器延迟关闭,如此往复。

FUNCTION_BLOCK Blink

VAR_INPUT
    interval: TIME;
END_VAR

VAR_IN_OUT
    light: BOOL;
END_VAR

VAR
    TON_0: TON;
    TOF_0: TOF;
END_VAR

代码如下:

source.PNG

测试

PROGRAM PLC_PRG
VAR
    light: BOOL;
    blink1 : Blink;
END_VAR

blink1(interval:= T#2s, light:= light );

效果

灯灭效果

blink1.PNG

灯亮效果

blink2.PNG

标签: CoDeSys, PLC

添加新评论