我正在与PLC试图设计一个水箱。在设计的一个部分,我被要求创建一个时钟脉冲发生器。我目前正在尝试使用梯形图来做到这一点。
我相信我……
在我看来,这是最简单的方法,使用1个计时器,向上计数器和模运算符:
梯形图中的闪烁功能
另请注意,如果您的PLC没有模数,则每次乘以-1。
一旦我不得不创建一个BLINK FB。它是用结构化文本编写的。但它适用于梯形图逻辑程序,IN / OUT变量命名为TON样式。闪烁以Q = TRUE开始。如果你想以FALSE开头,只需反转Q并切换时间!
FUNCTION_BLOCK BLINK VAR_INPUT IN : BOOL; PT_ON : TIME; PT_OFF : TIME; END_VAR VAR_OUTPUT Q : BOOL; ET : TIME; END_VAR VAR rtIN : R_TRIG; tonBlink : TON; END_VAR
rtIN(CLK := IN); IF tonBlink.Q OR rtIN.Q THEN (*Toggle Output*) Q := NOT Q; (*Timer Reset call, important to call timer twice in same cycle for correct Blink Time*) tonBlink(IN:= FALSE); (*Set corresponding Time*) IF Q THEN tonBlink.PT := PT_ON; ELSE tonBlink.PT := PT_ON; END_IF END_IF (*Timer Run call*) tonBlink(IN:= IN); IF IN THEN ET := tonBlink.ET; ELSE ET := T#0S; Q := FALSE; END_IF