LRATE - ограничение скорости изменения сигнала

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

Описание алгоритма.
До запуска (RUN=FALSE), входной сигнал X передается на выход Y, а выходы Dmax=FALSE и Dmin=FALSE.
После запуска (RUN=TRUE), входной сигнал X передается на выход Y после следующих преобразований:
-
Определяется скорость изменения входного сигнала X относительно выходного сигнала Y по формуле, в которой Tc - время цикла контроллера:
. -
Если |Vx|<=V, то выход Y=X.
-
Если 0<V<|Vx|, то выходной сигнал Y будет изменяться с ограниченной максимальной скоростью V по формуле:
,где Yi-1 – значение выхода в предыдущем цикле; Yi – значение выхода в текущем цикле; V – заданное ограничение скорости. -
Передача входного сигнала X без преобразований на выход Y будет возобновлена, когда скорость изменения X опуститься ниже максимально допустимой (|Vx|<=V) и сигнал Y сравняется с сигналом X.
Если значение входного параметра Cycle<=0, период работы блока равен циклу контроллера.
|
Пример работы блока в виде поэтапного графика.

Пример синтаксиса на языке ST.
//вызов функционального блока
Block.LRATE(RUN, X, V, Cycle);
//чтение выходного сигнала, изменяющегося с ограниченной скоростью
Y := Block.Y;
//выход Dmax=True, если Vx>V и увеличивается
Dmax := Block.Dmax;
//выход Dmin=True, если Vx>V и уменьшается
Dmin := Block.Dmin;
|
