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

DERIV - дифференцирование


Назначение.
Функциональный блок DERIV реализует идеальное дифференцированное звено первого порядка и может применяться в схемах динамической коррекции для получения сигналов, связанных со скоростью изменения параметра.
 
Состав структурной переменной.
Переменная со структурным типом DERIV будет добавлена в локальный словарь автоматически при добавлении блока в редактор.
Описание алгоритма.
  • До запуска (RUN=FALSE), дифференцирование не выполняется, выход Y=0.
  • После запуска (RUN=TRUE), блок отслеживает изменение сигнала X.
  • Если сигнал X не изменяется, на выходе Y=0.
  • После изменения сигнала X, на выходе Y сохраняется результат его дифференцирования согласно передаточной функции:
  •  По истечении времени Cycle выход обнуляется, до следующего изменения входного сигнала X.
Параметр Cycle является периодом работы блока и периодом дифференцирования (шагом дискретизации). Если Cycle меньше времени цикла контроллера,  период работы блока равен циклу контроллера.
Пример синтаксиса на языке ST.
//вызов функционального блока
Block.DERIV(RUN, X, Cycle);
//чтение выходного дифференцированного сигнала
Y := Block.Y;