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

191
6.6.3.1. Генератор функций (FGEN)
FGEN
R
START Y
PAR A
ACTIVE
YOFF N
BOOL
BOOL
Para_FGEN
REAL
REAL
BOOL
INT
Краткое описание. Функциональный блок генерирует сигнал на
выходе Y, параметры которого задаются при помощи переменной типа
Para_FGEN. Позволяет получить восемь сигналов различной формы:
ступенчатую функцию, линейную, дельта-функцию, пилообразную
функцию, прямоугольную волну, трапецеидальную функцию, синусоиду, случайное число.
Представление
• Символическое
• Параметрическое
Параметр Тип данных Значение
R BOOL «1» – сброс
START BOOL «1» – старт генератора функций
PARA Para_FGEN Параметры генератора функций
YOFF REAL Смещение выхода Y
Y TIME Выход генератора функций
ACTIVE BOOL «1» – генератор функций активен
N REAL Число циклов с начала старта

192
Структура данных параметра Para_FGEN представлена ниже.
Параметр Тип данных Значение
func_no INT Выбор генерируемой функции (1–8)
amplitude REAL Амплитуда
halfperiod TIME Полупериод
t_off TIME Постоянная времени ожидания
t_rise TIME Постоянная времени нарастания
t_acc TIME Постоянная времени сглаживания
unipolar BOOL
«1» – сигнал однополярный
«0» – сигнал двухполярный
Параметрическое описание
Режим сброса. Параметр R переводит блок в режим сброса. При
установке этого параметра (R = 1) все выполняющиеся функции терминируют и на выходе Y устанавливается значение, равное параметру
YOFF (смещение). Одновременно с этим счетчик циклов N параметр
ACTIVE тоже устанавливаются в «0».
Режим старта генератора функций. Параметр START (START =
= «1») запускает функцию, заданную в структуре данных блока FGEN.
Выход N инкрементируется при начале каждого следующего цикла.
Если параметр START возвращается в «0», активный цикл выбранной
функции завершается. При запуске функции выход ACTIVE устанавливается в «1». По завершении периода выход ACTIVE устанавливается в «0».
Смещение. Амплитуда сигналов, генерируемых блоком FGEN, задается в параметре «amplitude»: диапазон значений от «amplitude» до –
«amplitude» для двухполярного сигнала (unipolar = «0»), от «0» до
«amplitude» для однополярного сигнала (unipolar = «1»). Сигнал может
быть сдвинут относительно нуля на значение, определяемое параметром YOFF.
Замечание. Можно подать выходной сигнал другого генератора
функций на вход YOFF, в этом случае сигналы, производимые обоими
генераторами функций, будут накладываться.

193
Постоянная времени t_rise. Постоянная времени нарастания t_rise
func_no
Функция
1
Ступенчатая
2
Линейная
3
Пилообразная
4
Дельта
5
Прямоугольная
6
Трапецеидальная
7
Синусоидальная
8
Случайное число
используется только с линейной и трапецеидальной функциями. Для
пилообразной функции время нарастания определяется как halfperiod -
t_off. Для дельта-функции время нарастания определяется как 0.5 *
(halfperiod - t_off).
Выбор функции. При помощи блока FGEN может быть получено
восемь видов функций. Вид функции задается параметром func_no.
Определение. Функция полностью определяется структурой данных параметра Para_FGEN. В первую очередь определяется вид функции. Для трапецеидальной, дельта, пилообразной и прямоугольной
функций задается параметр «однополярный/двухполярный» (unipo-
lar/bipolar) сигнал (рис. 6.43).
Рис. 6.43. Интерпретация «однополярного/двухполярного» сигнала

194
Амплитуда определяется параметром «amplitude». Следует заме-
тить, что данный параметр применяется к однополярному сигналу.
Амплитуда двухполярного сигнала удваивается и включает в себя диапазон от «-amplitude» до «amplitude». Параметр «полупериод» (halfpe-
riod) определяет продолжительность полупериода функции. Параметр
t_off определяет постоянную времени ожидания. Таким образом, по-
лупериод функции вычисляется как halfperiod - t_off. Для трапециидальной функции требуется задание постоянной времени нарастания
t_rise. Это время, за которое сигнал нарастает от «0» до амплитуды,
заданной параметром «amplitude» (либо спадает от амплитуды, заданной параметром «amplitude», до «0»).
Функция сглаживания. В этом случае градиент сигнала линейной
функции не является постоянным. Сглаживание используется для
обеспечения плавного нарастания и спада, линейная функция аппроксимируется S-кривой (рис. 6.44).
Рис. 6.44. «Сглаживание» линейной функции
Этот процесс делится на три участка: на первом участке происходит линейное ускорение от значения «0»; второй участок проходится
со скоростью, достигнутой в конце первого участка; на третьем участке ускорение первого участка используется для торможения, таким
образом обеспечивается плавный выход на установившееся значение.

195
Протяженность участков задается пользователем при помощи пара-
2
3 1 _ acc
2
a
SS t
2 _ acc( _ 2 _ acc)S at t rise t
(halfperiod -
t_acc)/2
метров t_acc и t_rise. Ускорение вычисляется по следующим формулам:
amplitude = S1 + S2 + S3;
;
.
Замечание: «Сглаживание» используется только для линейной, пилообразной, дельта и трапецеидальной функций. С остальными видами
функций генератора FGEN не применяется.
Параметры, определяемые для различных функций, представлены
ниже.
№ Функция
1 Ступенчатая X – – – – –
2 Линейная X – – X X –
3 Пилообразная X X X halfperiod - t_acc X X
4 Дельта X X X
5 Прямоугольная X X X – – X
6 Трапецеидальная X X X X X X
7 Синусоидальная X X X – – X
8 Случайное число X – – – – X
аmpli-
tude
halfpe-
riod
t_off
t_rise t_acc unipolar
X X
Однополярный сигнал. Параметр «unipolar» определяет, будет ли
сигнал функции однополярным или друхполярным. Следует обратить
внимание на то, что в однополярном сигнале цикл определяется двумя
однополярными полуволнами.
Изменение параметров функции. Во время текущего цикла выполнения программы могут быть изменены все параметры функции. Однако данные изменения вступают в силу только по окончании текущего цикла. Например, если параметр t_off был изменен в текущем цикле,

196
новое значение вступает в действие только с началом следующего
цикла.
Изменение вида функции. Во время текущего цикла выполнения
программы может быть изменен и вид (номер) самой функции. Однако данные изменения вступают в силу только по окончании текущего цикла. При этом параметр N (счетчик циклов) устанавливается
в «0».
Ступенчатая функция. У ступенчатой функции выход достигает
значений:
Y = OFF, если START = 0,
и
Y = OFF + amplitude, если START = 1.
Параметры t_off, t_rise и t_acc для этой функции не задаются.
Выход N инкрементируется при каждом переходе входа START из
«0» в «1».
Для этой функции двухполярный режим не используется.
Линейная функция. У линейной функции выход Y нарастает от зна-
чения YOFF до значения YOFF + amplitude. Если вход START переходит из «0» в «1», выход Y сохраняет значение YOFF + amplitude.
Выход Y скачкообразно переходит в значение YOFF, если START
устанавливается обратно в «0».
Нарастание этой функции определяется параметрами t_rise и t_acc.
Время, необходимое для нарастания сигнала от Y = YOFF до Y =
YOFF + amplitude, определяется параметром t_rise.
«Сглаживание» определяется параметром t_acc.
Выход N инкрементируется при каждом переходе входа START из
«0» в «1».
Для этой функции двухполярный режим не используется.
Случайная функция. У случайной функции выход Y устанавливает-
ся в случайное значение из диапазона YOFF ≤Y≤ YOFF + amplitude
при однополярном сигнале и в значение из диапазона YOFF – ampli-
tude ≤ Y ≤YOFF + amplitude при двухполярном сигнале.
Параметры t_off, t_rise и t_acc для этой функции не задаются.
Выход N инкрементируется при каждом переходе входа START из
«0» в «1».

197
6.6.3.2. Фильтр второго порядка (LAG2)
new
Y A B.
2
old
2
GAIN X (FREQ dt) Y
A,
1 2 DMP FREQ dt (FREQ dt)
old2
2
(2 DMP FREQ dt 2) Y
B.
1 2 DMP FREQ dt (FREQ dt)
Параметр
Тип данных
Значение
X
REAL
Входное значение
Mode_MH
MODE
Режим функционирования
Para_LAG2
PARA
Параметры
YMAN
REAL
Выходное значение при ручном управлении
Y
REAL
Выходное значение
LAG2
X
MODE
PARA
YMAN
REAL
Mode_MH
Para_LAG2
REAL
R
Y
REAL
Краткое описание. Функциональный блок представляет собой
фильтр второго порядка.
Функциональный блок имеет следующие режимы работы: ручной,
автоматический режимы и режим останова.
Представление
• Символическое
где Y
Y
– выходное значение Y на предыдущем цикле сканирования;
old
– выходное значение Y на цикле, предшествующем предыдуще-
old2
му; dt – разница времени между предыдущим и текущим циклами сканирования.
• Параметрическое

198
Описание параметра Mode_MH дано в таблице.
2
1
G(p) GAIN .
DMP p
1p2
FREQ FREQ
Параметр Тип данных Значение
MAN BOOL «1» = ручной режим
HALT BOOL «1» = режим останова
Описание параметра Para_LAG2 приведено ниже.
Параметр Тип данных Значение
GAIN REAL Коэффициент усиления
DMP REAL Коэффициент демпфирования
FREQ REAL Собственная частота
Параметрическое описание. Параметризация функционального
блока осуществляется заданием коэффициента усиления GAIN, коэффициента демпфирования DMP и собственной частоты FREQ. Параметры DMP и FREQ должны быть положительными величинами.
Передаточная функция имеет следующий вид:
Выход Y отрабатывает единичное входное воздействие Х и стремится к значению X × GAIN. При значении коэффициента демпфирования 0 < DMP < 1 на выходе блока имеются незатухающие колебания.
Период незатухающих колебаний определяется как T = 1/FREQ. При
коэффициенте демпфирования DMP ≥ 1 блок представляет собой апериодическое звено второго порядка и в этом случае ведет себя как два
апериодических звена первого порядка LAG, включенные последовательно. При DMP=0 будут иметь место незатухающие колебания. Блок
представляет собой консервативное звено.
Режимы функционирования. Существует три режима функционирования, которые могут быть выбраны параметризацией входов
MAN и HALT (см. блок DELAY).

199
Автоматический режим. В этом режиме функциональный блок
работает в соответствии с таблицей параметрического представления.
Ручной режим. В этом режиме значение с выхода YMAN выводит-
ся на выход Y.
Режим останова. В этом режиме выход Y хранит последнее зна-
чение, при этом он не обновляется и может быть переписан пользователем.
Пример. На рис. 6.45–6.47 представлена реакция фильтра второго
порядка на единичное входное воздействие при GAIN=1 и различных
значениях параметра DMP.
Рис. 6.45. Переходная характеристика блока LAG2
при DMP = 1
Рис. 6.46. Переходная характеристика блока LAG2
при DMP = 0.5

200
Рис. 6.47. Переходная характеристика блока LAG2
при DMP = 0.2
6.7. Автоматизированная настройка регулятора в пакете Unity
Рассмотрим систему автоматического регулирования объектом
первого порядка с ПИД-регулятором (блок PID1), поведение которого
будем имитировать при помощи функционального блока LAG. Задающее воздействие SP сформируем при помощи функционального блока
FGEN. Управляющее воздействие Y с выхода регулятора подается на
вход объекта X. Выход объекта Y замыкается на вход регулятора PV.
Функциональная схема замкнутой системы на языке FBD приведе-
на на рис. 6.48.
Параметризация функционального блока PID1 осуществляется заданием коэффициента усиления GAIN, постоянной времени интегрирования TI и постоянной времени дифференцирования TD. Дифференциальная составляющая имеет сдвиг по фазе в соответствии с постоянной времени TD_LAG. Отношение TD/TD_LAG определяет динамический коэффициент усиления дифференцирующего звена и обычно выбирается в диапазоне значений от 3 до 10.
Кроме того, дифференциальная составляющая определяется либо
ошибкой регулирования ERR (D_ON_X=0), либо выходной переменной PV(D_ON_X=1).
Если дифференциальная составляющая определяется по выходной
переменной, то она не сможет давать скачки в ответ на изменения задающего воздействия SP и будет компенсировать только возмущающие воздействия и вариации выходного сигнала.
Передаточную функцию регулятора можно преобразовать путем
изменения знака коэффициента усиления. При положительном знаке
возмущения положительный (отрицательный) коэффициент усиления
приводит к увеличению (уменьшению) выходной переменной.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
