32 lines
947 B
Smalltalk
32 lines
947 B
Smalltalk
(*
|
||
===============================================================================
|
||
Project : PLC_Library
|
||
Device : -
|
||
Path : Общие
|
||
Name : TONOF
|
||
Type : FUNCTION_BLOCK
|
||
===============================================================================
|
||
*)
|
||
|
||
FUNCTION_BLOCK TONOF
|
||
(*
|
||
TONOF генерирует TON и TOF задержки для переменной IN
|
||
Задержка на вход T_ON, задержка на выход T_OFF
|
||
*)
|
||
VAR_INPUT
|
||
IN : BOOL; (* Входной сигнал *)
|
||
T_ON : TIME := T#0S; (* Задержка на вход *)
|
||
T_OFF : TIME := T#0S; (* Задержка на выход *)
|
||
END_VAR
|
||
VAR_OUTPUT
|
||
Q : BOOL; (* Выходной сигнал с учетом задержек включения/выключения *)
|
||
END_VAR
|
||
VAR
|
||
X : TON;
|
||
END_VAR
|
||
|
||
(*----- IMPLEMENTATION -----*)
|
||
X(IN := IN XOR Q, PT := SEL(IN,T_OFF,T_ON));
|
||
IF X.Q THEN Q := IN; END_IF;
|
||
END_FUNCTION_BLOCK
|