УДК 519.711.3
МОДЕЛИРОВАНИЕ ЭКСТРЕМАЛЬНЫХ СИСТЕМ УПРАВЛЕНИЯ В СРЕДЕ МДИДБ И БИШШК КАК СРЕДСТВО АНАЛИЗА ДИНАМИКИ6
В.Г. РУБАНОВ Д.А. БУШУЕВ
Белгородский государственный технологический университет им. В. Г. Шухова
e-mail: untame@list.ru
Рассмотрена возможность значительного упрощения процесса исследования динамики экстремальных систем управления с дрейфующими параметрами путем моделирования их в среде Matlab и Simulink. Показана трудоемкость аналитического исследования на примере системы с запоминанием экстремума. Приведены возможные варианты задания экстремальных объектов управления и алгоритмов экстремальных регуляторов в среде SIMULINK. Описана модель системы экстремального управления с динамической частью первого порядка, работающей по методу запоминания экстремума, и результаты, получаемые при ее моделировании в среде SIMULINK и MATLAB.
Ключевые слова: экстремальная, управление, моделирование, Matlab, система, Simulink, дрейф, оптимизация, S-функция.
Повышение энергоэффективности технологических процессов в промышленности часто приводит к необходимости текущей оптимизации, заключающейся в отыскании управляющего воздействия, при котором обеспечивается экстремум некоторых технологических параметров или величин (критерия оптимальности функционирования объекта) отдельных агрегатов. Зачастую такая оптимизация проходит в условиях минимального количества априорной информации, в результате чего необходимо использовать автоматические поисковые системы или системы экстремального управления.
Например, можно рассматривать в качестве экстремальной систему управления величиной вибрации помольно-смесительного агрегата с автоматической балансировкой [1]. Управляющим воздействием является перемещение противовеса, изменяющее уравновешивающее воздействие, оптимизируемым параметром - величина вибрации. Алгоритм управления такой системы закладывается в микроконтроллер. Судя по исследованиям на физической модели агрегата [2] ее статическая характеристика является унимодальной и дрейфующей.
Системы экстремального управления представляют собой нелинейные динамические системы, структуру которых в большинстве случаев можно представить в виде, показанном на рис.1.
Рис. 1. Структура системы экстремального управления
Экстремальный регулятор (ЭР) воздействует через исполнительный механизм (ИМ) на объект управления, представленный в виде нелинейной экстремальной статической характеристики ЭХ, которая при дрейфе является также функцией времени. Инерционные свойства объекта и измерительных устройств отражает динамическая часть ДЧ. В случае, когда исполнительный механизм воздействует на объект управления через звено, обладающее инерционностью, тогда перед объектом появляется еще одна динамическая часть.
6 Работа выполнена в рамках гранта Минобрнауки РФ «Методы проектирования управляемых мобильных логистических средств, обладающих свойством живучести»
Аналитическое исследование процессов в таких системах представляет немальуДррунноПси
[3]. Покажем это на примере анализа системы экстремального управления, работающей по методу запоминания экстремума [4].
Экстремальный регулятор системы поиска минимума работает в соответствии со следующими правилами:
1. Запоминающее устройство фиксирует только уменьшающееся значение входного сигнала г, на увеличивающееся значение оно не реагирует;
2. Условие переключение сигнум-реле записывается в виде:
и = к!$щп(2п+ 2тт- 2) ,
где гты -минимальное значение, запомненное в запоминающем устройстве; гп - зона нечувствительности сигнум-реле.
3. После срабатывания сигнум-реле, запомненное значение гтп сбрасывается, и запоминание начинается снова.
Для упрощения анализа работы такой системы аналитическим методом [4], представим динамическую часть звеном первого порядка с постоянной времени 71, и пренебрежем инерционностью исполнительного механизма постоянной скорости ки
В этом случае дифференциальное уравнение объекта запишется в виде:
Т 'Т + 2 = ^ (1) .
т ёг ёг йх дх _
При осуществлении подстановки ~ ^ ^ , где ~^= ±к в уравнение (2), получим
следующее уравнение
±т& ту+2=/ (х, *) . ах
Уравнение экстремальной характеристики типа «парабола» имеет вид:
У = /(X 0 = к (( )( х - х а (* ))2 + У а (* ) , где к(£) - отражает наклон ветвей параболы, ха(£) - горизонтальный дрейф экстремальной характеристики, уа(£) - вертикальный дрейф экстремума.
Таким образом, уравнение движения записывается в виде:
т 1 йг , 2
'йх 2 = (*)(Х - Х'(*)) + Уа (* ) .
Если регулятор включил исполнительный механизм на увеличение входного сигнала объекта управления, тогда в левой части уравнения (5) будет знак плюс.
При отсутствии дрейфа параметров к, ха и уа уравнение (5) является линейным неоднородным дифференциальным уравнением вида:
у '+ р( х) у = £( х)
Общее решение такого уравнения записывается в виде:
- J Р ( х ) йх ^ г J Р ( х ) т ^
I-1 )
у(х) = е I Q(х)е + Со I
Алгоритм построения переходного процесса следующий:
1. Получаем решение уравнения (5) по формуле (7)
г(х) = Сое тк + Уа + к [X2 - х ( 2ха + 2Т'к1 ) + 2Т12 к'2 + 2Т'к1 ха + х/ ] ,
2. Находим произвольную постоянную Со из начальных условий в момент времени £=о, т.е. подставляя х=Хо, г=го в уравнение (8).
х0
Со = еТА (го - Уа - к [ хо2 - хо ( 2 хй + 2Тхкх ) + 2Т2 к2 + 2Т1к1ха + ха2 ] .
3. Получаем кривую движения г(х) до момента реверса.
уравнения
4. Определяем момент х=хе, когда система достигает минимума, для этого находим Хе из х = х
0 при постоянной C0-
e
5. Находим z=ze, путем подстановки найденного в п.4 значения Хе в уравнение y=f(x).
6. Определяем момент Z=Zr реверса Zr “ Ze - zn .
7. Определяем Хг, подставив Zr, в уравнение (8) при постоянной Со
8. Повторяем алгоритм, начиная с п.1., но уже в качестве начальных условий берем полученные значения Хг, Zr и учитываем, что после реверса меняется знак в левой части уравнения (5), что влечет за собой получение нового решения уравнения (5) по формуле (7), либо использование уравнения (8), тогда с момента реверса необходимо откладывать значения х в сторону отрицательной оси абсцисс.
Таким образом, на двулистной фазовой плоскости x-z по этапам циклично строится переходный процесс, пока в результате построения не получится замкнутая петля, т.е. до установления режима периодических колебаний вокруг экстремума.
Например, если нелинейная часть объекта описывается уравнением
У = f ( х) = 02 ( х - 5) + 10 , а динамическая часть представляет собой апериодическое звено с постоянной времени 100 с, то, выполняя выше описанный алгоритм, получим следующую траекторию движения системы (рис.2). Движение началось с начальных условий х=о.5, y=fx)= 14.05. В результате цикл алгоритма до установления автоколебаний повторяется минимум 7 раз.
16
\ ............1.../.
\ \
г і
13
Рис. 2. Траектория движения системы на фазовой плоскости «вход-выход» объекта
Как видно, аналитическое исследование экстремальных систем даже в случае симметричной (относительно минимума) статической характеристики и с динамической частью первого порядка представляет собой весьма трудоемкую процедуру. Следует отметить, что исследование динамики экстремальных систем с помощью приближенных методов (например, методом Эйлера
[4]) требует решения такого же количества дифференциальных уравнений и выбора начальных условий, как и в вышеописанном алгоритме.
Если же порядок динамической части системы повышается, статическая характеристика является несимметричной, добавляется дрейф параметров от времени и усложняется алгоритм управления, то задача исследования динамики становится действительно сложно разрешимой даже численными методами.
Современное средство имитационного моделирования MATLAB Simulink позволяет значительно упростить анализ динамики сложных экстремальных систем при различных алгоритмах работы экстремальных регуляторов. Такая возможность обеспечивается благодаря тесной интеграции MATLAB и Simulink, расширяющей их функциональные возможности и использованию технологии S-функций, при которой пользователем программируется на одном из языков программирования (MATLAB, С, C++, Ada, Fortran) собственный библиотечный блок «S-function», за счет чего можно задавать алгоритмы любой степени сложности [5].
Ниже представлен пример модели (рис.3), созданной в среде Simulink, для исследования динамики экстремальных систем, а также отражены варианты задания экстремальных объектов управления и алгоритмов управления экстремальных регуляторов на примере системы с запоминанием экстремума.
0-
Іпіііопяі оошиноп х
ЭР
I* >0
ИМ
*В>-
Задание дрейфа
F&
О—
С!о®1
СИ
Объект управления
*гтг|_
1 1001-1 I 1
К»)
ExtrtmtOSjtc^orrr
•О-
ш-
Obi*dSl*i>R«Don«Z
bdrtmtObj «tl n nil IV* I
Рис. 3. Модель системы экстремального управления в среде Simulink
В данном примере экстремальная статическая характеристика объекта управления имеет
симметричную относительно экстремума зависимость У = f (х) = 0.2 ( х - 5) + 10 , которая может быть реализована выражением на языке С с помощью блока «Fcn» раздела User Functions (Блок «ExtremeObjectFormi» на рис.з). Если же статическая характеристика несимметрична относительно экстремума и необходимо «кусочное» задание функции (например, для топки левая ветвь статической характеристики до экстремума имеет вид параболы, а правая - вид гиперболы), то в этом случае необходимо программировать собственный библиотечный блок «S-function», используя
технологию S-функций. Динамическая часть объекта управления W (s) формируется из стандартных блоков Simulink. Она может быть любого порядка и располагаться в любом месте относительно нелинейности y=f(x). В рассмотренной модели (рис.з) динамическая часть представлена звеном
1
первого порядка W (s) = ^ .
Исполнительный механизм представлен в виде интегратора со сбросом (Блок «Actuator»), скорость которого задается усилителем ki (см. рис. з).
В модели реализовано включение экстремального регулятора и исполнительного механизма через определенное время после начала работы системы (или моделирования), для того чтобы исключить переходные процессы, обусловленные его динамической частью. Это реализуется посредством блоков stepi и step3, задающих время включения регулятора. Начальные условия (начальное положение ИМ) Хо для движения задается в блоке «Initial Condition x».
Дрейф параметров Xd(t) и yd(t) можно задать любой сложности также посредством программируемых пользователем блоков «S-function». В данном примере линейный временной дрейф с однократной сменой направления дрейфа реализован в блоках «xDrift» и «zDrift», представляющих собой S-функцию, написанную на языке программирования MATLAB. Механизм маскирования подсистем позволяет оформить S-функцию как полноценный библиотечный блок, т.е. снабдить подсистему собственным окном задания параметров, пиктограммой, справочной системой и атрибутами. За счет этого механизма в блоках «xDrift» и «zDrift» параметры дрейфа задаются в соответствующих окнах диалога. Время t, определяющее дрейф, поступает с блока Clocki.
Экстремальный регулятор можно реализовывать с помощью стандартных блоков Simulink, как например, реализован регулятор, работающий по методу запоминания экстремума (рис. 4).
з
Рис. 4. Задание алгоритма работы экстремального регулятора, работающего по методу запоминания экстремума с помощью стандартных блоков Matlab
Такой регулятор имеет элемент сравнения, задающий условие переключения (1), запоминающее минимум устройство со сбросом «MinMax Running Resettable», сигнум-реле, реализованное на J-K триггере, работающем в режиме T-триггера и блок сигнатуры sign, осуществляющего переключение направления вращения вала исполнительного механизма. Запоминание только уменьшающегося значения и сброс запоминающего устройства при реверсе реализовано на элементе DetectDecrease, элементе памяти MemoryL, RS-триггере и вспомогательных блоков для преобразования типов данных и выполнения логических операций. Алгоритм работы регулятора помещен в подпрограмму «Algoritm» (Рис.3).
Применение программируемых блоков «S-function» позволяет облегчить задание алгоритма работы экстремального регулятора. Описание механизма создания таких блоков приводится в [5]. Основная процедура ответного вызова (так называемый callback-метод), определяющая выходной сигнал блока, выглядит следующим образом (с комментариями): function sys=mdlOutputs(t,x,u)
% Извлечение значений предыдущего шага LetsWork = get_param(gcb,’UserData’);
%Запоминаем только уменьшающиеся z if u<LetsWork.zpred LetsWork.zmin = u;
End
%Условие переключения sign = zn+LetsWork.zmin-u; if sign<0 && LetsWork.fi == false LetsWork.fL = true;
%Выполнение реверса ИМ if LetsWork.upred == 1 LetsWork.upred = -1; else
LetsWork.upred = 1; end
LetsWork.zmin = ie+307; %Сброс запомненного значения end;
%Восстановление флага Values.f1 для того чтобы можно было опять %реверсировать if sign>0 LetsWork.f1 = false; end
LetsWork.zpred = u; %Вывод sys = LetsWork.upred;
%Сохраняем значения для следующего шага
set_param(gcb,’UserData’,LetsWork);
end
Следует отметить, что за счет описанного выше механизма маскирования параметр зоны нечувствительности сигнум-реле zn задается в диалоговом окне блока и используется в S-функции.
Применение функций set_param и get_param позволяет сохранять и считывать любые значения в область UserData пользовательского блока. В данном случае сохраняется структура LetsWork, которая содержит предыдущее значение направления перемещения upred (до входа в блок), минимальное значение zmin и т.д.
Как видно, задание алгоритма поиска с помощью технологии S-функций намного проще, чем с помощью стандартных блоков (рис.4), однако следует отметить, что работа алгоритмов экстремального регулятора с помощью стандартных блоков при одинаковом значении максимального шага моделирования происходит быстрее, чем при использовании блоков Matlab S-function. Быстродействие можно повысить применяя программируемые пользователем S-функции более высокого уровня, например, написанные на языках С или Fortran и откомпилированные в исполняемый машинный код.
Итак, модель экстремальной системы создана, выходными данными модели будут вектор значений исполнительного механизма X, вектор выходного сигнала экстремальной системы Z и вектор времени T, которые в виде соответствующих структур передаются в рабочую область (workspace) среды Matlab посредством блоков «ToWorkspace» (см. рис.3) для дальнейшего исследования и построения переходных процессов.
После выполнения моделирования автоматически запускается m-file из среды Matlab, который строит соответствующие смоделированные переходные процессы, например, для рассмотренного выше примера (рис.5) и статические характеристики с учетом дрейфа параметров и определением минимального значения.
Рис.5. Построение графиков переходного процесса по результатам моделирования в среде 8іши1іик (у=1(х)=0.2(х-5)+10, Т1=100, дрейф отсутствует)
Отображение результатов в трехмерном пространстве (в системе координат xtz) с указанием точек минимума статической характеристики наглядно демонстрирует динамику системы при дрейфующих параметрах статической характеристики (рис. 6).
Рис. 6. Построение графиков переходного процесса по результатам моделирования в среде 8іши1іик (у=1(х)=0.2(х-5)+10, Т1=100, линейный дрейф параметров хф) и уф))
Серия История. Политология. Экономика. Информатика. выздафичещ определяются параметры качества работы
мальной системы: потери на поиск, амплитуда автоколебаний и т.д.
Таким образом, исследование экстремальных систем управления при наличии дрейфа,
несимметричности статической характеристики и высоком порядке динамической части представляет собой значительные сложности, однако использование среды Simulink и Matlab благода- ря применению программируемых пользователем блоков «S-function» позволяет существенно об- легчить задачу системного анализа и сделать результаты более наглядными. Кроме того использо- вание расширения GUI (Graphical User Interface) позволяет сделать конечный программный про- дукт независимым (возможность работы без установки среды MATLAB) с возможностью добавле- ния разнообразных инструментов ввода и вывода информации [6]. В результате получается мощ- ный инструмент для анализа динамики экстремальных систем с интуитивно понятным графиче- ским интерфейсом.
Литература
1. Пат. 114875 Российская Федерация, B 02C 17/00. Помольно-смесительный агрегат с автоматиче- ской балансировкой / Рубанов В.Г., Севостьянов В.С., Уральский В.И., Стативко А.А., Бушуев Д.А., Стативко С.А.; заявитель и патентообладатель БГТУ им. В.Г. Шухова
2. Стативко, С.А. / Исследование вибрации центробежного помольного агрегата в зависимости от за- грузки / Стативко С.А., Рубанов В.Г., Севостьянов В.С., Уральский В.И. // Актуальные проблемы науки: сб. докл. Междунар. науч.-практ. конф., Кузнецк, 30 сент. 2011 г. / Кузнецкий инст. информ. и управл. техн. - Кузнецк: ИП Тугушев С.Ю., 2011.-Т.3.- С. 99-102.
3. Справочник по теории автоматического управления / / Под ред. А.А.Красовского.- М.: Наука, 1987.
4. Казакевич, В.В., Системы автоматической оптимизации. / Казакевич В.В., Родов А.Б. - М.: Энергия, 1977.288 с.
5. Черных, И.В. SIMULINK: среда создания инженерных приложений// Под общ. Ред. к.т.н. В.Г. Потемкина. — М.: ДИАЛОГ-МИФИ, 2003. —
496 с.
6. Рубанов, В. Г. Применение среды MATLAB и расширения GUI для идентификации сложного объекта / В. Г. Рубанов, В. А. Порхало // Известия ТулГУ. - 2011. - Вып. 6. - Ч. 2. - С.14 -
20.
SIMULATION OF EXTREMUM SEEKING CONTROL SYSTEMS USING MATLAB AND SIMULINK AS A MEAN OF DYNAMICS ANALYSIS
V.G. RUBANOV D.A. BUSHUEV
Belgorod state technological university named after
V.G. Shoukhov
e-mail:
untame@list.ru
The possibility of considerable simplification of the process of studying the dynamics of extremum seeking control systems with drift- ing parameters by simulation them in MATLAB and SIMULINK is discussed. The complexity of the analytical studies in systems with extre- mum memorizing is illustrated. The possible versions of setting extre- mum objects and algorithms of extremum regulators in the SIMULINK are presented. Here a model of the extremum seeking control system with dynamic part of the first order, which uses the method of extremum memorizing and the results obtained in its modeling in SIMULINK and MATLAB are described.
Keywords: extremum, control, simulation, MATLAB, system, SIMULINK, drift, optimization, S-function.
НАУЧНЫЕ ВПД ОМОСТИны
экстре-