HYSTER - гистерезис по верхнему пределу

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

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


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