- •Ю.И. Еременко, д.А. Полещенко
- •Содержание
- •Лабораторная работа № 1 знакомство с нейронными сетями
- •1.1 Цель работы
- •Теоретическая часть
- •Классификация нейронных сетей
- •Однослойные искусственные нейронные сети
- •Многослойные искусственные нейронные сети
- •1.3 Порядок выполнения работы
- •1.4 Контрольные вопросы и понятия
- •Выполнение
- •2.3.1 Порядок выполнения работы
- •2.4 Контрольные вопросы и понятия
- •3.3 Порядок выполнения работы
- •3.4 Контрольные вопросы и понятия
- •4.3 Порядок выполнения работы
- •4.4 Контрольные вопросы и понятия
- •Список литературы
- •Еременко Юрий Иванович Полещенко Дмитрий Александрович Нейроуправление
3.3 Порядок выполнения работы
3.3.1 Создать новое окно для моделирования. Установить дискретное изменение времени. Для этого выбрать «Simulation parameter» в меню «Simulation». На вкладке «Solver» выбрать:
Solver option -> Fixed-step (решение с фиксированным шагом)
Solver option -> Ode5(Dormand-Prince) (один из методов решения дифференциального уравнения).
Установить в поле «Fixed step size» конкретное значение времени дискретизации (рекомендуется выбирать из диапазона [0.1; 1]):
3.3.2 Создать обучающую выборку согласно варианту задания.
№ варианта |
Передаточная функция объекта управления |
1 |
W(s)=2/(4s+1) |
2 |
W(s)=1/((4s+1)(2s+1)) |
3 |
W(s)=2/((3s+1)(5s+1)) |
4 |
W(s)=5/(6s+1) |
5 |
W(s)=1/((s+1)(4s+1)) |
6 |
W(s)=1/(7s+1) |
7 |
W(s)=3/(5s+1)) |
8 |
W(s)=9/(4s+1) |
9 |
W(s)=8/(10s+1) |
10 |
W(s)=3/((3s+1)(2s+1)) |
11 |
W(s)=3/(5s+1) |
12 |
W(s)=10/(s+1) |
13 |
W(s)=2.5/(2s+1)) |
14 |
W(s)=1/(2s+1) |
15 |
W(s)=1.8/(9s+1) |
16 |
W(s)=1/((7s+1)(2s+1)) |
3.3.3 Написать программу, реализующую процесс идентификации объекта управления.
3.3.4 Оценить качество аппроксимации ОУ полученной нейросетевой моделью.
3.4 Контрольные вопросы и понятия
Что называется идентификацией?
Схема идентификации в нейросетевом базисе.
Для чего необходимы задержанные сигналы по входу и выходу при синтезе НС?
Преимущества проведения идентификации с использованием НС относительно классических методов.
Автономное и оперативное построение математической модели.
Лабораторная работа № 4
ЭКСТРЕМАЛЬНЫЕ СИСТЕМЫ УПРАВЛЕНИЯ
4.1 Цель работы
Ознакомиться с построением шаговых экстремальных систем управления при управлении динамическими объектами с запаздыванием.
4.2 Теоретическая часть
В любом производстве (на заводе, комбинате) имеется некоторый ведущий технико-экономический показатель (ТЭП), полностью характеризующий эффективность работы этого производства. Этот ведущий показатель выгодно поддерживать на экстремальном значении. Таким обобщенным показателем может быть прибыль предприятия.
Для всех технологических процессов (в цехах, отделениях), входящих в состав производства, исходя из ведущего ТЭП, можно сформулировать свои частные ТЭП (например, себестоимость единицы продукции при заданной производительности). В свою очередь технологический процесс обычно можно разбить на ряд участков (технологических агрегатов), для каждого из которых также можно найти критерий оптимальности Q. Достижение экстремума Q будет приближать к экстремуму частный ТЭП процесса и ведущий ТЭП производства в целом.
Критерий оптимальности Q может быть непосредственно каким-либо технологическим параметром (например, температура факела топочного устройства) либо некоторой функцией, зависящей от технологических параметров (например, к.п.д., тепловой эффект реакции, выход полезного продукта за заданный промежуток времени и т.д.).
Если критерий оптимальности Q является функцией некоторых параметров объекта, то для оптимизации этого объекта может быть применена система экстремального регулирования (СЭР).
В общем случае величина критерия оптимальности зависит от изменения ряда входных параметров объекта. Имеется много объектов управления, у которых величина критерия оптимальности Q зависит в основном от изменения одного входного параметра. Примерами таких объектов могут служить различного рода топочные устройства, каталитические реакторы, химводоочистка на тепловых электростанциях и многие другие.
Итак, системы экстремального регулирования предназначены для поиска оптимальных значений управляющих воздействий, т.е. таких значений, которые обеспечивают экстремум некоторого критерия Q оптимальности процесса.
Системы экстремального регулирования, которые предназначены для оптимизации объекта по одному входному каналу, называются одноканальными. Такие СЭР получили наибольшее распространение.
При оптимизации объектов, обладающих значительной инерционностью и чистым запаздыванием, целесообразно применение шаговых экстремальных систем, которые воздействуют на управляемый вход объекта через дискретные промежутки времени.
При исследовании экстремальной системы объект оптимизации в большинстве случаев удобно представить последовательным соединением трех звеньев: входного линейного инерционного звена, экстремальной статической характеристики у = F(х) и выходного линейного инерционного звена (рис. 1). Такую структурную схему замещения можно обозначить ЛНЛ.
Рис. 1 Схема экстремального объекта ЛНЛ
Коэффициенты усиления обоих линейных звеньев удобно принимать равными единице. Если инерционность входного линейного звена пренебрежимо мала по сравнению с инерционностью выходного линейного звена, объект можно представить схемой замещения НЛ; если инерционность выходного линейного звена пренебрежимо мала, — схемой замещения ЛН. Собственные инерционные свойства объекта обычно представляются выходным инерционным звеном; к этому же звену относится инерционность измерительных устройств системы.
Входное линейное звено обычно появляется в структурной схеме объекта тогда, когда исполнительный механизм (ИМ) экстремальной системы воздействует на собственно объект оптимизации через звено, обладающее инерционностью, например, если входным параметром оптимизируемого объекта является температура, а ИМ воздействует на изменение ее через теплообменник. К входной линейной части относят и инерционность исполнительного механизма.
Следует отметить, что промежуточные между линейными и нелинейными звеньями координаты объекта управления в подавляющем большинстве случаев замерить невозможно; это легко осуществить лишь при моделировании системы.
В некоторых случаях определить структурную схему замещения объекта можно лишь экспериментально.
Для этого следует изменить входную координату объекта v1, соответствующую значению выхода z1, до v2 (рис. 2,а), при котором значение выходной координаты объекта в результате переходного процесса будет приближенно равно z1.
Если это возмущение практически не вызвало сколько-нибудь заметного изменения выходной координаты объекта (рис. 2,б), то входное инерционное звено отсутствует. Если же переходный процесс в результате такого возмущения имеет вид, качественно близкий к представленному на рис. 2, в, то инерционное звено на входе объекта существует.
Рис. 2 Характеристики экстремального ОУ
Структурой объектов НЛ и ЛН, у которых линейная часть описывается дифференциальным уравнением первого порядка с запаздыванием или без него, а статическая характеристика y=f(x) может быть любой непрерывной функцией с одним экстремумом в рабочем диапазоне может быть аппроксимировано достаточно большое количество промышленных объектов оптимизации.
Системы экстремального управления:
Системы автоматической оптимизации с запоминанием экстремума
В экстремальных регуляторах САО с запоминанием экстремума на сигнум-реле подается разность между текущим значением выходного сигнала у объекта и его значением в предыдущий момент времени.
Структурная схема САО с запоминанием экстремума представлена на рис. 3. Выходная величина объекта О со статической характеристикой у=f(х) подается на запоминающее устройство ЗУ экстремального регулятора.
Рис. 3 Система автоматической оптимизации с запоминанием экстремума
Запоминающее устройство такой системы должно фиксировать только увеличение входного сигнала, т.е. запоминание происходит только при увеличении у. На уменьшение у запоминающее устройство не реагирует. Сигнал с запоминающего устройства непрерывно подается на элемент сравнения ЭС, где сравнивается с текущим значением сигнала у. Сигнал разности у—умакс с элемента сравнения поступает на сигнум-реле СР. Когда разность у—yмакс достигает значения зоны нечувствительности ун сигнум-реле, оно производит реверс исполнительного механизма ИМ, который воздействует на входной сигнал х объекта. После срабатывания сигнум-реле запомненное запоминающим устройством ЗУ значение y сбрасывается и запоминание сигнала у начинается снова.
Системы с запоминанием экстремума обычно имеют исполнительные механизмы с постоянной скоростью перемещения, т.е. dx/dt=±k1 где k=const. В зависимости от сигнала и сигнум-реле исполнительный механизм меняет направление перемещения.
Поясним работу САО с запоминанием экстремума. Допустим, что в момент t1 (рис. 4), когда состояние объекта характеризуется значениями сигналов на входе и выходе соответственно х1 и у1 (точка М1), включен в работу экстремальный регулятор. В этот момент запоминающее устройство запоминает сигнал у1. Предположим, что экстремальный регулятор после включения в работу начал увеличивать значение х, при этом значение у уменьшается — запоминающее устройство не реагирует на это. В результате на выходе сигнум-реле появляется сигнал у—у1. В момент t сигнал у—у1 достигает зоны нечувствительности сигнум-реле ун (точка М2), которое срабатывает, производя реверс исполнительного механизма. После этого запомненное значение у1 сбрасывается и запоминающее устройство запоминает новое значение у2. Сигнал входа объекта х уменьшается, а сигнал выхода у возрастает (траектория от точки М2 к М3). Поскольку у все время увеличивается, выход ЗУ непрерывно следует за изменением у.
Рис. 4 Поиск оптимума в САО с запоминанием экстремума:
а — характеристика объекта; б — изменение выхода объекта; в — сигнал на входе сигнум-реле; г — изменение входа объекта.
В точке М3 система достигает экстремума, но уменьшение х продолжается. Вследствие этого после точки М3 значение у уже уменьшается и ЗУ запоминает yмакс. Теперь на входе сигнум-реле СР опять появляется сигнал разности у—умакс. В точке M4, когда y4—yмакс=yн, сигнум-реле срабатывает, производя реверс исполнительного механизма и сброс запомненного значения yмакс и т.д.
Устанавливаются колебания вокруг экстремума регулируемой величины. Из рис. 4 видно, что период колебаний входа Твх объекта в 2 раза больше, чем период колебаний выхода объекта Твых. Сигнум-реле реверсирует ИМ при y=yмакс-yн. Направление движения ИМ после срабатывания сигнум-реле зависит от направления движения ИМ до срабатывания сигнум-реле.
Из рассмотрения работы САО с запоминанием экстремума видно, что ее название не совсем точно отражает сущность действия системы. Запоминающее устройство фиксирует не экстремум статической характеристики объекта (его значение в момент включения регулятора в работу неизвестно). Запоминающее устройство фиксирует значения выходной величины у объекта, когда у увеличивается.
Системы автоматической оптимизации шагового типа
Структурная схема шаговой САО показана на рис. 5. Измерение выходного сигнала у объекта в системе происходит дискретно (за датчиком выхода объекта имеется импульсный элемент ИЭ1), т. е. через определенные промежутки времени ∆t(∆t — период повторения импульсного элемента). Таким образом, импульсный элемент преобразует изменяющийся выходной сигнал у объекта в последовательность импульсов, высота которых пропорциональна значениям у в моменты времени t=n∆t, называемые моментами съема. Обозначим значения у в момент времени t=n∆t через уп. Значения уn подаются на запоминающее устройство ЗУ (элемент запаздывания). Запоминающее устройство подает на элемент сравнения ЭС предыдущее значение уп-1. На ЭС одновременно поступает yn. На выходе элемента сравнения получается сигнал разности ∆yn=yn—уп-1 В следующий момент t=(n+1) ∆t съема сигнала запомненное значение уп-1 сбрасывается с ЗУ и запоминается сигнал уп+1, a cигнал уп поступает с ЗУ на ЭС и на входе сигнум-реле СР появляется сигнал ∆уп+1 = yn+1—yn.
Рис. 5 Структура дискретной (шаговой) САО
Итак, на сигнум-релe в шаговой САО подаетcя сигнал, пропорциональный приращению ∆у выхода объекта за отрезок времени ∆t. Если ∆у>0 то такое движение допускается сигнум-реле; если ∆у<0, то сигнум-реле срабатывает и изменяет направление сигнала входа х.
Между сигнум-реле СР и исполнительным механизмом ИМ (рис. 5) включен еще один импульсный элемент ИЭ2 (работающий синхронно с ИЭ1), который осуществляет периодическое размыкание цепи питания ИМ, останавливая ИМ на это время.
Исполнительный механизм в подобных САО обычно осуществляет изменение входа х объекта шагами на постоянное значение ∆х. Изменение входного сигнала объекта на шаг целесообразно производить быстро, чтобы время перемещения исполнительного механизма на один шаг было достаточно мало. При этом возмущения, вносимые в объект исполнительным механизмом, будут приближаться к скачкообразным.
Таким образом, сигнум-реле изменяет направление последующего шага ∆хп+1 исполнительного механизма, если значение ∆уп становится меньше нуля.
Рассмотрим характер поиска экстремума в шаговой САО с безынерционным объектом. Допустим, что начальное состояние объекта характеризуется точкой M1 на статической зависимости y=f(x) (рис.6,а). Предположим, что экстремальный регулятор включается в работу в момент времени t1 и исполнительный механизм делает шаг ∆х на увеличение сигнала входа объекта.
Рис. 6 Поиск в дискретной САО: а — характеристика объекта; б — изменение выхода; в — изменение входа
Сигнал на выходе объекта у при этом также увеличивается. Через время ∆t (в момент времени t2) исполнительный механизм производит шаг в ту же сторону, так как ∆у1=у2—y1>0. В момент t3 исполнительный механизм производит еще один шаг на ∆х в ту же сторону, так как ∆y2=y3—y2 больше нуля, и т. д. В момент времени t5 приращение выходного сигнала объекта ∆y3=y5—y4, станет меньше нуля, сигнум-реле срабатывает и следующий шаг ∆х исполнительный механизм сделает в сторону уменьшения сигнала входа объекта х и т. д.
В шаговых САО для обеспечения устойчивости необходимо, чтобы движение системы к экстремуму было немонотонным.
Существуют шаговые САО, у которых изменение сигнала на входе за один шаг ∆х переменно и зависит от значения y.
Системы автоматической оптимизации с управлением по производной
Системы автоматической оптимизации с управлением по производной используют то свойство экстремальной статической характеристики, что производная dy/dx равна нулю при значении входного сигнала объекта х=хопт (см. рис. 7).
Рис. 7 График изменения производной унимодальной характеристики
Структурная схема одной из таких САО приведена на рис. 8. Значения входного и выходного сигналов объекта О подаются на два дифференциатора Д1 и Д2, на выходе которых получаются сигналы соответственно dx/dt и dy/dt. Сигналы производных поступают на делительное устройство ДУ.
Рис. 8 Структура САО с измерением производной статической характеристики
На выходе ДУ получается сигнал dy/dx, который подается на усилитель У с коэффициентом усиления k2. Сигнал с выхода усилителя поступает на исполнительный механизм ИМ с переменной скоростью перемещения, значение которой пропорционально выходному сигналу усилителя и. Коэффициент усиления ИМ равен k1.
Если статическая характеристика объекта y=f(x) имеет форму параболы y=-kx2, то САО описывается линейными уравнениями (при отсутствии возмущений), так как dy/dx=-2kx, а остальные звенья системы линейны. Логическое устройство для определения направления движения к экстремуму в такой системе не применяется, так как она чисто линейна и в ней, казалось бы, заранее известно значение экстремума (поскольку dy/dx=0 при x=xoiit).
В момент включения САО в работу на ИМ подается некоторый сигнал для приведения его в движение, в противном случае dx/dt=0 и dy/dt=0 (при отсутствии случайных возмущений). После этого САО работает, как обычная САР, у которой заданием является величина dy/dx=0.
Описанная система обладает рядом недостатков, которые делают ее практически малоприменимой. Во-первых, при dx/dt→0 производная dy/dt также стремится к нулю — задача отыскания экстремума становится неопределенной. Во-вторых, реальные объекты обладают запаздыванием, поэтому необходимо делить друг на друга не одновременно замеренные производные dy/dt и dx/dt, а сдвинутые по времени в точности на время задержки сигнала в объекте, что выполнить достаточно сложно. В-третьих, отсутствие в такой САО логического устройства (сигнум-реле) приводит к тому, что в некоторых условиях система теряет работоспособность. Допустим, что САО включилась в работу при x<xопт (см. рис. 7) и исполнительный механизм ИМ (рис. 8) начал увеличивать сигнал на входе объекта х. Скорость исполнительного механизма пропорциональна сигналу производной dy/dx, т. е. dx/dt=k1dy/dx. Поэтому САО будет асимптотически приближаться к экстремуму. Но предположим, что при включении регулятора ИМ начал бы уменьшать входной сигнал объекта (dx/dt<0). При этом у также уменьшается (dy/dt<0) и dy/dx будет больше нуля. Тогда в соответствии с выражением для производной dx/dt=k1dy/dx (где k1 > 0) скорость изменения сигнала на входе dx/dt должна стать положительной. Но из-за отсутствия логического (реверсирующего) устройства реверс ИМ в такой САО произойти не может и задача отыскания экстремума опять-таки становится неопределенной.
Кроме того, даже если такая система в начальный момент движется к экстремуму, то она теряет работоспособность при сколь угодно малом дрейфе статической характеристики без коммутатора поверочных реверсов.
Рис. 9 Система оптимизации с измерением производной выхода объекта:
а — структура системы; б — характеристика объекта; в — изменение выхода; г — сигнал на входе, д — изменение входа объекта.
Рассмотрим другой тип САО с измерением производной и исполнительным механизмом ИМ постоянной скорости перемещения, структурная схема которой представлена на рис. 9.
Рассмотрим характер поиска экстремума САО с измерением производной со структурной схемой, показанной на рис. 9,а.
Пусть безынерционный объект регулирования О (рис. 9,а) имеет статическую характеристику, показанную на рис. 9,б. Состояние САО в момент включения экстремального регулятора определяется значениями сигналов входа x1 и выхода у1 — точка М1 на статической характеристике.
Предположим, что экстремальный регулятор после включения его в работу в момент времени t1 изменяет сигнал на входе х в сторону увеличения. При этом сигнал на выходе объекта у будет изменяться в соответствии со статической характеристикой (рис. 9,в), а производная dy/dt при движении от точки М1 до М2 уменьшается (рис. 9,г). В момент времени t2 выход объекта достигнет экстремума умакс, а производная dy/dt будет равна нулю. За счет нечувствительности сигнум-реле система будет продолжать движение, удаляясь от экстремума. При этом производная dy/dt изменит знак и станет отрицательной. В момент t3, когда значение dy/dt, оставаясь отрицательным, превысит зону нечувствительности сигнум-реле (dy/dt)H, произойдет реверс исполнительного механизма и входной сигнал х начнет уменьшаться. Выход объекта начнет снова приближаться к экстремуму, а производная dy/dt станет положительной при движении от точки М3 до М4 (рис. 9,в). В момент времени t4 сигнал на выходе снова достигает экстремума, а производная dy/dt=0.
Однако за счет нечувствительности сигнум-реле движение системы будет продолжаться, производная dy/dt станет отрицательной и в точке М5 снова произойдет реверс и т.д.
В этой системе дифференцируется только выходной сигнал объекта, который подается на сигнум-реле СР. Поскольку при переходе системы через экстремум знак dy/dt изменяется, то для отыскания экстремума нужно реверсировать ИМ, когда производная dy/dt станет отрицательной и превысит зону нечувствительности (dy/dt)H сигнум-реле.
Система, реагирующая на знак dy/dt, по принципу действия близка к шаговой САО, но менее помехоустойчива.
Системы автоматической оптимизации с вспомогательной модуляцией
В некоторых работах такие системы автоматической оптимизации называются системами с непрерывным поисковым сигналом или по терминологии А.А. Красовского просто непрерывными системами экстремального регулирования.
В этих системах используется свойство статической характеристики изменять фазу колебаний выходного сигнала объекта по сравнению с фазой входных колебаний объекта на 180° при переходе выходного сигнала объекта через экстремум (см. рис. 10).
Рис. 10 Характер прохождения гармонических колебаний через унимодальную характеристику
В отличие от рассмотренных выше САО системы с вспомогательной модуляцией имеют раздельные поисковые и рабочие движения.
Структурная схема САО с вспомогательной модуляцией представлена на рис. 11. Входной сигнал х объекта О с характеристикой y=f(x) представляет собой сумму двух составляющих: x=xo(t)+asinω0t, где а и ω0— постоянные величины. Составляющая asinω0t является пробным движением и вырабатывается генератором Г, составляющая xo(t) является рабочим движением. При движении к экстремуму переменная составляющая asinω0t входного сигнала объекта вызывает появление переменной составляющей той же частоты ω0=2π/Т0 в выходном сигнале объекта (см. рис. 10). Переменная составляющая может быть найдена графически, как это показано на рис. 10.
Рис. 11 Структура САО с вспомогательной модуляцией
Очевидно, что переменная составляющая сигнала на выходе объекта совпадает по фазе с переменной составляющей сигнала на входе для любого значения входа, когда x0=x1<xonт . Следовательно, если колебания сигналов входа и выхода совпадают по фазе, то для движения к экстремуму необходимо увеличивать х0 (dx0/dt должна быть положительной). Если х0=x2>xопт, то фаза выходных колебаний будет сдвинута на 180° по отношению к входным колебаниям (см. рис. 10). При этом для движения к экстремуму необходимо, чтобы dx0/dt была отрицательной. Если x0=xопт, то на выходе объекта появляются колебания двойной частоты 2ω0, а колебания частоты ω0 отсутствуют (если статическая характеристика вблизи экстремума отличается от параболы, то на выходе объекта могут появиться колебания с частотой больше 2 ω0).
Амплитуда а поисковых колебаний должна быть невелика, так как эти колебания проходят в выходной сигнал объекта и приводят к погрешности в определении экстремума.
Составляющая величины у, имеющая частоту ω0, выделяется полосовым фильтром Ф1 (рис. 11). Задача фильтра Ф1 состоит в том, чтобы не пропускать постоянную или медленно меняющуюся составляющую и составляющие второй и высших гармоник. В идеальном случае фильтр должен пропускать только составляющую с частотой ω0.
После фильтра Ф1 переменная составляющая величины у, имеющая частоту ω0, подается на множительное звено МЗ (синхронный детектор). На вход множительного звена подается также опорная величина v1=asin (ω0t + φ). Фаза φ опорного напряжения v1 подбирается в зависимости от фазы выхода фильтра Ф1, поскольку фильтр Ф1 вносит дополнительный сдвиг фазы.
Напряжение на выходе множительного звена u=vv1. При значении x<xопт
u = vv1 = b sin (ω0t + φ) asin (ω0t + φ) = аbsin2 (ω0t + φ) = = ab/2 [1- cos 2(ω0t + φ)].
При значении сигнала на входе x>х0ПТ значение сигнала на выходе множительного звена МЗ составляет:
и = vv1 = bsin (ω0t + φ + 180°) asin (ω0t + φ) = — absin2 (ω0t + φ) = = - ab/2 [1 — cos2 (ω0t + φ)].
Рис. 12 Характер поиска в САО с вспомогательной модуляцией:
а — характеристика объекта; б —изменение фазы колебаний; в — гармонические колебания на входе; г — суммарный сигнал на входе; д — сигнал на выходе множительного звена.
После множительного звена сигнал и подается на низкочастотный фильтр Ф2, который не пропускает переменную составляющую сигнала и. Постоянная составляющая сигнала и=и1 после фильтра Ф2 подается на релейный элемент РЭ. Релейный элемент управляет исполнительным механизмом с постоянной скоростью перемещения. Вместо релейного элемента в схеме может быть фазочувствительный усилитель; тогда исполнительный механизм будет иметь переменную скорость перемещения.
На рис. 12 показан характер поиска экстремума в САО с вспомогательной модуляцией, структурная схема которой приведена на рис. 11. Предположим, что начальное состояние системы характеризуется сигналами на входе и выходе объекта соответственно х1 и y1 (точка M1 на рис. 12,а).
Поскольку в точке М1 значение x1<хопт то при включении экстремального регулятора фазы входных и выходных колебаний будут совпадать. Допустим, что при этом постоянная составляющая на выходе фильтра Ф2 положительна (аb/2>0), что соответствует движению с возрастанием х, т. е. dx0/dt>0. При этом САО будет двигаться к экстремуму.
Если начальная точка М2, характеризующая положение системы в момент включения экстремального регулятора, такова, что сигнал входа объекта x>xопт (рис. 12,а), то колебания сигналов входа и выхода объекта находятся в противофазе. Вследствие этого постоянная составляющая на выходе Ф2 будет отрицательна (ab/2<0), что вызовет движение системы в сторону уменьшения х (dx0/dt<0). В этом случае САО будет приближаться к экстремуму.
Таким образом, независимо от начального состояния системы будет обеспечен поиск экстремума.
В системах с исполнительным механизмом переменной скорости скорость движения системы к экстремуму будет зависеть от амплитуды выходных колебаний объекта, а эта амплитуда определяется отклонением сигнала входа х от значения хопт
Создание S-блоков с использованием программ MATLAB
В системе MATLAB предусмотрен механизм преобразования некоторых процедур, написанных на языках высокого уровня, в блок S-модели. Он реализуется с помощью так называемых S-функций.
S-функция — это относительно самостоятельная программа, которая написана на языке MATLAB или С. Главное назначение S-функции состоит в решении следующих задач:
создание новых блоков, которые дополняют библиотеку пакета Simulink;
описание моделируемой системы в виде системы математических уравнений;
включение ранее созданных программ на языке С или MATLAB в S-модель.
Программный код S-функции имеет четкую структуру. Для случая, когда S-функция создается на основе М-файла, эта структура приведена в файле Sfuntmpl.m, который находится в папке T00LB0X\SIMULINK\BLOCKS. Заголовок S-функции в общем случае может иметь следующий вид:
function [sys,x0,str,ts] = <Имя_S-функции> (t,x,u,flag{, <Параметры>})
Стандартными аргументами S-функции являются:
t – текущее значение аргумента (времени);
х — текущее значение вектора переменных состояния;
u — текущее значение вектора входных величин;
flag — целочисленная переменная, отражающая форму представления результатов действия S-функции;
<Параметры> — дополнительные идентификаторы, характеризующие значения некоторых параметров системы, используемых в S-функции (наличие их не является обязательным).
В результате вычислений, осуществляемых при работе S-функции, получают значение такие переменные:
sys — системная переменная, содержимое которой зависит от значения, которое приобретает переменная flag;
х0 — вектор начальных значений переменных состояния;
str — символьная переменная состояния (обычно она пуста []);
ts — матрица, которая содержит информацию о дискретах времени.
Текст S-функции состоит из текста самой S-функции и текстов подпрограмм (внутренних), которые она вызывает. В табл. 1 приведены внутренние процедуры, S-функции.
Таблица 1. Внутренние процедуры S-функции
Процедура |
Описание |
mdlInitializeSizes |
Устанавливает размеры переменных S-функции и начальные значения переменных состояния |
mdlDerivatives |
Используется как процедура правых частей системы дифференциальных уравнений модели в форме Коши в случае, когда переменные состояния объявлены как непрерывные |
mdlUpdate |
Используется как процедура обновления на следующем интервале дискрета времени значений переменных состояния, которые объявлены как дискретные |
mdlOutputs |
Формирует вектор значений выходных переменных в блоке S-функции |
mdlGetTimeOfNextVarHit |
Является вспомогательной функцией, которая используется для определения момента времени, когда конкретная переменная состояния пересекает заданный уровень |
mdlTerminate |
Является функцией, которая завершает работу S-функции |
Некоторые из указанных процедур S-функции могут не использоваться. Это зависит от типа уравнений (алгебраические, дифференциальные или разностные), которыми описывается моделируемый через S-функцию блок. Так, если блок задан алгебраическими уравнениями, то не используются почти все указанные внутренние процедуры, за исключением процедуры mdlOutputs, в которой и вычисляются соответствующие алгебраические соотношения, определяющие связь между входными переменными и выходными переменными у. В том случае, если поведение блока задано системой непрерывных дифференциальных уравнений, не используется функция mdl Update, если уравнения блока являются разностными — функция mdlDerivatives. Обязательными являются лишь процедуры mdlInitializeSizes и mdlOutputs (инициализации и формирования выхода).
В зависимости от значения переменной flag главная процедура S-функции содержит обращение к той или иной внутренней процедуре. Например:
switch flag,
case 0,
[sys.xO.str.ts] = mdllnitializeSizes;
case 1,
sys = mdlDerivatives(t,x,u);
case 2,
sys = mdlUpdate(t,x,u);
case 3,
sys = mdlOutputs(t,x,u);
case 4,
sys = mdlGetTimeOfNextVarHit(t,x,u);
case 9,
sys = mdlTerminate(t,x,u);
otherwise
error(['Unhandled flag - ',num2str(flag)]);
end
В зависимости от значения переменной flag выполняются следующие действия (через вызов соответствующей внутренней процедуры):
0 — инициализация блока S-функции;
1 — обращение к процедуре правых частей непрерывных дифференциальных уравнений;
2 — вычисление новых значений переменных состояния на следующем шаге дискретизации (для дискретной S-функции);
3 — формирование значения вектора выходных величин блока S-функции;
4 — формирование нового значения модельного времени, которое отсчитывается от момента пересечения заданного уровня определенной переменной состояния;
9 — прекращение работы блока S-функции.
Установка и изменение значения переменной flag осуществляется автоматически, без вмешательства пользователя, в соответствии с логикой функционирования блоков при моделировании.
Итак, использование S-функции позволяет моделировать работу как обычных алгебраических, так и динамических (непрерывных или дискретных) звеньев.
Чтобы создать блок S-функции, выполните следующие действия.
Напишите текст S-функции, например в виде М-файла; текст составляется на основе файла-шаблона SfunTMPL.m с учетом заданных уравнений поведения блока.
Перетащите стандартный блок S-Function (рис. 13) из раздела User-Defined Functions библиотеки Simulink в окно блок-схемы, в которой будет создаваться новый S-блок.
Рис. 13 Заготовка S – функции
3. Дважды щелкните мышью на изображении блока S-Function, что приведет к появлению на экране окна его настройки. Окно содержит два поля: S-function name (Имя S-функции), в которое вводится имя написанной S-функции, и S-function parameters (Параметры S-функции), в которое вводятся имена или значения параметров блока, указанных в разделе <Параметры> М-файла, содержащего S-функцию.
Введите в указанные поля имя М-файла, в котором хранится S-функция, и список значений параметров S-функции.
Щелкните мышью на кнопке ОК. Если система обнаружит М-файл с указанным именем в папках, которые для нее доступны, то на изображении блока в окне блок-схемы появится введенное имя S-функции.
S-блок на основе S-функции будет создан. Теперь его можно использовать как обычный S-блок в блок-схеме S-модели. На вход этого блока должен поступать векторный сигнал u. Выходом блока станет векторный сигнал у, который сформирован S-функцией во внутренней процедуре mdlOutputs.
Пример выполнения работы для варианта:
№ варианта |
Нелинейная функция ОУ |
Границы изменения входного параметра ОУ |
Шаг поиска |
Структура ОУ |
Постоянная времени ОУ |
Чистая задержка ОУ |
1 |
Y = 25 - (x-5)(x-5) |
[0;10] |
1 |
ЛН |
20 |
15 |
S – функция:
function [sys,x0,str,ts] = extr(t,x,u,flag)
switch flag,
case 0,
[sys,x0,str,ts]=mdlInitializeSizes;
case 2,
sys=mdlUpdate(t,x,u);
case 3,
sys=mdlOutputs(t,x,u);
case {1,4,9}
sys=[];
otherwise
error(['Unhandled flag = ',num2str(flag)]);
end
function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 3;
sizes.NumOutputs = 1;
sizes.NumInputs = 1;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0 = [0 0 1];
str = [];
ts = [-1 0];
sizes = simsizes;
function sys=mdlUpdate(t,x,u)
step=1; % шаг поиска
if mod(t,75)==0 % t – модельное время
if u<x(2) % х(2) – старое значение входа, u – текущее значение входа
x(3)=x(3)*(-1); % x(3) – направление поиска
end
if u>x(2) & x(3)==1
x(3)=1;
end
if u>x(2) & x(3)==-1
x(3)=-1;
end
x(1)=x(1)+x(3)*step; % x(1) – входной параметр ОУ
x(2)=u;
end
if x(1)>10 x(1)=10; end
if x(1)<0 x(1)=0; end
sys(1)=x(1);
sys(2)=x(2);
sys(3)=x(3);
function sys=mdlOutputs(t,x,u)
sys(1) = x(1);
Переходные процессы выхода объекта управления и графики изменения входного сигнала снятые со схемы рис.15 представлены на рис. 14:
а) б)
в)г)
Рис. 14 Переходные процессы: выхода объекта управления - а) и графики изменения входного сигнала - б); в) – без помехи; г) – с помехой. По оси ординат время, с; по оси абсцисс выходное значение сигналов: а) – выход ОУ; б) вход ОУ