Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Нейроуправление,л.р..doc
Скачиваний:
99
Добавлен:
16.04.2015
Размер:
720.38 Кб
Скачать

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 Контрольные вопросы и понятия

      1. Что называется идентификацией?

      2. Схема идентификации в нейросетевом базисе.

      3. Для чего необходимы задержанные сигналы по входу и выходу при синтезе НС?

      4. Преимущества проведения идентификации с использованием НС относительно классических методов.

      5. Автономное и оперативное построение математической модели.

Лабораторная работа № 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/dtk1 где k=const. В зависимо­сти от сигнала и сигнум-реле исполнительный механизм меняет направление перемещения.

Поясним работу САО с запоминанием экстремума. Допустим, что в момент t1 (рис. 4), когда состояние объекта характеризуется значениями сигналов на входе и выходе соответственно х1 и у1 (точка М1), включен в работу экстремальный регулятор. В этот момент запо­минающее устройство запоминает сигнал у1. Предполо­жим, что экстремальный регулятор после включения в работу начал увеличивать значение х, при этом зна­чение у уменьшается — запоминающее устройство не реагирует на это. В результате на выходе сигнум-реле по­является сигнал уу1. В момент t сигнал уу1 достигает зоны нечувствительности сигнум-реле ун (точка М2), которое срабатывает, производя реверс исполнительного механизма. После этого запомненное значение у1 сбра­сывается и запоминающее устройство запоминает новое значение у2. Сигнал входа объекта х уменьшается, а сиг­нал выхода у возрастает (траектория от точки М2 к М3). Поскольку у все время увеличивается, выход ЗУ непре­рывно следует за изменением у.

Рис. 4 Поиск оптимума в САО с запоминанием экстремума:

а — характеристика объекта; б — изменение выхода объекта; в — сигнал на входе сигнум-реле; г — изменение входа объекта.

В точке М3 система достигает экстремума, но умень­шение х продолжается. Вследствие этого после точки М3 значение у уже уменьшается и ЗУ запоминает yмакс. Теперь на входе сигнум-реле СР опять появляется сиг­нал разности у—умакс. В точке M4, когда y4yмакс=yн, сигнум-реле срабатывает, производя реверс исполнитель­ного механизма и сброс запомненного значения yмакс и т.д.

Устанавливаются колебания вокруг экстремума ре­гулируемой величины. Из рис. 4 видно, что период колебаний входа Твх объекта в 2 раза больше, чем пе­риод колебаний выхода объекта Твых. Сигнум-реле реверсирует ИМ при y=yмакс-yн. На­правление движения ИМ после срабатывания сигнум-реле зависит от направления движения ИМ до срабаты­вания сигнум-реле.

Из рассмотрения работы САО с запоминанием экс­тремума видно, что ее название не совсем точно отра­жает сущность действия системы. Запоминающее устрой­ство фиксирует не экстремум статической характеристи­ки объекта (его значение в момент включения регуля­тора в работу неизвестно). Запоминающее устройство фиксирует значения выходной величины у объекта, ког­да у увеличивается.

Системы автоматической оптимизации шагового типа

Структурная схема шаговой САО показана на рис. 5. Измерение выходного сигнала у объекта в системе происходит дискретно (за датчиком выхода объекта имеется импульсный элемент ИЭ1), т. е. через опреде­ленные промежутки времени ∆t(∆t — период повторения импульсного элемента). Таким образом, импульсный эле­мент преобразует изменяющийся выходной сигнал у объ­екта в последовательность импульсов, высота которых пропорциональна значениям у в моменты времени t=nt, называемые моментами съема. Обозначим значения у в момент времени t=nt через уп. Значения у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) испол­нительный механизм производит шаг в ту же сторону, так как ∆у12y1>0. В момент t3 исполнительный механизм производит еще один шаг на ∆х в ту же сто­рону, так как ∆y2=y3y2 больше нуля, и т. д. В момент времени 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/dt0 производная 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-функции, выполните следующие действия.

  1. Напишите текст S-функции, например в виде М-файла; текст составляется на основе файла-шаблона SfunTMPL.m с учетом заданных уравнений поведения блока.

  2. Перетащите стандартный блок S-Function (рис. 13) из раздела User-Defined Functions библиотеки Simulink в окно блок-схемы, в которой будет создаваться новый S-блок.

Рис. 13 Заготовка S – функции

3. Дважды щелкните мышью на изображении блока S-Function, что приведет к по­явлению на экране окна его настройки. Окно содержит два поля: S-function name (Имя S-функции), в которое вводится имя написанной S-функции, и S-function parameters (Параметры S-функции), в которое вводятся имена или значения параметров блока, указанных в разделе <Параметры> М-файла, содержащего S-функцию.

  1. Введите в указанные поля имя М-файла, в котором хранится S-функция, и список значений параметров S-функции.

  2. Щелкните мышью на кнопке ОК. Если система обнаружит М-файл с указан­ным именем в папках, которые для нее доступны, то на изображении блока в окне блок-схемы появится вве­денное имя 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 Переходные процессы: выхода объекта управления - а) и графики изменения входного сигнала - б); в) – без помехи; г) – с помехой. По оси ординат время, с; по оси абсцисс выходное значение сигналов: а) – выход ОУ; б) вход ОУ