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

LIMITR - ограничение диапазона сигнала


Назначение.
Функциональный блок LIMITR применяется для удержания вещественных значений входного сигнала в ограниченном диапазоне.
 
Состав структурной переменной.
Переменная со структурным типом LIMITR будет добавлена в локальный словарь автоматически при добавлении блока в редактор.
Описание алгоритма.
Минимальная и максимальная границы допустимого диапазона задаются на входах MIN и MAX соответственно. Если вещественное значение входного сигнала X находится в границах заданного диапазона (MIN < X < MAX), или MAX <= MIN, то сигнал X без изменения передается на выход Y.
При достижении значением X нижней или верхней границы диапазона, а также при выходе за указанные границы, выходной сигнал Y равен минимальному или максимальному значению соответственно.
На двух дискретных выходах Dmax и Dmin фиксируется достижение сигналом верхней и нижней границы диапазона.
Зависимость входных и выходных значений описана в таблице:
Входы
Выход Y
Выход Dmax
Выход Dmin
MIN < Х < MAX
или
MAX <= MIN
Х
FALSE
FALSE
Х >= MAX
MAX
TRUE
FALSE
Х <= MIN
MIN
FALSE
TRUE
 
Пример синтаксиса на языке ST.
//вызов блока, когда число находится в границах заданного диапазона
Block.LIMITR(20.0, 30.0, 10.0);
Y := Block.Y;                                  //Y=20.0
Dmax := Block.Dmax;                  //Dmax=false
Dmin := Block.Dmin;                   //Dmin=false
//вызов блока, когда число равно нижней границе диапазона
Block.LIMITR(10, 30, 10);
Y := Block.Y;                                  //Y=10.0
Dmax := Block.Dmax;                 //Dmax=false
Dmin := Block.Dmin;                   //Dmin=true
//вызов блока, когда число находится за верхней границей диапазона
Block.LIMITR(100, 30, 10);
Y := Block.Y;                                 //Y=30.0
Dmax := Block.Dmax;                 //Dmax=true
Dmin := Block.Dmin;                  //Dmin=false