LIM_ALRM - контроль выхода сигнала из диапазона

Назначение.
Функциональный блок LIM_ALRM применяется для контроля за выходом сигнала за пределы допустимого диапазона значений.
Состав структурной переменной.
Переменная со структурным типом LIM_ALRM будет добавлена в локальный словарь автоматически при добавлении блока в редактор.

Описание алгоритма.
Контролируемый аналоговый сигнал передается на вход X. Минимальное и максимальное пороговые значения сигнала задаются на входах H и L соответственно, а на вход EPS передается размер гистерезиса - только положительное число (EPS>=0). Если H<=L, блок работать не будет.
Когда сигнал X находится в пределах допустимого диапазона значений (L+EPS < X < H-EPS), все выходы блока равны FALSE.
При выходе сигнала X за верхнее (X >= H) или нижнее (X <= L) пороговое значение, общий сигнал Q=TRUE, а один из выходов QH=TRUE или QL=TRUE сигнализирует о пересеченной сигналом границе.
Зависимость выходных сигналов от входных приведена в таблице:
|
Верхнее пороговое значение
|
Выходы
|
|
X >= H
|
Q=QH=TRUE (выход сигнала за верхнее пороговое значение).
|
|
H-EPS <= X < H
|
Qi=Qi-1, QHi = QHi-1 (сигнал не изменяется, т.к. X в верхнем гистерезисе).
|
|
X < H-EPS
|
Q=QH=FALSE (сигнал опустился в рабочий диапазон).
|
|
Нижнее пороговое значение
|
Выходы
|
|
X > L+EPS
|
Q=QL=FALSE (сигнал поднялся в рабочий диапазон).
|
|
L < X <= L+EPS
|
Qi=Qi-1, QLi = QLi-1 (сигнал не изменяется, т.к. X в нижнем гистерезисе).
|
|
X <= L
|
Q=QL=TRUE (выход сигнала за нижнее пороговое значение).
|
Пример работы блока в виде графика.

Пример синтаксиса на языке ST.
//вызов функционального блока
Block.LIM_ALRM(H, X, L, EPS);
//выход QH=true, если X >= H,
//выход QH=false, если X < H-EPS
QH := Block.QH;
//выход Q=true, если X >= H или X <= L,
//выход Q=false, если L+EPS < X < H-EPS
Q := Block.Q;
//выход QL=true, если X <=L,
//выход QL=false, если X > L+EPS
QL := Block.QL;
|
