Среда разработки Unimod PRO 2 (версия 2.3.40)
 Руководство по программированию
×

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;