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

RAN - аналоговое регулирование


Назначение.
Функциональный блок RAN применяется при построении процессов автоматического управления и позволяет поддерживать заданные характеристики управляемого процесса за счет формирования выходного аналогового управляющего сигнала по принципам ПИД-регулирования. Может использоваться совместно с пропорциональным исполнительным механизмом (позиционером) или в качестве ведущего в схеме каскадного регулирования. Дополнительно к управляющему сигналу вычисляется сигнал рассогласования.
Состав структурной переменной.
Переменная со структурным типом RAN будет добавлена в локальный словарь автоматически при добавлении блока в редактор.
Выбор типа регулирующего воздействия.
Блок RAN может использоваться в качестве П-, ПИ-, ПД- или ПИД-регулятора:
  • в П-регуляторе сигнал регулируется пропорциональным управляющим воздействием. Для этого настраивается только коэффициент пропорциональности KP, а входные параметры TI=0, KD=0 и TD=0.
  • в ПИ-регуляторе сигнал регулируется суммой пропорционально-интегральных управляющих воздействий. Для этого настраиваются коэффициент пропорциональности KP и постоянная интегрирования TI, а входные параметры KD=0 и TD=0.
  • в ПД-регуляторе сигнал регулируется суммой пропорционально-дифференциальных управляющих воздействий. Для этого настраиваются коэффициент пропорциональности KP, коэффициент дифференцирования KD и постоянная дифференцирования TD, а входной параметр TI=0.
  • в ПИД-регуляторе сигнал регулируется суммой пропорционально-интегрально-дифференциальных управляющих воздействий. Для этого настраиваются все коэффициенты: KP, TI, KD и TD.
Автоматический режим работы.
В автоматическом режиме (AUTO=TRUE) на выходе блока Y формируется регулирующее воздействие по ПИД-закону регулирования. Процесс настройки блока и последовательность преобразований:
  • Определить тип регулирующего воздействия и передать соответствующие значения через входные параметры KP, TI, KD и TD. Отрицательные значения данных параметров воспринимаются как нулевые.
    Рекомендуется изменять параметры настройки регулятора (DB, KP, TI, KD, TD) в ручном режиме работы.
  • Если значение TF > 0, входной сигнал X2 фильтруется (проходит через апериодическое звено 1-го порядка) в соответствии с передаточной функцией, где TF - постоянная времени фильтра:
    . 
    При TF<=0, входной сигнал X2 не фильтруется.
  • Определяется значение рассогласования по формуле Хe=X1-KM*X2f, где X1 - входное задание, X2f - отфильтрованный входной сигнал X2, а KM - коэффициент масштабирования. Сигнал рассогласования Xe передается на выход YE (YE=Xe).
  • Сигнал рассогласования Xe проходит через зону нечувствительности DB, на выходе из которой формируется сигнал Xz по следующим правилам:
  • если |Xe|<=DB/2, то Xz=0;
  • если Xe>DB/2, то Xz=Xe-DB/2;
  • если Xe<DB/2, то Xz=Xe+DB/2;
  • если DB<=0, то Xz=Xe.
    Процесс прохождения сигнала через зону нечувствительности продемонстрирован на следующем изображении.
    5. Сигнал Xz после зоны нечувствительности преобразуется по ПИД-закону регулирования в соответствии с передаточной функцией:
,
где KP – коэффициент пропорциональности, TI – постоянная интегрирования, а KD и TD – коэффициент и постоянная дифференцирования, задаваемые через входные параметры.
6. Преобразованный сигнал определяет регулирующее воздействие и передается на выход Y.
7. Значение входного параметра Cycle определяет интервал между расчетами регулирующего воздействия и кратен времени цикла контроллера. При значении Cycle<=0 период работы блока равен циклу контроллера.
В момент включения автоматического режима, интегральная часть регулятора приводится к значению IV=X0-KP×Xz, дифференциальная часть регулятора обнуляется (производная приравнивается к нулю), а значение выходного сигнала Y не изменяется, что обеспечивает безударный переход на автоматический режим работы.
Ручной режим работы.
В ручном режиме (AUTO=FALSE), значение входного сигнала X0 без изменения передается на основной выход блока Y=X0, а значение входного сигнала X2 не фильтруется, поэтому выход YE=Xe=X1-KM×X2.
Ограничение выходного сигнала Y.
Ограничить диапазон допустимых значений выходного сигнала Y можно с использованием входных параметров Ymax (максимально допустимое значение) и Ymin (минимально допустимое значение). Ограничение доступно в любом режиме работы. Алгоритм будет правильно работать, если Ymax>Ymin.
Отследить выход сигнала Y за границы допустимого диапазона можно по дискретным выходным параметрам Dmax и Dmin согласно таблице:
Условие
Y
Dmax
Dmin
Значение  интегральной составляющей
Ymin = Ymax = 0.0
Y = 0.0
true
true
 
Y >= Ymax
Y = Ymax
true
false
не увеличивается
Ymin < Y < Ymax
Y = Y
false
false
 
Y <= Ymin
Y = Ymin
false
true
не уменьшается
Ymin > Ymax
Y=Ymin
false
true
 
Запретить изменение выходного сигнала Y и интегральной составляющей можно с использованием входных дискретных сигналов Zup и Zdown:
  • Zup=TRUE - запрет на увеличение;
  • Zdown=TRUE - запрет на уменьшение;
  • Zup=TRUE и Zdown=TRUE - значение выходного сигнала не изменяется.
Пример синтаксиса на языке ST.
//вызов функционального блока
Block.RAN(AUTO, X1, X2, KM, TF, DB, KP, TI, KD, TD, X0, Cycle, Ymax, Ymin, Zup, Zdown);
//чтение регулирующего сигнала
Y := Block.Y;
//чтение сигнала рассогласования
YE := Block.YE;
//выход Dmax=true, если Y>=Ymax
Dmax := Block.Dmax;
//выход Dmin=true, если Y<=Ymin
Dmin := Block.Dmin;