Files

35 lines
1022 B
Smalltalk

(*
===============================================================================
Project : PLC_Library
Device : -
Path : Общие
Name : Pulse_Switch
Type : FUNCTION_BLOCK
===============================================================================
*)
FUNCTION_BLOCK Pulse_Switch
(*
Формирует импульсы (500 мс) по переднему и заднему фронту управляющего сигнала.
*)
VAR_INPUT
Switch_ctrl: BOOL; (* Управляющий сигнал *)
END_VAR
VAR_OUTPUT
Switch_on: BOOL; (* Импульс 500 мс при переходе Switch_ctrl 0->1 *)
Switch_off: BOOL; (* Импульс 500 мс при переходе Switch_ctrl 1->0 *)
END_VAR
VAR
R_tr_1: R_TRIG;
F_tr_1: F_TRIG;
tp_on: TP:=(PT:=t#500ms);
tp_off: TP:=(PT:=t#500ms);
END_VAR
(*----- IMPLEMENTATION -----*)
R_tr_1(CLK:=Switch_ctrl);
tp_on(IN:=R_tr_1.Q, Q=>Switch_on);
F_tr_1(CLK:=Switch_ctrl);
tp_off(IN:=F_tr_1.Q, Q=>Switch_off);
END_FUNCTION_BLOCK