CCTRL - ручное управление аналоговым регулятором

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

Описание алгоритма.
Функциональный блок работает в одном из трех режимов: автоматическом, ручном каскадном и ручном локальном. Определение режима работы осуществляется комбинацией дискретных сигналов на входах AUTO и Ck.
Для включения блока СCTRL в схему каскадного регулятора необходимо:
-
на вход Xсas передать сигнал с основного выхода ведущего аналогового регулятора RAN;
-
на вход Xloc передать значение регулируемого параметра ведомого регулятора RAN (вход X2);
-
сигнал с выхода блока CCTRL передать на вход X0 ведущего регулятора RAN.
Пример включения блока СCTRL в схему каскадного регулятора продемонстрирован на следующем изображении.

Автоматический режим.
В автоматическом режиме (AUTO=TRUE, Ck игнорируется) выход Y=Xcas.
![]() |
Ручной локальный режим.
В ручном локальном режиме (AUTO=FALSE и Ck=FALSE) выход Y равен входному сигналу Xloc.
При использовании блока СCTRL в составе каскадного регулятора в ручном локальном режиме входные сигналы X1 и X2 ведомого регулятора RAN равны, а выход ведущего регулятора RAN будет равен регулируемому параметру ведомого регулятора. Поэтому, рассогласование для ведомого регулятора равно нулю.
![]() |
Ручной каскадный режим.
В ручном каскадном режиме (AUTO=FALSE и Ck=TRUE) значение выходного сигнала Y изменяется в зависимости от состояния дискретных входов Up и Down:
Если блок СCTRL в ручном каскадном режиме включен в состав каскадного регулятора, с использованием его дискретных входов Up и Down можно изменять значение выходного сигнала Y блока ведомого регулятора RAN.
![]()
Скорость изменения значения выходного сигнала Y зависит от значения входных параметров V и A. Значение V<0 воспринимается алгоритмом как V=0. Если A<=0, скорость h=V. Иначе, скорость h изменяется в каждом цикле контроллера при наличии дискретных сигналов на входах Up или Down:
Входные дискретные сигналы Zup и Zdown позволяют запретить изменение выходного сигнала Y в сторону увеличения и уменьшения соответственно. При Zup=TRUE выходной сигнал Y не будет увеличиваться независимо от состояния входа Up. При Zdown=TRUE выходной сигнал не будет уменьшаться независимо от состояния входа Down. Состояние сигналов Zup и Zdown анализируется алгоритмом блока только в ручном каскадном режиме.
|
Пример синтаксиса на языке ST.
//вызов функционального блока
Block.CCTRL(AUTO, Ck, Xcas, Xloc, Up, Down, V, A, Zup, Zdown);
//чтение выходного сигнала
Y := Block.Y;
|



