Files
PLC_Library/plc_src/POU/Общие/HYST.st
T

48 lines
1.3 KiB
Smalltalk
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(*
===============================================================================
Project : PLC_Library
Device : -
Path : Общие
Name : HYST
Type : FUNCTION_BLOCK
===============================================================================
*)
FUNCTION_BLOCK HYST
(*
Гистерезисный компаратор с зоной нечувствительности между ON и OFF.
Поддерживает как прямую (ON >= OFF), так и обратную (ON < OFF) логику переключения.
*)
VAR_INPUT
In : REAL; (* Входное контролируемое значение *)
ON : REAL; (* Порог включения (срабатывания) *)
OFF : REAL; (* Порог выключения (возврата) *)
END_VAR
VAR_OUTPUT
Q : BOOL; (* Выходное состояние компаратора *)
win : BOOL; (* Флаг: входное значение находится в зоне гистерезиса *)
END_VAR
(*----- IMPLEMENTATION -----*)
IF ON >= OFF THEN
IF IN < OFF THEN
Q := FALSE;
WIN := FALSE;
ELSIF IN > ON THEN
Q := TRUE;
WIN := FALSE;
ELSE
WIN := TRUE;
END_IF;
ELSE
IF IN > OFF THEN
Q := FALSE;
WIN := FALSE;
ELSIF IN < ON THEN
Q := TRUE;
WIN := FALSE;
ELSE
WIN := TRUE;
END_IF;
END_IF;
END_FUNCTION_BLOCK