Добавил:
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. Упражнения для самостоятельной работы
- •ЗАКЛЮЧЕНИЕ
- •ЛИТЕРАТУРА

161
Y = LAG/(LAG + dt) × (Y
+ GAIN × (X
old
new
– X
old
)),
где X
Y
old
– входное значение Х на предыдущем цикле сканирования;
old
– выходное значение Y на предыдущем цикле сканирования; dt –
разница времени между предыдущим и текущим циклами сканирования.
• Параметрическое
Параметр Тип данных Значение
MAN BOOL «1»= Ручной режим
HALT BOOL «1»= Режим останова
X REAL Входное значение
GAIN REAL Коэффициент дифференцирования
LAG TIME Постоянная времени запаздывания
YMAN REAL Выходное значение при ручном управлении
Y REAL Выходное значение
Параметрическое описание. Параметризация функционального
блока осуществляется заданием коэффициента дифференцирования
GAIN и постоянной времени запаздывания LAG.
Передаточная функция имеет следующий вид:
G(p) = GAIN × p/(1 + p × 1/LAG).
При достаточно малом шаге сканирования и при ступенчатом из-
менении входа Х от 0 до 1 выход Y (теоретически) скачком устанавливается на значении GAIN × X (реально это значение несколько меньше,
так как шаг сканирования не неограниченно мал) и затем стремится к
нулю c постоянной времени LAG.
Режимы функционирования. Существует три режима функцио-
нирования, которые могут быть выбраны параметризацией входов
MAN и HALT (см. блок DELAY).
Автоматический режим. В этом режиме функциональный блок
работает в соответствии с таблицей параметрического представления.

162
Ручной режим. В этом режиме значение с выхода YMAN выводит-
X
Y
HALT
0
1
0
MAN
YMAN
0
ся на выход Y.
Режим останова. В этом режиме выход Y хранит последнее зна-
чение, при этом он не обновляется и может быть переписан пользователем.
Пример. На рис. 6.32 представлен переходный процесс функцио-
нального блока SMOOTH_RATE.
Рис. 6.32. Переходный процесс блока SMOOTH_RATE
6.6.2. Регуляторы
К функциональным блокам, реализующим различные типы регуляторов, относятся:
• PI1 (PI Controller) – ПИ-регулятор;
• PID1 (PID Controller) – ПИД-регулятор;
• PIDP1 (PID Controller with parallel Structure) – ПИД-регулятор с
параллельной структурой;
• THREEPOINT_CON1 (Three Point Step Action Controller) – трех-
позиционный регулятор шагового действия с одной обратной связью;
• THR EE_STE P_CON1 (Three Point C ontrol ler) – трехпозиционный
регулятор с двумя обратными связями;
• TWOPOINT_CON1 (Two Point Controller) – двухпозиционный
регулятор с двумя обратными связями.
Рассмотрим подробно перечисленные функциональные блоки.

163
6.6.2.1. Пропорционально-интегральный регулятор (PI1)
PI1
MAN
HALT
SP
PV Y
GAIN ERR
TI QMAX
YMAX QMIN
YMIN
YMAN
BOOL
BOOL
REAL
REAL
REAL
TIME
REAL
REAL
REAL
REAL
REAL
BOOL
BOOL
Краткое описание
Функциональный блок представляет собой простой пропорционально-интегральный регулятор.
Ошибка системы ERR формируется как разница между заданным
значением SP и переменной процесса PV и воздействует на управляемую переменную Y.
Функциональный блок имеет следующие специфические характеристики:
• ручной, автоматический режимы и режим останова;
• дифференцирование вручную/автоматическая передача;
• ограничение управляемой переменной;
• сброс по превышению;
• измерение по превышению только с активной И-частью.
Представление
• Символическое
Здесь ERR
дущем шаге сканирования; dt – текущее время сканирования.
YP=GAIN × ERR;
YI
= YI
new
– ошибка системы; ERR
new
+ GAIN × dt/TI × (ERR
old
+ ERR
new
– ошибка системы на преды-
old
old
)/2.

164
Выходной сигнал Y формируется как
Параметр
Тип данных
Значение
SP
REAL
Заданное значение
GAIN
REAL
Коэффициент передачи
YMIN
REAL
Нижний предел ограничения
ERR
REAL
Ошибка системы
QMIN
BOOL
«1»=Y ≤ YMIN
Y = YP + YI.
И-часть формируется в соответствии с правилом трапеций.
• Параметрическое
MAN BOOL «1» = ручной режим
HALT BOOL «1»= режим останова
PV REAL Переменная процесса
TI TIME Постоянная времени интегрирования
YMAX REAL Верхний предел ограничения
YMAN REAL Выходное значение при ручном управлении
Y REAL Выходное значение
QMAX BOOL
«1»=Y ≥ YMAX
Детальное описание
Параметрическое описание. Параметризация функционального
блока осуществляется заданием пары ПИ-параметров: коэффициента
передачи GAIN и постоянной интегрирования TI.
Передаточная функция имеет следующий вид:
G(p) = GAIN × (1 + 1/(TI×p))
И-часть может быть отключена заданием TI = 0.
YMAX и YMIN определяют верхний и нижний пределы ограничения выхода Y. Превышение одного из пределов отображают выходы
QMAX и QMIN:
QMAX = 1, когда Y ≥ YMAX
QMIN = 1, когда Y ≤ YMIN

165
Если в процессе функционирования блока появится превышение
Режим
MAN
HALT
Автоматический
0 0 Ручной
1
0 или 1
Останова
0
1
PI1
MAN
Y
YMAN
MOVE
EN
Man_Ope
Man_Val
диапазона управляемой переменной, функция сброса по превышению
гарантирует, что интегральная часть не превысит всех заданных ограничений. Измерение по превышению осуществляется только при активной И-части регулятора. Ограничение превышения имеет здесь тот
же смысл, что и для управляемой переменной. Функция сброса по превышению корректирует И-часть в соответствии с неравенством
YMIN – YP ≤ YI ≤ YMAX – YP.
Режимы функционирования. Существует три режима функцио-
нирования, которые могут быть выбраны параметризацией входов
MAN и HALT.
Автоматический режим. В этом режиме управляемый выход Y
определяется относительно заданного значения SP и переменной процесса PV. Причем YMIN ≤ Y ≤ YMAX. Ограничен и сброс по превышению.
Обычно переключение от автоматического режима к ручному не
происходит плавно, так как выход Y может принимать любое значение
в пределах YMAX и YMIN и значение YMAN выводится на выход Y
прямо во время переключения.
Если вопреки этому переключение от автоматического режима к
ручному должно происходить плавно, то необходимо воспользоваться
одной из двух схем.
1. Используя функцию MOVE, переслать значение YMAN на вы-
ход Y.

166
Замечание. Данный тип представления используется только для на-
PI1
MAN
Y
YMAN
MOVE
EN
Man_Ope
Man_Val
Matching
LIMV
HALT
X
RATE Y
глядной иллюстрации процесса. Связи, обозначенные пунктирной линией, не допустимы и должны быть реализованы через переменные во
время программирования.
Функция MOVE будет выполняться только в том случае, когда ПИ-
регулятор функционирует в автоматическом режиме. Если необходимо
произвести переключение от автоматического режима к ручному, оно
произойдет плавно, так как в этом цикле значение YMAN равно значению Y. В ручном режиме теперь можно медленно изменять значение
YMAN.
2. Если необходимо оставить значение YMAN фиксированным,
можно дополнить предыдущее решение функциональным блоком
LIMV.
Замечание. Данный тип представления используется только для на-
глядной иллюстрации процесса. Связи, обозначенные пунктирной линией, недопустимы и должны быть реализованы через переменные во
время программирования.
Функция MOVE будет выполняться только тогда, когда ПИ-регу-
лятор функционирует в автоматическом режиме. Если необходимо
произвести переключение от автоматического режима к ручному, оно
произойдет плавно, так как в этом цикле значение YMAN (блока PI1)
равно значению Y (блока PI1). В следующем цикле значение YMAN
(блока PI1) согласуется с реальным значением YMAN блока LIMV с
учетом RATE, которое заранее определено.
Ручной режим. В этом режиме значение с выхода YMAN выводит-
ся прямо на выход Y. Внутренние переменные согласованы таким образом, что регулятор (с активной И-частью) может плавно переключаться от ручного режима к автоматическому. Есть ограничения для
сброса по превышению.

167
Режим останова. В этом режиме выход Y хранит последнее вы-
SP(+)
PV(–)
GAIN
TI
YP
YI
QMAX
QMIN
YMAN
ERR
YMAX
YMIN
Y
Сброс по превышению
Operating
mode
control
t
t
П
И
численное значение: Y = Y
. Внутренние переменные согласованы
old
таким образом, что сумма всех частей (И+П) такова, что позволит регулятору продолжить работать плавно (после отмены режима останова) с его текущей позиции. Свойство ручного режима в том, что выход
регулятора Y может быть переписан пользователем с внешнего устройства, если корректно определена интегральная часть.
На рис. 6.33 представлена структурная схема блока PI1.
Рис. 6.33. Структурная схема блока PI1
Пример. На рис. 6.34 представлено динамическое поведение ПИ-
регулятора. Первая часть диаграммы показывает динамику функционального блока в ручном режиме: выход Y скачком устанавливается на
значении YMAN. Вторая часть диаграммы показывает динамику
функционального блока в автоматическом режиме (MAN = 0 и
HALT = 0) при положительной и отрицательной ошибке системы ERR:
при постоянной положительной ошибке выход Y нарастает до тех пор,
пока не достигнет верхнего предела ограничения YMAX; при этом выход QMAX устанавливается в 1; при изменении знака ошибки на отрицательный (тогда ее абсолютное значение больше) выход Y скачком
устанавливается на значении GAIN × (ERR
вии спадает; абсолютное значение градиента теперь больше, чем при
положительной ошибке, поскольку абсолютное значение больше самой ошибки.
new
– ERR
) и впоследст-
old

168
HALT
QMAX
MAN
YMAX
YMAN
0
Y
ERR
1
0
1
0
1
0
Рис. 6.34. Переходный процесс блока PI1
Ошибки функционирования. Если YMAX < YMIN, выводится
сообщение об ошибке.
6.6.2.2. Пропорционально-интегрально-дифференциальный регулятор (PID1)
Краткое описание
Функциональный блок реализует пропорционально-интегрально-
дифференциальный регулятор.
Ошибка системы ERR формируется как разница между заданным
значением SP и переменной процесса PV и воздействует на управляемую переменную Y.
Функциональный блок имеет следующие специфические характе-
ристики:
• ПИД-регулятор с набором независимых параметров GAIN, TI, TD;
• ручной, автоматический режимы и режим останова;
• дифференцирование вручную/автоматическое переключение;
• ограничение управляемой переменной;
• индивидуально доступные П-, И- и Д-части;
• сброс по превышению;
• измерение по превышению только с активной И-частью;
• задаваемое запаздывание Д-части;
• формирование Д-части от переменной процесса или ошибки сис-
темы.

169
Представление
PID1
MAN
HALT
SP
PV Y
BIAS ERR
EN_P QMAX
EN_I QMIN
EN_D
D_ON_X
GAIN
TI
TD
TD_LAG
YMAX
YMIN
YMAN
BOOL
BOOL
REAL
REAL
REAL
BOOL
BOOL
BOOL
BOOL
REAL
TIME
TIME
TIME
REAL
REAL
REAL
REAL
REAL
BOOL
BOOL
• Символическое
Вычисление YP в ручном и автоматическом режимах и режиме
останова
EN_P =1: YP=GAIN × ERR.
EN_P =0: YP=0.
Вычисление YI в автоматическом режиме
EN_I =1: YI
EN_I =0: YI=0.
И-часть формируется в соответствии с правилом трапеций.
Вычисление YI в ручном режиме и режиме останов
EN_I =1: YI=Y – YP – BIAS.
EN_I =0: YI=0.
Вычисление YD в автоматическом режиме
EN_D =1 и D_ON_X =0.
YD
new
– ERR
= YI
new
= (YD
))/(dt + TD_LAG).
old
old
Y=YP+YI+YD+BIAS.
+ GAIN × dt/TI × (ERR
old
× TD_LAG + TD × GAIN (ERR
new
new
+ ERR
–
old
)/2.

170
EN_D =1 и D_ON_X=1.
MAN
BOOL
«1»= ручной режим
HALT
BOOL
«1»= режим останова
SP
REAL
Заданное значение
PV
REAL
Переменная процесса
BIAS
REAL
Возмущение
EN_P
BOOL
«1»= П-часть включена
EN_I
BOOL
«1»= И-часть включена
EN_D
BOOL
«1»= Д-часть включена
«1»=Д-часть переменной процесса включена;
GAIN
REAL
Коэффициент передачи
TI
TIME
Постоянная времени интегрирования
TD
TIME
Постоянная времени дифференцирования
TD_LAG
TIME
Время запаздывания Д-части
YMAX
REAL
Верхний предел ограничения выхода
YMIN
REAL
Нижний предел ограничения выхода
YMAN
REAL
Выходное значение при ручном управлении
ERR
REAL
Ошибка регулирования
Y
REAL
Выходное значение
QMAX
BOOL
«1»=Y ≥ YMAX
QMIN
BOOL
«1»=Y ≤ YMIN
YD
– PV
= (YD
new
))/(dt + TD_LAG).
old
× TD_LAG + TD × GAIN × (PV
old
new
–
EN_D=0: YD=0.
Вычисление YD в ручном режиме и режиме останова
YD =0.
Здесь ERR
ERR
– ошибка системы на предыдущем шаге сканирования; PV
old
переменная процесса на текущем шаге сканирования; PV
– ошибка системы на текущем шаге сканирования;
new
– перемен-
old
new
–
ная процесса на предыдущем шаге сканирования; dt – текущее время
сканирования.
• Параметрическое
Параметр Тип данных Значение
D_ON_X BOOL
«0»=Д-часть ошибки системы включена
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
