Научная статья на тему 'Разработка и исследование алгоритмов и программ управления исполнительными механизмами систем автоматического регулирования'

Разработка и исследование алгоритмов и программ управления исполнительными механизмами систем автоматического регулирования Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
355
39
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМЫ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ / ШИРОТНО-ИМПУЛЬСНАЯ МОДУЛЯЦИЯ / МОДЕЛИРОВАНИЕ В SIMULINK MATLAB

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Рыбалев Андрей Николаеви, Теличенко Денис Алексеевич, Косицин Василий Юрьевич, Ахметшин Роман Александрович, Белоусова Алена Владимировна

В статье рассматриваются алгоритмы формирования управляющих воздействий на исполнительные механизмы постоянной скорости движения рабочего органа в составе систем автоматического управления. Предложены способы программной реализации широтно-импульсной модуляции. Приведены результаты моделирования в Simulink Matlab и экспериментов на лабораторном стенде.The article considers algorithms for the formation of the control action on the actuators with a constant rate of movement of the working body composed of automatic control systems. The several ways to program implementation of pulse-width modulation proposed. The simulation results in the Simulink Matlab and experiments on a laboratory stand are given.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по электротехнике, электронной технике, информационным технологиям , автор научной работы — Рыбалев Андрей Николаеви, Теличенко Денис Алексеевич, Косицин Василий Юрьевич, Ахметшин Роман Александрович, Белоусова Алена Владимировна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Разработка и исследование алгоритмов и программ управления исполнительными механизмами систем автоматического регулирования»

УДК: 620.9:658.011.56

А.Н. Рыбалев, Д.А. Теличенко, В.Ю. Косицин, Р.А. Ахметшин, А.В. Белоусова

РАЗРАБОТКА И ИССЛЕДОВАНИЕ АЛГОРИТМОВ И ПРОГРАММ УПРАВЛЕНИЯ ИСПОЛНИТЕЛЬНЫМИ МЕХАНИЗМАМИ СИСТЕМ АВТОМАТИЧЕСКОГО РЕГУЛИРОВАНИЯ

В статье рассматриваются алгоритмы формирования управляющих воздействий на исполнительные механизмы постоянной скорости движения рабочего органа в составе систем автоматического управления. Предложены способы программной реализации широтно-импульсной модуляции. Приведены результаты моделирования в Simulink Matlab и экспериментов на лабораторном стенде.

The article considers algorithms for the formation of the control action on the actuators with a constant rate of movement of the working body composed of automatic control systems. The several ways to program implementation of pulse-width modulation proposed. The simulation results in the Simulink Matlab and experiments on a laboratory stand are given.

Введение и постановка задачи

В различных отраслях промышленности и сельского хозяйства системы автоматического регулирования технологических параметров в качестве исполнительного механизмов включают механизмы постоянной скорости. Они приводят в движение разнообразные регулирующие клапаны, задвижки, заслонки, шиберы, изменяя тем самым подачу среды, теплоносителя, реагентов и т.д. Управляются такие механизмы двумя дискретными сигналами (командами): «больше» и «меньше».

Наиболее часто в системах применяется тот или иной вариант пропорционально-интегрально-дифференциального (ПИД) закона регулирования. Настройка регулятора производится различными методами, однако в большинстве случаев используются непрерывные модели объекта, исполнительного механизма и системы в целом. Рассчитанный ПИД-регулятор практически реализуется «связкой» программного алгоритма с исполнительным механизмом. Поскольку механизм представляет собой, по сути, звено интегрирующего типа, для получения ПИД-закона программный алгоритм должен в общем случае формировать воздействие по ПДД2-закону. Для преобразования выходного сигнала программного алгоритма в дискретные команды управления механизмом обычно применяется широтно-импульсная модуляция (ШИМ)

Построенная таким образом «квазинепрерывная» система автоматического управления лишь приближенно воспроизводит поведение исходной непрерывной модели: управление тем ближе к идеальному, чем меньше период модуляции. Однако уменьшение периода модуляции приводит к увеличению частоты срабатывания коммутирующей аппаратуры и включений привода, что нежелательно. Кроме того, исполнительный механизм просто не в состоянии отреагировать на импульсы малой длительности. Поэтому в некоторых случаях качество процессов регулирования на практике заметно ухудшается и даже становится неудовлетворительным [1, 2].

В 2007 г. на кафедре АППиЭ была введена в эксплуатацию лабораторная установка [3], позволяющая проводить эксперименты по исследованию систем автоматического регулирования, в

Т, мин

Рис. 1. Переходный процесс системы по заданию: 1 - результаты моделирования; 2 - результаты эксперимента.

конфигурации «Регулирование импульсное» (РЕГИ),

СС 81.2

80.8 80.4 80 79.6 79.278.8 78.4-

1

г

- \\ -- --

10

20

30

40

50

60

T, мин

Рис. 2. Переходный процесс системы по возмущению снижением мощности нагревателя:

1 - результаты моделирования; 2 - результаты эксперимента.

том числе описанного выше класса. Выпускником Д.А. Горкун в ходе выполнения дипломного проекта «Исследование характеристик и разработка систем управления лабораторным стендом» среди прочих была реализована система регулирования температуры воды с воздействием на положение воздушной заслонки в контуре охлаждения. Управляющее воздействие на привод заслонки формировал регулирующий микроконтроллер Ремиконт Р130. Программное обеспечение контроллера было построено на основе стандартной включающей алгоритмы импульсного регулирования РИМ и импульсного вывода ИВБ. Результаты

экспериментов показали достаточно хорошее качество процесса регулирования. Поведение реальной системы приближается к поведению ее модели (рис.1, 2).

В 2008 г. для того же лабораторного объекта была смонтирована система управления на базе современного программируемого логического контроллера ПЛК 150, модуля ввода аналогового МВА8 и модуля вывода управляющего МВУ8

фирмы «ОВЕН» [4]. Обмен информацией между контроллером и модулями осуществляется по промышленной сети Я8485, протокол «ОВЕН».

Первоначально новая реализация системы регулирования температуры с воздействием на положение воздушной заслонки предполагала:

формирование контроллером двух непрерывных управляющих сигналов в диапазоне от нуля до единицы (каналы «больше» и «меньше») по пропорционально-дифференциальному алгоритму из библиотеки среды программирования СоБе8у8;

передачу сформированных сигналов модулю МВУ8 по сети;

преобразование модулем МВУ8 полученных сигналов в сигналы управления механизмом «больше» и «меньше» посредством широтно-импульсной модуляции (при этом скважность импульса 0-100% соответствует изменению входного сигнала 0-1, а период модуляции задается при конфигурировании МВУ8).

Однако результаты экспериментов, проведенных при различных настройках регулятора, показали, что система регулирования практически неработоспособна: наблюдались незатухающие колебания температуры и хода исполнительного механизма. На основе анализа трендов экрана визуализации СоБе8у8 был сделан вывод, что причина заключается в «жестком» алгоритме широтно-импульсной модуляции. При малых сигналах управления длительность импульса настолько мала, что

0

механизм не успевает его отработать, в результате большая часть импульсов оказывается потерянной. Увеличение периода модуляции не решает проблемы, поскольку свойства системы при этом еще более отличаются от свойств ее непрерывной модели. Попытки перенести процесс формирования импульсов в контроллер не увенчались успехом, так как в библиотеках, предлагаемых системой программирования, найти подходящие алгоритмы не удалось.

Таким образом, актуальной стала задача разработки и программной реализации алгоритмов импульсной модуляции для контролеров, программируемых в среде CoDeSys.

Решение

На первом этапе было проведено исследование алгоритма импульсного вывода, применяемого в контроллере Ремиконт Р130. Программные библиотеки данного контроллера прошиты в ПЗУ и закрыты, а программирование осуществляется с помощью специального пульта. На момент проведения экспериментов отсутствовала возможность подключения Ремиконта Р130 к персональному компьютеру, поэтому выходной сигнал алгоритма импульсного вывода регистрировался непосредственно на дискретном выходе контроллера самописцем РП160. На вход алгоритма ИВБ подавался сигнал, сформированный задатчиком ЗУ05.

В результате экспериментов было установлено, что импульсный вывод осуществляет широтно-импульсную модуляцию с переменным периодом. Импульсы подаются таким образом, чтобы при любом значении входного модулируемого сигнала обеспечить равенство либо времени импульса, либо времени паузы минимальному времени импульса/паузы, которое задается на настроечном входе алгоритма. При этом, если требуется обеспечить скважность менее 50%, минимальным берется время импульса, более 50% — время паузы. Таким образом достигается максимально возможная частота модуляции при ограничении на время срабатывания механизма. Данный подход и был принят за основу в дальнейших разработках.

На втором этапе разработан, промоделирован и реализован на контроллере ПЛК150 алгоритм ШИМ с переменным периодом.

В процессе формирования импульсов алгоритм фиксирует время начала текущего состояния (импульса или паузы). Расчет длительности импульса/паузы производится в зависимости от значения модуля сигнала управления.

Если значение модуля управляющего сигнала менее 0,5 (скважность менее 50%), время импульса берется минимальным, а время паузы определяется по формуле:

lui

t = , • t ■ , ,

п 1 min '

г\ где \и\ — модуль текущего значения управляющего сигнала; ^

min —

минимальное время импульса/паузы.

Если значение модуля управляющего сигнала превышает 0,5, время импульса находится по формуле:

1 -и ? =——?

' 'шт

1и1 , а время паузы выбирается минимальным. В качестве отправной точки для исследований взята упрощенная непрерывная модель системы регулирования температуры с воздействием на изменение положения воздушной заслонки.

Передаточная функция объекта (определена путем обработки кривой разгона): ^ = к

+1, где к - коэффициент передачи объекта, равный -0,42°С/% хода механизма; Т -постоянная времени, равная 15,6 мин.

43>

Ж

s

den(s)

In1 outi t-^-K^ ► " J~

О

Integrator

о

о

Reg_Out

О

Temp

Исходя из требований к быстродействию и с учетом ограничений на колебательность и предельные уровни управляющего сигнала в переходном процессе, выбран ПИ-регулятор с передаточной функцией

W = к р

1+-

1

Тиз Р

где кр = 2 - коэффициент регулятора; Тиз = 1/3 мин. - постоянная времени изодрома.

Далее для проверки алгоритма ШИМ в системе имитационного моделирования 81шиПпк построена полная модель исследуемой системы (рис. 3)

Рис. 3. Полная модель системы.

Модель содержит ПД-регулятор с зоной нечувствительности и фильтром при дифференциальной составляющей, блок широтно-импульсной модуляции, исполнительный механизм и объект регулирования.

Коэффициенты ПД-регулятора определены по коэффициентам исходного ПИ-регулятора и времени полного хода исполнительного механизма.

Блок широтно-импульсной модуляции (рис. 4) построен на базе функции Ма1;1аЬ, код которой приведен в приложении 1.

Графики переходных процессов при изменении задающего сигнала на 6°, полученные в результате моделирования, представлены на рис. 5, 6. Из рисунков видно, что построенная модель по своим свойствам достаточно близка исходной непрерывной модели и даже обеспечивает несколько лучший переходный процесс.

0-

Для экспериментальной проверки алгоритма Clock программа Matlab была портирована в среду CZ

In 1

-C-

MATLAB Function

MATLAB Fcn

CD

Out1

MinTime

Рис. 4. Блок ШИМ.

CoDeSys, язык ST (structured text -структурированный текст). Листинг ST-программы приведен в приложении 2.

Эксперимент проводился при следующих условиях:

ПД-регулятор - типовой из библиотеки CoDeSys, с рассчитанными ранее настройками;

мощность нагревателя - 60 % (1500 Вт);

скорость вращения вентилятора - максимальная;

начальное положение воздушной заслонки - 60%;

начальная температура - 82,5°С;

изменение задания - +6°C;

минимальное время импульса/паузы - 1,4 сек.

6

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

-0.42

Zadanie

15.6s+1

At0 | 8

Au %

\ 2

ч 1

10 20 30 40 50 60 70 80 90 100

Рис. 5. Результаты моделирования - график изменения температуры:

1 - упрощенная непрерывная модель; 2 - полная модель.

t, мин >

ч

\ i

\ 2 ?

/ \ _г /-J

V /

J

20

30

50

80

^мин —>

Рис. 6. Результаты моделирования - график изменения управляющего воздействия:

1 - упрощенная непрерывная модель; 2 - полная модель.

Тренды архивировались контроллером ПЛК 150 в файле специального формата, который впоследствии был прочитан и обработан программой на языке Matlab. Результаты эксперимента представлены на рис. 7.

В целом алгоритм широтно-импульсной модуляции показал свою работоспособность, хотя качество переходного процесса и оставляет желать лучшего. В ходе анализа сделано предположение,

что причиной повышенной колебательности является неточная реализация ПД закона регулирования в типовом регуляторе CoDeSys, поэтому в настоящее время ведется работа над собственной программной реализацией регулятора.

t°, u,%

ч

1

Ь2 \

V / \ Г- /-J

V /

J

10

20 30

40

50

60

70

80 90

1,мин >

Заключение

В статье предложены модель и программная реализация алгоритма широтно-импульсной модуляции для управления исполнительными механизмами постоянной скорости, входящими в состав систем автоматического регулирования

технологических параметров. Результаты апробированы в системе имитационного моделирования Simulink Matlab и на экспериментальной установке под управлением контроллера ОВЕН ПЛК 150.

Рис. 7. Результаты эксперимента: 1 - температура; 2 - ход исполнительного механизма.

0

0

0

1. Куць, И.И., Валько, В.Ф. Изменение типовых схем регулирования (регуляторов питания котла водой и температуры перегретого пара) по опыту эксплуатации // Сб. трудов IV Всероссийской науч.-техн. конф. «Энергетика: качество и эффективность использования энергоресурсов».- Благовещенск: Амурский гос. ун-т, 2005.- С. 496-499.

2. Рыбалев, А.Н. Исследование алгоритмов регулирования температуры перегретого пара, применяемых на Благовещенской ТЭЦ // Сб. трудов IV Всероссийской науч.-техн. конф. «Энергетика: качество и эффективность использования энергоресурсов».- Благовещенск: Амурский гос. ун-т, 2005- С.500-505.

3. Рыбалев, А.Н., Редозубов, Р.Д., Колесников, П.С. Разработка лабораторного стенда по дисциплине «Автоматизация технологических процессов и производств» // Вестник АмГУ. - Благовещенск: Амурский гос. ун-т. - 2007. - Вып. 39. - С. 79-83.

4. Рыбалев, А.Н., Редозубов, Р.Д., Колесников, П.С. Модернизация лабораторного стенда по дисциплине «Автоматизация технологических процессов и производств» // Вестник АмГУ. - Благовещенск: Амурский гос. ун-т. - 2008. - Вып. 43. - С. 50-53.

Matlab-функция для моделирования ШИМ

Приложение 1

function output = winfun(input)

persistent state time_of_begin % сохраняемые переменные: состояние и время его начала

time = input(1); % текущее время

u = input(2); % управление -1...1

module_u = abs(u); % модуль управления

minimal_time = input(3); % минимальное время импульса/паузы

% Начальная инициализация: пауза

if (time == 0)

state = 0;

time_of_begin = 0;

end

% время текущего состояния time_of_state = time - time_of_begin; if (state == 1) % импульс на выходе есть if ((module_u < 1)&&(time_of_state > minimal_time))... % импульс может быть снят && ((module_u < 0.5)||(time_of_state > module_u/(1 - module_u)*minimal_time)) % и импульс должен

% быть снят

time_of_begin = time; state = 0; output = 0;

end

else % импульса на выходе нет if ((module_u > 0) && (time_of_state > minimal_time))... % импульс может быть подан && ((module_u > 0.5) || (time_of_state > (1 - module_u)/module_u*minimal_time)) % и импульс

%должен быть подан

time_of_begin = time; state = 1; output = 1;

end end

output = state*sign(u);

Приложение 2

ST-программа регулирования

PROGRAM PLC_PRG VAR

INP_BUST: REAL; INP_PCH: REAL; RESET_PD: BOOL;

RES_PD: BOOL;

KR:REAL;

TD:REAL;

CUR_TEMP: REAL; TEMP_UST:REAL;

VAR2: REAL; REGULATOR_PD: PD;

UPR_SIGN_PD: REAL; SysTime: SysTime64; GetTime: CurTime; CurrentTime: DWORD; TimeOfBegin: DWORD := 0; TimeOfState: DWORD := 0; MinimalTime: DWORD; module_u: REAL;

STATE:BOOL; STATER: REAL; SIGN_UPR_SIGN: REAL; OUT: REAL; END_VAR MVU1:=1; MVU2:=0; INP_PCH := 100;

INP_BUST := 60; MVU7:=INP_PCH/100; MVU8:=INP_BUST/100; IF RESET_PD=TRUE THEN RES_PD:=FALSE;

ELSE

RES_PD:=TRUE;

END_IF KR:=0.7; TD:=180;

CUR_TEMP :=MVA8; TEMP_UST := 88; VAR2:=MVA2;

REGULATOR_PD(ACTUAL:=MVA8, SET_POINT:=TEMP_UST, KP:=KR, TV:=TD,

Y_MIN:=-100, Y_MAX:=100);

UPR_SIGN_PD:=REGULAT0R_PD.Y/100;

SysTime.ulHigh := 0;

SysTime.ulLow := 0;

GetTime (SystemTime := SysTime);

CurrentTime := SysTime.ulLow; TimeOfState := CurrentTime - TimeOfBegin; MinimalTime := 500000; module_u := ABS(UPR_SIGN_PD);

IF STATE = TRUE AND (module_u < 1 AND TimeOfState > MinimalTime) AND (module_u < 0.5 OR TimeOfState > module_u/(1 - module_u)*MinimalTime) THEN TimeOfBegin := CurrentTime; STATE := 0;

ELSIF STATE = FALSE AND (module_u > 0 AND TimeOfState > MinimalTime) AND (module_u > 0.5 OR TimeOfState > (1 - module_u)/module_u*MinimalTime) THEN TimeOfBegin := CurrentTime; STATE := 1;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

ELSE

MVU3 := 0; MVU4 := 0;

END_IF

STATER:=BOOL_TO_REAL(STATE); IF module_u=0 THEN

SIGN_UPR_SIGN:=1;

ELSE

SIGN_UPR_SIGN:=UPR_SIGN_PD/module_u;

END_IF

OUT:=SIGN_UPR_SIGN*STATER; IF OUT>0 THEN MVU3:=0; MVU4:=OUT; ELSIF OUT<0 THEN MVU4:=0; MVU3:=ABS(OUT);

ELSE

MVU4:=0; MVU3:=0;

END_IF

i Надоели баннеры? Вы всегда можете отключить рекламу.