(* =============================================================================== 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