Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование технологических контроллеров в среде Unity. Учебное пособие.pdf
X
- •ВВЕДЕНИЕ
- •1.1. Принцип действия системы промышленной автоматизации
- •2.1. Структура программируемого логического контроллера
- •2.2. Конструктивное исполнение контроллеров
- •2.3. Модули ввода-вывода
- •2.4. Языки и среды программирования логических контроллеров
- •2.5. Триггеры, таймеры, счетчики
- •Значение
- •Значение
- •2.6. Математические операции и команды работы с массивами
- •3. ТИПЫ ПЕРЕМЕННЫХ
- •3.1. Элементарные типы данных
- •3.2. Представление элементарных типов данных
- •3.4. Система адресации переменных Telemecanique
- •4. ПАКЕТ ПРОГРАММИРОВАНИЯ Unity Pro
- •4.1. Общие сведения
- •4.2. Структура пакета Unity Pro
- •4.3. Интерфейс пользователя Unity Pro и его составные части
- •4.4. Иерархическое построение программы ПЛК
- •4.5. Редакторы языков программирования Unity Pro
- •4.6. Соединение терминала с ПЛК
- •5.1. Настройки проекта
- •5.2. Конфигурирование контроллера Premium
- •5.3. Работа с переменными
- •5.4. Структура приложения
- •5.5. Программирование с использованием блоков FBD
- •6.1. Введение
- •6.3. Библиотека для управления аналоговым вводом/выводом
- •6.3.2. Блоки настройки конфигурации
- •6.3.2.1. Блок конфигурации модуля ACI 030 00 (ACI030)
- •6.3.2.2. Блок конфигурации модуля AC0 020 00
- •6.3.2.3. Блок конфигурации модуля ATI 030 00
- •6.3.2.4. Блок конфигурации модуля ARI 030 00
- •6.3.2.5. Блок конфигурации модуля AVI 030 00
- •6.3.2.6. Блок конфигурации модуля AVO 020 00
- •6.3.2.8. Блок конфигурации главного модуля (QUANTUM)
- •6.3.2.9. Блок конфигурации расширителя объединенной платы (XBP)
- •6.3.3. Блоки масштабирования
- •6.3.3.1. Блок нормализации аналоговых входов (I_NORM)
- •6.3.3.3. Блок преобразования физических аналоговых входов (I_PHYS)
- •6.3.3.4. Блок преобразования физических аналоговых входов со статусом предупреждения (I_PHYS_WARN)
- •6.3.3.5. Блок масштабирования аналоговых входов (I_SCALE)
- •6.3.3.6. Блок масштабирования аналоговых входов со статусом предупреждения (I_SCALE_WARN)
- •6.3.3.7. Блок преобразования необработанных значений аналоговых входов (I_ROW)
- •6.3.3.8. Блок нормализации аналоговых выходов (O_NORM)
- •6.3.3.11. Блок имитации необработанных сигналов аналоговых входов (I_RAW_SIM)
- •6.3.4. Блоки отладки аналогового ввода/вывода
- •6.3.4.1. Блок линеаризации аналоговых входов (I_FILTER)
- •6.4.2. Регуляторы (Controller)
- •6.4.3. Арифметические операции (Mathematics)
- •6.4.4. Измерения (Measurement)
- •6.4.5. Устройства сопряжения с объектом (Output Processing)
- •6.4.6. Формирование сигналов задания (Setpoint Managment)
- •6.6. Управление с обратной связью (CLC)
- •6.6.1. Типовые динамические звенья
- •6.6.1.1. Блок запаздывания (DELAY)
- •6.6.1.2. Интегратор с ограничением выхода (INTEGRATOR1)
- •6.6.1.3. Апериодическое звено (фильтр) первого порядка (LAG1)
- •6.6.1.5. Ограничитель скорости первого порядка (LIMV)
- •6.6.1.6. Дифференциатор с запаздыванием (SMOOTH_RATE)
- •6.6.2. Регуляторы
- •6.6.2.1. Пропорционально-интегральный регулятор (PI1)
- •6.6.2.2. Пропорционально-интегрально-дифференциальный регулятор (PID1)
- •6.6.2.3. ПИД-регулятор с параллельной структурой (PIDP1)
- •6.6.3. Управление с обратной связью для профессионалов (CLC_PRO)
- •6.6.3.1. Генератор функций (FGEN)
- •6.6.3.2. Фильтр второго порядка (LAG2)
- •6.7. Автоматизированная настройка регулятора в пакете Unity
- •6.8. Упражнения для самостоятельной работы
- •ЗАКЛЮЧЕНИЕ
- •ЛИТЕРАТУРА

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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
