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

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;