Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование технологических контроллеров в среде Unity. Учебное пособие.pdf
Скачиваний:
1
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
141
6.4. Библиотека CONT_CTL.
Непрерывные системы управления
Библиотека CONT_CTL состоит из шести разделов элементарных функциональных блоков и функций (FFB):
• Conditioning – блоки обработки данных измерений и других
цифровых сигналов;
• Controller – блоки регуляторов и автонастройки;
• Mathematics – блоки специализированных арифметических
функций, ориентированных на применения в контурах регулирования;
• Measurement – блоки измерений;
• Output Processing – блоки управления различными типами ис-
полнительных механизмов;
• Setpoint Management – блоки формирования сигналов задания.
6.4.1. Блоки обработки данных измерений
и других цифровых сигналов (Conditioning)
В этот раздел включены блоки FFB, предназначенные для выпол­нения связанных с основными функциями регуляторов процедур:
• измерение регулируемой переменной;
• измерение возмущающего воздействия либо любой другой циф-
ровой переменной.
В данную библиотеку входят следующие функциональные блоки:
• DTIME (Dead Time) – блок задержки, реализующий функцию
чистого запаздывания в виде линий задержки, допускающую парамет­рическое введение запаздывания для входного сигнала в целях обеспе­чения высокоточной реализации либо реализации динамически изме­няемого запаздывания;
• INTEGRATOR (Integrator with Output Limited) – интегратор с ог-
раничением выхода;
• LAG_FILTER (Lag Element, 1st Order) – апериодическое звено
первого порядка;
• LDLG (Lid/Lag Function with Smoothing) – дифференциатор со
сглаживанием, фазовая коррекция на основе форсирующего и аперио­дического звеньев;
• LEAD (Differentiator with Delay) – дифференциатор с задержкой;
• MFLOW (Mass Flow Controller) – обработка данных измерения
дифференциального давления, получаемых от вакуумного элемента;
142
• QDTIME (Quick Dead Time) – блок быстрой задержки, реали-
зующий функцию чистого запаздывания в виде линий задержки, до­пускающую параметрическое введение запаздывания для входного сигнала в целях обеспечения быстрой реализации;
• SCALING (Scaling) – блок масштабирования дискретной пере-
менной любого типа;
• TOTALIZER (Totaling Unit) – блок, реализующий функцию
суммирования, предназначенную для представления интегральной выборки в виде фрагментов и для выполнения анализа в полном объ­еме. В результате применения этой функции можно интегрировать очень слабые сигналы на фоне весьма существенных значений вы­борки в целом;
• VEL_LIM (Velocity Limiter) – ограничитель скорости изменения
выходного сигнала).

6.4.2. Регуляторы (Controller)

С помощью блоков FFB, входящих в названный раздел, могут осу­ществляться следующие алгоритмы регулирования и автонастройки:
• AUTOTUNE (Automatic Control Tuning) – блок автоматической
настройки регулятора; существенно упрощает фазу настройки пара­метров регуляторов PIDFF и PI_B, входящих в данный раздел. Этот блок нетрудно подключить со стороны входов регулятора, причем процесс автонастройки может быть реализован в любой момент без вспомогательных программных средств.
• IMC (Internal Model Controller) – внутренняя модель регулятора.
• PI_B (Basic PI Controller) – базовый пропорционально-интег-
ральный (ПИ) регулятор; его рекомендуется использовать в случае грубой настройки регулятора, когда допустимо применение обычного ПИ-алгоритма.
• PIDFF (Complete PID Controller) – полный пропорционально-ин-
тегрально-дифференциальный (ПИД) регулятор; данный блок реко­мендуется использовать, когда требуется обеспечить высокую точ­ность регулирования; обладает универсальным набором конфигура­ций, в том числе позволяет:
– выбрать смешанную или параллельную структуру;
– использовать вход Feed Forward для компенсации возмущающего воздействия;
– реализовать механизмы регенерации, препятствующие перепол- нению интегратора.
143
• SAMPLETM (Sample Time) – шаблон времени; используется для
управления блоками после холодного старта в целях снижения требо­ваний к ЦПУ в начале цикла сканирования программы.
• STEP2 (2-Position On/Off Controller) – регулятор, реализованный
в виде двухпозиционного реле с петлей гистерезиса; предназначен для формирования реальных сигналов управления в случае единственного исполнительного устройства.
• STEP3 (3-Position On/Off Controller) – регулятор, реализованный
в виде трехпозиционного реле с зоной нечувствительности и петлей гистерезиса; предназначен для формирования реальных сигналов управления в том случае, если надо управлять двумя исполнительными устройствами.
Следует отметить, что алгоритм формирования управляющего воз­действия у блоков PI_B и PIDFF реализован в инкрементной форме, ориентированной на управление исполнительными устройствами при помощи блока SERVO.

6.4.3. Арифметические операции (Mathematics)

Процесс регулирования связан с использованием арифметических функций, ориентированных на применение в контуре регулирования. Данный раздел включает в себя следующие безынерционные блоки FFB:
• COMP_DB (Comparator with Dead Band) – компаратор с зоной
нечувствительности и гистерезисом.
• K_SQRT (Square Root) – квадратный корень с усечением и весо-
вым коэффициентом.
• MULTDIV_W (Multiplier/Divider) – умножение/деление с весо-
вым коэффициентом.
• SUM_W (Summing Element) – суммирование с весовым коэффи-
циентом.

6.4.4. Измерения (Measurement)

С помощью блоков FFB, входящих в раздел Measurement, могут выполняться следующие операции:
• AVGMV (Moving average with fixed window size) – вычисление
скользящего среднего значения с установленным размером буфера (максимум 50 значений);
144
• AGVMV_K (Moving average with frozen correction factor) – вы-
числение скользящего среднего значения с замороженным коэффици­ентом коррекции (до 10 000 входных значений);
• DEAD_ZONE (Dead zone) – поиск зоны нечувствительности;
• DEAD_ZONE_REAL ( Dead zone) – поиск зоны нечувствительно-
сти, зависящей от коэффициента усиления;
• HYST_ (Indicator signal for maximum value delimiters with hyste-
resis)* – формирование сигнала индикатора для максимальных значе-
ний разделителей с гистерезисом; процедура контролирует входную переменную, чтобы обнаружить превышение верхнего предела;
• INDLIM_ (Indicator signal for delimiters with hysteresis)
*
– форми-
рование сигнала индикатора для разделителей с гистерезисом; проце­дура контролирует входную переменную, чтобы обнаружить превы­шение верхнего предела или значение меньше нижнего предела).
• LOOKUP_TABLE1(Polygon with interpolation of then 1st order) –
создание многоугольника с интерполяцией 1-го порядка; процедура линеаризует характеристику при помощи интерполяции).
• SAH (Detecting and holding a rising edge) – обнаружение и удер-
жание границы сигнала.

6.4.5. Устройства сопряжения с объектом (Output Processing)

С помощью блоков FFB, входящих в раздел Output Processing, мо-
гут осуществляться функции ручного управления различными типами исполнительных механизмов.
Зачастую бывает невозможно непосредственно использовать вы-
ходной сигнал регулятора для управления исполнительным органом (приводом). Тогда можно применять блоки ручного управления MS и
MS_DB.
MS (Manual Output Control) – специализированный модуль для
ручного управления. Несмотря на то что в блоках регуляторов преду­смотрен режим ручного управления, использование модуля MS для этих целей зачастую не имеет альтернативы. Ниже перечислены слу­чаи, в которых только блок MS может корректно работать в режиме ручного управления:
– если вручную регулируется значение переменной, отсутствую-
щей среди выходных сигналов контроллера;
*
Любой, допустимый в Unity Pro тип данных.
145
– если на выходной сигнал не влияет контур регулирования; – при большом времени цикла в контуре регулирования (1 с или
больше).
MS_DB (Manual Output Control with Dead Band) – специализиро-
ванный модуль для ручного управления с зоной нечувствительности. Этот функциональный блок служит для контроля числа выходов, кото­рые могут быть выключены через функциональный блок PWM1 (управляемый аналоговый выход, сервомотор или элемент управле­ния). Контроль может осуществляться через обслуживаемый диалог или непосредственно через программное обеспечение ПЛК.
Управление исполнительными механизмами реализуется блоками
PWM1, SERVO и SPLRG.
• PWM1 (Pulse Width Modulation) – блок широтно-импульсной
модуляции (ШИМ). В простейших случаях релейные исполнительные механизмы реагируют непосредственно на дискретные сигналы управ­ления блоков типа STEP2 и STEP3. Однако если требуется обеспечить прецизионное управление, применяют классический ПИД-регулятор совместно с блоком ШИМ;
• SERVO (Electric-Servomotor Handler) – блок, в классическом
случае используемый для преобразования сигналов регулятора в сиг­налы управления электродвигателем, если последний применяется в контуре регулирования;
• SPLRG (Controlling 2 actuators) – блок, используемый для двух
приводов, связанных с одним и тем же выходным сигналом контрол­лера. Этот блок рассчитан на работу либо в режиме резервирования (горячего или холодного), либо в режиме согласованной работы (со­ставной привод).

6.4.6. Формирование сигналов задания (Setpoint Managment)

С помощью блоков данной библиотеки может осуществляться
формирование сигналов задания следующих типов:
• RAMP (Ramp Generator) – генератор пилообразных функций;
• RATIO (Ratio Controller) – вычисления сигнала заданного зна-
чения;
• SP_SEL (Setpoint Selector) – селектор типа заданного значения.
146
Подобное разбиение на модули способствует большому выравни-
ванию и упрощению и в то же время предполагает разработку таких функций, как, например:
– выполнение измерений при работе в режиме ручного управ-
ления;
– плавный (безударный) переход при переключении типа внутрен-
него/внешнего задания;
– безударность переключения с внешнего на внутреннее задание
(программное задание).
Классическая функция выбора сигнала задания (внутреннего или
внешнего) не реализована в самих регуляторах, однако предусмотрена в специализированном модуле SP_SEL.
Возможность генерирования сигнала задания для регулятора обес-
печивают блоки:
– RATIO, если одна регулируемая переменная является функцией
другой переменной (относительное управление);
– RAMP, предназначенный для генерирования сигнала задания в
виде пилообразных функций.
6.5. Системы управления
с обратной связью CONT_INT
Группа CLC_INT базовой библиотеки Base Lib включает три функ-
ции, позволяющие осуществлять операции с целыми числами:
• PID_INT – функция, выполняющая ПИД-регулирование пере-
менных на входах и выходах с типом данных INTEGER. Текущее измерение и уставка являются аналоговыми величинами в диапазо­не 0…10 000, аналоговая команда вырабатывается в том же диа­пазоне;
• PWM_INT – функция, регулирующая ширину импульса на дис­кретном выходе ПИД-регулятора. Ширина импульса зависит от выхо­да ПИД-регулятора и периода модуляции;
• SERVO_INT – функция, осуществляющая регулирование двух сервоприводов с дискретным выходом (вверх и вниз).
Перечисленные функции могут применяться в периодических за-
дачах MAST и FAST.
147

6.6. Управление с обратной связью (CLC)

С помощью блоков FFB, входящих в раздел CLC библиотеки Obso-
lete Lib, могут осуществляться различные функции регулирования и
управления.
Все функциональные блоки этой библиотеки формально можно разделить на две части: функциональные блоки, реализующие типовые динамические звенья, и функциональные блоки, реализующие различ­ные виды регуляторов. К функциональным блокам, реализующим ти­повые динамические звенья, относятся:
• DELAY (Delay) – блок запаздывания;
• INTEGRATOR1(Integrator with Output Limiting) – интегратор с
ограничением выхода;
• LAG1(1st Order Lag) – апериодическое звено (фильтр) первого
порядка;
• LEAD_LAG1 (PD Element with Time Lag) – пропорционально-
дифференциальный элемент со сглаживанием;
• LIMV (Velocity Limiter 1
го порядка;
• SMOOTH_RATE (Differentiator with Delay) – дифференциатор с
запаздыванием.
Рассмотрим подробно данные функциональные блоки.

6.6.1. Типовые динамические звенья

st
Order) – ограничитель скорости перво-

6.6.1.1. Блок запаздывания (DELAY)

Краткое описание
Целью функционирования блока запаздывания является задержка входного сигнала на «мертвое» время.
Функциональный блок задерживает сигнал Х на время T_DELAY до обновления выхода Y.
Функциональный блок имеет внутренний буфер задержки из 128 элементов (Х значений). Буфер задержки управляется в соответствии с различными режимами работы функционального блока.
Выходное значение Y после «холодного» или «горячего» рестарта остается неизменным. Внутренние значения устанавливаются в соот­ветствии со значениями Х.
148
После «холодного» или «горячего» рестарта или изменения вели-
DELAY
MAN HALT X T_DELAY READY YMAN Y
BOOL BOOL REAL TIME REAL
BOOL REAL
Выходное значение при ручном управле-
чины T_DELAY выход READY установится в 0. Это означает отсутст­вие готовности, пустой буфер.
Режимы работы функционального блока: ручной и автоматический останов.
Представление
• Символическое
• Параметрическое
Параметр Тип данных Значение
MAN BOOL «1»= Ручной режим HALT BOOL «1»= Режим останова X REAL Входное значение T_DELAY TIME Время запаздывания
YMAN REAL
Y REAL Выходное значение
READY BOOL
Детальное описание
Режимы функционирования. Существует три режима функцио-
нирования, которые могут быть выбраны параметризацией входов MAN и HALT.
нии
«0»= Внутренний буфер неполный «1»= Внутренний буфер полный
149
Режим MAN HALT
автоматический 0 0
ручной 1 0 или 1
останова 0 1
Автоматический режим. В этом режиме функциональный блок действует в соответствии со следующими правилами.
Если время сканирования больше, чем T_DELAY/128, текущее значение X записывается в буфер, а «старейшее» в буфере значение X выводится на выход Y.
Пример. Время сканирования = 100 мс; T_delay = 10 c; tin = = T_delay/128 = 78 мс.
Так как время сканирования больше, чем tin, каждый отсчет сигна­ла X может быть занесен в буфер. После четвертого обращения к функциональному блоку (через 400 мс) отсчеты Х заносятся в память буфера уже дважды за цикл, т. е. повторно (так как 4×78 = 312 мс, 5×78 = 390 мс).
Если время сканирования меньше, чем T_DELAY/128, в буфере могут быть сохранены не все значения X. В этом случае в некоторых циклах сканирования значения X не сохраняются и Y остается неиз­менным. По истечении времени T_DELAY выходной сигнал Y может соответственно оставаться неизменным в течение двух (или более) смежных циклов.
Ручной режим. В этом режиме значение с входа YMAN выводится прямо на выход Y. Внутренний буфер полный (заполнен значением YMAN), при этом выход READY устанавливается в «1».
Режим останова. В этом режиме выход Y хранит последнее зна- чение, при этом он не обновляется и может быть переписан пользова­телем. Внутренний буфер продолжает действовать, как описано в ав­томатическом режиме.
Пример. На рис. 6.25 показано, как работает данный функцио­нальный блок. Вход X линейно нарастает. По истечении фиксирован­ного времени T_DELAY, значение X выводится на выход Y.
150
T_DELAY
Y
X

6.6.1.2. Интегратор с ограничением выхода (INTEGRATOR1)

INTEGRATOR1
MAN HALT X GAIN Y YMAN QMAX YMIN QMIN YMAX
BOOL BOOL REAL REAL REAL REAL REAL
REAL BOOL BOOL
Краткое описание
Функциональный блок представляет собой интегратор с ограниче­нием выхода, имеет следующие характеристики:
• ручной, автоматический режимы и режим останова;
• управляемая переменная в автоматическом режиме ограничена.
Представление
• Символическое
Рис. 6.25. Переходный процесс блока T_DELAY
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]