Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование технологических контроллеров в среде Unity. Учебное пособие.pdf
Скачиваний:
1
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
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 и будет компенсировать только возмущаю­щие воздействия и вариации выходного сигнала.
Передаточную функцию регулятора можно преобразовать путем изменения знака коэффициента усиления. При положительном знаке возмущения положительный (отрицательный) коэффициент усиления приводит к увеличению (уменьшению) выходной переменной.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]