Uploaded by Марина Потикян

68688 10bea45d78c35a4081b855cc972045cf

advertisement
Б А К А Л А В Р
И А Т
v
І ^ М П Д Т Д МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ
: УНИВЕРСИТЕТ ДИЗАЙНА И ТЕХНОЛОГИИ
А.Н. Тимохин, Ю.Д. Румянцев
МОДЕЛИРОВАНИЕ
СИСТЕМ УПРАВЛЕНИЯ
С ПРИМЕНЕНИЕМ MATLAB
УЧЕБНОЕ
ПОСОБИ
]г!
Уважаемый читатель!
Вы держите в руках книгу,
дополнительные материалы которой
доступны Вам БЕСПЛАТНО
в Интернете на www.2nanium.com
z n a m u m .c o m
Специального программного
обеспечения не требуется
ВЫ СШ ЕЕ О БРАЗО ВАН И Е - БАКАЛАВРИАТ
серия основана в 1 9 9 6 г.
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ДИЗАЙНА И ТЕХНОЛОГИИ
А.Н. ТИМОХИН, Ю.Д. РУМЯНЦЕВ
МОДЕЛИРОВАНИЕ
СИСТЕМ
УПРАВЛЕНИЯ
С ПРИМЕНЕНИЕМ
MATLAB
Учѳбноѳ пособив
Под редакцией А.Н. Тимохина
Рекомендовано в качестве учебного пособия для студенте
высших учебных заведений,обучающихся по направлению подготовки
15.03,04 щАвтоматизация технологических процессов и производств»
(квалификация (степень)«бакалавр•)
znanium.com
Москва
ИНФРА-М
2016
УДК 681.5:519.71(075.8)
ББК 32.97я73
Т41
ФЗ
Издание не подлежит маркировке
№ 436-ФЭ в соответствии с п. 1 ч. 4 ст. 11
О тветственны й редактор:
кандидат технических наук, доцент А.Н. Тймохин
Рецензенты :
И.Г. Цитовичt д-р техн. наук, профессор кафедры технологии
трикотажного производства Текстильного института им. А.Н. Косы­
гина, ФГБОУ ВПО «МГУДТ»;
Д.В . Масонов, канд. техн. наук, начальник технического отдела
ООО «Премиум Комфорт»
Т41
ІЬ мохеш А.Н.
Моделирование систем управления с применением MatLab : учеб.
пособие / А.Н. Тимохин, Ю.Д. Румянцев; под ред. A .R Тимохина. —
М. : ИНФРА-М, 2016. — 256 с. + Доп. материалы [Электронный
ресурс; Режим доступа http://www.znanium.com]. — (Высшее
образование: Бакалавриат). — www.dx.doi.org/10.12737/14347,
ISBN 978-5-16-010185-9 (print)
ISBN 978-5-16-102042-5 (online)
Рассматриваются вопросы моделирования систем автоматического
регулирования.
Предназначено для студентов направления подготовки 15.03.04 «Авто­
матизация технологических процессов и производств» и других инженернотехнических направлений подготовки, а также магистров и аспирантов
по специальности 15.04.04 «Автоматизация технологических процессов
и производств». Также будет полезна студентам, аспирантам, инженерам,
преподавателям вузов и техникумов, занимающимся автоматизацией систем
управления с применением программы MatLab.
УДК 681.5:519.71(075.8)
ББК 32.97я73
Материалы, обозначенные знаком V_____/, доступны
в электронно-библиотечной системе znanium (www.znanium.com)
ISBN 978-5-16-010185-9 (print)
ISBN 978-5-16-102042-5 (online)
© Тимохин A .H ., Румянцев Ю Лi ., 2015
I
ПРЕДИСЛОВИЕ
Учебное пособие подготовлено на основе лекций, читаемых по
курсу «Моделирование систем управления» на кафедре автоматики
и промышленной электроники ФГБОУ ВПО «МГУДТ». Базовыми
дисциплинами курса являются: «Высшая математика», «Основы
физики» и «Теория автоматического управления». В пособии рас­
сматриваются модели систем управления текстильных производств.
Уделяется внимание принципам получения моделей различными
способами, параметрической идентификации и исследованию каче­
ственных показателей полученных систем управления.
Особое внимание уделено практическому применению получен­
ных знаний. Каждый раздел содержит детально разработанные при­
меры с программами на языке MatLab, способствующие более лег­
кому усвоению материала.
Подготовлено к печати на кафедре автоматики и промышленной
электроники.
ВВЕДЕНИЕ
На современном этапе развития науки и техники быстрая
смена номенклатуры выпускаемой продукции приводит к необходи­
мости интенсификации процессов создания приборов новой тех­
ники, повышения качества разработок с одновременным снижением
затрат финансовых, трудовых ресурсов и сроков выполнения. Это
можно обеспечить только применением новой технологии проекти­
рования, основанной на использовании методов математического
моделирования и вычислительной техники.
В настоящее время моделирование является основным методом
исследований во всех областях знаний и научно-обоснованным ме­
тодом оценок характеристик сложных систем, используемым для
принятия решений в различных сферах инженерной деятельности.
С помощью математических моделей, реализуемых на современных
ЭВМ, проектируемые системы можно эффективно исследовать, до­
биваясь получения необходимой информации.
Моделирование представляет собой процесс замещения рассмат­
риваемой технической системы (объекта) его моделью, на которой
и проводятся исследования с целью получения информации об объ­
екте (лат. objection — предмет).
Модель (от лат. modulus — мера, образец, норма) —это физический
или абстрактный образ моделируемого объекта, который позволяет
адекватно (с приемлемой точностью) отображать интересующие ис­
следователя свойства и характеристики объекта. Полученные на мо­
дели результаты могут бьггь затем перенесены на объект.
Модель способствует проведению исследований, характеризу­
ющихся различными факторами: уменьшением материальных затрат,
сокращением времени на исследование; доступностью и легкостью
получения информации в желаемой форме.
На российском рынке компьютерных технологий есть продукт,
позволяющий весьма эффективно решать указанные проблемы, —
пакет MatLab различных версий, которые постоянно совершенству­
ются. Этот пакет содержит в своем составе инструмент визуального
моделирования Simulink, который сокращает время моделирования
и позволяет достичь ожидаемого эффекта с меньшими затратами сил.
Если библиотека Simulink не позволяет получить приемлемую
модель реального объекта, то имеется широкая возможность разра­
ботки программы моделирования непосредственно в среде MatLab.
Примеры применения среды моделирования в Simulink и MatLab
приводятся в этой книге.
1
ВИДЫ МОДЕЛИРОВАНИЯ
При разработке технических систем на начальном этапе при­
меняют физическое или математическое моделирование.
1.1.
ФИЗИЧЕСКОЕ МОДЕЛИРОВАНИЕ
При создании сложных технических систем до недавнего вре­
мени широко применялось физическое моделирование. Сначала из­
готавливался макетный, или опытный, образец технической системы,
на котором проводились испытания, определялись его выходные па­
раметры и характеристики, оценивались надежность функциониро­
вания и степень выполнения заданных технических требований. Если
вариант технической системы оказывался неудачным, все повторялось
сначала, т.е. осуществлялось повторное проектирование, изготовление
опытного образца, испытания и т.д. Для удешевления процесса маке­
тирования образец часто изготавливался значительно меньших раз­
меров. Например, модель исследовательского генератора в лаборато­
рии, служащая, для построения затем генератора ГЭС.
При физическом моделировании процессы, протекающие в мо­
дели и оригинале, имеют одинаковую физическую сущность.
В процессе физического моделирования исследование прово­
дится на образцах, установках и макетах, имеющих в той или иной
степени одинаковую физическую природу с моделируемыми процес­
сами, но имеющих значительно меньшие размеры. Основой для по­
строения физических моделей является теория подобия и размерно­
стей, которая позволяет полученные на модели результаты и выводы
переносить на моделируемую систему. То есть при физическом мо­
делировании необходимы критерии подобия.
Критерий подобия—безразмерная величина, составленная из раз­
мерных физических параметров, определяющих рассматриваемое
физическое явление. Равенство всех однотипных критериев подобия
для двух физических явлений и систем —необходимое и достаточное
условие физического подобия этих систем.
Пример
Существуют два режима течения жидкостей. Течение называ­
ется ламинарным (слоистым), если вдоль потока каждый выделен­
ный тонкий слой скользит относительно соседних, не переме­
шиваясь с ними, и турбулентным (вихревым), если вдоль потока
происходит интенсивное вихреобразование и перемешивание жид­
кости (газа).
s
Ламинарное течение жидкости, как правило, наблюдается при
небольших скоростях ее движения. Внешний слой жидкости, при­
мыкающий к поверхности трубы, в которой она течет, из-за сил мо­
лекулярного сцепления прилипает к ней и остается неподвижным.
Скорости последующих слоев тем больше, чем больше их расстояние
до поверхности трубы; при этом наибольшей скоростью обладает
слой, который движется вдоль оси трубы.
При турбулентном течении частицы жидкости приобретают со­
ставляющие скоростей, которые перпендикулярны течению, и они
могут двигаться из одного слоя в другой. Скорость частиц жидкости
быстро возрастает по мере удаления от поверхности трубы, затем
изменяется незначительно. Так как частицы жидкости могут перейти
из одного слоя в другой, то их скорости в различных слоях мало от­
личаются. Из-за большого градиента скоростей у поверхности трубы
обычно происходит образование вихрей.
Профиль усредненной скорости при турбулентном течении в тру­
бах (рис. 1.1) отличается от параболического профиля при ламинар­
ном течении более быстрым возрастанием скорости у стенок трубы
и меньшей кривизной в центральной части течения.
ѵт** = 2<ѵ)
vm « =
Ламинарное
!.23(Ѵ)
Турбулентное
Рве. 1.1. Профили скорости при ламинарном и турбулентном течении
Характер течения зависит от безразмерной величины, называемой
числом Рейнольдса (О. Рейнольдс (1842—1912) —английский ученый):
Re = Р(ѵ¥ = (ѵ)<^
ті
V
ще ѵ —ц /р —кинематическая вязкость; р —плотность жидкости; (ѵ) —сред­
няя по ссчснию трубы скорость жидкости; d —характерный линейный размер,
например диаметр трубы; ц —динамическая вязкость.
б
При малых значениях числа Рейнольдса (Re й 1000) наблюдается
ламинарное течение, область перехода от ламинарного течения
к турбулентному происходит при 1000 £ Re й 2000, а при Re = 2300
(дня гладких труб) течение —турбулентное. Если число Рейнолвдса
одинаково, то режим течения различных рассматриваемых жидко­
стей (газов) в трубах разных сечений одинаков.
Статическое подобие применил при разработке проекта арочного
моста пролетом 300 м И.П. Кулибин. Исследования он проводил на
деревянных моделях в 1/ 10 натуральной величины. В них было впер­
вые учтено, что увеличение линейных размеров в к раз меняет соб­
ственный вес в к3 раз, а площади поперечных сечений элементов —
в кг раз. И.П. Кулибин установил, что обеспечение подобия влияния
собственного веса в модели возможно при некоторой дополнитель­
ной нагрузке. Предложенный метод моделирования собственного
веса конструкции соответствует современному способу «догрузки»
моделей в центрифугах.
Примером удачного использования методов моделирования яв­
ляется их применение Д. И. Журавским при сооружении железно­
дорожных мостов. Ранее для определения размеров составных час­
тей ферм мостов применялись упрощенные приемы и все раскосы
и тяжи каждой фермы моста делались одного и того же размера.
Выводы о том, что их нагрузки неодинаковы, сначала казались не­
правдоподобными и были проверены на модели из металлической
проволоки. На этой модели оказалось возможным, проводя смыч­
ком от скрипки по проволокам, по высоте тона получаемого звука
определить степень натяжения проволок, т.е. элементов крепления
моста.
Развитие учения о подобии долгое время шло путем определения
частных условий подобия для явлений только определенной фи­
зической природы. Наконец, в 1909—1914 гг. в результате работ
Н.Б. Жуковского, Д. Рэлея, Ф. Букингема была сформулирована
в первой редакции пи-теорема, позволившая установить условия по­
добия явлений любой физической природы. Начиная с этого вре­
мени метод подобия становится основным методом экстраполяции
характеристик модели в характеристики оригинала при физическом
моделировании.
Достоинство
Физическое моделирование, используя критерии подобия, позво­
ляет наиболее полно воспроизводить свойства исследуемого про­
цесса, которые теоретически не могут быть учтены.
7
Недостатки
1. В случае сложных систем получается большой набор критериев
подобия, которые часто нельзя реализовать.
2. Модели сложных устройств дороги, трудоемки, вариации па­
раметров на них затруднены.
1.2.
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
Математическое моделирование позволяет с помощью ма­
тематических зависимостей составить описание функционирования
технических систем в окружающей внешней среде, определить ин­
тересующие исследователя выходные параметры и характеристики,
получить оценку показателей эффективности и качества, осу­
ществить поиск оптимальной структуры и параметров объекта. При­
менение математического моделирования при проектировании
в большей части случаев позволяет отказаться от физического моде­
лирования, значительно сократить время и материальные ресурсы,
обеспечить создание технических объектов с высокими показате­
лями эффективности и качества. Одним из основных компонентов
системы проектирования в этом случае становится математическая
модель.
Математическая модель (ММ) — это совокупность математиче­
ских объектов и отношений между ними, адекватно отображающая
физические свойства создаваемого технического объекта. В качестве
математических объектов выступают числа, переменные, множества,
векторы, матрицы и т.п. Процесс формирования математической
модели и использования ее для анализа и синтеза называется мате­
матическим моделированием. В конструкторской практике под мате­
матическим моделированием обычно понимается процесс построе­
ния математической модели, а проведение исследований на модели
в процессе проектирования называют вычислительным экспери­
ментом.
Выделяют три этапа математического моделирования: построение
ММ (формализация задачи), исследование (анализ модели) и ис­
пользование (синтез решения). В результате исследования по задан­
ным значениям входов системы определяются ее выходы. Для этапа
синтеза, наоборот, характерны обратные задачи: определение входов
системы по заданным (желаемым) значениям ее выходов. Матема­
тическую модель можно встраивать также в управляющую систему
с целью получения недостающей информации об объекте. Так что
использование ММ возможно для различных целей: прогнозирова­
ния, исследования, проектирования, управления.
Математическое моделирование использует принцип математи­
ческого подобия, который заключается в том, что различные по фи8
зической и химической природе процессы и явления описываются
одинаковыми по форме дифференциальными уравнениями.
Рассмотрим два примера.
1.
Зарядка конденсатора через сопротивление
от цепи постоянного тока
Определим аналитически уравнение, описывающее этот про
цесс. Как следует из рис. 1.2, по закону Кирхгофа
иш- и л + ис
о
R
(U )
о
и.ІХ
и.
о
о
Рис. 1.2. Схема заряоки конденсатора
Заменим URна IR по закону Ома:
U K~Ik +U0
Ток, протекающий через конденсатор, равен
/ =с
( 1.2 )
(1.3)
dt
Так как в замкнутом контуре он одинаков, то уравнение (1.2)
можно написать в следующем виде:
Uk = R C ^ + Uc ,
at
(1.4)
откуда
dU
RCz ^ L + n вых
= n вх.
( 1.5)
dt
Произведение RC имеет размерность «секунда», поэтому обо­
значим его постоянной времени Т.
Псі;
9
dU
T Z Z JS L + и ^ ^ П .
dt
Решим это уравнение методом разделения переменных:
г
иw -II
вых ~
Т
•
dUbHX = dt.
иѵ вх - иѵ'вых
(1.6)
п 7\
\Х*Ч
( 1.8 )
Обе части уравнения представляют собой табличные интегралы:
-rin (t/w
- и ь ѵ а ) = / + const.
( 1.9)
Определим постоянную составляющую const при / - 0:
const * - Г 1п(£Гвх - и Сяа).
( 1. 10)
Подставим ее значение в (1.9):
УІпІ —7-— - ^ - 1 = и
( 1. 11)
Умножим обе части уравнения на —1, чтобы поменять местами
числитель и знаменатель:
ТЫ
~ ^ вых I = -г,
вх -
( 1. 12)
Ѵ Ск а
1п| и " ~ ѵ*ш 1 =
"« -« О
(1.13)
Т
Выполним потенцирование:
U
-U
--
—*— -s®5- = е т
^
П 141
Произведем алгебраические преобразования, чтобы определить
UВЫХ'■
ѵт - и шх = и ш е т - и Спае Г;
10
(1.15)
- е г -U r*вых € Т
вых
(1 .1 6 )
Получено общее решение уравнения.
Для получения частного решения найдем значение UBUXпри ну­
левых начальных условиях: при Uc = 0 и при 1= 0 :
£ U = t U i- « П.
Если
(1.17)
= К, ю соответствующая формуле (1.17) передаточная
^ВХ
функция будет иметь вид
Щ р) = ^/ *р
4 тт+1
<І18>
Она относится к апериодическому звену.
Для построения графика переходного процесса в программе
MatLab можно наиисать программу с использованием формулы (1.17).
Программа построения графика переходного процесса
К-1; U1-1; Т-5; tl-0; п-300;
и2(1)=0;
for t=2:n
u2(t)=K*Ul*(l-exp(-tl/T));
tl-tl+0.1;
end
plot (u2,’k*),grid on
Результат ее выполнения показан на рис. 1.3.
Этот же переходный процесс можно получить и в программе
Simulink.
Из библиотеки на рабочее поле помешаем входное единичное
воздействие Constant, вводим значения коэффициентов передаточ­
ной функции в Transfer Fen, подюочаем выход к осциллографу Scope
(рис. 1.4).
Устанавливаем в параметрах моделирования время от 0 до 30 се­
кунд и нажимаем символ «Пуск» (►).
11
Рис. 1.3. Процесс зарядки конденсатора
Constant
Transfer Fen
Scope
Рис. 1.4. Моделирование зарядки конденсатора
Результат моделирования представлен на рис. 1.5. Предвари­
тельно, перед вставкой рисунка в текст, в командной строке MatLab
были введены команды, позволяющие редактировать формат гра­
фика:
»set(0, ’ShowHiddenHandles’,’On’)
» s e t (g c f, ’menubar’ , ’figure’ )
Установлен белый фон (по умолчанию — черный), изменен раз­
мер шрифта.
Проведем анализ полученных результатов.
На графике переходного процесса можно получить параметры
или значения коэффициентов передаточной функции.
Для этого проведем касательную к линии графика в начальной
точке. Пересечение касательной с линией установившегося режима
отсекает на оси времени отрезок, равный постоянной времени Г.
12
Рис. 1.5. Результат моделирования зарядки конденсатора
Этот же отрезок времени можно найти, проведя горизонтальную
линию на уровне 0,63 от установившегося режима до пересечения ее
графиком переходного процесса. Эти процедуры показаны на рис. 1.6.
Рис. 1.6. Анализ переходного процесса
13
Известно, что площадь между графиком переходного процесса
и линией установившегося режима равна произведению коэффици­
ента передачи К на постоянную времени Т.
S=KT.
(1.19)
Найдем разность 8 между линией установившегося режима и гра­
фиком при К — 1 и Um ш 1:
Ъ = К - К 1 - е Т \ = КеТ.
( 1.20)
Проинтегрируем 8 от 0 до оо (см. рис. 1.6 ):
оо /
оо (
S = \Ke~rdt = К\е~т& =
О
О
О
оо / / +\
—
КТ.
(1.21)
Вычислив площадь, можно найти постоянную времени:
Т=
2.
( 1.22)
Нагрев точечного тела
Точечное тело не имеет размеров, поэтому передачи тепла внутри
тела нет, что упрощает задачу получения аналитического выражения.
Введем обозначения:
Ѳ—температура точечного тела;
Ѳ0 —температура окружающей среды.
Определим минимальное количество теплоты, отданное телу
окружающей средой:
-dQ = *(Ѳ0 - Ѳ)Л,
(1.23)
,
с
■ ккал
гае к —коэффициент теплопроводности. Его размерность
град-с
Количество теплоты, полученное телом, можно определить по
известной из физики формуле:
Q = тс(% -Ѳ),
где с —теплоемкость | --------- 1; т —масса 1кг].
град
14
(1.24)
Продифференцируем формулу (1.24) по температуре Ѳ:
(1.25)
dQ = -mcdB.
(1.26)
В формулах (1.23) и (1.26) левые части равны. С учетом знаков
приравняем и правые:
mcdB = Л(Ѳ0 - Q)dt.
(1.27)
Приведем эту формулу к нормальному виду:
(128)
Размерность коэффициента перед первой производной — «се
кунда», поэтому обозначим ее постоянной времени Т.
Размерности коэффициентов можно определить и из уравнения
(1.28), поскольку размерности всех членов уравнения должны быть
одинаковы. Знаменатель производной имеет размерность «секунда»,
поэтому, чтобы весь член уравнения имел размерность «темпера­
тура», как и все остальные, коэффициент должен иметь размерность
«секунда»:
Т ■— + Ѳ * 00.
dt
(1*29)
Зарядка конденсатора и нагрев точечного тела описываются
одинаковыми по форме дифференциальными уравнениями. При
таком одинаковом виде дифференциальных уравнений исследова­
тель может изучать распространение тепла на электрической мо­
дели, т.е. использовать прямое, аналоговое моделирование.
Одинаковая форма дифференциальных уравнений встречается
и в других физических средах: механике, гидравлике. Элементы
в разных физических средах, имеющие одну и ту же форму уравне­
ний, получили следующие названия.
Инерционный —индуктивность, тепловой поток, момент инерции,
сила инерции.
Диссипативный —сопротивление, коэффициент теплового сопро­
тивления, трение, гидравлическое сопротивление.
15
Упругий — емкость, коэффициент гидравлической жесткости, ко­
эффициенты упругости.
В тепловом объекте упругого элемента нет, так как тепло всегда
распространяется противоположно градиенту температуры.
В литературе \2, с. 891 все полученные компонентные уравнения
элементов динамических систем различной физической природы
сведены в табл. 1. 1.
Таблица 1.1
Вид системы
7Ьп эле­
мента
Механическая
Поступа­
тельная
£
II
о
с\V *
і
F*=
и~ dt
л
II
Упругий
ф -
и
t
Диссипа­
тивный
и_ dt
Тепловая
и
Г - mdV4
Щ
Инерци­
онный
Враща­
тельная
ІЬдравлическая
My =cf<oydt Py -c rJ(?yA
Электри­
ческая
п
Л
и" dt
фд=мЛ
" , = Я/д
—
У,=С ‘| / уЛ
Сравнивая компонентные уравнения, легко обнаружить ди­
намические аналогии всех рассмотренных видов систем. Тополо­
гические уравнения этих систем также абсолютно аналогичны.
В этом проявляется единство физических законов, несмотря на мно­
гообразие форм существования материи.
В табл. 1.2 приведены фазовые переменные и их единицы для
систем различной физической природы, а в табл. 1.3 — параметры
элементов и их единицы.
Таблица 1.2
Вид системы
Фазовая
переменная
Механическая
Гидравли­
ческая
Поступа­
тельная
Враща­
тельная
Типа
потен­
циала
Сила
Н
Вращающий
момент
М, Н м
Давление
Р, Па
Типа
потока
Скорость
V, м/с
Угловая
скорость
оо, рвд/с
Расход
Q, м-Ѵс
16
Тепловая
Электри­
ческая
Температура Напряжение
Т,К
и, В
Тепловой
поток
Ф, Вт
Ток
АА
Таблица 1.3
Вид системы
Тип
элемента
Механическая
Поступа­
тельная
Враща­
тельная
т , кг
J , к г • м2
Инерци­
онный
Диссипа­ ц, Н *с/м
тивный
Н м * с/рад
Упругий
с, Н *м/рад
с, Н/м
Гидравли­
ческая
Тепловая
Электри­
ческая
т г, кг/м4
сѵ Дж/К
І,ГЬ
ц,, Н •с/м*
Нг>
ДжДс • К)
Д, Ом
<Ѵ>Н/м5
----
СФ
Достоинства математической модели
Математическое моделирование в сочетании с современными
ЭВМ позволяет отыскать оптимальное решение с точки зрения ско­
рости технологического процесса, точности поддержания парамет­
ров и аппаратурного оформления.
Математические модели позволяют легко менять начальные
условия, параметры систем уравнений, переходить от анализа к син­
тезу систем, что значительно сокращает сроки процессов создания
новой техники, повышает качество разработок с одновременным
снижением затрат финансовых и трудовых ресурсов.
Недостаток
Математическое моделирование не позволяет полностью воспро­
изводить свойства исследуемого процесса, которые теоретически не
могут быть учтены. Это только аппроксимация, приближающаяся
к исследуемому процессу с наперед заданной точностью.
2
КЛАССИФИКАЦИЯ
МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ
Математические модели представляют собой уравнения. При­
знаки, справедливые для уравнений, переносятся на модель, поэтому
модели бывают:
1)
линейные и нелинейные
Линейные модели отвечают принципу суперпозиции. В любой
реальной системе имеются ограничение, насыщение и другие типы
нелинейности. Однако если процесс рассматривать в узкой области,
то его можно считать линейным.
Пример 1
Система состоит из двух элементов (рис. 2.1), которые описыва­
ются следующими уравнениями:
1) х , =* К *дг,
2) у = А -х,.
Пусть х = 2\к = 4;А = 2.
Рис. 2.1
При этих условиях величина сигнала на выходе системы равна 16.
Поменяем местами элементы в системе (рис. 2.2).
Рис. 2.2
Расчет показывает, что величина сигнала на выходе системы не
изменилась.
Данная система линейна.
18
Пример 2
Система состоит из двух элементов (рис. 2.3), которые описыва
ются следующими уравнениями:
1)ДС|= К -дг, 2) у = x f.
V
Л
:
У
*■
Х\
64
Рис. 23
Оставим те же значения параметров: х —2; к = 4; А = 2.
Значение сигнала на выходе в этом случае 64.
Поменяем местами (рис. 2.4).
16
Рис. 2.4
Значение сигнала на выходе изменилось и стало равным 16.
Данная система нелинейная;
2)
детерминированные и вероятностные
В детерминированной модели координаты —всегда неслучай­
ные функции времени или пространства переменных. Между коор­
динатами имеется функциональная связь (рис. 2.5, а).
Детерминированная
Вероятностная
а
6
Рис. 2.S
19
В вероятностной системе (стохастической) связь между перемен­
ными процесса носит вероятностный характер (рис. 2.5, б). Для опи­
сания стохастической модели необходимо иметь закон распределе­
ния вероятностей.
Описанию реальных систем обычно присуща неопределенность.
Например, для статической модели [3, с. 40] неопределенность
можно учесть, дописывая к уравнению выражение для погрешности
<p(t), приведенное к выходу системы:
НО = F{u(t)) + ф(0-
(1.30)
Причины неопределенности разнообразны:
* погрешности и помехи измерений входов и выходов системы;
* неточность самой модели;
* неполная информация о параметрах системы и тл.
Среди различных способов формализации неопределенности
наибольшее распространение получил вероятностный (стохастиче­
ский) подход, при котором неопределенные величины считаются
случайными. Развитый аппарат теории вероятностей и математиче­
ской статистики позволяет дать конкретные рекомендации по вы­
бору структуры системы, настроек ее параметров.
Пример
Вычислим методом Монте-Карло интеграл, значение которого
нам известно, и сравним точность вычисления. Речь идет о площади
между кривой переходного процесса инерционного звена и линией
установившегося режима. Формула (1.21) дает нам результат S= К- Т,
т.е. площадь равна произведению коэффициента передачи К звена
на постоянную времени Г.
Возьмем передаточную функцию W(p) =
5/» + 1
В этом случае S= 1.
На рис. 2.6 показан переходный процесс этого звена.
Интеграл вычисляется из уравнения, в котором отношение числа
точек случайных величин равномерного распределения, попавших
в зону искомой площади п I, к числу точек п2, попавших в зону пря­
моугольника с координатами (0 —К) и временем переходного про­
цесса (0 —гс), равно отношению искомой площади S к площади пря­
моугольника с ранее указанными координатами:
я*
$
л2' АГ (
20
/і л.ч
'
0
J________i________ i________ І________i
5
10
15
20
25
t,c
Рис. 2.6. Переходный процесс инерционного звена
Для пояснения вычисления пі и л2 на рис. 2.7 показан частичный
алгоритм расчета, который использован в программе расчета пло­
щади между графиком переходной функции инерционного звена
и линией установившегося режима.
Программа расчета площади между графиком переходной функции
инерционного звена и линией установившегося режима
c le a r
t0 = 5 ;
n= 2 0 0 ;
Рис. 2.7. Алгоритм расчета числа точек я і, п2
21
х2=25;
y2=l;
nl=0;
п 2 =0 ;
%Расчет числа точек в площадях
for t=l:n
rl=x2*rand;
r2=y2*rand;
y(t)=l-exp(-rl/t0);
if y(t)>r2
n2=n2+l;
nl=nl+l;
п 2 =п2 +1 ;
end
end
%Расчет переходного процесса
h=0;
d=x2/n;
for t*l:n
yl(t)=l-exp(-h/t0);
h=h+d;
end
%Расчет искомой площади
s«x2*nl/n2
plot (y,’r ’),grid on, hold on
plot (yl,’k ’)
На рис. 2.8 показан график переходного процесса и распределе­
ние случайных величин, использованных для подсчета числа точек,
попавших в разные зоны.
Чем большее значение выборок п будем иметь, тем точнее полу­
чится результат. В табл. 2.1 показаны результаты расчета площади S
от числа выборок п.
Таблица 2.1
я
200
400
600
800
1000
1200
1400
1600
1800
2000
S
4,86
4,97
4,98
4,97
4,98
4,94
4,97
4,98
5,07
5,02
На рис. 2.9 показан ансамбль событий расчета площади S в зави­
симости от числа выборок л, из которого видно, что точность вычис­
ления с ростом выборок увеличивается и результат приближается
к его точному значению, то есть к пяти.
22
Г 1,0
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0
2
4
6
8
10
12
14
16
18
/, с
800
900
п
Рис. 2.8. Распределение случайных величин
55,6
5.5
5,4
5,3
5,2
5,1
5,0
4,9
4,8
4,7
4.6
’ 0
100
200
300
400
500
600
700
Рис. 2.9. Ансамбль событий
Здесь показано, как применяется метод Монте-Карло дня расчета
на примере, результат которого известен. Но на практике эггот метод
применяется для расчетов, которые обычными математическими
методами решить не удается, или они слишком громоздки. Напри­
мер, этот метод применяется для отыскания оптимальных парамет­
ров регуляторов линейных и нелинейных систем с заданными огра­
ничениями в блоке NCD проіраммы Simulink;
23
3)
с сосредоточенными и с распределенными параметрами
Пример
На рис. 2.10 показан бак для смешивания двух растворов. Кон­
центрация полученного вещества в определенной точке емкости бу­
дет зависеть от времени/и от координат по объему х, у , *.
Q
Ог
Рис. 2.10. Смешивание двух растворов
Рассмотрим концентрацию в точках С, и С2:
Сі = /(*. *і, л . *і);
С 2 = /(/, х 2, у 2, z2).
Они не равны между собой: С: * С2.
В этом случае имеем объект с распределенными параметрами.
Но если включить мешалку, то концентрация жидкости по всему
объему резервуара выравнивается, но она будет зависеть от времени:
а
д
=
с2(о.
В этом случае имеем объект с сосредоточенными параметрами.
Модели с сосредоточенными параметрами описываются обыч­
ными дифференциальными уравнениями, а с распределенными
параметрами —уравнениями в частных производных. Модель с со­
средоточенными параметрами — это идеализация, поскольку про­
цессов, протекающих в точке, не существует, так как точка не имеет
объема.
3
КЛАССИФИКАЦИЯ МЕТОДОВ
МОДЕЛИРОВАНИЯ
Реальные процессы и системы можно исследовать с помощью
двух типов математических моделей: аналитических и имитационных.
3.1.
АНАЛИТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
Аналитический метод заключается в численном решении сис
тем математических уравнений с учетом алгебраических и логи
чсских условий, которые образуют заранее построенную матсмати
ческую модель исследуемой системы.
Примером аналитического метода
могут быть примеры нагрева точеч­
ного тела и зарядки конденсатора, ко­
V
торые рассмотрены в I-й главе.
1\
к®
Этот метод применяется для ана­
лиза систем регулирования с точки
t
<.
^ения их устойчивости, оптимальных
настроек регулятора по заданным кри­
і
териям, построения амплитудных и фа­
зочастотных характеристик и т.д.
Пример
Проведем аналитическое исследо­
вание модели пружинного маятника,
представленного на рис. 3.1. Матема­
тическая модель пружинного маятника
широко применяется при разработке
более сложных моделей динамики
приводов, исследовании динамики пе­
ремотки текстильных материалов и со­
здании моделей упругих подвесок.
Уравнение равновесия сил пру­
жинного маятника получается на ос­
нове второго закона Ньютона. Пусть
на находящееся в покое тело массой т
подействовала сила F. Ее будут урав­
новешивать три составляющие: сила
реакции пружины, которая пропорцио­
нальна ее относительному растяжению
у и жесткости к0\ сопротивление амор-
та
Рнс. 3.1. Пружинный маятник
25
тизатора, пропорциональное скорости тела — и коэффициенту
dt
трения (демпфирования) кѵ и сила, пропорциональная ускорению
и массе тела та. В результате получаем уравнение
/»Д у +
dr
^ + к& = / .
dt
(3.1)
При малом коэффициенте демпфирования к^ уравнение описы­
вает колебательный процесс, а при больших значениях кхколебания
отсутствуют.
Пустьк0= \ , к х-0 ,1 , F - 1,/я = 0,5.
Для решения уравнения (3.1) выделим старшую производную:
£
dt
= -Щ
т dt
-
т
+і/.
т
(3.2)
На основании уравнения (3.2) строим модель пружинного маят­
ника в программе Simulink. Вторая производная, состоящая из трех
членов правой части уравнения, получается на сумматоре и подается
последовательно на два интегратора. После первого интегратора поdy
лучаем первую производную — , а после второго —величину у , коdt
торую подаем на вход регистратора Scope. Чтобы увидеть зависи­
мость решения уравнения от коэффициента &,, скопируем получен­
ную в программе Simulink модель (показана на рис. 3.2) и изменим
в ней значение коэффициента ^ с 1,7 на 0,5.
Результат моделирования представлен на рис. 3.3, из которого
видно, что при уменьшении коэффициента демпфирования колеба­
тельность возрастает. Модель позволяет аналитически изучить влия­
ние всех коэффициентов уравнения на характер переходного про­
цесса.
Достоинство метода
Результаты получаются в обобщенной форме, в виде аналитиче
ского выражения или в графической визуальной форме.
Недостаток
Трудоемкость, для сложных систем часто нет аналитического ре
шения.
26
Constant
Integrator
Integratorl
Gain
Gainl
Scope
Constant 1
Integrator
lntegrator3
Gain2
Gain3
Plic. 3*2* Модель пружинного маятника в Simulink
У 1,5
Рис. 3*3. Переходные процессы с различными значениями А,
27
3.2.
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ
В автоматизированных системах обработки информации
и управления во многих случаях имеется недостаточное качество
исходных данных, процессы носят вероятностный характер, поэтому
представляется весьма целесообразной предварительная проверка
сформированных вариантов решений (иными словами, предвари­
тельная оценка показателей эффективности автоматизированных
систем и поведения объектов управления под воздействием управ­
ляющих команд, вытекающих из принятых решений).
Развитие вычислительной техники привело к возникновению
чисто машинных методов решения задач исследования реаль­
ных объектов. Одним из таких методов является моделирование
процессов на персональных компьютерах. При моделировании
в компьютере вырабатывается информация, описывающая элемен­
тарные явления исследуемых процессов с учетом их связей и взаи­
мовлияний. Получаемая таким образом информация о состоянии
процесса используется для определения тех характеристик процес­
сов, которые требуется получить в результате моделирования.
С точки зрения обрабатываемой в компьютерах информации мо­
делирование является имитацией элементарных явлений, состав­
ляющих исследуемый процесс, с сохранением структуры взаимо­
действия между ними.
Здесь прослеживается прямая аналогия между исследованием ре­
альных процессов с помощью имитационного моделирования и экс­
периментальным исследованием указанных процессов. При таком
моделировании нет необходимости создавать для каждого процесса
экспериментальные установки; этот метод обеспечивает простоту,
оперативность и небольшую стоимость исследования.
Имитационное моделирование представляет собой численный ме­
тод проведения на ЭВМ вычислительных экспериментов с матема­
тическими моделями, имитирующими поведение реальных объектов,
процессов и систем во времени в течение заданного периода. При
этом функционирование реальных процессов разбивается на эле­
ментарные явления, подсистемы и элементы. Функционирование
этих элементарных явлений, подсистем и элементов описывается
набором алгоритмов, которые имитируют элементарные явления
с сохранением их логической структуры и последовательности про­
текания во времени. Поэтому имитационное моделирование — это
построение специальных алгоритмов, программная реализация ко­
торых на ЭВМ приводит к воспроизведению функционирования
моделируемой системы во времени.
Имитационная модель — это алгоритм, который в упрощенном
виде отражает структуру связей, логику и последовательность функ­
28
ционирования во времени моделируемой системы. Исследование на
имитационной модели выполняется с помощью ЭВМ. Получение
информации от модели происходит не путем решения уравнения,
а путем машинного выборочного эксперимента, который является
имитацией аналогичного эксперимента на объекте. Имитационное
моделирование применяется для сложных систем, аналитическое
выражение которых не может быть найдено.
Необходимость исследования системы как совокупности множе­
ства элементов позволяет разделить процесс моделирования на две
части:
* составление математических или физических моделей элемен­
тов;
* разработку схемы связей или схемы сопряжения элементов.
Основные этапы моделирования
1. Словесное описание модели (вербальная модель).
2. Разработка уравнений математического описания моделей эле­
ментов.
3. Разработка программы решения уравнений.
4. Имитация внешних возмущений.
5. Решение на ЭВМ и регистрация (возможно уточнение модели),
проверка адекватности модели.
6 . Поиск оптимальных настроек системы за счет перебора вари­
антов.
Приведенный выше пример определения площади методом
Монте-Карло является простейшим случаем имитационного моде­
лирования. Вместо аналитического выражения площади был приме­
нен стохастический метод.
Пример
Рассмотрим, когда метод Монте-Карло возможен для опреде­
ления вероятности попадания по какой-то цели, если производится
три независимых выстрела, из которых каждый попадает в цель с
вероятностью */2. Требуется найти вероятность хотя бы одного попа­
дания.
Математический расчет дает нам вероятность хотя бы одного по­
падания, равную р = 1 —(Ѵг)3 = 7Л = 0,8750.
Попробуем ту же задачу решить методом статистического моде­
лирования. Вместо трех выстрелов представьте, что бросаете три мо­
неты, считая, что герб — попадание, решка — промах. Опыт будет
удачным, если хотя бы на одной из монет выпадет герб.
29
Если провести много опытов и подсчитать общее количество
удач, то, разделив их на число произведенных опытов, получим
частоту события, а она при большом числе опытов близка к ве­
роятности. Применить такой прием можно, не зная теории вероят­
ностей, но результат в случае большого числа опытов будет при­
емлемым.
Програіша расчета вероятности попадания
в цель тремя выстрелами
Вероятность каждого из попаданий равна 0,5.
clear
% очистка данных
п0=0;
% начальное значение удач
t«0;
X начальное значение числа опытов
for k*l:50
% число попыток
t=t+200;
%число опытов
for i=l:t
% начало цикла опытов
лв0; % начальное значение числа
попаданий
for 0*1:3 % цикл из трех
выстрелов
posfix(rand+0.5); % выстрел
(0 или 1)
if ро>0
% если попал
п*п+1;
% добавить
к удаче 1
end % конец цикла
трех выстрелов
end
% конец цикла t попыток
if п>Ѳ
% если было попадание
п0-пѲ+1;
% добавить к удачным
попыткам 1
end % конец цикла попыток
end
% изменить число попыток
v(k)*n0/t; % рассчитать частоту попаданий
П0-0;
%обнулить число удачных попыток
end
% увеличить число попыток
plot(ѵ,’k ’),grid on % вывести график ансамбля
Ансамбль событий, приведенный на рис. 3.4, показывает, что
с ростом числа попыток вычисленная частота событий приближается
к расчетному значению вероятности р = 0,875.
зо
0,865*--------- 1-------'-------- *--------i-------- 1-------- 1-------- 1-------- 1----------------- 1
0
5
10
15
20
25
30
35
40
45 мх200
Рис. 3.4. Ансамбль событий
Достоинства имитационного моделирования
1. Относительная простота за счет методов программирования
и математических вычислений.
2. Высокая скорость получения решения.
3. Возможность моделирования при реальных возмущениях на
систему.
Недостаток
Нельзя получить решение в виде формулы.
4
МОДЕЛИРОВАНИЕ НА АНАЛОГОВЫХ
ВЫЧИСЛИТЕЛЬНЫХ МАШИНАХ (АВМ)
4.1.
ЭЛЕМЕНТЫ АНАЛОГОВЫХ РЕШАТЕЛЕЙ
Дифференциальные уравнения решаются путем последова­
тельного интегрирования. Первая производная интегрируется один
раз, вторая —два и так далее, как показано на рис. 4.1.
d 2y
(•
л 2
J
dy
(•
dt
У
J
Рнс. 4.1. Решение уравнения второго порядка
Интеграторы, усилители и сумматоры можно построить на опе­
рационных усилителях.
1.
Сумматор
Величину сигнала на выходе U.m в зависимости от сигналов
на входе (I/j, Щ, #,) (рис. 4.2) можно рассчитать по формуле
(4.1)
и . . — {Ur Ь + и 2 ■Ь + и , • Ь).
0 1 0 -1
я
и;
о UВЫХ
.
03°—[
Рве. 4.2. Сумматор
При этом:
к. - ^
к
-
A ’ *2 ‘ IT ’ *3 " А
32
Если Rt = R2—R3,
(4.2)
В литературе сопротивления на схемах не обозначаются и сумма­
тор показывается в упрошенном варианте (рис. 4.3).
I/, о------ ©
и,о
■onN
«
f/,o
Рис. 4.3. Схема сумматора
2.
Интегратор
Величина выходного
U (рис. 4.4):
сигнала равна интегралу от входного
(4.3)
Рис. 4.4. Интегратор
При этом:
1
Тк = R -С; к„ =
71И
На схемах интегратор обозначается, как показано на рис. 4.S.
зэ
©
Начальные условия (НУ) —это заряд конденсатора в момент на­
чала эксперимента.
Если интегратор имеет несколько входов, как показано на рис. 4.6,
то он называется интегросумматором.
ихо------ ( ? )
О U.вых
Ко
(кЛ
Рис. 4.6. Интегросумматор
Эти обозначения получили дальнейшее развитие в системах
Vissim и MatLab.
В приложении Simulink системы MatLab обозначения этих эле­
ментов показаны на рис. 4.7.
Integrator!
Рис. 4.7. Элементы библиотеки Simulink
34
4.2.
РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ НА АВМ
Уравнение 2 -го порядка:
d У
4У
~^k
+
Ч
л
+аоУ
=
/
(
(),
dt1
dt
(4.4)
гдеД/) — известная функция на входе.
Выделяем старшую производную:
d2y
.
dy
—
y = ЛО - 0\
-г
~
°оУ
dt
dt
(4.5)
Чтобы получить значение у, необходимо левую часть уравнения
проинтегрировать два раза, поэтому соединяем последовательно
два интегратора и на первый интегратор подаем три составляющие
правой части уравнения (4.S) с соответствующими коэффициен­
тами ( 1, <70>в,). В результате получаем схему решения, показанную
на рис. 4.8, учитывая, что все операционные усилители имеют ин­
вертирующий вход.
Рис. 4.8. Решение уравнения второго порядка
Д ля того чтобы измерить вторую производную, нужно поставить
сумматор перед первым интегратором. На его выходе она будет
с обратным знаком (рис. 4.9).
35
©
©
Рис. 4.9. Измерение второй производной
Сравнивая схемы решения на рис. 4.8 и 4.9, приходим к выводу,
что для устойчивого решения уравнений каждый контур должен со­
держать нечетное число операционных усилителей.
Решение систем уравнений
Возьмем для примера систему, которая описывается двумя следу­
ющими уравнениями:
(4.6)
+ 3— + 4х = е~‘.
dt
Выделим старшие производные для различных переменных:
(4.7)
Определим переменные х и у. Для этого первое уравнение необ­
ходимо проинтегрировать один раз, а второе —два раза. Результат
показан на рис. 4.10. Число операционных усилителей во всех замк­
нутых контурах нечетное, поэтому решение предложенной системы
устойчиво.
36
е~'о
Рис. 4.10. Решение систем уравнений
5
АНАЛОГОВОЕ МОДЕЛИРОВАНИЕ
В СИСТЕМЕ MATLAB
Дифференциальное уравнение, представляющее математическую
модель системы регулирования в общем виде, будет следующим:
dn
dn~l
ао ^ У + а\ ^ У +
' + а пУ = ^
dm
d”~l
и + Ь - ^ “ + - + Ьти> (5-1)
где и иу — входной и выходной сигналы системы регулирования.
Напишем уравнение (5.1) в операторной форме:
(ър” + аіР”-1+... + а")Пр) = (ЬьРт + Ь1рт' 1+... + bm)U(p)t (5.2)
где Щ ), Щр) — изображения выходного и входного сигналов.
Определим передаточную функцию системы регулирования:
_ад _
U(p)
(5.3)
ъ р '+ чр" '
+ ■■• + «„
Моделирование системы регулирования по передаточной функции
выполняется с использованием элементарных звеньев: интегриру­
ющего, усилительного и алгебраического суммирования. Для реали­
зации передаточной функции системы регулирования по уравнению
(5.3) необходимо составить структурную схему, которая может быть
представлена тремя различными способами:
* прямого программирования;
* параллельного программирования;
* последовательного программирования.
Применение различных методов составления схемы решения сис­
темы регулирования рассмотрим на примере системы с передаточной
функцией
Щ р) =
/ 2+\Р + 2-----.
8jp + 14р + 7р + 1
(5.4)
системе MatLab оператор Лапласа р обозначается s, поэтому
в дальнейшем будем использовать такое обозначение.
Сформируем в командной строке эту передаточную функцию:
6
» w=tf([l 3 2],[8 14 7 1])
38
(5.5)
После нажатия на Enter следует подтверждение:
Transfer function:
sA2 + 3 s + 2
(5.6)
8 sA3 + 14 sA2 + 7 s + 1
Определим корни и нули рассматриваемой системы в окне ко­
манд с иомошыо операторов pole(w) и zero(w), чтобы потом восполь­
зоваться их значениями при моделировании:
» poleСw)
ans =
- 1 .0 0 0 0
-0.5000
-0.2500
Определим нули или полюса этой же системы:
» zeroСw)
ans =
-2
-1
По передаточной функции можно построить переходный про­
цесс, для того чтобы в дальнейшем сравнить его с результатами мо­
делирования (рис. 5.1):
» s te p (w ),g rid on
Переходим к моделированию этой системы обозначенными выше
способами.
5.1.
ПРЯМОЕ АНАЛОГОВОЕ МОДЕЛИРОВАНИЕ
Напишем передаточную функцию системы в операторной
форме и выделим старшую производную выходной величины:
8jtV(j ) + 14$V(.s) + 7sy(s) + y(s) = s2u(s) + 3su(s) + 2u(s); (5.7)
Y 2,0
1,8
1.6
1,4
1,2
1,0
0,8
0,6
0,4
0,2
0
0
5
10
15
20
/, с
Рис. S.l. Решение уравнения второго порядка
39
s3_K*) = ( і2и(5) + 3su(s) + 2u(s) - 14S2y(s) - 7sy(s) - y(s)) • ^
Определим
(5.8)
сфуппировав переменные одного порядка:
i f i Ф ) - y j f c ) IsU
(5.9)
Прямое аналоговое моделирование уравнения (5.9) заключается
в интегрировании содержимого первой скобки три раза, второй —
два, а третьей —один согласно порядку стоящих перед ними дробей
»/,. Переменные u(s) и j>(s) поступают на входы интеграторов с соот­
ветствующими коэффициентами. В итоге получаем схему моделиро­
вания в пакете Simulink, показанную на рис. 5.2.
Прямое аналоговое моделирование (рис. 5.3) этой же системы
может быть выполнено и другим способом. Из передаточной
функции (5.6) определим выходную величину^)'
y(s) = (s2 + 3j + 2\ • e(s),
(5.10)
гас
ф )= _ —
------------------------------------------.(5.11)
8s +14л + 7 і +1
Выполним обратное преобразование Лапласа:
8Л < 0 + м Л т
7 ^
dt
dt2
dt
Выделим старшую производную:
(5.12)
Если учесть, что согласно уравнению (5.10) выходная величина
равна сумме линейных комбинаций фазовых координат e(t), то схема
моделирования будет следующей.
Дня того чтобы убедиться в том, что эти два решения идентичны,
выходные сигналы двух схем подадим на один регистрирующий при­
бор через мультиплексор, что и показано на рис. 5.4, где совмещены
эти две схемы. Чтобы видеть графики переходных процессов в одних
40
>
Gain7
Gain3
Step
Gain2
Integrator I
Integrator
Gain6
Gain I
Scope
Gain4
Рис. 5.2. Прямое аналоговое моделирование
►
Gain 5
Gain 6
Gain 1
іi
Integraior 1 Integrator 2
Integrator 3
14/8
Gain2
Gain3
Gain4
Рис. 5.3. Прямое аналоговое моделирование
Step
Own 4
Cain 9
МП
dt1
Step
1s
Gain ft
liU(|M or6
Integrator 4
Gain 13
rzm
dt
IfttefratorS
Gaia II
■<1V8
Gain 10
?»/*
Oain12
G*id2
Р ис .5.4. Сравнение двух способов прямого аналогового моделирования
координатах, ступенчатый сигнал на входе подадим не с одного
источника Step, а с двух, сдвинутых по времени на незначительную
величину, иначе они сольются (в нашем случае на 0,1 с).
Результат моделирования двух способов представлен на рис. S.S.
Сравнение этих переходных процессов, показанных на рис. 5.5,
с первоначальным не выявляет никаких отличий. Сдвиг на 0,1 с вы­
полнен программно для того, чтобы избежать накладки одного гра­
фика на другой.
Рис. 5.5. Сравнение двух переходных процессов
5.2.
ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ
Структурная схема для параллельного программирования по­
лучается из передаточной функции (5.4), если ее представить в виде
суммы элементарных дробей:
W<s) = XS)
u(s)
=
sI+3s + 2
8s3 + 14s2 + Is +1
+ ——— + ———
$ + 1 $ + 0,5 s + 0,25
(5 14)
1 ' }
—1, —0,5, —0,25 —это корни уравнения, полученные нами выше.
В системе MatLab корни можно определить и еще одной про­
цедурой:
со*[8,14,7,1]
со =
8
»
44
14
7
roots(со)
% Задание коэффициентов
характеристического уравнения
1
% Определение корней многочлена
ans =
-1.0000
-0.5000
-0.2500
Два способа взаимозаменяемы.
Коэффициенты С0, С,, С2 в уравнении (S.14) можно определить
методом Хевисайда в пакете MatLab в символьной форме. Для этого
перед вычислением переменным должны быть присвоены символь­
ные значения командой sym s:
syms s
C0=limit([(sA2+3*s+2)*(s+1)/
(8*sA3+14*sA2+7*s+l)],-1)
Cl=limit([(sA2+3*s+2)*(s+0.5)/
(8*sA3+14*sA2+7*s+l)],-0.5)
C2=limit([(sA2+3*s+2)*(s+0.25)/
(8*sA3+14*sA2+7*s+l)],-0.25)
% Определение предела функции при s->-l.
% Определение предела функции в точке s=-0.5.
% Определение предела функции в точке sa-0.25.
Коэффициенты передач инерционных звеньев С0, Сѵ С2 опреде­
лены нижеследующими командами MatLab:
» syms s
» C0elimit([(sA2+3*s+2)*(s+1)/
(8*sA3+14*sA2+7*s+l)],-1)
C0 =
0
»
Cl=limit([(sA2+3*s+2)*(s+0.5)/
(8*sA3+14*sA2+7*s+l)],-0.5)
Cl *
-3/4
» C2=limit([(sA2+3*s+2)*(s+0.25 )/
(8*sA3+14*sA2+7*s+l)],-0.25)
C2 =
7/8
Уравнение (5.14) будет иметь следующий вид:
tV(s) =
'* + * + 2
u(s) 8s3 + 14s2 + 7s + 1
0
3/4
7/8
'
1
s +1 s + 0,5 s + 0,25
(5.15)
45
Так как передаточная функция при таком написании представ­
ляет собой сумму трех инерционных звеньев, то решение может
быть получено сложением их трех выходных сигналов с учетом ко­
эффициентов передач С0, С, и С2. То есть аналоговая модель при
параллельном программировании представляет собой алгебраиче­
скую сумму выходных сигналов трех блоков, показанную на
рис. 5 .6 .
Sup
ІЛ&фЮ
Т
G alal
Gain
Ілкдоюг I
Sttp
G*in2
Integrator 2
G ria4
Рис. 5.6. Параллельное программирование
В результате моделирования переходная функция показана на
рис. 5.7. Она ничем не отличается от переходных функций, получен­
ных другими способами ранее.
5.3.
ПОСЛЕДОВАТЕЛЬНОЕ ПРОГРАММИРОВАНИЕ
Полюса или нули передаточной функции —это корни числи­
теля. Они ранее были определены, но можно применить для нахож­
дения корней числителя аналогичную при нахождении корней зна­
менателя процедуру:
46
Рис. 5.7. Переходный процесс при параллельном программировании
» сое* [1.3,2]
сое =
1 3
2
» ro o ts (c o e )
ans =
-2
-1
Если известны корни числителя и знаменателя, можно разложить
их на простые множители, но с учетом того, что корни знаменателя
вычисляются при коэффициенте, равном единице при старшей про­
изводной, т.е. в нашем случае все коэффициенты уравнения делятся
на 8 . Это влияет на коэффициент передачи моделируемой системы.
Учитывая это, получаем следующее разложение:
w
<
s
)
=
M
tf(s)
і
!
+
3
і
+
2
8s 3 + 14s2 + 7s +1
s + 2s +1
1
1
8 s + 1 s + 0,5 s + 0,25
(5.16)
Из уравнения (5.16) видно, что аналоговая модель представляет
собой три последовательно соединенных блока (инерционный и два
форсирующих), а еще блок усиления с коэффициентом 1/ в. Схема
решения в программе Simulink показана на рис. 5.8.
В результате моделирования получен график переходного про­
цесса, показанный на рис. 5.9. Он повторяет ранее полученные ре­
зультаты.
Step
Gain I
Ч^ЙЯІЬН
_<Sj*
Inie«nitir3
C«Jn5
Integrator2
Tnwgrau* I
—
Gain 2
Рис. 5.8. Последовательное программирование
Рис. S.9. Переходный процесс при последовательном программировании
Составим схему для сравнения результатов моделирования си­
стемы методом прямого и последовательного моделирования. Инте­
ресно сравнить фазовые координаты выходной величины и ее про­
изводных при различных схемах моделирования. Для этого совме­
стим схемы прямого и последовательного моделирования, найдем
разности фаз для выходной величины и ее производных, а затем
подадим эти сигналы через мультиплексор на один регистрирующий
прибор Scope. Схема показана на рис. 5.10.
Результаты сравнения фазовых координат показаны на рис. 5.11,
причем разность выходных координат Ду, ввиду малости, увеличена
в 10 раз.
Как видно из этого рисунка, нулевая ошибка по выходной коор­
динате устанавливается в конце переходного процесса.
48
Gaui7
Gain 3
Oil»2
ІпМфпйіжЗ
lnuw»tof2
IdlceraiOf I
*
Cain I
Рис. 5.10. Схема сравнения фазовых координат
О
5
10
15
20
25
с
Рис. 5.11. Результат сравнения фазовых координат
МЕТОДЫ СИНТЕЗА РЕКУРРЕНТНЫХ
МОДЕЛИРУЮЩИХ АЛГОРИТМОВ
6
Начало
г = 1; я
у(0 - РМА
Г
І
ѵ
П
Конец
Рис. б.і. Рекуррентный
алгоритм
Алгоритм называется рекуррентным,
потому что каждое последующее значение
выходной величины может быть получено
после вычисления всех предыдущих (лат.
recurrens — возвращающийся). Такова, на­
пример, известная последовательность чи­
сел Фибоначчи 1,1,2,3, 5, 8,13..., где каж­
дый следующий член, начиная с третьего,
равен сумме двух предыдущих. Для реше­
ния дифференциальных уравнений, как это
было показано выше, используется интег­
рирование. Методы вычислительной мате­
матики позволяют заменить интегрирова­
ние суммированием, которое выполняется
в цикле. Интегрирование каждого диффе­
ренциального уравнения будет выполняться
по одному и тому же алгоритму. Таким
образом, решение уравнении модели будет
производиться путем циклического расчета
по одному и тому же рекуррентному моде­
лирующему алгоритму (РМА), как показано
на рис. б. I.
6.1.
РМА ДЛЯ ТИПОВЫХ ЗВЕНЬЕВ СИСТЕМ
АВТОМАТИЧЕСКОГО РЕГУЛИРОВАНИЯ
1.
Пропорциональное звено
Уравнение звена имеет следующий вид:
У=Кх,
где*—входная величина; у —выходная величина.
Рекуррентная формула будет иметь такой же вид:
y(t) = Kx(f).
(6.1)
(6 .2 )
В качестве реальных объектов, которые описываются таким урав­
нением, можно привести примеры: усилитель, жесткий рычаг, ре­
дуктор.
50
2.
Интегрирующее звено
Уравнение для интегрирующего звена имеет следующий вид:
Г • — = х.
dt
Решение этого уравнения выполняется по формуле
У=
(6.3)
(6.4)
1Т О
Выходная величина равна интегралу от входной» поэтому звено
и называется интегрирующим.
При х * 1
=
=і
В формуле (6.3) dyudt заменим конечными разностями:
£At = !■
Т
(65)
ще Ду — разность между предыдущим и текущим значениями, как и М
у(і) - у(і - I ) х
,(/) - ,( / -1) - г
m
Если время дискретизации постоянно, то его можно представить
константой h:
/(/) - /(/ -1) -» А.
(6.7)
Тогда из формулы (6 .6 ) получаем текущее значение^/), т.е. рекур­
рентную формулу для интегрирующего звена:
Уіі) = У(І
(6.8)
Если х — величина, изменяющаяся во времени, то формула (6 .8)
может быть записана в следующем виде:
АО = У(і ~ 1) + х(0 j .
(6.9)
Если цикл расчета начинается с единицы, то формула (6.9) не
может быть использована, так как в правой части ивдекс переменной
у(і - 1) равен нулю, а в системе MatLab индексы должны начинаться
с единицы. Таким образом избегают неопределенности при делении
на индекс в некоторых вычислительных операциях, например при
быстром преобразовании Фурье.
51
В этом случае вместо формулы (6.9) можно использовать эквива
лентную ей формулу
(6.10)
Индексные переменные необходимы для запоминания коорди­
нат, которые будут использованы в дальнейшем: печати таблиц, по­
строения графиков, дальнейших расчетов и тд. Если же переменные
цикла являются промежуточными величинами, то удобнее их пред­
ставлять не в индексной форме. Тем болсс, что в простой форме вы­
числения выполняются быстрее и к тому же экономится память про­
цессора. Это возможно при программировании потому, что знак
равенства здесь используется как знак присвоения переменной у
вычисленного значения правой части уравнения:
h
у = у +х ~ .
(6. 11)
Поэтому у справа — это предыдущее значение переменной,
а у слева —текущее.
Если интервал дискретизации h равен единице и величинах—кон­
станта, то график переходной функции интегрирующего звена (рис. 6.2)
представляет собой прямую линию с тангенсом угла наклона а, равным
tg(«) = j -
>
1
РНс. 6.2. Расчет переходного
процесса
52
(6 .12)
формуле является неизменной,
поэтому переходный процесс
представляет собой прямую ли­
нию, поскольку к предыдущему
значению добавляется одна и та
же величина.
В качестве реальных объектов,
которые могут быть описаны
интегрирующим звеном, можно
привести такие объекты, как угол
поворота вала двигателя, перемещение поршня в цилиндре, изменение уровня жидкости в ем­
кости, перемещение ленты транс­
портера.
3.
Инерционное или апериодическое звено
Уравнение для инерционного звена имеет следующий вид:
(6.13)
В формуле (6.13) dy и dt заменим конечными разностями и вы­
полним аналогичные преобразования, как в предыдущем случае.
В итоге получаем в окончательном виде рекуррентную формулу для
инерционного или апериодического звена:
(6.14)
Если индекс расчетного цикла начинается с единицы, то, как
и в предыдущем случае, вместо конечной формулы (6.14) может быть
применена формула
у(і +1) = у(і) + ( К х - у(і)) ■
(6.15)
Рекуррентная формула для инерционного звена в безындексной
форме, в тех же случаях, как и с интегрирующим звеном, может при­
меняться при промежуточных вычислениях:
(6.16)
Переходный процесс для инерционного звена, рассчитанный по
рекуррентной формуле, показан на рис. 6.3. Из-за выражения
в скобке правой части уравнения добавка к предыдущему значению
переменной уменьшается с течением времени до нуля (в бесконеч­
ности), поэтому график переходного процесса и приходит к устано­
вившемуся режиму.
В качестве реальных инерционных объектов можно привести сле­
дующие примеры: частота вращения двигателя (в первом приближеS3
Рис. 6.3. Расчет переходного процесса
нии) при его пуске; зарядка конденсатора через сопротивление от
сети постоянного тока; температура тела при его нагреве (в первом
приближении) и т.д.
4.
Дифференцирующее звено
Уравнение для дифференцирующего звена имеет следующий вид:
У=Т ~ .
at
(6.17)
В формуле (6.17) dy и (//заменим конечными разностями:
У= Т ~ .
ш
Выполним те же операции, как и в предыдущих случаях:
(6.18)
г д К О -М і-')
п
Рекуррентную формулу для дифференцирующего звена можно
записать в следующем виде:
у(і) = (*(/) - х(і -1)) •
(6.20)
При единичном ступенчатом воздействии производная стремится
к бесконечности, так как интервал дискретизации в идеале стремится
к нулю (средний график на рис. 6.4). В рекуррентной формуле вы-
Рис. 6.4. Переходный процесс
ходная величина будет зависеть от постоянной времени дифферен­
цирующего звена и интервала дискретизации. Чем меньше шаг вы­
числения, тем точнее результат, тем больше становится производная,
приближаясь к своему идеалу. 6 реальности же в качестве дифферен­
цирующего звена выступает звено, форсирующее с передаточной
функцией:
’ 7>ТТ'
<“ '>
В этом случае переходная функция имеет крутой передний фронт
и экспоненциально ниспадающий задний.
В качестве реальных дифференцирующих звеньев можно приве­
сти следующие примеры: тахометр, спидометр, тахогенератор.
Если имеем дифференцирующее звено второго порядка, то диф­
ференциальное уравнение будет иметь следующий вид:
(6.22)
Заменим вторую производную первой, введя вспомогательную
переменную zdx
z = —;
(6.23)
(6.24)
КО = т § - (* 0 - ZV - 1»
Исходя из формулы (6.23) и применяя к ней рекуррентную фор­
мулу (6.20), имеем:
(6.25)
у(і) = (*(/ +1) - х(і) - х(і) + х(/ -1)) • ~ =
= (х(і +1) - 2х(і) + х(і - 1)) -
Л
(6.26)
Эту рекуррентную формулу можно применить для колебательного
звена.
5.
Звено запаздывания
Уравнение для звена запаздывания имеет следующий вид:
y(t) = x(t - т).
(6.27)
Пусть х = 2.
При таном запаздывании переходная функция показана на рис. 6.5
и представляет собой такую же входную функцию, но сдвинутую
вправо на время запаздывания х. Для моделирования такой функции
необходимо применение условного перехода, в котором сравнивается
текущее время при циклическом расчете и время запаздывания. Для
программирования вместо х напишем tau. Как только они сравняются,
входной сигнал появляется на выходе звена.
Но в расчетном цикле постоянно наращивается индекс. (Напо­
мним, что произведение текущего индекса на интервал дискретиза­
ции, или шага вычисления А, дает текущее время моделирования.)
Значит, зная количество шагов вычисления во времени запаздыва56
А
X
1
О
1
г
1
*
г
а
1
О
2
3
4
5;
б
т
«---- — ►
Рис. 6.S. Переходный процесс
ния, можно определить, когда
текущий индекс цикла будет
равен или превысит количе­
ство этих шагов. Поскольку
индекс — это целое число, то
количество шагов вычисления
tz будем определять как целое:
tz = fiх(*ш/й).
tz “ fix(tau/A)
(6.28)
Фрагмент программы рас­
чета сигнала, проходящего че­
рез звено запаздывания, пока­
зан на рис. 6.6.
В качестве реальных звеньев
запаздывания можно привести
следующие примеры: количе­
ство материала на транспор­
терной ленте на входе и вы­
ходе, перемещение жидкости
в трубопроводе, перемещение
волны на определенной дис­
танции и гл.
Рис. 6.6. Расчет переходного
процесса звена запаздывания
57
6.
Колебательное звено
Дифференциальное уравнение колебательного звена имеет
следующий вид:
Т2^ + Т , ^ + а у = К х .
dt2
dt
(6.29)
Выделим старшую производную:
Для решения уравнения ее правую часть необходимо проинтег­
рировать два раза.
Схема решения этого уравнения на двух интеграторах показана
на рис. 6.7. Зная рекуррентную формулу для интегрирующего звена,
можно применить ее для первого интегратора, а затем для второго,
имея в виду, что входом второго интегратора является выход пер­
вого.
хо
Рис. (.7. Схема решения уравнения 2-го порядка
Обозначим производную выходной величины на выходе первого
интегратора ^ , а на выходе второго интегратора оставим у. Напишем
рекуррентную формулу для первого интегратора:
Л<0 = Уі0 -1) + (х К - у ( і- 1 ) а - Уі( і-1)-71)• £ . (6.31)
58
Рекуррентная формула для второго интегратора
(6.32)
у(і) = У(і - 1) + Уу(/) •А.
Эти две формулы могут применяться совместно для расчета пе­
реходной функции колебательного звена в расчетном цикле.
В качестве реальных колебательных звеньев можно привести сле­
дующие примеры: маятник, электрический колебательный контур,
гибкая подвеска, электрический двигатель, имеющий электромаг­
нитную и электромеханическую составляющие, и т.д.
Таким же способом можно найти рекуррентные формулы для объ­
ектов третьего, четвертого и т.д. порядков.
Пример
Возьмем передаточную функцию третьего порядка:
к
W{p) =
Т\р3 + Т2р2 + Тхр +1
(6.33)
Выполним обратное преобразование Лапласа:
(6.34)
гз ^ т + T i^ T + Ttzr + y *
3 dt3
2 dt2
1dt
В полученном дифференциальном уравнении (6.34) выделим
старшую производную:
d2y
к х -Т 2
dt
Т,
d3y
(6.35)
dt
Для решения уравнения проинтегрируем правую часть трижды,
как показано на рис. 6.8, присвоив Y2 второй производной, Y1 —
первой, a Y —выходному значению переменной.
Y,
Constant
Gain 1
i
%
я
Integrator
IntegratorI
Integrator2
Scope
£VTi
Gain 2
-l/T3
Gam3
Рис. 6.8. Решение уравнения 3-го порядка
59
Напишем рекуррентную формулу для каждого из трех интегра­
торов:
О Уг(0 = Уг(і ~ 1) + {х К - у2(і - 1) •Т2 - у,(і -1) ■Г, - у(і - 1)) •
2) Уі(/) = л (і -1) + y2(i) ■Ъ
h
(6.36)
3) У(0 = y(i -1) + Уі(і) ■h.
Используя рекуррентные формулы (6.36), можно написать про­
грамму расчета переходной функции в программе MatLab.
Программа расчета переходной функции
clear
х=1;
к -1 ;
Т1=3;
Т 2-3;
%
%
%
%
%
% присваиваем значения
переменным
%
% начальные условия
%
Т3=5;
у2(1)= 0;
у1(1)= 0;
у (1 )= 0 ;
% шаг вычисления
h=0.1 ;
%
п=350;
% число расчетных точек
%
% начало цикла
for t= 2 :n
%
y2(t)“y2(t-l)+(x*k-y2(t-l)*T2-yl(t-l)*Tly(t-l))*h/T3;
yl(t)=yl(t-l)+y2(t)*h;
y(t)“y(t-l)+yl(t)*h;
end
% конец цикла
plot (у,’k ’),grid on % построение графика
черным цветом с сеткой
Результат выполнения этой программы показан на рис. 6.9. Фор­
матирование графика переходного процесса более удобно выполнять
в программе, показанной, например, на рис. 6.8, по сравнению
с результатом, получаемым в программе Simulink.
во
Рис. (.9. Результат выполнения программы
6.2.
РАСЧЕТ ПЕРЕХОДНЫХ ПРОЦЕССОВ В НЕПРЕРЫВНЫХ
СИСТЕМАХ С ПОМОЩЬЮ РМА
Объект состоит из инерционного звена и звена запаздыва­
ния. Система регулирования этого объекта содержит ПИД-регулятор
(рис. 6.10). Необходимо рассчитать переходную функцию этой сис1
Т.р+1
в
1
U
h
L
U
К,
р
Уо
J
Рис. 6.10. Система регулирования с ПИД-регулятором
61
темы при единичном возмущающем воздействии. Модель ПИД-регулятора вместо единого блока, который можно взять из библиотеки,
выполнена из трех параллельно соединенных частей: пропорциональ­
ной, интегральной и дифференциальной. Это сделано для удобства
расчета. Дня лучшего понимания сначала составим блок-схему расчета
переходной функции, а затем и саму программу расчета.
Шаг расчета (интервал дискретизации) А выбирается таким обра­
зом, чтобы можно было увидеть запаздывание на графике переход­
ного процесса, т.е. в два и более раза меньше запаздывания. В то же
время выбранный шаг должен быть более чем на порядок меньше
постоянной времени инерционного звена. Количество расчетных
точек определяется из времени переходного процесса (время моде­
лирования) и шага вычисления: N= fix(/n п/ А).
Алгоритм расчета показан на рис. 6.11.
С
Начало )
і
/ К1,Т1,
Задан, парам, объекта
/ К р , Кі, K d /
Задан. парам, регулятора
/Ь - 0 .1 ,'п - 2 0 0 / Шаг выч. и число расч. точек
/y o = i,f= o 7
Пер. процесс по заданию
т
В(1)=0, U2=0
е0=0, U=0
Начальные условия
tz=fix(tau/h)
Число индексов в tau
і-2 :п
<
I
>
A -f-U
Уіі) =B(i-tz)
у(і[=0
е=ѵ(і)-ѵО
Ul=Kp*e
U2*U2+e*h*Ki
U3=(e-e0)*kd/h
U-U1+U2+U3
eO=e
/
i>y(0 /
Печать графика
I
Конец
Рис. 6.11. Блок-схема расчета переходного процесса
62
Заметим, что переменная В на выходе инерционного звена явля­
ется промежуточной, поэтому может быть не индексной, но она на­
ходится перед звеном запаздывания, а чтобы его рассчитать, необхо­
димо иметь индексную переменную.
Программа расчета переходного процесса
Clear
Ь-0.1;% шаг
п*500;
%
% параметры
tl=5;
kl-1;
tau=2.5;
% параметры
kp=l;
ki=0.2;
kd=0.1;
у0=1;
f=0;
% начальные
вычисления (время дискретизации)
число расчетных точек
объекта
регулятора
условия
У(1)=0;
и(1)=0;
Ь(1)-0;
и (1 )-0 ;
Ь(1)-0;
tz=fix(tau/h);
% количество шагов во времени
запаздывания
u2-0;
е0=0;
% предыдущая ошибка регулирования
for t=2:n
a =f-u(t-l);
b(t)=b(t-l)+(kl*a-b(t-l))*h/tl;
if t>=tz
y(t)=b(t-tz);
else
y(t)=y(t-l);
end
e*y(t)-y0;
ul*kp*e;
u2-u2+e*h*ki;
u3=(e-e0)*kd/h;
u(t)=ul+u2+u3;
e0=e;
end
plot(y,’k ’),grid on,hold on,
plot(u,’--k')
63
В программе предусмотрена печать графика переходного про­
цесса черным цветом сплошной линией, а управляющего воздей­
ствия — черной пунктирной линией. Результат работы проіраммы
показан на рис. 6.12.
Рис. 6.12. Переходный процесс и управляющее воздействие
7
МОДЕЛИРОВАНИЕ НЕЛИНЕЙНОСТЕЙ
Нелинейности в системах управления технических систем обычно
являются проявлением их естественных физических свойств. Разли­
чают статические и динамические нелинейности. Некоторые ста­
тические нелинейности показаны на рис. 7.1. Эго нелинейности ста­
тических характеристик, таких, например, как зона нечувствитель­
ности (а), насыщение (б), гистерезис (в) и различные релейные
характеристики (г, д, е). Для моделирования статических характери­
стик нелинейностей в библиотеке Simulink имеется значительный
арсенал. Однако предусмотреть все встречающиеся в технических
системах невозможно, но можно научиться их программировать. Ди­
намические же нелинейности связаны с нелинейными дифференци­
альными уравнениями динамики звеньев. К ним относятся нелиней­
ное вязкое трение, расходные характеристики дросселей, клапанов,
золотниковых распределителей и др.
Эти нелинейности математически моделируются в расчетных
программах системы MatLab, или применяются дополнительные
блоки, для которых разрабатываются 5-функции в программе
Simulink.
Рис. 7.1. Типичные нелинейности:
а — зона нечувствительности; б — зона насыщения; в — сухое трение;
г —идеальное реле; д —реле; е —трехпозиционное реле
65
Типичную нелинейность в системах автоматического регулиро­
вания представляет позиционное регулирование как наиболее на­
дежное и недорогое, если к качественным показателям таких систем
не предъявляются высокие требования.
7.1.
ДВУХПОЗИЦИОННОЕ РЕГУЛИРОВАНИЕ
Статическая характеристика такого регулирования представ­
ляет собой обычную релейную характеристику с различными свой­
ствами, которые влияют на приемы программирования. Центриро­
ванные релейные статические характеристики с зоной нечувстви­
тельности (0 — а) и зоной неоднозначности (—а — а) приведены на
рис. 7.2, Два установившихся значения выходной величины Uмогут
располагаться как в отрицательной, так и в положительной зоне гра­
фика. Это зависит от функционального назначения устройства.
Фрагмент алгоритма расчета выходной величины Uот входной е по­
казан на рис. 7.3.
М
-м
б
а
Рве. 7.2. Статические характеристики двухпозиционного регулирования
I
U(i)=-M
1 I U<i)=U(i-l) I I
U(i)=M
Рве. 7.3. Алгоритм расчета
при двухпозиционном регулировании
66
I
Весь расчет выполняется в цикле вместе с другими элементами
системы. Входная величина е определяется до начала функциониро­
вания фрагмента.
Статическая характеристика реального реле с зоной нечувстви­
тельности (0 —а2) и с зоной неоднозначности (аі —а2) показана на
рис. 7.4. Такая характеристика применяется для расчета двухпозици­
онных регуляторов давления в ресиверах компрессоров, регуляторов
температуры, имеющих индикаторные стрелки максимального
и минимального значений на шкале.
х>а2
x<al
U(i)=U(i-1)
в,
и(і)=м
аг
Рис. 7.4. Статическая характеристика:
а —реального реле; б —алгоритм расчета
Алгоритм программирования (рис. 7.4, б) остается практически
тем же, но входной величиной (характеристика не центрирована)
является сама регулируемая величина, а не разность между ней
и заданным значением (уставкой), т.е. ошибкой регулирования. Пе­
реключения в этом случае происходят на максимальном и минималь­
ном значениях регулируемой величины.
7.2.
ТРЕХПОЗИЦИОННОЕ РЕГУЛИРОВАНИЕ
Статическая характеристика трехпозиционного регулятора
показана на рис. 7.S, о. Выходная величина Uможет принимать три
позиции: Af, 0 и —М. Благодаря этому непрерывных колебаний
в системе с таким регулятором можно избежать в отличие от двухпо­
зиционного регулирования.
Фрагмент алгоритма расчета выходной величины Uв зависимости
от входной е показан на рис. 7.S, б.
Статическая характеристика трехпозиционного регулятора с зо­
ной нечувствительности (0 —ей) и с зоной неоднозначности (аі —а2)
показана на рис. 7.6, а. Это реальная статическая характеристика
67
1/+
М
—а
О
е
|U(i)=-M
U(i)=M
± ....
-М
U(i)
а
Рис. 7.5. Статическая характеристика:
а — при трехпозиционном регулировании; 6 —алгоритм расчета
UА
М
аг ~аі
k 0
в,
«2
чу > W
е
V
| U (i)~M
И
U(i)=0
V
U(i)=M
-м
а
U(i)
6
Рис. 7.6. Статическая характеристика:
а — реального трехпоэиционного реле; b —алгоритм расчета
трехпозиционного регулирования, например при применении поля­
ризованного реле.
Фрагмент алгоритма расчета выходной величины Uв зависимости
от входной е показан на рис. 7.6, б.
7.3.
РАСЧЕТ ПЕРЕХОДНЫХ ПРОЦЕССОВ В НЕЛИНЕЙНЫХ
СИСТЕМАХ С ПОМОЩЬЮ РМА
7.3.1. Двухпозиционное регулирование
Объект состоит из интегрирующего звена и звена запаздыва­
ния. Система регулирования этого объекта содержит центрирован­
ный двухпозиционный регулятор. Система называется нелинейной,
68
если хотя бы один элемент системы имеет нелинейную характери­
стику. Необходимо рассчитать переходную функцию указанной сис­
темы при единичном возмущающем воздействии.
Модель этой нелинейной системы показана на рис. 7.7. В ин­
тегральном звене применен коэффициент передачи Кх, который
с постоянной интегрирования связан следующим соотношением:
Ки = — . Таи —величина запаздывания в системе. Для расчета переходной функции системы при единичном возмущении F = 1 обо­
значим все промежуточные переменные между элементами. Все
промежуточные переменные, не требующие графического вывода,
могут быть неиндексными. В этом формате не только экономится
память машины, но и скорость вычисления возрастает. Однако для
правильного функционирования программы переменная, стоящая
перед звеном запаздывания, должна быть индексной, чтобы можно
было осуществить сдвиг на величину запаздывания. Переменная
уО — заданное значение или уставка; е — ошибка регулирования,
являющаяся входным сигналом регулятора; U — управляющее воз­
действие; (0 — а) — зона нечувствительности; (—<7 ± а) — зона
неоднозначности. Алгоритм этого расчета представлен на рис. 7.8.
Ниже показана программа в системе MatLab, использующая этот
алгоритм.
а
Ki
p
b
р-pr Tau
V
U
Ui
M
—a 0 a
e
-M
Рис. 7.7. Модель нелинейной системы
Программа расчета переходной функции системы по заданию уОs i
clear
d= 0.1 ;
n=600;
TAU=1;
% очистить переменные
% шаг вычисления
% число расчетных точек
% запаздывание
69
% коэффициент передачи
% зона нечувствительности
% значение выхода реле
% возмущение
% уставка (задание)
% I
% начальные условия
kl-0.2;
a=0.05;
M=0.2;
f=0;
y0=l;
u(l)-0
y(l)=0
b(l)=0
XI
tz=fix(TAU/d);
% число шагов в запаздывании
С Начало
J
X К І-М а и -г /
Задан, парам, объекта
/ а=0.1, М =0.5/^
Задан. парам, реле
h=0.1, п=200
Шаг выч. и число расч. точек
/ y O - l.f H ) /
/U (l)= M ,b l= 0 /
/
у(1)=0.25 /
Пер. процесс по заданию
Начальные условия
Число индексов в tau
I al=f-U (i-l)
b(i)-(b(i-l)+al*h*Kl
y(i)=b(i-tz)
I Печать графика
Конец
U(i)=-M
U(«)-U{i-1)
Рис. 7.8. Алгоритм расчета переходной функции
70
for t=2:n
% начало цикла
al=f-u(t-l); % алгебр, сумматор
b(t)=b(t-l)+al*d*kl;
% интегратор
if t>tz
%I
y(t)=b(t-tz);
% Iзапаздывание
else y(t)=y(t-l); %|
end
%|
e=y(t)-y0;
% ошибка регулирования
i f e>a
%\
u(t) M;
%\
u(t) u(t- i);%\
end
%\
if e<-a
%/2-поз реле
u (t)= -M ;
*/
end
%/
end
% конец цикла
% график
plot(y,’k ’),grid on, hold on
переходного
процесса у
plotfu,’k--’)
X график управления и
Результат выполнения программы показан на рис. 7.9. Несмотря
на то что зона нечувствительности двухпозиционного реле установ­
лена в программе а = 0,05, из-за наличия в системе запаздывания
Рис.7.9. Переходный процесс и управляющее воздействие
в нелинейной системе
71
график превышает это значение. Ошибка регулирования находится
в пределах е = ±0,1. Отсюда следует вывод, что зона нечувствитель­
ности для позиционного регулирования объектов с запаздыванием
должна находиться внутри допустимых границ регулируемой вели­
чины.
7.3.2. Трвхпозиционноѳ регулирование
Рассмотрим систему трехпозиционного регулирования, объект
которой состоит из интегрирующего и инерционного звеньев. Вы­
полним регулирование по заданию. Структурная схема такой сис­
темы представлена на рис. 7.10.
1
1
5s +1
Уі
S
U ік
М
—а
0 а
е
-М
РМс. 7.10. Система с трехпозиционным регулированием
Переменные: — заданное значение (уставка); е — ошибка ре­
гулирования; (0 —а) — зона нечувствительности; и —управляющее
воздействие; у —выходная (регулируемая) величина.
Переключение позиций в реле выполняется без гистерезиса, по­
этому из библиотеки Simulink выберем элемент Switch, имеющий
такую статическую характеристику.
Так как переключение происходит при двух значениях входной
величины, то необходимо выбрать два переключателя. Порог сраба­
тывания переключателей соответствует зоне нечувствительности
трехпозиционного регулятора. Выходные значения регулятора М
и —М моделируются константами на входе переключателей, в данном
случае это 0, —3 и 3. Модель такой системы в программе Simulink
72
показана на рис. 7.11. На регистрирующее устройство — графо­
построитель — направляются выходная регулируемая величина
и управляющее воздействие. На графопостроителе получаем два
цветных графика на черном фоне по умолчанию. Для печати они
требуют доработки: изменения цвета форматирования.
Используя переменные структурной схемы, представленной на
рис. 7.10, разработана программа в системе MatLab, которая более
удобна в использовании, особенно при форматировании графиков
переходного процесса и управляющего воздействия. Легко програм­
мируются стиль линий, их цвет, размер надписей и т.д.
1
5s +1
Transfer Fon
1
S
integrator
I
Scope
Constant]
Switch
Constant2
1
Constant
Switch2
Constant4
Рис. 7.11* Модель системы с трехпозиционным регулированием
Программа расчета переходного процесса в системе
с трехпозиционным регулированием
clear
h80.1;
п^ЗѲѲ;
t0-5;
% очистка переменных
% шаг вычисления
% число точек вычисления
% постоянная времени инерц. звена
73
показана на рис. 7.11. На регистрирующее устройство — графо­
построитель — направляются выходная регулируемая величина
и управляющее воздействие. На графопостроителе получаем два
цветных графика на черном фоне по умолчанию. Для печати они
требуют доработки: изменения цвета форматирования.
Используя переменные структурной схемы, представленной на
рис. 7.10, разработана программа в системе MatLab, которая более
удобна в использовании, особенно при форматировании трафиков
переходного процесса и управляющего воздействия. Легко програм­
мируются стиль линий, их цвет, размер надписей и т.д.
1
5s +1
Transfer Fon
1
S
integrator
I
Scope
Constant!
Switch
Constant2
1
Constant
Switch2
Constant4
Рис. 7.11* Модель системы с трехпозиционным регулированием
Программа расчета переходного процесса в системе
с трехпозиционным регулированием
clear
h80.1;
п^ЗѲѲ;
t0-5;
% очистка переменных
% шаг вычисления
% число точек вычисления
% постоянная времени инерц. звена
73
% уставка
у0=1;
u(l)=0;
%\
yl=0;
% начальные условия
у(1)=0;
%/
for t=2:n
% начало цикла
yleyl+u(t-l)#h; % интегрирующее звено
y(t)=y(t-l)+(yl-y(t-l))*h/t0; % инерционное
звено
e=y(t)-y0;
% ошибка регулирования
if е>0.1
%\
u(t)»-0.3; %\
else u(t)=0;
%\
end
%3-поз.регулятор
if е<-0.1
%/
u(t)=0.3;
%/
end
%/
end
% конец цикла
plot(y,’k ’),grid on, hold on
X построение
графика у
plot(u,’k--’)
% построение графика u
Результат выполнения этой программы представлен на рис. 7.12.
Он полностью совпадает с графиками переходного процесса и управ­
ляющего воздействия модели системы в программе Simulink, пока­
занной на рис. 7.11, хотя по умолчанию эти графики малинового
и желтого цветов на черном фоне.
30
Рис. 7.12. Переходный процесс и управляющее воздействие
8
8.1.
МОДЕЛИ ТЕКСТИЛЬНЫХ МАШИН
МОДЕЛЬ ЛЕНТОЧНОЙ МАШИНЫ
Ленточная машина текстильного (предпрядильного) произ­
водства служит для распрямления и параллелизации волокон в ленте
(рис. 8.1). Это полуфабрикат прядения. Кроме того, на ленточной
машине ставят задачу обеспылить ленту, сделать ее более гомоген­
ной, ровной, с параллельным волокном. И главное, она должна на
каждом участке иметь одинаковый вес, так называемую линейную
плотность.
Ч:
1 I
№
4
"Ь
Г
Рис. 8.1. Ленточная машина
Линейная плотность ленты измеряется в тексах. Текс (от лат.
іехо —ткать) — единица линейной плотности (г/км), применяемая
для измерения толщины волокон и нитей. Текс определяет вес од­
ного километра нити. Также в метрической системе пользуются но­
мером нити (в м/г) — длина одного грамма нити (номер нити =
= 1000 текс, или 1 килотеке).
На входе ставятся восемь тазов с лентой, которые соединяются
в одну и вытягиваются в восемь раз. После вытяжки на машине ли­
нейная плотность (иногда ее называют неровнота) ленты измеряется
датчиком линейной плотности (ДЛП) (рис. 8.2). Если этот датчик
75
Блок
управления
с регулятором
Т.о
Рис. 8.2. Схема ленточной машины:
Тп, Ttux, Т0—линейная плотность ленты на входе, выходе и заданная;
Ѵп п, Ѵв п — линейная скорость питающей и выпускной пар;
ДЛП —датчик линейной плотности; ТТЭП — пневмоэлекірический
преобразователь; Ред. —редуктор
пневматического типа, то сигнал подается в пневмоэлектрический
преобразователь (ПЭП) и результаты измерения сравниваются с за­
данным значением на регуляторе, который встроен в блок управ­
ления вентильными приводами. Скорость приводов, вращающих
через редукторы питающую и выпускную пары вытяжного прибора,
регулируется блоком управления, обеспечивающим необходимое
соотношение скоростей, а значит, и вытяжки, чтобы линейная плот­
ность на выходе всегда была бы постоянной и равной заданному зна­
чению. Скорость ленточной машины достигает до 1100 м/мин.
Процесс вытяжки ленты является достаточно сложным. На его
условия влияет много возмущающих воздействий, таких как давле­
ние прижимных валов, температура окружающей среды, замаслива­
ние ленты, проскальзывание волокон, расстояние между центрами
пар вытяжного прибора и т.д. Существует много теоретических мо­
делей вытяжного прибора, но в большинстве случаев на практике вид
передаточной функции этого процесса и величины ее коэффициен­
тов (параметрическая идентификация) определяются по переходной
функции. Для параметрической идентификации процесса вытяжки
проводят эксперимент. Отключают регулятор, чтобы не было его
влияния. Для формирования ступенчатого воздействия на входе
76
в вытяжной прибор разрывают, допустим, две ленты из восьми» Это
показано на рис. 8.3. На регистрирующем приборе записывают дан­
ные с датчика линейной плотности и приступают затем к их обра­
ботке. Существует много способов для этого, но самым простым
в инженерной практике является метод касательной. Проводят ее
Рис. 8.3. Переходный процесс на ленточной машине
в точке перегиба и определяют величину постоянной времени и за­
паздывание, как показано на рис. 8.3. Величина запаздывания опре­
деляется как отрезок времени от начала эксперимента /0 до точки
пересечения касательной с линией начального значения выходной
величины. Приблизительно она может быть рассчитана как частное
от деления расстояния датчика линейной плотности ДЛП от вытяж­
ной пары на скорость вытяжной пары:
х=
(8.1)
*В.П
Постоянная времени Г определяется как временной интервал
между точками пересечения касательной с линиями начального зна­
чения и установившегося режима. Коэффициент передачи опреде77
ляется как отношение изменения выходной величины д Гвыхк отно„ АГ.вых
шению изменения входной величины A7L: К - —_ . Передаточд гвх
ная функция вытяжного прибора в этом случае будет описываться
инерционным звеном, соединенным последовательно со звеном
запаздывания, представленным на рис. 8.4.
Y(p)
с к
Рис. 8.4. Передаточная функция вытяжного
прибора
Датчик линейной плотности и пневмоэлектрический преобразо­
ватель для простоты можно описать пропорциональными звеньями,
но чаще всего их рассматривают как инерционные звенья с доста­
точно малыми постоянными времени. Это зависит от конструктив­
ных особенностей этих устройств.
Блок управления вентильных приводов содержит встроенный
ПИД-регулятор, как и все промышленные микропроцессоры в на­
стоящее время. Вентильный привод, используемый в качестве ис­
полнительного механизма, можно описать передаточной функцией
звена первого порядка. В итоге получаем структурную схему регули­
рования линейной плотности ленты на ленточной машине, представ­
ленную на рис. 8.S.
К
Т |Р + 1
Рис. 8.5. Структурная схема регулирования линейной
плотности ленты
78
Из рис. 8.2 следует, что количество поступившего хлопка в вытяж­
ной прибор в единицу времени равно количеству вышедшего из него.
Напишем уравнение:
V ■Гщ,-= Гщ ,■К ,<8-2>
Если для изменения вытяжки используется вытяжная пара, т.е. из­
меняется скорость вытяжной пары, закон ее изменения будет следу­
ющим:
К.» =
(8-3)
*вых
В этом случае величина в знаменателе
является постоянной,
так как к этому мы стремимся, а главное возмущающее воздействие
Гш находится в числителе. Закон управления линейный, что удобно
для использования. Однако в этом случае придется вместе с вытяж­
ной парой синхронно вращать лентоукладчик и таз, в который укла­
дывается лента. Это создает дополнительный значительный момент
инерции, что снизит скоростные качественные показатели регуля­
тора.
Если же изменять скорость питающей пары вытяжного прибора,
то закон ее регулирования следующий:
К, - \
<8 4)
*вх
В этом случае главное возмущающее воздействие Тт находится
в знаменателе и закон изменения скорости будет гиперболическим,
т.е. нелинейным. Раньше для сглаживания этого недостатка, т.е. ли­
неаризации гиперболы, применяли коноидные барабанчики, поверх­
ность которых имела специальную форму (рис. 8.6). Это ременная
фрикционная передача, в которой частота вращения верхнего бара­
банчика п2 зависит от положения ремня Н, перемещаемого повод­
ком, связанным с датчиком линейной плотности.
На рис. 8.6 видно, что радиус нижнего барабанчика изменяется
вдоль его продольной оси по гиперболическому закону, поэтому ско­
рость верхнего барабанчика будет изменяться линейно от переме­
щения отводки ремня, на которую действует датчик линейной плот­
ности.
В настоящее время аппроксимация гиперболы в линейную обрат­
ную зависимость может быть выполнена математически в вычисли­
тельном устройстве микропроцессора. В этом случае момент инер­
ции значительно меньше, поэтому скоростные качественные пока­
затели регулирования будут выше.
79
Рис. 8.6. Коноидные барабанчики
На рис. 8.7 показана функциональная схема регулирования линей­
ной плотности ленты на одновыпускной высокоскоростной ленточ­
ной машине J1А-54-500В [7, с. 71]. Регулятор имеет замкнутую систему
регулирования. Для измерения линейной плотности продукта, выхо­
дящего из вытяжного прибора, установлен активный пневматический
датчик /. Он содержит воронку для уплотнения выходящей мычки из
вытяжного прибора и формирования ленты. Лента протягивается че­
рез воронку-датчик уплотняющей парой валиков 2. Проходя через
датчик, измеряемый продукт вызывает изменение давления воздуха в
выходном канале 3 датчика, которое зависит от линейной плотности
измеряемого продукта и скорости его движения. Выходное давление
датчика, Па:
(8.5)
т е к —постоянный коэффициент, определяемый геометрией датчика; ѵ—ско­
рость движения продукта через датчик; Т —линейная плотность измеряемого
продукта;я — коэффициент, зависящий отвноа измеряемого материала.
Для получения необходимого выходного сигнала датчика ско­
рость движения продукта должна быть более 120 м/мин. На машине
J1A-54-500B скорость выпуска ленты может быть до 500 м/мин. При
во
и = const
Рис.8.7.Схема регулирования линейной плотностиленты
постоянной скорости движения продукта через датчик выходное дав­
ление будет пропорционально линейной плотности проходящего
через датчик продукта. С изменением линейной плотности продукта
изменяется давление воздуха, поступающего в пневмоэлектрический
преобразователь 4, где колебания давления преобразуются в электри­
ческий сигнал. Второй вход преобразователя 4 связан с задатчиком 5,
выдающим сигнал, пропорциональный линейной плотности ленты,
установленной планом прядения. Колебания линейной плотности
ленты, выходящей из вытяжного прибора, сравниваются с заданной
линейной плотностью, и на выходе преобразователя формируется
электрический сигнал, который усиливается электронным блоком 6
и поступает на реверсивный серводвигатель 8. Направление враще­
ния и угол поворота вала серводвигателя соответствуют величине
и знаку подаваемого электрического сигнала от блока сравнения
преобразователя 4. На ленточной машине JIA-54-500B установлен
двухзонный вытяжной прибор с вращающимся контролирующим
валиком 17. Регулируемой является вторая частная вытяжка между
выпускной 18 и промежуточной 16 парами. Изменение вытяжки осу­
ществляется путем изменения скорости питающей 15 и промежугоч81
ной 16 пар. В качестве вариатора скорости используют конические
барабанчики 10 и 14, соединенные ремнем 13. Конический барабан­
чик 10 является ведущим и вращается с постоянной частотой. Пере­
мещение ремня 13 вдоль барабанчиков осуществляется кареткой 12,
соединенной с цепной передачей 7, ведущая звездочка Z{ которой
установлена на валу серводвигателя. При перемещении ремня 13
вдоль конических барабанчиков изменяется скорость первой и про­
межуточной пар вытяжного прибора, а также выбирающих валиков
питающего столика машины. Пределы регулирования частоты вра­
щения цилиндра питающей пары ±25%, точность регулирования
±3%. Движение ремня относительно барабанчиков в продольном
направлении ограничивается установленными с обеих сторон конеч­
ными выключателями 9,11. В крайних положениях ремня каретка 12
своими упорами воздействует на выключатель 9 или 11 и машина оста­
навливается. Включается регулятор автоматически при достижении
стабильной скорости выпуска ленты.
Математическая модель такой системы регулирования практи­
чески соответствует показанной на рис. 8.5. Отличие состоит в том,
что в последнем случае применяется ПИ-регулятор.
8.2.
МОДЕЛЬ ЧЕСАЛЬНОЙ МАШИНЫ
(БЕЗ УЧЕТА ДЕЙСТВИЯ ШЛЯПОК)
Чесальная машина служит для чесания волокнистых мате­
риалов в текстильном производстве. На рис. 8.8 показана группа
шляпочных чесальных машин швейцарской фирмы «Ритер». Эго одна
из основных машин прядильного производства. В кардочесальных
машинах разъединение спутанных волокон, вычесывание мелких
и цепких примесей и пороков волокна осуществляются пропуска­
нием волокон между рабочими органами машины, покрытыми
игольчатой или пильчатой лентой.
На шляпочные чесальные машины хлопок поступает в виде рав­
номерного по толщине слоя — холста, приготовленного на разрых­
лительно-трепальной установке (рис. 8.9).
Шляпки представляют собой узкие пластины игольчатой ленты,
расположенные над главным барабаном и занимающие примерно
половину его поверхности. Холст по питающему столику подается
к покрытому зубьями приемному барабану, который производит
предварительное расчесывание волокон и очистку их от сорных при­
месей и пороков. Затем волокна поступают на главный барабан, по­
крытый пильчатой или игольчатой лентой. Между главным бараба­
ном и шляпками происходит основной процесс чесания; при этом
короткие волокна и сорные примеси остаются на шляпках и выво­
дятся ими в виде очесов. Прочесанные волокна передаются с глав82
Рис* 8.8* Шляпочные чесальные машины
Рис. 8.9. Схема шляпочной чесальной машины:
1 —холст; 2 — приемный барабан; 3 — главный барабан; 4 —съемный
барабан; 5 —съемный гребень; 6 —таз для укладки ленты; 7 —лента;
8 — очес; 9 —шляпки; А — точка перехода волокон с приемного на главный
барабан; В —точка перехода волокон с главного барабана на съемный;
Zrj —длина верхней дуги главного барабана; L2 —длина нижней дуги
главного барабана
63
ного барабана на съемный, с которого они затем в виде тонкой ватки
снимаются съемным гребнем. После прохождения через специаль­
ную воронку слой волокон преобразуется в сравнительно плотную
тонкую ленту, которая укладывается в тару цилиндрической формы
(так называемый таз). Прочес со съемного барабана снимается греб­
нем, совершающим быстрое качательное движение.
На рис. 8.9 показаны точки перехода хлопка с приемного бара­
бана на главный А и с главного барабана на съемный В. Между этими
точками показаны длины верхней Lx и нижней Ьг дуг главного рас­
чесывающего барабана. Перемещение хлопка от точки А до точки В,
без учета действия шляпок, представляет собой чистое транспортное
запаздывание. Величина этого запаздывания т, определяется по фор­
муле
х, = у .
(8.6)
Точно так же можно определить время запаздывания т2при пере­
мещении хлопка по нижней дуге от точки В до точки А:
Ь =
(8.7)
На съемный барабан в точке перехода В с главного барабана по­
падает меньшая часть волокон, а большая возвращается на дочесы­
вание. Количество волокна, поступившее на съемный барабан, опре­
деляется коэффициентом съема К^. Обычно = 0,1. В результате
получаем структурную схему чесальной машины без учета действия
шляпок, представленную на рис. 8.10.
QВХ
QВЫХ
е“«*і
1-Кс
Рис. 8.10* Структурная схема чесальной машины
9
СПОСОБЫ ИНТЕГРИРОВАНИЯ
В МОДЕЛИРОВАНИИ
При моделировании чаще всего применяется численное ин­
тегрирование, тем более что точность вычисления можно задать за­
ранее. С помощью MatLab имеется возможность выбрать различные
способы интегрирования. Это зависит от скорости и точности вычис­
ления. Как правило, приходится идти на компромисс. Рассмотрим
особенности различных методов.
9.1.
МЕТОД ЭЙЛЕРА
Необходимо проинтегрировать функцию)'=Д0 от 0 до л. При­
меним метод прямоугольников, или метод Эйлера (рис. 9.1). Интер­
вал дискретизации, или іпаг вычисления, равен h. Площадь каждого
прямоугольника S(i) = h ■у(і). Чтобы найти всю площадь под кривой
нашей функции, нужно площади всех прямоугольников сложить.
Просуммировать площади прямоугольников можно двумя спосо­
бами:
/=л-І
А I У(0
1-й способ
>'=О
2-й способ
*1*0
/=|
О
(9.1)
VА
0
/-I
/
/+1
1+2
д-1
п t
Рис. 9.1. Метод Эйлера
85
Суммирование первым способом дает в результате недостаток
площади. Выпадают зачерненные нижние треугольники. Этот метод
называется прямым методом Эйлера.
Второй способ в результате вычисления дает избыток площади.
Серые треугольники — сверху кривой нашей функции. Этот метод
называется обратным методом Эйлера.
Чтобы уменьшить ошибку вычисления, нужно уменьшить шаг ft.
Суммирование площадей прямоугольников можно выполнить
в программе MatLab в цикле, используя рекуррентную формулу
S = S + у(і) •Л.
(9.2)
Вычислим площадь под синусоидой на интервале от 0 до рі. Из­
вестно, что она равна 2. Сначала возьмем шаг вычисления А= 0,1,
а затем А= 0,01.
Программа вычисления площади под кривой sin(f)
на интервале 0+р/ прямым методом Эйлера
% шаг вычисления
% начальная точка интегрирования
% конечная точка интегрирования
% целое число точек на интервале
интегр.
s=0;
% начальное значение суммы
fo r i* l:n - l
% начало цикла
s - s + h * s in ( t) ; % суммирование площадей
прямоугольников
% текущее значение аргумента
t= t+ h ;
функции
% конец цикла
end
s
% печать результата
h=0.0 1 ;
t= 0 ;
tn = p i;
n * fix (tn /h );
При шаге вычисления A■ 0,1
»
s e
1.9813
При шаге вычисления А—0,01
s 1.9999
»
86
Программа вычисления площади под кривой sin(t)
на интервале 0+рі обратным методом Эйлера
hs0.1;
t-h;
tn-pi;
n»fix(tn/ti);
% шаг вычисления
% начальная точка интегрирования
% конечная точка интегрирования
% целое число точек на интервале
интегр.
sb0 ;
% начальное значение суммы
for 1*1:п
% начало цикла
s-s+h*sin(t); % суммирование площадей
прямоугольников
tst+h;
% текущее значение аргумента
функции
end
X конец цикла
s
X печать результата
При шаге вычисления Л = 0,1
»
s ■
1.9995
»
При шаге вычисления А= 0,01
»
s 2.0000
»
С уменьшением шага точность вычисления интеграла увеличива­
ется. Однако возрастает число вычислений, поэтому начиная с ка­
кого-то момента ошибка вычислений накапливается все больше
и ошибка начинает расти.
9.2.
МЕТОД ТРАПЕЦИЙ
На рис. 9.2 показано, как вычисляется площадь трапеции на
/-м интервале. Площадь равна произведению полусуммы оснований
на высоту:
SO) = f
. л.
(9.3)
Методом накоплений можно вычислить всю площадь:
S = S + (.КО+ У(і + 1)) - ^
(9.4)
87
о
/-1
/
/+1 /+2
л -1
и
t
Рис. 9.2. Метол трапеций
Формула трапеции более точная, чем формула Эйлера, но имеет
ошибку. Эго площадь между огибающей функцией и прямой, соеди­
няющей соседние значения функции.
Вычислим ту же площадь под синусоидой на интервале от 0 до рі
методом трапеций при шаге вычисления h = 0,1, а затем h = 0,01.
Программа вычисления площади под кривой sln(t)
на интервале 0+рІ методом трапеций
h-0.01;
t-0;
tn-pi;
n=fix(tn/h);
% шаг вычисления
% начальная точка интегрирования
% конечная точка интегрирования
% целое число точек на интервале
интегр.
s-0;
% начальное значение суммы
for і-1:п-1
% начало цикла
s“s+h/2*(sin(t)+sin(t+h)); X суммирование
площадей
прямоугольников
t~t+h;
X текущее значение аргумента
функции
end
% конец цикла
s
% печать результата
При шаге вычисления А= 0,1
»
s =
1.9883
»
88
При шаге вычисления Л = 0,01
»
s «
1 .9 9 9 9
»
Разница между двумя рассмотренными выше способами —только
в третьем знаке после запятой.
9.3.
МЕТОД СИМПСОНА (МЕТОД ПАРАБОЛ)
В этой формуле используются три ординаты функции, по­
этому вычисляются сразу две соседние площади (рис. 9.3). Средняя
ордината в формуле умножается на 4, поэтому соединяющая три ко­
ординаты функции линия представляет собой параболу, выпуклость
или вогнутость которой совпадает с рассматриваемой функцией.
Ошибка вычисления интеграла поэтому будет меньше, чем у двух
предыдущих методов.
Рекуррентная формула Симпсона для метода накоплений имеет
следующий вид:
(9.5)
■
S= S + (у{і -1 ) + 4 ^ 0 + У(і +1)) •
Применим эту формулу для расчета площади той же самой
функции.
/- 1
/
/+1 /+2
л -1
п
Рис. 9.3. Метод Симпсона (метод парабол)
89
Программа вычисления площади под кривой sin(t)
на интервале 0+рі методом Симпсона
h-0.1;
t=0;
tn-pi;
n=fix(tn/ti);
for i*l:n
y(i)=sin(t);
t=t+h;
%
%
%
%
%
%
%
интегр.
функции
end
%
%
s=0;
for і«2:2:п-1
% начало цикла
s=s+(y(i-l)+4*y(i)+y(i+l))*h/3; % суммирование
площадей
end
% конец цикла
% печать результата
При шаге вычисления h = 0,1
»
s =
1.9900
»
При шаге вычисления Л= 0,01
»
s =
2.0000
»
Как видно из результатов вычисления, метод Симпсона дает наи­
более точные результаты при равных условиях.
Чтобы улучшить приближение параболы к аппроксимируемой
функции, можно использовать не іри, а пять ординат этой функции.
Такой метод разработали немецкие математики Карл Рунге и Мартин
Вильгельм Кутта около 1900 года. Метод и носит их имя — метод
Рунге—Кутты. Все методы реализованы в программе MatLab, и их
можно использовать по желаемому выбору. По умолчанию, напри­
мер, в проірамме Simulink применяется метод Рунге—Кутгы и назы­
вается аббревиатурой Ode-45.
90
9.4.
ВЫЧИСЛЕНИЕ ИНТЕГРАЛА
С НАПЕРЕД ЗАДАННОЙ ОШИБКОЙ ВЫЧИСЛЕНИЯ
Метод основан на сравнении двух вычисленных заранее ин­
тегралов с отличающимися шагами вычисления. Если разность
между ними меньше заданной ошибки, то вычисление интеграла
с заданной точностью достигнуто; если разность превышает задан­
ную ошибку, то шаг вычисления уменьшается, вычисляется новое
значение интеграла и проводится следующее сравнение. Блок-схема
алгоритма вычисления показана на рис. 9.4. Метод может быть ис­
пользован для всех рассмотренных выше способов вычисления ин­
теграла.
(
Начало
t
К, X TAU,.
J
Ввод параметров процесса
Начальное зачение
предыдцщего интеграла
Задание ошибки вычисления
Шаг вычисления
Целое число значений функции
Вычисление всех значений
функции с помощью РМА
Обнуление интеграла
перед вычислением
Вычисление интеграла в цикле
Проверка условия
достижения результата
Уменьшаем шаг
вычисления вдвое
Присваиваем вычисленное
значение предыдущему
интегралу
Рис. 9.4. Блок-схема вычисления интеграла с наперед заданной ошибкой
10
ЭКСПЕРИМЕНТАЛЬНОЕ ПОЛУЧЕНИЕ
МОДЕЛИ
Математическое моделирование является одним из способов
обработки информации для решения инженерно-технических задач.
Развитие теории информации и компьютерной техники позволяет
широко применять методы математического моделирования благо­
даря возможности реализации сложнейших алгоритмов обработки
результатов исследований. Построение математической модели
в общем случае состоит из определения структуры зависимостей
входных и выходных переменных рассматриваемого объекта и опре­
деления параметров модели, т.е. числовых значений коэффициентов,
с использованием информации, полученной при исследовании ре­
альных объектов.
10.1 СГЛАЖИВАНИЕ ДАННЫХ ЭКСПЕРИМЕНТА
При проведении эксперимента с целью получения зависи­
мости выходной величины у от входной х неизбежно примешивается
помеха е.
Возникает весьма типичная для практики задача сглаживания
(или фильтрации) экспериментальной зависимости. Желательно об­
работать экспериментальные данные так, чтобы по возможности
точно отразить общую тенденцию зависимости у отх, но вместе с тем
сгладить незакономерные, случайные уклонения, связанные с неиз­
бежными погрешностями самого наблюдения.
Сглаживание данныхэксперимента — это операция усреднения с по­
мощью интерполяционных полиномов для получения уточненного
значения данных эксперимента по полученным со случайной погреш­
ностью. Интерполяция — нахождение недостающих точек внутри от­
резка. Экстраполяция —нахождение недостающих точек вне отрезка.
Для осуществления сглаживания используются фильтры, которые
различаются по методу проведения операции усреднения и по ши­
рине окна сглаживания. Рассмотрим некоторые из алгоритмов сгла­
живания.
1.
Линейное сглаживание по трем точкам
При проведении эксперимента получен массив выходных
данных
Уо>Уі>Уі* “■>УI* 4‘‘>Уи-і*Упѣ
(10.1)
Чтобы избавиться от случайной погрешности, линейное сглажи­
вание по трем точкам реализуется с помощью формул:
92
— _ Уо + Уі + Уг .
У\
з
(10.2)
— _ Ум +Уі + У м .
'
—
"
2.
3
h n + 2у„-1 - Уд- 2
6
Линейно» сглаживание по пяти точкам
— . Зуо + 2уі + л - Л .
-------------5
’
—
4Уо + З^і + 2Уі + Уз .
* -------------ІО
’
- _ Уі- 2 + У м + У і + У м + У м .
Уі
(10.3)
5
.. _ Уп-з + 2 ^ 2 + 3 + *Уп.
Уя-' ~
10
’
— - Зу. + 2у„.і + у„_2 - уЯшА
5
3.
Линейное сглаживание методом скользящей средней
Метол основан на свойстве средней погашать случайные откло­
нения от общей закономерности. Расчет скользящей средней осуще­
ствляется по средней арифметической простой из заданного числа
уровней ряда с отбрасыванием при вычислении каждой новой средней
предыдущего уровня и присоединением следующего. Сглаживание
методом простой скользящей средней заключается в том, что вычи­
сляется средний уровень из 3,5,7 и т.д. уровней. В результате расчет
средней как бы скользит от начала ряда данных к его концу. При не­
четном шаге каждая вычисленная скользящая средняя соответствует
реальному интервалу (моменту) времени, находящемуся в середине
шага (интервала), а число сглаженных уровней меньше первоначаль­
ного числа уровней на величину шага скользящей средней, уменьшен­
ного на единицу. Например, формула для расчета 5-уровневой сколь­
зящей средней будет выглядеть следующим образом:
„ _ У\ + У2 + Уз + У4 + У$... _ У2 + Уі + Уа + У$ + Уб.
У\ ““
^
*/2
с
’
^
(Ю.4)
.. _ Уз + Уа + У5 + Уб + Уі
•
Уз-------------- 7
93
Определение интервала сглаживания (числа входящих в него
уровней) зависит от вида графика экспериментальных данных:
1) если необходимо сгладить высокочастотные колебания, то ин­
тервал сглаживания берут большим (до 5—7 уровней);
2) если же есть необходимость сохранить периодически повторя­
ющиеся колебания, то интервал сглаживания уменьшают до 3 уровней.
Программа сглаживания данных методом скользящей средней
на интервале пять
clear
% очистка переменных
п=100;
% число расчетных данных
for і=1:п
% начало
цикла
y(i)=rand*3+i*0.2; % расчет данных
ела
% конец цикла
plot (у,’k.’),grid on, hold on
% построение
графика данных
for i=l:n-6
%начало цикла сглаживания
у1Сі)=(у(і)+у(і+1)+у(і+2)+у(і+3)+у(і+4))/5;
% сглаж. ск.ср. по 5 точ.
end
% конец цикла сглаживания
plot(yl.’k ’)
% график
сглаж.данных
На рис. 10.1 представлен график сглаженных данных методом
скользящей средней на интервале пять. Расчет входных данных
в четвертой строке программы выполнялся с помощью случайной
функции rand, умноженной на 3, с добавлением линейно возраста­
ющей функции с коэффициентом 0,2.
Рис. 10.1. Сглаживание данных
94
10.2. РЕГРЕССИОННЫЙ АНАЛИЗ
(МЕТОД НАИМЕНЬШИХ КВАДРАТОВ)
Термин регрессия был введен Фрэнсисом Гальтоном в конце
XIX века. І&аьтон обнаружил, что дети родителей с высоким или низ­
ким ростом обычно не наследуют выдающийся рост, и назвал этот
феномен регрессия к посредственности. Сначала этот термин (от лат.
regressio—движение назад, греч. analysis—разложение) использовался
исключительно в биологическом смысле. После работ Карла Пирсона
этот термин стали использовать и в статистике. Линейный регресси­
онный анализ —это самый распространенный инструмент для опи­
сания связи между факторами и какой-то зависимой величиной.
Регрессионный анализ — метод моделирования измеряемых данных
и исследования их свойств. Данные состоят из пар значений зависи­
мой переменной у и независимой переменной х. Регрессионная мо­
дель есть функция независимой переменной и параметров с добав­
ленной случайной переменной. Параметры модели настраиваются
таким образом, что модель наилучшим образом приближает данные.
Критерием качества приближения (целевой функцией) обычно яв­
ляется среднеквадратичная ошибка: сумма квадратов разности зна­
чений модели и зависимой переменной для всех значений независи­
мой переменной в качестве аргумента.
Линейный парный регрессионный анализ заключается в опреде­
лении параметров эмпирической линейной зависимости
jKjc) = 1\х + йь,
(10.5)
описывающей связь между некоторым числом п пар значений х{
и у(, обеспечивая при этом наименьшую среднеквадратичную по­
грешность.
Для пояснения на рис. 10.2 построен точечный ірафик по данным
наблюдений (xf, yf, i — 1,..., л) в прямоугольной системе координат
(такой точечный график называют корреляционным полем). Подберем
прямую линию, которая ближе всего расположена к точкам корре­
ляционного поля. Согласно методу наименьших квадратов линия
выбирается так, чтобы сумма квадратов расстояний по вертикали
между точками корреляционного поля и этой линией была бы ми­
нимальной. Напишем этот функционал U:
и = 2(я - у{*і))2 -*min-
(Ю.6)
/=1
Минимум квадрата разности функционала U зависит от коэффи­
циентов Ь] и Ьй. Поэтому нужно взять частные производные функцио­
нала от этих коэффициентов и приравнять к нулю:
95
Рис. 10.2. Экспериментальные данные
dU
db[ = 1*{у? ~ 2УіУ(х ) + у2(*»))
П
- 2 л ~2уіхі + 2Ьіхі + 2Ьохі) ®0
(Ю.7)
^ = І(-2 у ,+ 2 * Л + И ь ) = 0.
“ч) і»і
( 10.8)
Аналогично
Двойку можно вынести за знак суммы. Ікк как она не равна нулю,
приравниваем к нулю выражения под знаком суммы и получаем сис­
тему уравнений:
Л
П
І У Л =
+
Ы
/=1
Ы
п
п
2>< =* і Х * /+ Х ѵ
/н
/=1
(10.9)
По теореме Крамера общий определитель Л равен
П
п
п
( 10. 10)
ы
96
і=І
М
Вычислив частные определители АЬ0и Д6,, можно найти значения
Ь0и 6. по известным формулам:
(10.11)
Находим частный определитель АЬ,:1
п
п
А6, = п £ у,х, /-І
/-І
п
(10.12)
/»і
Вычисляем коэффициент А,:
л
я
Л
«X у,ъ - ^ уі • Z */
---------------- i = l —
”5>?
,=і
(
1
0
1
3
)
ѵ1=1 /
Как видно из системы уравнений (10.9), коэффициент Ь0 можно
вычислить методом подстановки:
<10.14)
В литературе [8, с. 138] можно найти формулы для регрессионного
анализа не только линейных, но и других различных нелинейных
зависимостей, таких как:
1) стеленная регрессия:
У = ЬохЬ.
(10.15)
Кстати, для степенной регрессии коэффициенты определяются
по формулам, похожим на формулы линейной парной. Отличие
только в знаке логарифма. Это происходит потому, что, прологариф­
мировав выражение (10.15), получаем (10.5):
Ьа =ехр
|_ИЫ
л
/=і
п
)
97
2) гиперболическая:
У = Ьо +
Ь\
(1 0 .1 7 )
Определение коэффициентов уравнения достигается решением
системы уравнений:
N 1
N
/=1ХІ м
N ,
ЛГ ,
/=1Л/
м •*(
If
(10.18)
1=1ЛІ
3) мсслонмциалымя:
(10.19)
у = А) ■expfo •*)•
Коэффициенты b0n b l этого уравнения рассчитываются по фор­
мулам (10.20) и (10.21):
лг N
N
,п>'/
Ъ хі Ъ іпуі
М м
м
( 10.20)
N
N
1Ів| Х‘
-
і=і
( 10.21)
5 Й “”- ' Й
4) логарифмическая
ѵ = а + Ъ■Іпх.
( 10.22)
Параметры а и b можно получить из решения системы урав­
нений:
N
N
aN +
Igx, = ^ У і ,
і=1
/в|
1*1
+ * £ 0 g * /)2 = ХОѵ
/=1
/в|
(10.23)
6) параболическая:
у - Ь л +blx + b1x .
98
(10.24)
Параболическая зависимость в литераггуре [8, с. 142] представлена
и более высоких порядков, чем показанный здесь второй. Программа
вычисления коэффициентов 60, Ьхи Ь2представлена ниже.
Пример
В табл. 10.1 представлена зависимость натяжения нитей на сно­
вальной мапіине от скорости намотки.
Таблица ЮЛ
Ѵу м/мин
Пн
400
500
600
700
800
900
1000
4
4.2
4.7
5.9
7
9
11
Построим график этой зависимости в проірамме MatLab, написав
в массив х скорость из таблицы, а массив у —в натяжение:
х - [400 500 600 700 800 900 1000];
у=[4 4 .2 4 .7 5 .9 7 9 И ] ;
p lo t ( х , у , ’k ’ ) , g r i d on
На рис. 10.3 построен график этой зависимости, по виду которого
можно определить аппроксимирующую математическую формулу.
В нашем случае выберем параболическую зависимость (10.24). На­
пишем программу.
Р&с. 10.3. График экспериментальных данных
99
Программа «Параболическая регрессия»
clear
n=7; a=n; b=0; с=0; f=0;
m=0; р=0; r=0; s=0;
х=[400 500 600 700 800 900 1000];
у=[4 4.2 4.7 5.9 7 9 11];
for t“l:n
b=b+x(t);
c=c+x(t)A2;
f=f+x(t)A3;
m=m+x(t)A4;
p=p+y(t);
r=r+x(t)*y(t);
s=s+y(t)*x(t)A2;
end
d»b; e«c; k»c; l«f;
q=d/a;
e=e-q*b;
f=f-q*c;
r=r-q*p;
q=k/a;
l=l-q/b;
m=m-q*c;
s=s-q*p;
q=l/e;
b2=(s-r*q)/(m-f*q);
bl=(r-f*b2)/e;
b0=(p-b*bl-c*b2)/a;
for t=l:n
yl(t)=b0+bl*x(t)+b2*x(t)A2;
end
plot (x,y),grid on,hold on,plot (x,yl,’k ’)
Результаты вычислений:
Ь0“2,0032
bl=0.0000357
Ъ2=0.000008367
Таким образом, получено уравнение, выражающее зависимость
натяжения от скорости:
у(х) = 2,0032 + 0,0000357 • х + 0,000008367 •х 2.
100
(10.25)
На рис. 10.4 представлены экспериментальный и аппроксими­
рующий графики изменения натяжения нитей от скорости сно­
вания.
Рис. 10.4. Аппроксимация натяжения нитей от скорости
10.3. ПАРАМЕТРИЧЕСКАЯ ИДЕНТИФИКАЦИЯ МОДЕЛИ
(МЕТОД СИМОЮ)
Основной задачей метода, предложенного М.П. Симою [9, с. 520]
и названного им методом площадей, является определение коэффи­
циентов передаточной функции. Метод позволяет определить пере­
даточную функцию модели объекта по кривой разгона.
Кривая разгона — реакция динамического звена (объекта регули­
рования) на ступенчатое воздействие.
Для получения кривой разгона в автоматической системе регу­
лирования устанавливается номинальный статический режим.
Затем система переводится в ручной режим (регулятор отклю­
чается, обратная связь разрывается) и на объект регулирования
в момент времени начала эксперимента с помощью задатчика по­
дается скачкообразное воздействие. Например, скачком изменя­
ется давление на пневматический исполнительный механизм
(клапан). Изменение давления приводит к перемещению регули­
рующего органа (шток, заслонка и т.д.) и, как следствие, к изме­
нению потока энергоносителя или реагента и соответствующему
изменению регулируемой величины у.
101
Для расчета параметров модели методом площадей целесообразно
ввести нормированную переходную функцию (ПФ), определяемую
формулой
h(t) = У~У™ ,
/max
(10.26)
Jmin
we У =Ут1п-У тах\ У — регулируемая величина.
6
этом случае переходная функция будет стремиться к единице.
Переходную кривую h(t) можно рассматривать как реакцию ди­
намического звена с нормированной ПФ вида
щ р) _ і + Ь р + Ъ р +... + Ьтр
(10.27)
І + а р + ъ р 2 + ... + а„рп
Тогда изображение по Лапласу переходной функции A(f) можно
записать следующим образом:
(10.28)
Щр) = L{H()} = Щр) - Р
Известно, что площадь между ПФ инерционного звена и линией
установившегося режима равна произведению коэффициента пере­
дачи на постоянную времени:
S =k T .
(10.29)
На рис. 10.S показана эта площадь.
Рис. 10.5. Свойства экспоненты
102
Вычислим ординаты от линии установившегося режима до кри­
вой переходного процесса z, чтобы, используя их, вычислить пло­
щадь S:
/
z - k - k 1 - е т ш к •е т
(10.30)
Найдем S, проинтегрировав z по времени от 0 до оо:
в
о
в
о
1
S = fzdt = j k e ~ T d t =
o o
«а
/
/
\
/
j -1 = - к Т е ^
о
= к-Т. (10.31)
' '
Если знать плошаоь S, то можно определить постоянную времени Т.
S
Т=
к
(10.32)
На этом основании Макс Паульевич Симою, сотрудник Инсти­
тута автоматики и телемеханики АН СССР, предположил, что можно
определить параметры объектов, которые описываются уравнениями
более высоких порядков. На рис. 10.6 показана кривая H(t), име-
II
Рис. 10.6. Вычисление площадей
103
ющая точку перегиба, параметры передаточной функции которой
необходимо определить.
Переходную функцию, преобразованную по Лапласу, напишем
в виде
к
1
Н(р) =
W{p) р
(10.33)
«О
ще Н(р) - j H(t) •е pldt — изображение поЛапласу переходнойфункции.
о
Знаменатель передаточной функции Щр) раскладывается в ряд
по степеням р:
Щр) = \ + %<*ір>.
/=1
(10.34)
Вычислим, как и в (10.30), координаты z, изображенные по Лап­
ласу:
Zip) = - - Н(р)
Р
к
р
к
Щр) р
А
L_
Щр)
щр)
п
к
-1
'і + І Ѵ
/=і
Щр)
к 2 V
=к
р Щр)
щр)
(10.35)
Как и прежде, проинтегрируем координаты г от 0 до да, перейдя
к преобразованию Лапласа:
о»
5, = |(Л - H(t))dt = Шпf e * [к - H(t))dt =
П
i-i
L °iP
- iu .f i
р-*0\р
-
Н(р) I = ІішА •— ----- = к- а.
1 t -л
Щр)
(10.36)
Вычислив площадь S, находим значение коэффициента для пер$
вой аппроксимации: а, = —. Кроме коэффициента передачи, один
к
параметр имеет инерционное или апериодическое звено, поэтому
104
передаточная функция для первой аппроксимации будет иметь та­
кой вид:
к
Щр) =
(10.37)
Переходный процесс первой аппроксимации Я,(0 показан на
рис. 10.6. Он имеет значительные расхождения с экспериментальным
переходным процессом H(t), поэтому предлагается вычислить пло­
щадь <?!, которая расположена между кривыми первой аппроксима­
ции и экспериментальной.
Вычислим ординаты zAp) между этими кривыми:
1
к
1
к
іЛр) - НЛр) - Н(р) =
0\Р + 1 Р Щр) Р
( п
'
1+
-<*\Р- 1
_ k ( W {p)-axp - \ ' к
/а
|
{щр +1) • W(p)
РУ{ахР + \) т Р), Р
"
п
I
к ^ г Р'-1
ыг
{<*\Р+ О -Щр)
к
ыг
р {щр+1)Щр)
(10.38)
В полученном выражении для z, при интегрировании все коэф­
фициенты будут нулевыми, поскольку ffi не получается при подста­
новке значений L Но такая возможность возникнет, если это выра­
жение еще раз проинтегрировать:
-2
Нх(р)-Н(р)
к
і=2
р {щр +1) Щр)
к • %а,р{
/=2
. (10.39)
{аіР + 1) • W(p)
Проинтегрируем, применив преобразование Лапласа:
0 *6 0
•S2 = / |( Я ,( / ) - Я ( 0 ) Л Л = lim (Я , (/> )-#< /> )) =
00
р
і-
к *£ afp
= Urn
1=2
2
р-я{ахР + \) - W (р)
= к •аг.
(10.40)
106
Найдем второй коэффициент а2 - , и напишем передаточную
к
функцию для второй аппроксимации:
Щр) = — Н — Га2р +С|Р + 1
<10*41>
Кривая переходного процесса для второй аппроксимации на
рис. 10.6 уже ближе располагается к экспериментальной кривой, но
площадь 5*2между ними еще имеется. Аналогично можно найти и эту
площадь, вычислив ординаты между кривыми и проинтегрировав их
по времени. 6 результате получим
S3 = k - a 3.
(10.42)
Определив коэффициент ау напишем передаточную функцию
третьей аппроксимации:
Щр) = — ------* -----------•
ЩР +02Р + *]/> +1
(10.43)
Точно таким же образом можно получить коэффициент а,:
м оо
ое
S, =
{Н,т - # (/)Ц ' =к а,;
00
(10.44)
о
fl, = 5 ..
(10.45)
Вместо многократного последовательного интегрирования
в литературе [9, с. 524] предлагается рассчитывать площади мето­
дами вычислительной математики. Расчет сводится к однократ­
ному интегрированию. Формула для расчета площади St приво­
дится ниже:
ОО
5, =
106
М
J(*
(-т )м
- Н(0)
О -i)!
НГ1 .£ о
Н У dt.
(-тУ~2£ S ,.j . і (_х)>
і
(/-2 )! р 0s;-JЛ
(10.46)
dt. (10.47)
Напишем формулы для расчета первых четырех площадей:
00
1) St = j(k-H(t))dt.
(10.48)
После определения найдем вспомогательную переменную т, по
которой выполняется дальнейшее интегрирование:
(10.49)
0О
3) S2 = S,2J(* - #(/))( 1- т)dv,
О
(10.50)
4) S3 = S}|(* - Я(/))^1 - 1c +
(10.51)
5) S4 - S f jj(* -
+
£ ) A.
(10.52)
Затем определяем значения коэффициентов: ал - 4^; а* = Ф-;
к
к
S
S
02 = — ; 0| = — При определении коэффициентов может полу/с
вС
читься так, что их значения для высших порядков близки к нулю или
отрицательные. В этом случае можно их оібросить и аппроксимиро­
вать передаточную функцию низшим порядком.
Прткф
Выполним параметрическую идентификацию методом Симою
объекта, параметры которого известны заранее. Возьмем для при­
мера объект второго порядка:
■ ( » + ■ ) № ,+ о -
<10Я)
Примем: К = 2;Т] = 3'1 Т2= 5.
Сначала в программе идентификации построим переходный про­
цесс, а затем по нему определим передаточную функцию и ее пара­
метры.
107
Программа параметрической идентификации методом Симою
clear
d=.01;ds“d;
% интервал дискретизации
m=5801; tl=5;t2=3; К1=2;
% параметры объекта
проверки
for i"l:m
yl(i)=Kl*(l-(tl/(tl-t2))*exp(-i*ds/tl)+...
+(t2/(tl-t2))*exp(-i*ds/t2));% вычисление
переходной функции объекта проверки
end
п=4;
% порядок
К«1;% коэффициент передачи
for i=l:m
y(i)=l-yl(i)/Kl; % вычисление ординат
end
s0"symp(y,d,m);
% вычисление площади
sles0;
% присвоение значения площади si
for i=l:m
z(i)*y(i); % присвоение ординат новому
массиву
end
d-d/si; % новое значение интервала дискрет,
for j»2:n
for i=l:m % подготовка к вычислению
площадей
dl-d*i;
switch j
case 2
f-l-dl;
case 3
f-dlA2/2-2*dl+l;
case 4
f=s3/slA3-s2/slA2*dl+dlA2/2-dlA3/6;
otherwise
disp(‘error’)
end
y(i)=z(i)*f;
end
s0»symp(y,d,m); % вычисление площадей
s(j)=s0;
switch j
case 2
s2=s(2)*slA2;
108
case 3
s3=s(3)*slA3;
case 4
s4=s(4)*slM;
otherwise
dispC‘error’)
end
end
Tl=(sl/K);T2=(s2/K); % вычисление параметров
fprintf( *К= %6.2£ Т4=%6.2f T3=%6.3f T2=%6.2f...
Tl*%6.2f\n *,K1,s4/K,s3/K,s2/K,sl/K);
X опред. корней
Tll=.5*Tl+sqrt(TlA2/4-T2);
T22=T1-T11;
fprintf(‘\r K=%6.2f Tll=%6.2£ T22=%6.2f\n\...
K1,T11,T22);
for i«l:m% расчет перех.функц. no вычисл. парам.
у2(і)=К1*(1-(Т11/(Т11-Т22))*...
exp(-i*ds/Tll)+...
+(T22/(Tll-T22))*exp(-i*ds/T22));
end
plot(yl,’k ’),grid on,hold on
% построение
графиков
plot(y2,’k-.’)
Функция интегрирования Симпсона
function s0*symp(y,d,m)
s = 0;
for i=2:2:(m-l)
s=s+(y(d.-i)+4*y(i)+y(i+l));
end
s0=s*d/3;
Результат выполнения программы показан ниже:
»
К= 2.00 Т4= -0.51 Т3=-1.061 Т2= 14.85 Т1= 7.99
К= 2.00 Т11= 5.05 Т22= 2.94
»
В программе было задано определить коэффициенты передаточной
функции 4-го порядка. Два коэффициента высших порядков —отри­
цательные, поэтому отбрасываются, а передаточная функция объекта
будет второго порядка следующего вида:
Щр) = — г - ^ -------------------------------- :•<10.54)
Т2Р +ТіР + \
109
Согласно полученным результатам
Щр)
=
---- (Ю.55)
14,85р + 7,99р +1
„
в е
2
-
■
Чтобы представить передаточную функцию в том виде, как она
задавалась, нужно найти корни характеристического уравнения
(10.54) и разложить на простые множители:
Щр) = (т
*
хіѴ
(7]р + 1)(Г2р+1)
(Ю.56)
Эта процедура выполнена в программе идентификации, и полу­
чены значения коэффициентов характеристического уравнения
(10.54): Г,, = 5,05, Г22 = 2,94. С учетом этого
Щр) ж----------- =----------- .
(5,05р + 1)(2,94/> +1)
(10.57)
Отличие коэффициентов заданных и идентифицированных — во
втором знаке после запятой.
На рис. 10.7 показаны графики переходных процессов, построен­
ные по заданным коэффициентам передаточной функции (пунктир­
ная линия) и по идентифицированным (сплошная линия). Они со­
впадают на основном графике, и только при увеличении (сноска на
рисунке) видно их расхождение.
Рис. 10.7. Сравнение заданной и аппроксимирующей переходных функций
110
10.4. ИДЕНТИФИКАЦИЯ В СИСТЕМЕ MATLAB
Для параметрической идентификации объекта необходимо
сформировать переходную функцию в рабочем пространстве. Для
этого в рабочем пространстве MatLab необходимо сформировать
данные эксперимента каким-либо способом: ввести в командную
строку; скачать из файла, в котором загружены данные экспери­
мента; загрузить в процессе эксперимента.
Дня идентификации формируем два столбца данных: один —для
данных переходной функции, а второй —для данных ступенчатой
функции, состоящий из единиц. Удобно это сделать в одной мат­
рице, поскольку число данных ступенчатой (входной) и переходной
(выходной) функций должно совпадать.
Запуск графического интерфейса Sistem identification выполняется
командой ident из режима командной строки. На экране появляется
диалоговое окно интерфейса (рис. 10.8). В верхнем левом углу диало­
гового окна в раскрывающемся списке Data (данные) выбираем вари­
ант «Import». Эго приведет к открытию нового окна, в котором нужно
указать имена входных (поле Input) и выходных данных (поле Output)
(рис. 10.9). В поле Simp, interv (Интервал дискретизации) введем его
значение, которое использовалось при получении переходной
функции. В поле Data name (Имя данных) напечатаем имя данных.
В поле Starting time укажем начальное время переходной функции.
Рис. 10.8. Диалоговое окно интерфейса Sistem identification
111
Обычно это 0. В поле Notes (Приме­
чания) можно ввести пояснитель­
ный текст, который напомнит при
следующей сессии работы о произ­
DMa
УІ
веденных действиях. Нажимаем
ЛКМ на кнопку Import, а затем за­
кроем окно импорта данных кноп­
кой Close. Эти действия приведут
ТТЛ*V"
к появлению в левом углу окна ин­
*№■; I
терфейса значка в виде цветной ли­
UUtoUbv 1
нии с присвоенным именем. Сооб­
щения о введенных данных появля­
IWt'иInfomrtion
ются также в значках Wjrking data
(Рабочие данные) и \fclidation data
Dtffrnatter
1nydata
(Данные для оценки модели). Гра­
,МПКГ;'
[1
фики введенных данных можно по­
t•
*'ѵ •V
Snp.fta№:
смотреть, установив флажок Time
И
plot
(Временной
график)
в
левой
Ш
1
нижней части окна интерфейса.
В строке заголовка окна устанавли­
:І І И 1
mm
1
вается
начальная
нумерация
сигна­
Ш
Ш
Л
’
*
'
Ом#' 1
УШ 1
лов х и у. В этом окне можно прово­
дить предварительную обработку
Рис. 10.9. Окно ввода данных
введенных д анных.
Если это не переходная функ­
ция, а реакция объекта на случай­
ное возмущение, то можно убрать среднее значение, выделить для
идентификации желаемый участок эксперимента, увеличить изобра­
жение и применить автоматическое масштабирование.
Для идентификации объекта нужно перетянуть данные в рабочую
область в центре интерфейса (Wbrking Data). Здесь мы можем получить
информацию об этих данных, а также изменить имя. Для этого щелкнем
ЛКМ на соответствующем значке в группе Data Views. Появится диало­
говое окно, в котором можно изменить старое имя и цвета линий.
Из списка Preprocess можно выбрать вариант Select Rang (Выбор
диапазона) и в открывшемся диалоговом окне выбрать необходимый
временной диапазон (Time span) и нажать кнопку Insert (вставить).
Закроем окно и перетащим данные с помощью ЛКМ в область
^lidation Data.
Если на любом из этапов была допущена ошибка, для удаления
неправильных данных нужно перетащить их ЛКМ на значок Trash
(Мусор).
Приступаем к оценке модели. Для этого нажимаем на Estimate
(Оценивание). В открывающемся списке можно выбрать способ
Ill
Г
I \ [ >' t •
цу
-
‘
112
оценки, задать дополнительные условия. Выберем вариант парамет­
рической модели (Parametric models). Открывается диалоговое окно,
в котором по умолчанию предлагается модель типа ARX (AutoRegressiv with external input) с параметрами m = 4, nb = 4, nk = 1 (na —
порядок знаменателя, nb — порядок числителя, nk — наличие запа­
здывания nk • Т). Можно согласиться или не согласиться с этими
данными. Можно выбрать другую параметрическую модель, напри­
мер в области пространства состояний (State Space). После нажатия
кнопки Estimate окно закрываем, а в основном окне интерфейса
в правой части вида моделей (Model Views) появится значок, означа­
ющий, что модель построена.
Чтобы увидеть результат, нажмем на флажок Transient resp.
(Transient respons —переходная функция) и увидим в появившемся
окне график переходной функции.
Можно исследовать этот график, увеличивая его или отдельные
части ірафика, изменяя сетку, цвета и тл. Оценить качество полу­
ченной модели можно, сравнивая ее с моделями других видов. Вос­
пользовавшись редактором порядка модели (Order Editor), зададим
для нашей модели па = 2, nb = 2, nk ш 1 и повторим операцию оце­
нивания. При этом появится еще один значок с именем «агх221».
Можно получить еще одну модель, отличающуюся порядком урав­
нения.
Для сравнения полученных моделей построим их переходные
функции, активизируя окно Transient resp. В нем будут отражены
различными цветами графики всех построенных моделей. Щелчок
ЛКМ на любом из графиков приводит к его исчезновению, а по­
вторный щелчок —к появлению. Двойное нажатие открывает окно
с информацией о модели. Оставляя в окне по одному графику, можно
увидеть 99%-й доверительный интервал. Для этого нужно активизи­
ровать команду Show 99% confidence intervals (показать 99%-й дове­
рительный интервал) из меню Option. Просматривая последова­
тельно переходные процессы для всех моделей, можно выбрать наи­
лучший. При равных результатах выбирается более простая модель!
Еще можно выбрать лучшую модель по среднеквадратичному рас­
согласованию. Для этого активизируем графическое окно Model
output. Флажок этого окна расположен в средней нижней части окна
интерфейса. В левой части окна приводятся выходы объекта и ука­
занных моделей, а в правой — величины, отражающие меру совпа­
дения (среднеквадратичное рассогласование) экспериментальных
и прогнозируемых данных.
Оценить порядок модели можно еше, выбрав структуру модели
вица State Space. В появившемся окне задания структуры модели по
умолчанию предлагается модель 4-го порядка. Можно с этим согла­
ситься, но можно выбрать и поисковый метод. Для этого в строке
113
Order (Порядок) нужно указать диапазон значений порядка модели,
например 1: 10. Затем нажимаем кнопку Estimate и получим окно
выбора порядка модели. График в окне показывает вклад каждой
составляющей вектора состояния в выходной сигнал модели (они
распределены по оси абсцисс). Значение порядка модели п выбира­
ется таким образом, чтобы столбцы, соответствующие составля­
ющим с номерами больше п, имели бы намного меньшую высоту,
чем столбцы, расположенные слева от них. Затем возвращаемся
в окно задания структуры модели, нажав кнопку Estimate. В резуль­
тате появится новый значок модели с выбранным порядком.
Для сохранения модели ее значок перетаскивается Л КМ в рабочее
пространство системы MatLab. Это область То Wbrkspace в центре
рабочего окна интерфейса. Параметры модели можно увидеть, на­
брав имя модели в командной строке и нажав Enter. Можно еще про­
читать их в появившемся меню после двойного нажатия ЛКМ на
необходимую модель в окне Model View. Затем модель сохраняется
обычной командой сохранения в режиме командной строки.
Можно сохранить все рабочее пространство интерфейса в виде
файла с расширением .sid, при этом в следующей сессии работы за­
гружаются все полученные результаты.
Пример
Для сравнения различных способов идентификации загрузим
данные переходной функции, используя объект, идентифицирован­
ный методом Симою (10.52). Сформируем матрицу из двух столбцов,
в которых располагаются входные (ступенька из единиц) и выходные
(переходная функция) данные.
Строка данных преобразуется в столбец инвертированием: у =у'.
Нажимаем на Estimate (Оценивание). Выберем вариант парамет­
рической модели (Parametric models). Открывается диалоговое окно,
в котором по умолчанию предлагается модель типа ARX с парамет­
рами па ш 4, пЬ ш 4, пк ■ 1.
Можно выбрать команду Order selectin для автоматического вы­
бора порядка передаточной функции. Каждый из коэффициентов
выбирается из диапазона 1—10. После запуска (нажать Estimate) по­
является окно структуры выбора, в котором можно увидеть вклад
коэффициентов передаточной функции в предлагаемую модель. На
рис. 10.10 видно, что основной вклад нашей модели — это второй
порядок. В правой части показаны рекомендуемые значения коэф­
фициентов: па ш 2, nb ш 2, пк * 1. Соглашаясь с предложенной пер­
воначальной моделью, нажимаем ЛКМ Insert. После ввода данных
предложенной модели в основном окне интерфейса идентификации
появляется в первой рамке цветная линия с именем модели «агх221».
114
Рис. 10.10. Выбор структуры модели
Бели JIKM отметить галочкой
команду Model output, появля­
ется окно моделирования выход­
ного сигнала и оценки его совпа­
дения в процентах с эксперимен­
тальными данными. В нашем
случае —100% (рис. 10.11).
При параметрической иден­
тификации необходимо ста­
раться получить модель наи­
меньшего порядка, но которая
удовлетворяла бы заданным ка­
чественным показателям по точ­
ности.
С этой целью снизим порядок
модели: па = 2, nb = 1, пк = 1.
В окне параметрической модели
вводим наши данные и нажи­
маем JIKM Estimate. Во втором
окне интерфейса идентифика­
ции появляется вторая модель
тл:Щ
Рис. 10.11. Сигнал выхода модели
115
в виде линии другого цвета с именем «агх211». В окне моделирования
выходного сигнала появляется линия переходной функции этой мо­
дели в совпадающем цвете и таким же цветом справа сообщается
о проценте совпадения с экспериментальными данными. 8 нашем
случае — снова 100%. Попытаемся снова снизить порядок модели:
па = \,nb= 1, пк = 1. Но в этом случае процент совпадения всего
80,5%. Эту модель отвергаем. Нажимая ЛКМ на ту или иную модель,
можно ее включать и выключать на графиках переходных процессов
выходной модели. Наименьший порядок модели, удовлетворяющий
нашим требованиям, —второй, т.е. «агх211».
Перетаскиваем еі с помощью Л КМ в рамку То Wbrkspace, заме­
чая, что она мигнула красным цветом. Если там уже была модель
с таким же именем, рамка будет светиться красным цветом и по­
явится вопрос на замену модели.
Если нажать два раза Л КМ на имя модели, появляется окно дан­
ных этой модели, где можно увидеть коэффициенты числителя
и знаменателя передаточной функции этой дискретной модели. Эти
же коэффициенты можно увидеть, набрав имя модели в командной
строке, конечно если она была введена в рабочее пространство, как
указано выше. После ввода появляется сообщение:
» агх211
Discrete-time IDPOLY model: A(q)y(t) ■ ...
= B(q)u(t) + e(t)
A(q) - 1 - 1.995 qA-l + 0.9947 qA-2
B(q) « 1.33e-005 qA-l
Estimated using ARX from data set da
Loss function 2.25831e-030 and FPE 2.26064e-030
Sampling interval: 0.01
»
Дискретную форму ARX-модели можно привести к непрерывной
передаточной функции командой «d2c»:
» w=d2c(arx211)
Continuous-time IDPOLY model: A(s)y(t) = ...
= B(s)u(t) + C(s)e(t)
A(s) = sA2 + 0.5333 s + 0.06667
B(s) = 0.0006661 s + 0.1333
C(s) - sA2 + 150.4 s + 1.003e004
Estimated using ARX from data set da
Loss function 2.25831e-030 and FPE 2.26064e-030
»
lie
Передаточную функцию определяем при нулевых начальных
условиях, поэтому C(s) не учитываем. Первый коэффициент числи­
теля можно отбросить, поскольку он меньше остальных на три по­
рядка. Находим
0 1333
Щр) = -5—
----------•
р + 0,5333/> + 0,06667
<10-58>
Если все коэффициенты разделить на 0,06667, то получим
1 9994
W{p) = ---------- ----------------- .
1 4 ,9 9 9 3 + 7,9991/» +1
(10.59)
Передаточные функции (10.55) и (10.59) совпадают в пределах
малой погрешности. Чтобы полученную передаточную функцию
(10.59) разложить на простые множители, найдем корни ее характе­
ристического уравнения. Получаем 4,9981 и 3,0010. После их округ­
ления запишем передаточную функцию в виде
= (5р+
« — 1)(3/»
А *
. . и1) +
Она полностью совпадает с заданной (10.53)
<1 ( Ш >
11
ПРОВЕРКА МОДЕЛИ НА АДЕКВАТНОСТЬ
После получения модели объекта она проверяется на адекват­
ность. Адекватность модели (от лат. adaequatus — приравненный,
равный) — это совпадение свойств модели и соответствующих
свойств моделируемого объекта. Оценка адекватности модели —про­
верка соответствия модели реальной системе. Оценка адекватности
модели реальному объекту оценивается по близости результатов рас­
четов экспериментальным данным.
Для оценки гипотезы об адекватности модели существует не­
сколько критериев: критерий Фишера, критерий Стыодента и др.
Выбор того или другого критерия зависит от статистических свойств
выходного сигнала моделируемого объекта.
11.1. КРИТЕРИЙ АДЕКВАТНОСТИ ФИШЕРА
После вычисления коэффициентов модели необходимо про­
верить ее на достоверность, т.е. на ее пригодность. Проверить адек­
ватность модели — значит установить, насколько хорошо модель
описывает реальные процессы, происходящие в системе, насколько
качественно она будет прогнозировать развитие данных процессов.
Проверка адекватности проводится на основании некоторой экспе­
риментальной информации, полученной на этапе функциониро­
вания системы или при проведении специального эксперимента,
в ходе которого наблюдаются интересующие процессы.
Методика проверки достоверности модели была разработана Фи­
шером. Заключается она в том, что отыскивается значение критерия
Фишера и сравнивается с табличным: если это значение меньше таб­
личного, то модель принимается.
Критерий адекватности Фишера относится к группе параметри­
ческих критериев, поэтому, прежде чем его применять, нужно Ц е­
диться в том, что исслсдусмые выборки подчиняются нормальному
(гауссовому) закону распределения. Чтобы это проверить, можно
применять следующие методы:
1) в пределах осей можно нарисовать полигон частоты (эмпири­
ческую функцию распределения) и кривую нормального распреде­
ления на основе данных исследования. Сравнивая формы кривой
нормального распределения и графика эмпирической функции рас­
пределения, можно выяснить те параметры, которыми последняя
кривая отличается от первой;
2) вычисляется среднее, медиана и мода и на основе этого оп­
ределяется отклонение от нормального распределения. Если мода,
118
медиана и среднее арифметическое друг от друга значительно не от­
личаются (симметричный ірафик), мы имеем дело с нормальным
распределением. Если медиана значительно отличается от среднего,
то мы имеем дело с асимметричной выборкой;
3) эксцесс кривой распределения должен быть равен нулю. Кри­
вые с положительным эксцессом значительно вертикальнее кривой
нормального распределения. Кривые с отрицательным эксцессом
являются более покатистыми по сравнению с кривой нормального
распределения;
4) после определения среднего значения распределения час­
тоты и стандартного отклонения находят следующие четыре ин­
тервала распределения, сравнивают их с действительными дан­
ными ряда:
а) у = ±0,3о — к интервалу должно относиться около 25% ча­
стоты совокупности;
б) у = ±0,7© — к интервалу должно относиться около 50% ча­
стоты совокупности;
в) у = ±І,Іа — к интервалу должно относиться около 75% ча­
стоты совокупности;
г) у = ±Зо —к интервалу должно относиться около 100% частоты
совокупности.
Обычно в инженерной практике как ошибку модели рассматри­
вают стандартное (среднеквадратичное) отклонение а (а2= Д). Дис­
персия —среднее значение квадрата отклонения:
д - і &
/=| и
#
-
(ПЛ)
1
Для нормально распределенных процессов 66% точек находится
в пределах одного стандартного отклонения от модели, 95% —
в пределах двух стандартных отклонений.
Стандартное отклонение —важный показатель для решения во­
проса о достоверности модели. Большая ошибка может означать, что
модель не соответствует процессу, который послужил источником
экспериментальных данных. Однако большая ошибка модели может
быть вызвана и другой причиной: большим разбросом данных изме­
рений. Статистическая ошибка возникла из-за малого числа опытов.
В этом случае, возможно, потребуется взять большее количество вы­
борок.
Для проверки достоверности принимают следующие допущения.
1.
Входной параметр х измеряется с пренебрежимо малой ошиб­
кой по сравнению с ошибкой при измерении у (х — величина неслу­
чайная). При измерении у большая ошибка возникает из-за наличия
в каждом процессе невыявленных переменных.
119
2. Результаты измерения величины у распределены по нормаль­
ному закону.
3. При проведении эксперимента с объемом выборки п каждый
опыт повторяют т раз. При этом выборочные дисперсии должны
быть однородны:
Уп Уп
Уц ••• Уѵ
Уі\
Ун
Уп
Уп
Уп\
Угіі
•••
У\т
-
Уіт Уг
Уу
•••
Уці
И
Уіт Уі
•••
Унт
Находим среднее значение каждого опыта
_
1т
уі = - 2 >
тм
(11.2 )
дисперсия адекватности равна
Мад
т ^(у,-уі)
_ м ______
п -1
(11.3)
где Уі — среднеезначениеопыта; Уі — значениеу но принятой модели (рас­
считанное по передаточной функции); т — число повторений 1 опыта;
л — число выборок; /— число коэффициентов в уравнении регрессии;
(л-1) — число степенейсвободыдисперсии адекватности.
Рассчитываем дисперсию воспроизводимости:
Л
ДВОСП
_
01
м
п • (т -1 )
_____________________
(11.4)
где(яі— 1)— число степенейсвободыдисперсии воспроизводимости.
F =
_
Дад
д
ВОСП
120
критерий Фишера.
(11.5)
Критические значения критерия Фишера находятся по величинам
А, — это число степеней свободы большей дисперсии (верхняя
строчка табл. 11.1) и кг —это число степеней свободы меньшей дис­
персии (левый столбец таблицы). Полученное число F сравнивают
с табличным и делают вывод о достоверности модели: если F меньше
табличного, то модель достоверна.
Таблица 11.1
Часть таблиы значеяий критерия Фивера [10, с. 4(7]. Уровень значимости а = 0,05
к2
1
2
3
4
5
6
7
8
9
10
15
1 161,45 199,50 215,71 224,58 230,16 233,99 236,77 238,88 240,54 241,88 245,95
2 18,31 19,00 19,16 19,25 19,30 19,33 19,35 19,37 19,38 19,40 19,43
3 10,13 9,55
9,28
9,12
9,01
8,94
8,89
8,85
8,81
8,79
8,70
4
7,71
6,94
6,59
6,39
6,26
6,16
6,09
6,04
6,00
5,96
5,86
5
6,61
5,79
5,41
5,19
5,05
4,95
4,88
4,82
4,77
4,74
4,62
б
5,99
5,14
4,76
4,53
4,39
4,28
4,21
4,15
4,10
4,06
3,94
7
5,59
4,74
4,35
4,12
3,97
3,87
3,79
3,73
3,68
3,64
3,51
8
5,32
4,46
4,07
3,84
3,69
3,58
3,50
3,44
3,39
3,35
3,22
9
5,12
4,26
3,86
3,63
3,48
3,37
3,29
3,23
3,18
3,14
3,01
10 4.96
4.10
3.71
3,48
3,33
3,22
3,14
3,07
3.02
2,98
2,85
11 4,84
3,98
3,59
3,36
3,20
3,09
3,01
2,95
2,90
2,85
2,72
12 4,75
3,89
3,49
3,26
3,11
3,00
2,91
2,85
2,80
2,75
2,62
13 4,67
3,81
3,41
3,18
3,03
2,92
2,83
2,77
2,71
2,67
2,53
14 4,60
3,74
3,34
3,11
2,96
2,85
2,76
2,70
2,65
2,60
2,46
1S 4,54
3,68
3,29
3,06
2,90
2,79
2,71
2,64
2,59
2,54
2,40
16 4,49
3,63
3,24
3,01
2,85
2,74
2,66
2,59
2,54
2,49
2,35
17 4,45
3,59
3,20
2,96
2,81
2,70
2,61
2,55
2,49
2,45
2,31
18 4,41
3,55
3,16
2,93
2,77
2,66
2,58
2,51
2,46
2,4!
2,27
19 4,38
3,52
3,13
2,90
2,74
2,63
2,54
2,48
2,42
2,38
2,23
20 4,35
3,49
3,10
2,87
2,71
2,60
2,51
2,45
2,39
2,35
2,20
121
Если эксперимент проводится без параллельных опытов, то дис­
персии воспроизводимости нет. Качество аппроксимации можно
оценить, сравнив дисперсию адекватности и дисперсию среднего:
Я
1{у, - Я)
=
— ;
(11.6)
,
S(>i - у?
—
;
<
/,= ^ 2 1 .
1
1
7
)
(11.8)
Дер
Сравнивают f , с табличным значением при числе степеней сво­
боды в числителе кх = п — 1, в знаменателе к2 = п —1. Считают, что
уравнение регрессии предсказывает результаты опытов лучше сред­
него, если /■[ достигает или превышает границу значимости при вы­
бранном уровне значимости р (обычно принимают/» ■ 1- q - 5%). То
есть / ’-критерий Фишера показывает, во сколько раз уравнение ре­
грессии предсказывает результаты опытов лучше, чем среднее у.
П р те р
После включения нагревателя через каждую минуту проводились
измерения температуры, которые приведены в табл. 11.2.
Таблица 11.2
122
22,91
24,09
23,87
25,78
27,05
28,94
31,38
32,23
35,16
35,15
34,37
35,85
36,24
38,44
38.13
40,15
41,47
40,66
40,37
41,15
39,93
41,37
41,15
40,54
40,29
41,55
43,36
41,25
41,17
41,20
41,79
43,84
43,03
43,34
41,56
42,31
42,97
42,66
43,22
44.01
43,99
44,95
42,75
43,56
44.07
43,20
43,12
43,75
41,95
41.99
По данным таблицы выполнена параметрическая идентификация
в программе MatLab. Процедура идентификации рассмотрена выше
в разделе 10. В результате получена передаточная функция объекта
следующего вида:
ЩР) = —
---715р +1 р +1
<П-9>
Используя передаточную функцию (11.9), построена таблица зна­
чений переходной функции (табл. 11.3) с таким же количеством дан­
ных и с одинаковым интервалом дискретизации, как и в табл. 11.2.
Таблица 11.3
22,35
23,22
24,40
25,76
27,19
28,62
30,00
31,32
32,54
33,68
34,71
35,65
36,49
37,25
37,92
38,53
39,06
39,54
39,95
40,32
40,65
40,94
41,19
41,41
41,61
41,78
41,93
42,06
42,18
42,28
42,37
42,45
42,52
42,58
42,63
42,68
42,72
42,75
42,78
42,81
42,83
42,85
42,87
42,89
42,90
42,91
42,93
42,93
42,94
42,95
Проверим полученную модель на адекватность, применяя крите­
рий Фишера. Но сначала нужно убедиться в том, что исследуемые
выборки таблиц подчиняются нормальному (гауссовому) закону рас­
пределения. Вычислим среднее значение, медиану, моду и эксцесс
кривой распределения, пользуясь возможностями программы
MatLab.
Среднее значение рассчитывается по формуле
У=
я>і
“ Я-
(НЛО)
Программа MatLab позволяет этот расчет выполнить одной ко­
мандой mean в командной строке или в М-файле:
123
» ml=mean(y)
ml =
0.3478
Дисперсией случайной величины называется математическое ожи­
дание квадрата отклонений этой величины от ев математического
ожидания. Дисперсия рассчитывается по формуле
Д = І (* ~ ^ ) .
%
( ii.li)
«-1
Этот же расчет в программе MatLab выполняется командой «ѵаг»:
» m 4-var(y)
гл4 в
0.8946
»
Среднеквадратичное отклонение, или стандартное отклонение,
равно корню квадратному из дисперсии случайной величины:
= >/Д.
(11.12)
Команда для расчета среднеквадратичного отклонения —std:
» m 3=std(y)
m3 =
0.9458
»
Медиана делит рад на две равные (по числу единиц) части — со
значениями признака меньше медианы и со значениями признака
больше медианы. Медиана — это полусумма срединных значений
ранжированного ряда. Нахождение медианы в интервальных вариа­
ционных рядах требует предварительного определения интервала,
в котором находится медиана, т.е. медианного интервала; этот ин­
тервал характеризуется тем, что его кумулятивная (накопленная)
частота равна полусумме или превышает полусумму всех частот ряда.
Рассчитывается по формуле
s
°Ме-1
Ме = Д ,е + /»ме •
/Мс
.
(1113)
где уш —нижняя Гранина медианного интервала; йМс —величина медианною
интервала; ^Мс_, —сумма накопленных частот интервала, предшествующего
медианному интервалу;/Мс —локальная частота медианного интервала.
124
В MatLab расчет медианы выполняется командой median:
» m2=median(y)
m2 =
0 .3 0 1 2
Показатель эксцесса (£) рассчитывается по следующей формуле:
Л
-ч 4
и- о
-3 ,
(11.14)
где Е — показатель эксцесса; а —среднеквадратичное отклонение; у —сред­
нее арифметическое; п — число измерений параметра; ys — измеренное зна­
чение на /-м шаге.
Расчет эксцесса показал, что он равен нулю:
ек=0.00
Исследования показывают, что рассчитанные значения среднего
и медианы да, = 0,3478, т 2 = 0,3012 близки друг к другу; кроме того,
и показатель эксцесса равен нулю. Значит, исследуемый процесс от­
носится к нормальному гауссовскому распределению.
Кроме того, в MatLab имеется возможность построить гисто­
грамму рассматриваемых статистических данных, используя команду
hist, с возможностью указать, какое количество интервалов исполь­
зовать. В нашем случае —S0:
» hist(у, 50)
На рис. 11.1 вид гистограммы еще раз свидетельствует о том, что
распределение данных является нормальным и можно воспользо­
ваться критерием Фишера.
-2,5 -2,0-1,5 -1,0 -0,5
0
о,5 1,0
Рис. 11.1. Гистограмма
125
В программе по формулам (11.6), (11.7) и (11.8) рассчитаны дис­
персия адекватности, дисперсия среднего и показатель критерия
Фишера:
Дм =0,8501;Дср= 0,8127; F= 1,0461.
По табл. 11.4 для f -критерия при степенях свободы, равных
&, = 50 —3 = 47 и Л2 = 50 —1 = 49,
находим FKpMT= 1,617 (> 1,0461), следовательно, в терминах статисти­
ческих гипотез можно утверждать, что Н0 (гипотеза о сходстве) мо­
жет быть принята на уровне 5%.
На рис. 11.2 показаны переходные процессы: экспериментальный
и полученный в результате аппроксимации по передаточной
функции (11.9).
Наблюдается их хорошее совпадение.
Таблица 11.4
Зшпешк /-критерия Фишера цш уровне значимости Л0,Ф5 (часть)
V
1
46
47
48
49
50
1
4,0517486921 4,0470998946 4,0426521286 4,0383926337 4,0343097068
2
3,1995817059 3.1950562807 3,1907273359 3,1865823524 3,1826098520
3
2,8068449288 2,8023551761 2,7980606354 2,7939488516 2,7900084064
4
2,5740350252 2,5695400128 2,5652405085 2,5611240339 2,5571791500
»
«»»
*
...
«««
•• •
44
1,6391344629 1,6336104864 1,6283161175 1,6232371757 1,6183606331
45
1,6357332362 1.6301958441 1,6248884149 1,6197967538 1,6149078194
46
1,6324638641 1,6269133952 1,6215932334 1,6164891698 1,6115881501
47
1,6293186956 1,6237554762 1,6184228970 1,6133067359 1,6083939262
48
1,6262906682 1,6207150123 1,6153703194 1,6102423548 1,6053180394
49
1,6233732516 1,6177854616 1,6124289478 1,6072894627 1,6023539159
50
1,6205603981 1,6149607657 1,6095927129 1,6044419806 1,5994954668
126
11.2. КРИТЕРИЙ СТЬЮДЕНТА (7-КРИТЕРИЙ)
Критерий позволяет найти вероятность того, что оба средних
значения в выборке относятся к одной и той же совокупности. Дан­
ный критерий наиболее часто используется для проверки гипотезы:
«Средние двух выборок относятся к одной и той же совокупности»
(табл. 11.5).
При использовании критерия можно выделить два случая:
а) первый случай, коща проверяется гипотеза о равенстве гене­
ральных средних двух независимых, несвязанных выборок (так на­
зываемый двухвыборочный г-критерий). В этом случае имеется
контрольная группа и экспериментальная (опытная) группа, коли­
чество испытуемых в группах может быть различно;
б) во втором случае, когда одна и та же группа объектов порож­
дает числовой материал для проверки гипотез о средних, использу­
ется так называемый парный /-критерий. Выборки при этом назы­
вают зависимыми, связанными.
1.
Случай независимых выборок
Статистика критерия для случая несвязанных, независимых
выборок равна
'эмп = ~ ~ ~ >
(11-15)
где х ьу — среднее арифметическое в экспериментальной и контрольной
іруппах; ох_у —стандартная ошибка разности средних арифметических.
127
ох_у находится из формулы
Л] + «2 - 2
ъ)
где я, и и2 —соответственно величины первой и второй выборок.
Если число выборок было одинаковым, я, = п2, то стандартная
ошибка разности средних арифметических будет считаться по более
простой формуле:
(л, - 1) • Л
где п — величина выборки.
Подсчет числа степеней свободы осуществляется по формуле
к =л, +л2—2.
(11.18)
При численном равенстве выборок к = 2п — 2.
Таблица 11.5
Критические значения коэффхцвеета Стьидата (/-крктерш) для разлшой
доверительной вероятностир ичисла степенейсвободы/
/
128
Р
0,80
0,90
0,95
0,98
0,99
0,995
0,998
0,999
1
3,0770 6,3130 12,7060 31,820 63,656 127,656 318,306 636.619
2
1,8850 2,9200 4,3020
6,964
9,924
14,089 22,327 31,599
3
1,6377 2,35340 3,182
4,540
5,840
7,458
10,214
12,924
4
1,5332 2,13180 2,776
3,746
4,604
5,597
7,173
8,610
5
1,4759 2,01500 2,570
3,649
4,0321
4,773
5,893
6,863
б
1,4390
1,943
2,4460 3,1420
3,7070
4,316
5,2070
5,958
7
1,4149
1,8946 2,3646
3,4995 4,2293
4.785
5,4079
8
1,3968
1,8596 2,3060 2,8965
3,3554
4,5008 5,0413
9
1,3830
1,8331
10
1,3720
1,8125 2,2281
2,7638
3,1693
3,5814 4,1437 4,5869
И
1,363
1,795
2,718
3,105
3,496
2,998
2,2622 2.8214
2.201
3,832
3,2498 3,6897 4,2968
4,024
4,780
4,437
Окончание табл. 11.5
Р
/
0,80
12
1,3562
0,90
0,95
0,98
1,7823 2,1788 2,6810
0,995
0,998
0.999
3,0845 3,4284
3,929
4,178
—
—
3,1455
3,3566
0,99
—
—
ISO
1,2872
1,6551
1,9759 2,3515
2,6090 2,8482
200
1,2858
1,6525
1,9719 2,3451
2,6006 2,8385 3,1315 3,3398
250
1,2849
1,6510
1,9695 2,3414
2,5966 2,8222 3,1232
300
1,2844
1,6499
1,9679 2,3388 2,5923
400
1,2837
1,6487
1,9659 2,3357
2,5882 2,8227 3,1107 3,3150
500
1,2830
1,6470
1,9640 2,3330
2,7850 2,8190
—
—
—
—
3,3299
2,8279 3,1176 3,3233
3,1060 3,3100
Далее необходимо сравнить полученное значение /эмп с теорети­
ческим значением /-распределении Стьюдента (см. приложение
к учебникам статистики). Если /эмп < /кр|п, то гипотеза Н0 принима­
ется; в противном случае нулевая гипотеза отвергается и принима­
ется альтернативная гипотеза.
Рассмотрим пример использования /-критерия Стьюдента для
несвязных и неравных по численности выборок.
Пример
Сравниваются две группы станков, одна из которых оборудована
регулятором натяжения. Подсчитывается количество обрывов за
смену на каждом из станков.
Получены результаты, показанные в табл. 11.6.
Общее количество членов выборки: я, - 11; пг - 9.
Расчет средних арифметических: AL = 13,636; К , = 9,444.
Стандартное отклонение: ах = 2,460; о = 2,186.
Таблица 11.6
Результатыэксперимента
Первая группа (контрольная)
/Vj = 11 станков
Вторая группа (экспериментальная),
оборудованная регуляторами:
N2=9 станков
12 14 13 16 И 9 13 15 15 18 14
13 9 И 10 7 6 8 10 11
129
По формуле (11.16) рассчитываем стандартную ошибку разности
арифметических средних:
(н ь
.60,545 + 38,222 . . . , . ___
= ^ ц + 9 - 2 ---- 1тт + - | = 1,053.
...
(11.19)
Считаем статистику критерия:
13,636 - 9,444
'эш, =
= 3,981.
1,053
(11.20)
Сравниваем полученное в эксперименте значение t с табличным
значением с учетом степеней свободы/=11 + 9 —2=18.
Табличное значение
равняется 2,009 при допущении возмож­
ности риска сделать ошибочное суждение в пяти случаях из ста (уро­
вень значимости = 5%, или 0,05).
Если в эксперименте /ЭШІ= 3,981, табличное t = 2,1009,3,9 > 2,1, то
имеем достоверные различия средних арифметических; значит, есть
основания принять альтернативную гипотезу Н{о том, что станки,
оборудованные регуляторами натяжения, обладают преимуществом.
А если полученное в опыте значение /ЭМ| окажется меньше таб­
личного, тогда надо принять нулевую гипотезу, т.е. регуляторы себя
не оправдали.
Конечно, здесь можно было ошибиться в пяти случаях из ста (р —
= 0,05), т.е. эксперимент мог быть одним из этих пяти случаев. Но
95% возможных случаев говорит в пользу альтернативной гипотезы,
а это достаточно убедительный аргумент в статистическом доказа­
тельстве.
Если бы мы поменяли местами в таблице контрольную и экспе­
риментальную группы, то рассматривалась бы гипотеза Н0 о преи­
муществе экспериментальной группы:
9,444 -13,636
*»мп =
.
= -3,981.
1,053
(11.21)
Отсюда следует вывод, что принимается гипотеза Н0 (достовер­
ных различий средних арифметических нет), т.е. станки с регулято­
рами проявили себя с хорошей стороны. Поскольку абсолютное
значение 3,9811 > 2,1, тем более влиятельна гипотеза Н0 о преиму­
ществе станков, оборудованных регуляторами натяжения.
2.
Случай связанных (парных) выборок
В случае связанных выборок с равным числом измерений
в каждой можно использовать более простую формулу /-критерия
Стьюдента.
130
Вычисление значения t осуществляется по формуле
'эмл =
ще d — среднее разностей di =
переменной х и переменной у.
<1L22)
—у1между соответствующими значениями
Sd вычисляется по следующей формуле:
&/ = ! ------------- *— .
и »•<*“ 1)
(11.23)
'
Число степеней свободы к определяется по формуле к —п — 1.
Рассмотрим пример использования /-критерия Стьюдента для связ­
ных и, очевидно, равных по численности выборок.
Если /эмп < t , то нулевая гипотеза принимается, в противном
случае принимается альтернативная.
Пример
На группе из десяти станков с ЧПУ заменили шаговый привод
подачи инструмента на вентильный. Изучалась производительность
станков с целью проверки эффективности их работы до начала экс­
перимента и после. В табл. 11.7 приводятся результаты изготовления
целых деталей за смену каждым из станков.
Таблица 11.7
Результатыэссоерниеята
Число деталей
Станки
(п = 10)
Вспомогательныерасчеты
до начала
в конце
эксперимента (Л) эксперимента ( Y)
d
d2
1
14
18
4
16
2
20
19
-1
1
3
15
22
7
49
4
11
17
6
36
5
16
24
8
64
6
13
21
8
64
131
Окончание табл. JL5
Число деталей
Станки
</»= 10)
Вспомогательныерасчеты
до начала
в конце
эксперимента (Л) эксперимента ( У)
d
d2
7
16
25
9
81
8
19
26
7
49
9
15
24
9
81
10
9
15
6
36
I
148
211
63
АП
Среднее
14,8
21,1
Произведем расчет до среднего значения разностей:
Ь
d =
.
10
= 6,3.
(11.24)
Затем, применив формулу (11.23), получим
. . . 63 • 63
477 -
И наконец, применяя формулу (11.22), получим
4
= 5 ^ 5 - 6'678
<п '26>
Число степеней свободы к — 10 —1 = 9. В табл. 11.5 при р —0,95
находим
—2,2622. Так как экспериментальное /эмп = 6,678 >
>f
= 2,2622, следует возможность принятия альтернативной ги­
потезы Н, о достоверных различиях средних арифметических; зна­
чит, надо сделать вывод об эффективности экспериментального воз­
действия, в нашем случае замены привода на более эффективный.
В терминах статистических гипотез полученный результат будет
звучать так: на 5%-м уровне гипотеза Н0отклоняется и принимается
гипотеза Н,.
12
МОДЕЛИ В ПРОСТРАНСТВЕ СОСТОЯНИЙ
Пространство состояний — в теории управления один из ос­
новных методов описания поведения динамической системы. Дви­
жение системы в пространстве состояний отражает изменение его
состояний.
В пространстве состояний создается модель динамической сис­
темы, включающая набор переменных входа, выхода и состояния,
связанных между собой дифференциальными уравнениями пер­
вого порядка, которые записываются в матричной форме. В отли­
чие от описания в виде передаточной функции и других методов
частотной области пространство состояний позволяет работать
не только с линейными системами и нулевыми начальными усло­
виями.
Уравнение модели системы в пространстве состояний имеет сле­
дующий вид:
х = Ах(/) + Ви(і);
№ = Сх(/) + Dw(f),
( 12. 1)
где А — матрица системы; В — матрица управления; С — матрица выхода;
D — матрица прямой связи; х — вектор состояния, элементы которого назы­
ваются состояниями системы; у —вектор выхода; и — вектор управления.
Матрица D чаще всего бывает нулевой; это означает, что в системе
сигнал со входа на выход не подается. Поэтому эта матрица называ­
ется матрицей обхода.
Переход в пространство состояний модели можно осуществить
из структурированной непрерывной, заданной соответствующей пе­
редаточной функцией.
Пример
Задана передаточная функция модели второго порядка:
Выполним обратное преобразование Лапласа, т.е. напишем диф­
ференциальное уравнение в обычной форме:
(12.3)
133
Выделим старшую производную и последовательно запишем под
этой строкой выражения для всех младших производных. Для удоб­
ства получения коэффициентов матриц запись произведем так,
чтобы переменные одного и того же порядка находились бы в одном
столбце:
х = -5 -г - у + иг,
dt
(12.4)
at
X = ••-у.
При такой записи легко выделить прямыми линиями векторы
состояния, векторы входа и векторы выхода. Получились прямо­
угольники, в которых находятся все необходимые нам матрицы, по­
казанные на рис. 12.1.
*2
1
—5d yfd t—y
dy I dt + О
A=
+U
-5 -1
1 0
1
B=
0
+0
C= 0 1
К
JC=
О+ y
+0
D=0
n
Рис. 12.1. Матрицы уравнения 2-го порядка
Размерности матриц могут быть различные, но, как видно из
рис. 12.1, матрица системы всегда квадратная. Размерности матриц
следующие: А(я * л), В(л * г), С(т * п) и D(/n * г), но она чаще всего
нулевая.
Зная размерности матриц, можно ввести их в рабочее пространство
программы MatLab. В командной строке коэффициенты матрицы
вводятся в квадратных скобках построчно через точку с запятой:
134
» А=[-5 -1;1 0]
А -5 -1
1 0
» В=[1;0]
В =
1
0
» С-[0 1]
С =
0
1
» D=0
D=
0
»
После ввода значений матриц (обратите внимание, что при вводе
матрицы С точки с запятой нет) можно сформировать систему W
в пространстве состояний, записывая имена матриц в круглых скоб­
ках уже через запятую:
» W=ss(A,B,C,D)
а =
хі х2
хі -5 -1
х2 1 0
b ul
ХІ 1
х2 0
С =
хі х2
уі 0 1
d =
ul
yl 0
Continuous-time model.
»
Проірамма MatLab распечатывает значения всех матриц и под­
тверждает, что это непрерывная временная модель.
135
В общем случае, если система порядка п с одним входом и одним
выходом описывается уравнением (12.5), то ее матрицы будут опре­
деляться так, как показано на рис. 12.2:
dny
dn~ly
d2y
dy
а„——+ а. і ---- f +... +
f + a, — + у = и;
2 dt2
dt
я dtn
" 1 л* -1
(12.5)
n _ ^Н-1?.«•>СХЯ n _ о_1_
_1_
L
—
5
0-
0-
17.
Для преобразования передаточной функции непрерывной сис
темы в пространство состояний в системе MatLab имеется спе
-а
п
х„-1 =
d"~'
dt
rf*-‘
dtПI
Л-І
-a
х*-гш
dt
-°пУ
л-І
dn-1
dtЯ-1
dy
х\ =
dt
ii
x—
n
-a , -«2
0
0
II
0
0
0
0
-<h
0 0
1 0
0
1
•*
I
0
A=
0
9
ѣ
л
• »»
0
1
C=[0 0 0 ....... 0 ll;
•
0
Q
о
I9 9
»
D«[0l.
Рис. 12.2. Матрицы уравнения
136
+bu
циальная команда «ss*. Возьмем передаточную функцию (12.2)
и преобразуем в пространство состояний следующими командами:
» w = t f ( l ,[ l 5 1 ])
T ra n sfe r fu n c tio n :
1
sA2 + 5 s + 1
» w l»ss(w )
a =
xl
x2
x l -5 -0 .1 2 5
x2
8
0
b =
ul
x l 0.25
x2 0
с =
x l x2
y l 0 0 .5
d =
ul
yl 0
Замечаем, что коэффициенты матриц отличаются от представ­
ленных на рис. 12.1. Однако если вычислить корни, коэффициент
передачи, определитель, построить переходную функцию, то все
свойства окажутся одинаковыми, т.е. математическими преобразо­
ваниями их можно привести к одному виду.
Имея систему в пространстве состояний, можно легко построить
переходный процесс с необходимыми параметрами и провести ин­
тересующие исследования, такие как:
eig(FP) —вычисление корней характеристического уравнения:
» eig(W )
ans =
-4.7913
-0.2087
»
dcgain(FP) — коэффициент передачи:
» dcgain(W )
ans ■
1
»
137
step(w0,wl,40) — переходная функция (wO.wI — имена объ­
ектов, их два одновременно, 40 — время переходного процесса)
(рис. 12.3):
1,0
0,9
0,8
0,7
|Ѵ Г
/ ;
0,5
0,4
0,3
0,2
0,1
0
10
15
20
25
30
Рис. 12.3. Применение step
»
»
ste p (W ,3 0 ),g rid on
imtial(w,[10;0],40) — начальные условия импульсной характери
стики 110 —по скорости, 0 —по амплитуде выхода], 40 —время про
цесса (рис. 12.4):
12
ю
8
0
10
15
20
Рис. 12.4. Применение initial
138
»
»
in it ia l( W ,[1 0 ;1 0 ],3 0 ) .g r id on
impulse(w) — импульсная характеристика (рис. 12.5)
0.20
Рис. 12.5. Применение impulse
» impulse(W),grid on
»
nyquist(w) —годограф Найквиста (рис. 12.6):
» nyquist(W )
»
0,2
-
- 0,2 -0 ,4 -
0,6
—0,8 ■
-
1.0
-
1,0
-
1,0
-
1,0
-
1,0
-
1,0
-
1,0
-
1,0
-
1,0
1,0
Рис. 12.6. Применение nyquist
139
Переход от передаточных функций к уравнениям состояния с ис­
пользованием структурных схем. Уравнение модели системы в про­
странстве состояний имеет следующий вид:
х = Ах(0 + Ви(0;
y(t) = Сс(0 + D«(/).
(12.6)
Рассмотрим следующую передаточную функцию:
Г ( ,) = Ш = У +5Р + І ,
и(р) р +3р + 4р +1
(12.7)
которую можно представить в виде
W(p) = ^
= f -г ------1----------) • (ір2 + 5р + і).
и(р) {р* + Зрг + 4р + 1) {
1
( 12.8)
Передаточную функцию можно представить в виде двух последо­
вательно соединенных звеньев:
и
1
/>3+ Зр*+ 4р+1
г
гр+5р+\
Операторные уравнения, соответствующие этим звеньям, будут
иметь следующий вид:
+ 3р2 +4 р +1)* = и,
\ір г +5р + 1)* = у.
(12.9)
Разрешим первое уравнение относительно p*z-
( 12.10)
В результате получаем структурную схему, показанную на
рис. 12.7, а.
После преобразования получим схему, показанную на рис. 12.7,6.
Выберем в качестве переменных состояния выходные величины
интеграторов, обозначим через х и напишем относительно них диф­
ференциальные уравнения:
— Здг3 -4*2 -*! +и
p*Z= —3p?z — 4pz —Z + и.
II
.СП
*
*2 =
*3
*1 =
У140
2хг
+5хг
+*!
б
Рис. 12.7. Структурная схема решения уравнений (12.9)
Осюда определим матрицы:
шщ
-3 -4 -1
Г
А= 1 0 0 ; в = 0
0 1 0
0
С = [2 5 11;
D .[0 1
Матрицы А, В, С, D можно получить и другим способом. Переда­
точную функцию (12.6) запишем в следующем виде:
ргу(р) + 3р2у(р) + Аруір) + у(р) - 2р*и(р) + 5ри(р) + и(р). (12.11)
141
Выделим старшую производную и определим уір):
УІР) = Л ( " ( Р ) “ Я Р )) + А ( 5и</>) “ *У(Р))+ ^ (М р ) - Ы
р ))- (12.12)
Вычислить уір) можно, проинтегрировав содержимое в первых
скобках три раза, во вторых —два раза, а в третьих скобках —один
раз. Отсюда получаем структурную схему на рис. 12.8.
х ,-у
Рис. 12.8. Структурная схема решения уравнения (12.12)
Обозначим выходные координаты интеграторов xt, х^, х3как пе­
ременные пространства состояния и определим матрицы А, В, С, D.
Из рис. 12.8 определяем матрицы:
*3 =
*2 = *3
*1 =
У=
*г
+и
+5и
-•*1 +2и'
0 0 -Г
Т
А = 1 0 -4 ; В = 5 9
2
0 1 -3
С = [0 0 1];
D = [0].
(12.13)
Переход от системы, описанной передаточной функцией, к опи­
санию в пространстве состояний может быть неоднозначным. Пере­
даточная функция системы, описанной в пространстве состояний,
определяется однозначно.
142
Выделим старшую производную и определим уір):
У(р) = Л ( " ( Р ) “ Я Р )) + А ( 5и</>) “ *У(Р))+ ^ (М р ) - Ы
р ))- (12.12)
Вычислить уір) можно, проинтегрировав содержимое в первых
скобках три раза, во вторых —два раза, а в третьих скобках —один
раз. Отсюда получаем структурную схему на рис. 12.8.
х ,-у
Рис. 12.8. Структурная схема решения уравнения (12.12)
Обозначим выходные координаты интеграторов xt, х^, х3как пе­
ременные пространства состояния и определим матрицы А, В, С, D.
Из рис. 12.8 определяем матрицы:
*3 =
*2 = *3
*1 =
У-
*г
+и
+5и
-•*1 +2и'
0 0 -Г
Т
А = 1 0 -4 ; в = 5 9
2
0 1 -3
С = [0 0 1];
D = [0].
(12.13)
Переход от системы, описанной передаточной функцией, к опи­
санию в пространстве состояний может быть неоднозначным. Пере­
даточная функция системы, описанной в пространстве состояний,
определяется однозначно.
142
Возьмем стационарную систему с одним выходом и одним вхо­
дом, которая описана в пространстве состояний. Вычислим переда­
точную функцию. При нулевых начальных условиях преобразования
Лапласа обоих уравнений линейной системы имеют следующий вид:
рХ(р) = АХІр) + ВЩр)-,
Y(p) = с а д .
(12.14)
Из первого уравнения, предполагая существование обратной мат­
рицы, имеем
Х(р) = \рЕ - A]-4W(p).
(12.15)
Оператор Лапласа р умножаем на единичную матрицу того же
порядка, что и у матрицы А. Единичная матрица Б, как и коэффици­
ент 1, ничего не меняет, но позволяет выполнять математические
операции над матрицами в скобках.
Например, единичная матрица третьего порядка имеет вид
1 О О
Е= О 1 о
О 0 1
Из второго уравнения получим
Yip) - С[оЕ - А Г 'В Ш .
(12.16)
По определению передаточной функции системы коэффициент
перед Щр) равен самой передаточной функции системы.
Следовательно,
(12.17)
Щр) = С[рЕ - А]-1В.
Для примера возьмем матрицы (12.13) передаточной функции
(12.7):
>
» а=[0 0 -1 ;1 0 -4 ;0 1 -3 ]
а ■
0 0 -1
1 0 -4
0 1 -3
» Ъ [1;5;2]
b =
1
5
2
»
с=[0 0 1]
143
с =
0 0 1
» d=0
d =
0
Определим систему tv(s) в пространстве состояний с этими матри
цами:
» w = s s (a ,b ,c ,d )
а =
х і х2 хЗ
х і 0 0 -1
х2 1 0 - 4
хЗ 0 1 -3
b =
ul
ХІ 1
х2 5
хЗ 2
с =
хі
х2 хЗ
уі 0 0 1
d =
ul
yl 0
C o n tin u o u s-tim e m odel.
Переменную p определим в символьной форме:
»
syms р
Вычислим передаточную функцию по полученной формуле
(12.17):
» w l« c* [p * e-a]A-l* b
wl s
1 /(р Л3+3*рЛ2+4*р+1)+5*р/(рЛ3+3*рЛ2+4*р+1)+2*рЛ2 /
(р л3+3*рл2+4*р+1)
Передаточная функция записана в неудобной для нас форме, по­
этому упростим это выражение с помощью команды simplify:
» w 2 «sim plify (w l)
w2 =
( 1+5*р+2*рЛ2 ) /( р Л3+3*рЛ2+4*р+1)
»
144
Полученная передаточная функция соответствует оригинальной
( 12.6).
П)сп>имеемдвесисіемы: Sl=ss(Al, В1, C l, D1) и S2=ss(A2, В2, С2, D2).
Для их последовательного соединения служит команда series:
S3-series(Sl,S2).
Для их параллельного соединения служит команда parallel:
S 4 = p a r a lle l( S l, S 2 ).
Если соединение с обратной связью, применяется feedback:
S5- feedback(Sl,S2).
Объединение систем выполняется командой append:
» wl«tf(l,[l 5 1])
Transfer function:
1
sA2 + 5 s + 1
» w2=tf(.2,[1 0])
Transfer function:
0.2
s
» w3*ss(wl)
a ■
xl
x2
xl -5 -0.125
x2
8 0
b xl
x2
с -
ul
0.25
0
xl x2
0 0.5
yl
d ■
ul
yl 0
Continuous-time model.
» w4=ss(w2)
a ■
xl
Xl 0
145
b =
ul
x l 0 .5
с =
xl
y l 0 .4
d ul
yl 0
C o n tin u o u s-tim e m odel.
» w5=feedback(w3,w4)
а хі
х2
хЗ
х і -5 -0 .1 2 5 -0 .1
х2
8
0
0
0
хЗ
0
0.25
b =
ul
х і 0.25
х2 0
хЗ 0
с *
x l х2 хЗ
y l 0 0 .5 0
d ul
yl 0
C o n tin u o u s-tim e m odel.
»
»
s te p (w 5 ),g rid on
Для вычисления передаточной функции по формуле (12.16) опре­
делим матрицы (а, Ь, с, d) передаточной функции И^Су) (рис. 12.9):
» a=w5. а
а ■
-5.0000 -0.1250 -0.1 0 0 0
8.0000 0
0
0
0.2500 0
» b=w5.b
b 0 .25 0 0
0
0
146
0,6
0,5
0,4
0,3
0,2
0,1
0
О
10
20
30
40
50
60
Рис. 12.9. Переходная функция №5(5)
» C-W5.C
с =
0 0.5000
» d=0
0
d =
0
Напишем единичную матрицу третьего порядка:
» е=[1 0 0 ;0 1 0 ;0 0 1]
е =
1 0
0
0 1 0
0 0 1
Вычисления произведем в символьной форме:
» syms
» w6=c*Р р * е-а]Л-1*Ь
w6 ■
5 * р /( 5*рЛ3+25*рЛ2+5*р+1)
Сформируем в MatLab передаточную функцию wl по получен
ному результату:
w 7 = tf([5 0 ] ,[ 5 25 5 1 ])
T ra n sfe r fu n c tio n :
5 s
5 s A3 + 25 s A2 + 5 s + 1
Получим график переходного процесса командой step:
» step (w 7 )
Из рис. 12.10 следует, что найденная передаточная функция Wl(s)
из Н5(5), описанной в пространстве состояний, совпадают.
147
0,6
о,
О,
0,3
0,2
0,1
0,1
0
10
20
30
40
50
60
Рис. 12.10. Переходная функция fV7(s)
12.1 МНОГОМЕРНЫЕ СИСТЕМЫ
В пространстве состояний системы MatLab, конечно, удобнее
исследовать многомерные системы. Многомерные системы, в отли­
чие от одномерных, имеют несколько входов и несколько выходов.
Для описания таких систем используются три набора параметров,
три вектора:
1) вектор входных воздействий (управлений);
2) вектор переменных состояний;
3) вектор выходных параметров
и два преобразования:
1) преобразование «входы—состояния»;
2) преобразование «состояния—выходы».
Математический аппарат, разработанный для линейных моделей
многомерных систем в пространстве состояний, обусловил их широ­
кое распространение. Они имеют вид
т =аш о +т т
( 12. 18)
y (t) = С(/)х(0 + D(/M/)
Первое соотношение называется уравнением состояния, второе —
уравнением выхода.
Здесь х •= (Х|, х2, ..., хя) — вектор переменных состояний;
и = (м,, ы2>..., иг) — вектор управлений;
у = (yj, у2, ..., ут) —вектор измеряемых параметров;
t — время;
А(/), В(0, С(/) — матрицы размерности (л * л), (п * г), (т * л)
соответственно.
Предполагается, что известны начальные состояния х(/0) = х0,
где /0—начальный момент моделирования (рис. 12.11).
148
Преобразование
Преобразование
Входы
Система
Рис. 12.11
В отличие от (12Л) модель многомерной системы состоит из мно­
гих векторов управлений и измеряемых параметров. Матрицы могут
зависеть от времени, в таком случае имеем дело с нестационарными
системами. В этом случае необходимо применять уравнения в частных
производных. В дальнейшем будем рассматривать стационарные мно­
гомерные системы.
В системе MatLab имеется целый набор команд, которые позво­
ляют описывать объекты в пространстве состояний, производить раз­
личные их соединения, вычислять для полученных систем матрицы
наблюдаемости и управляемости, строить переходные процессы.
Пусть имеем две системы: SI ■ s s (A l, B l, C l, 01) h S2 =
= ss(A 2, B2, C2, D2).
Для их последовательного соединения служит команда series:
S 3 = s e rie s (S l, S 2 ).
Для их параллельного соединения служит команда parallel:
S4-parallel(Sl,S2).
Если соединение с обратной связью, применяется feedback:
S5* feedback(Sl,S2).
Объединение систем выполняется командой append:
S6= a p p e n d (S l,S 2 ).
Объединяются матрицы систем (не путать с соединением), при­
стыковываются своими диагоналями, а все пустые столбцы и строки
заполняются нулями. Функция append создает объект sys, представ149
ляюший собой объединение всех входящих в нее подсистем. При
этом первый входной сигнал первой системы становится входом
номер 1, второй входной сигнал первой системы — номер 2 и тд.
Затем идут входы второй системы и т.д.; аналогично определяются
и выходы. Рассмотрим пример для S6, показанный на рис. 12.12.
и ши
А2, В2, С2, D2
У і ш У.
Рис. 12.12. Соединение систем
Установление связей в соединении осуществляется командой
connect по определенной форме:
S 7= connect(< sys> ,<Соп>, < іл > , <out>)
(12.19)
Здесь sy s - S6, Con — матрица связей по структурной схеме.
Она формируется по следующему правилу: каждая строка представ­
ляет собой один вход системы sys, первый элемент — номер входа
(в соответствии с порядком в команде append), затем идут номера вы­
ходов, которые алгебраически суммируются и подаются на рассма­
триваемый вход, in —матрица входа, out —матрица выхода. Матрица
связей для рис. 12.12 — это [21], т.е. на второй вход поступает один
сигнал с выхода 1. Матрица входа [1], т.е. вход I является внешним.
Матрица выхода [2], т.е. выходным внешним сигналом является вы­
ход 2. Команда на установление связей системы будет следующей:
S 7 = connect(S 6,[2 1 ], [ 1 ] ,[ 2 ] )
(12.20)
Конечно, это простой случай соединения, который можно вы­
полнить и командой series. Но при более сложном соединении мно­
гомерных систем (12.20) просто необходима. Рассмотрим следующий
пример соединения трех систем, показанный на рис. 12.13.
Рве. 12.13. Пример соединения систем
150
Подсистемы 1,2,3 описываются уравнениями:
Ч " і
1)
2)
'lM o ,5
=
o 's b
ч Ь + [г " і 'Ь
( 12.21)
л = [- 3 ЗЪг2;
*-[!
3)
1
Ь
*шЬ>"!К
Введем их в рабочее пространство системы MatLab известными
уже командами:
» a l= [-2 -1 ;1 1]
аі -2
-1
»
1
1
Ь1=[-1 - 1 ;.5 .5 ]
Ы
=
1.0000 1.0000
0.5000 0.5000
» с1«[3 0 ;2 1]
сі =
3 0
2
1
» dl=0
dl ■
-
-
0
» s l“s s ( a l,b l,c l,d l)
а =
x l х2
х і -2 -1
х2 1
1
b *
ul
u2
xl -1
х2
с =
0 .5
-1
0 .5
x l х2
151
yl 3 0
y2 2 1
d u l u2
yl 0 0
y2 0 0
C o n tin u o u s-tim e m odel.
»
» s2
a =
x l x2
x l -1 -2
x2 1 -1
b =
u l u2
x l 1 -1
x2 2 -1
с =
x l x2
y l -3 3
d u l u2
yl 0 0
C o n tin u o u s-tim e m odel.
»
» s3
a =
x l x2
x l 1 -2
x2 3 -2
b ul
x l -2
x2 1
с =
x l x2
y l -5 -1
y2 -3 1
d -
ul
yl 0
y2 0
C o n tin u o u s-tim e m odel.
На рис. 12.13 видно, что второй входной сигнал поступает на две
подсистемы, но так как матрица связи формируется по правилу (но­
мер входа —номер выхода), то надо ввести искусственно дополни­
тельную подсистему 4, которая бы не влияла на рассматриваемую
систему в целом (рис. 12.14). В таком случае передаточная функция
4-й подсистемы должна быть равна единице:
u
Уб
Рве. 12.14. Входы и выходы подсистем
» s 4 = tf ( l)
T ra n sfe r fu n c tio n :
1
»
Объединяем все подсистемы:
» s y s = a p p e n d (s l,s 2 ,s 3 ,s 4 )
а ■
х і х2 хЗ х4 х5 хб
ХІ -2 -1 0 0 0 0
х2 1 1 0 0 0 0
хЗ 0 0 -1 -2 0 0
х4 0 0 1 ■-1 0 0
х5 0 0 0 0 1 -2
хб 0 0 0 0 3 -2
b *
ul
и2
иЗ и4 и5 иб
х і -1
•1
0
0
0
0
х2 0 . 5 0 .5
0
0
0
0
хЗ 0
0
1 -1
0
0
х4 0
0
0
0
2 -1
0
0
0 -2
0
х5 0
1
хб 0
0
0
0
0
Q SB
х і х2 хЗ х4 к5 хб
0 0
0
уі 3 0
0
0 0
0
0
У2 2 1
0
0 0 -3 3
0
0 0 -5 -1
у4 0 0
1
0 0 -3
У5 0 0
уб 0 0
0 0
0
0
уз
d =
u l и2 u3 u4 u5 u6
yl 0 0 0 0 0 0
У2 0 0 0 0 0 0
0 0 0 0 0 0
У4 0 0 0 0 0 0
У5 0 0 0 0 0 0
уб 0 0 0 0 0 1
C o n tin u o u s-tim e m odel.
Формируем матрицу связей по вышеуказанному правилу. Назовем
ее «q». Если один из входов состоит из суммы выходов, то все осталь­
ные входы должны иметь равное число выходов. Отсутствующие
сигналы заменяются нулями. Перемножаемые матрицы должны
иметь равное количество перемножаемых столбцов и строк:
» q=[2 6 0 ;3 2 0 ;4 5 0 ;5 1 3]
Формируем матрицу входа:
» іп » [1 6]
in =
1 6
уз
Формируем матрицу выхода:
» o u t=[4 5]
out =
4 5
Даем команду на установление связей системы, которую назо­
вем «s9»:
» s 9 = c o n n e c t(s y s ,q ,in ,o u t)
а =
x l x2 x3 x4 x5
x6
-1
x l -2 -1
0
0 3
1
x2
1
0
0 -1 .5 0 .
x3
2
1 -1 -2 3
-1
x4
4
1 -1 3
-1
2
x5 -6
-2
0 -6
6 1
x6
3
0
3 -3 3
-2
b =
u2
ul
x l -1
0
x2 0 .5
0
x3 0
0
x4 0
0
-2
x5 0
x6 0
1
154
с =
x l х2 хЗ х4 х5 хб
у і 0 0 0 0 -5 -1
d u l u2
yl 0 0
Continuous-time model.
Обратите внимание, как изменились матрицы по сравнению
с командой append. А сейчас можно построить переходные функции
по разным входам и выходам. Время процесса можно оставить по
умолчанию, а можно и задать, как в нашем случае, три секунды. По­
строим и сетку:
» step(s9,3),grid on
Результаты выполнения команды представлены на рис. 12.15.
From: In(1>
StepResponse
80
From: ln(2)
30
Time(sec)
Рис. 12.15* Переходные процессы в многомерной системе
После выполнения команды установления связей системы в окне
команд распечатываются все матрицы, из которых видно, что полу­
чена система 6-го порядка. Можно распечатать матрицы отдельно
следующими командами:
» A=s9.A
А =
-2 -1 0 0 0 0
755
1 1
0
0 0
2 1 -1 -2 0
4 2
1 -1 0
6 0 -6
6 1
3 0
3 -3 3
» B-S9.B
В=
-1 .0 0 0 0
-1.0 0 0 0
0.5000
0.5000
-1.0 0 0 0
0
-1.0000
0
0
0
0
0
» O s9 .С
С=
0 0 0 0 -5 -1
1
0 0 0 0 -3
0
0
0
-2
-2
При проектировании систем управления сложными многомер­
ными объектами необходимо предварительно оценить такие структур­
ные свойства объектов, как управляемость и наблюдаемость. Имея
вычисленные матрицы системы, можно исследовать ее на наблюда­
емость и управляемость. Приведем соответствующие определения
и критерии для стационарных линейных систем, полученные Калманом.
Система называется вполне управляемой, если выбором управля­
ющего воздействия u(t) на интервале времени [г0, /,] можно перевести
систему из любого начального состояния х(г0) в произвольное, зара­
нее заданное конечное состояние x(/j). Система называется вполне
наблюдаемой, если по реакции ?(?]) на выходе системы на интервале
времени [/9, /, ] при заданном управляющем воздействии «(/) можно
определить начальное состояние х(/0).
Критерий управляемости линейных снегам. Для того чтобы система
была вполне управляемой, необходимо и достаточно, чтобы ранг
матрицы управляемости
Му = (В IАВIА2В I... IАЯ-,В)
(12.22)
равнялся размерности вектора состояния:
rank Му = я.
Матрица управляемости Му состоит из столбцов матрицы В
и столбцов произведений матриц АВ, А2В ,..., АЯ-,В и имеет размер­
ность (п • пг).
Критерий наблюдаемости линейных систем. Для того чтобы система
была вполне наблюдаемой, необходимо и достаточно, чтобы ранг
матрицы наблюдаемости
156
= (Cr | A * t T\ (A7)2C I... I(A7) " - ^ 7)
равнялся размерности вектора состояния:
My
(12.23)
rankM r = «.
Знак Z = (XI Y) означает присоединение матриц, т.е. для получе­
ния і-й строки матрицы Z берется сначала /-я строка матрицы X,
затем следуют элементы /-й строки матрицы Y. Предполагается, что
количество строк у матриц одинаково.
Или (12.23) в другом виде:
С
СА
М = СА2
С А
(12.24)
If-1
Под рангом матрицы подразумевается наивысший из порядков
отличных от нуля миноров этой матрицы. Ранг матрицы равен наи­
большему числу линейно независимых строк.
Вычислим ранги матриц наблюдаемости и управляемости итого­
вой системы:
» rank(ctrb(A,B))
ans *
6
» ran k (o b sv (A ,C ))
ans *
6
»
Результаты показывают, что ранги матриц наблюдаемости
и управляемости равны размерности вектора состояния, значит, сис­
тема управляема и наблюдаема.
13
МОДЕЛИ В ДИСКРЕТНОЙ ФОРМЕ
В настоящее время в системах управления преимущественно
применяются микропроцессоры и ЦВМ. Объясняется это тем, что
они по сравнению с аналоговыми системами имеют значительно
большие вычислительные возможности. Имеется возможность ис­
пользовать более сложные алгоритмы обработки сигналов. При этом
точность реализации алгоритмов определяется тактовой частотой
применяемых устройств, числом разрядов цифровых кодов и может
быть сделана весьма высокой. Важным преимуществом цифровых
систем является высокая стабильность их работы, в них отсутствует
дрейф нуля при обработке сигналов. Кроме того, в цифровых систе­
мах проще осуществляется перенастройка их структуры и регули­
ровка параметров.
В процессе преобразования непрерывных сигналов ос(/) и y(t)
в цифровые происходит дискретизация этих сигналов, т.е. осуще­
ствляется выборка непрерывных сигналов, соответствующих дис­
кретным моментам времени. Обычно выборка производится через
равные промежутки времени Т. В процессе преобразования сигналов
в цифровую форму происходит также их квантование по уровню.
В результате из всех возможных дискретных сигналов выбираются
только разрешенные уровни, кратные шагу квантования, равному
значению младшего разряда цифровых устройств. Все это наклады­
вает свои отличительные трудности на процессы моделирования
цифровых систем.
В дискретных системах применяется ^-преобразование. Переда­
точная функция системы H(z) есть отношение К(г) к X(z):
tt, s
_ Y(z) _
А) +
+ - + K z'n
" w “ лv/u )\ “ i1 - axi -1 - a2z -2 —... - akz —n9
,n n
где Y(z) к X(z) —г-преобразование выходной и входной величин, т.е. числителя
и знаменателя передаточной функции непрерывной системы Y(s) и Afc).
Если числитель и знаменатель (1ЗЛ) умножить на г", то переда­
точная функция будет иметь другой вид:
т
)
-
Ш
'
г "
(
ш
)
Передаточная функция (13.1) и (13.2) —это рациональная дробь.
Так как знаменатель и числитель данной дроби — обычные поли­
158
номы, то возможно эти полиномы разложить по корням. Следова­
тельно, передаточная функция приобретает вид
=2М +
+ - + b«z
=
X(z) z" - о,*"-1 - 0 2 і"~2 - ... - ак
(г -г о і)(г -г о 2) - - ( г - г о я)
(z - г»і)(г - z»2) • • (z - z ^ ) '
(133)
Корни числителя передаточной функции ^ называются нулями,
а корни знаменателя
получили название полюсов. Все эти три
формы представления дискретной передаточной функции применя­
ются в программе MatLab.
Для преобразования непрерывной системы в дискретную
в MatLab существует функция c2d. В качестве оригиналов для преоб­
разования могут быть указаны модели в форме TF, SS или ZPK.
Функция d2c выполняет обратное преобразование из дискретной
в непрерывную. Двойка в написании этой функции возникла от со­
звучия two (2) в «discrete to the continuous». Функция преобразования
поддерживает несколько методов дискретизации: с применением
эскстраполятора нулевого порядка (ZOH) —по умолчанию, экстраполятора первого порядка (FOH), приближение Тастина (TUSTIN —
это интегрирование методом трапеций), а также приближение с со­
ответствием нулей и полюсов (PREWARP и MATCHED).
Синтаксис:
SysD=c2d(SysC, td ) %td - интервал дискретизации
SysC=d2c(SysD)
По умолчанию будет применен метод ZOH.
Если необходим другой способ преобразования, его нужно ука­
зать после запятой в одиночных кавычках. Точность преобразования
в дискретную форму для разных способов различна. Как и при ин­
тегрировании метод трапеций (Ibstin) точнее метода Эйлера, так
и при дискретном преобразовании этот метод точнее метода прямо­
угольников. Покажем это на примере инерционного звена. Сформи­
руем передаточную функцию:
» w = tf ( l,[ 5 1 ])
T ra n s fe r fu n c tio n :
1
5 s + 1
Выполним дискретное преобразование по умолчанию (ZOH)
с интервалом дискретизации 1, чтобы лучше видеть разницу. Обычно
159
интервал дискретизации выбирают значительно меньше (td « T ).
Т —постоянная времени (td < 0.05Т):
» w l* c2 d (w ,l)
T ra n sfe r fu n c tio n :
0.1813
z - 0.8187
Sam pling tim e: 1
Выполним дискретное преобразование Tustin с тем же интервалом
дискретизации 1:
» w2*c2d(w, 1 , ’t u s t i n ’ )
T ra n sfe r fu n c tio n :
0.09091 z + 0.09091
z - 0.8182
Sam pling tim e: 1
Построим переходные функции этих трех передаточных функций:
» s te p (w ,w l,w 2 ),g rid on
Результат показан на рис. 13.1. Метод Тастина лучше метода
с экстраполятором нулевого порядка. ZOH-преобразование форми­
рует на выходе сигнал U(k), равный измеренному значению непреStepResponcc
Рис. 13.1. Переходные процессы, построенные методом трапеций
и по Эйлеру
160
рывного сигнала U(j) в момент квантования, и поддерживает это
значение в течение всего периода квантования:
U[k\ = U(t),кТ <t<(k + 1)7;.
(13.4)
Преобразование Тастина, или билинейное преобразование, опи­
сывается следующей формулой:
1+
Л,
z = etTf = — -3jr.
1-
(13.5)
2
Период квантования в дискретных передаточных функциях
можно изменять, применяя команду
» S y s2 -d 2 d (S y sl,td )
Новый период квантования td не должен быть кратным предыду­
щему.
В библиотеке Simulink имеется набор блоков Discrete для форми­
рования дискретных систем регулирования, обладающих большой
наглядностью.
Данные переходных процессов, полученных в программе
Simulink, могут быть внесены в рабочее пространство MatLab для
дальнейшей обработки следующим способом. После получения гра­
фиков переходных процессов на графопостроителе Scope нажать его
вторую кнопку «Параметры» и в появившемся меню выбрать Data
History и отметить галочкой «Сохранение данных», дать удобное для
себя имя данным и в качестве формата данных выбрать Array так, как
это показано на рис. 13.2. Матрица данных с выбранным именем
будет содержать в первом столбце данные времени переходного про­
цесса, во втором и последующих — данные графиков. Например,
третий столбец (Da — имя данных массива) можно вызвать следу­
ющей командой:
» D a (: ,3 ) .
Рассмотрим, в каких случаях применение дискретных систем при
моделировании необходимо:
1) если в микропроцессорных системах не только период тактовой
частоты, но и период обработки сигнала для формирования следу­
ющего регулирующего воздействия не меньше чем в два раза периода
наивысшей высокочастотной составляющей системы. Здесь уместно
применение теоремы Котельникова. Согласно одной из наиболее
известных и простых интерпретаций теоремы Котельникова произ­
вольный сигнал u(t), спектр которого ограничен некоторой частотой
161
Ч' I V
>
м
* 4
П ѵ
\t
I
X
Рис. 13.2. Перенос данных в рабочее пространство
Fby может быть полностью восстановлен по последовательности
своих отсчетных значений, следующих с интервалом времени
Л* = 2 ^ ;
2) если в системах ведется цифровая обработка информации, на­
пример дисперсионный анализ, с целью определения оптимальных
настроек регулятора по наибольшему значению отношения диспер­
сии входного сигнала к дисперсии выходного.
Покажем это на примере моделирования системы стабилизации
линейной плотности ленты на ленточной машине.
Структурная схема этой системы стабилизации показана на
рис. 8.5. Добавим лишь случайное воздействие на входе, которое
имеется на реальной машине. Если линейная плотность ленты на
выходе 29 ктекс, то на входе сложенные восемь лент такой же линей­
ной плотности будут иметь 232 ктекс. Отклонения линейной плот­
ности, которые должен устранять регулятор, находятся в пределах
+20% и —10%. Для блока Uniform Random Number (Simulink —
Sources — Uniform Random Number), который применяется для этого
случая, максимальное и минимальное значения будут 278,4 и 208,8.
Случайный сигнал выбран с равномерно распределенным законом.
Скорость обработки ленты составляет 600 м/мин. Расстояние
между датчиком линейной плотности на выходе и выпускной парой
составляет 0,2 м, значит, величина запаздывания т будет равна
т=
162
0,2
600-60
= 5,5 • 10-6 с, поэтому запаздыванием можно пренебречь.
Вытяжной прибор с приведенным исполнительным механизмом
описывается передаточной функцией
lV(s) = ------------------ .
0,1s2 + 0,5s +1
(13.6)
Система снабжена ПИД-регулятором. Передаточные функции
датчика и пневмоэлектрического преобразователя примем равными
единице. Поскольку в системе предполагается измерять дисперсии
на входе и выходе, то она должна быть дискретной. Бели взять пере­
даточную функцию (13.6) в дискретной форме, то начальные условия
установить будет невозможно, поэтому моделировать ее нужно на
интеграторах в дискретной форме. Составляющие ПИД-регулятора
тоже должны быть дискретными. Время дискретизации для всех бло­
ков должно быть одним и тем же. Выбирая JI КМ команду Simulation
parameters, на вкладке Solver (Решатель) указываем начальное и ко­
нечное время моделирования, устанавливаем постоянное время дис­
кретизации (Step Fixed) и вместо auto указываем его точное значение,
например -0,1.
Случайные воздействия на входе реально не моіут быть ступен­
чатыми, поэтому после блока формирования случайной величины
необходим инерционный фильтр. Передаточная функция для фильтра
W(s) = ———. Для того чтобы иметь возможность устанавливать на2j + 1
чальные условия, эту передаточную функцию сформируем на интег­
раторе в дискретной форме. В итоге имеем модель системы стабили­
зации линейной плотности ленты с ПИД-регулятором в дискретной
форме, представленной на рис. 13.3.
Для измерения дисперсии входной и выходной линейной плот­
ности ленты подключены блоки Variance. (Из библиотеки DSP
Blockset —Statistics —\briance.) Для того чтобы блоки рассчитывали
дисперсии, необходимо по блоку щелкнуть J1KM и в появившемся
меню отметить галочкой «Running variance». Чтобы разделить дис­
персию входа на дисперсию выхода, воспользуемся блоком Product.
(Simulink —Math Operations —Product.) Блок предназначен для ум­
ножения и деления входных сигналов. Входов может быть несколько.
Установим число входов, в этом случае они перемножатся. (В век­
торном или матричном варианте —по желанию.) Если нужно разде­
лить входные сигналы, то вместо числа входов нужно отметить знач­
ками * или / сигналы, подлежащие умножению или делению. Входы
блока при этом помечаются этими значками. Подаем полученную
величину входной дисперсии на вход со знаком *, а дисперсию выхо­
да —на вход блока умножения Product со знаком /. Получим частное
от деления величины входной дисперсии на выходную на дисплее.
163
Running
\fer
Vbriancc
Uniform
Random
Number
Dcsccete>-Tlme
Integrator Э
j
*1
lffi\
яи і
ОівЯаѵЗ
Obplayl
Г
z -1
ОаіпЗ
Ont Product
Descreto-Tlme
Integrator 2
IntC ffB lO rt
Gain*
Running
Yu
Variance 1
Dcscxcte
Transfer Ben 2
ІЛ»
Fen
G a in
Display^
T
г- 1
Dcscrcte-Tune Gain!
Integrator
Constant 1
Ga!n2
Рис. 13*3. Модель ленточной машины
Т,
7»
теі
33
32,
32
31
31
30
30,
29
29
28
28
О
10
20
30
40
Рис. 13.4. Линейная плотность на входе и выходе ленточной машины
50
/, с
60
Для считывания дисперсий служат взятые из библиотеки Simulink
блоки дисплеев (Simulink —Sinks —Display). Display 1 —дисперсия
на входе, Display 2 —на выходе, Display 3 —их отношение.
Для правильного расчета дисперсий необходимо установить на­
чальные значения на интеграторах, соответствующие рабочему ре­
жиму:
На выходе Discret-Tune integrator —0.
На выходе Discret-Tune integrator 2 — 29.
На выходе Discret-Time integrator 3 — 232.
На рис. 13.4 представлены графики изменения линейной плотно­
сти ленты на ленточной машине при случайном воздействии. Для
наглядности величина дисперсии на входе уменьшена в восемь раз
(по числу сложения). Отношение величин входной и выходной дис­
персий составило на третьем дисплее 1628. Максимальное отклоне­
ние линейной плотности массы ленты от номинального значения
составило менее 1,5%.
14
ФОРМАТИРОВАНИЕ ГРАФИКОВ
В ПРОГРАММЕ MATLAB
Графики, полученные в системе Simulink с помощью осцил­
лографа Scope, непригодны для печати, так как имеют черный фон.
С целью изменения формата графиков необходимо:
1) запустить Simulink;
2) настроить параметры моделируемой системы с целью получе­
ния необходимого графика переходного процесса;
3) запустить модель и получить график переходного процесса.
Меню графического регистратора Scope выглядит по умолча­
нию так:
-щ
4)
ров:
в окне команд MatLab написать 2 строки следующих операто­
s e t ( 0 , *ShowHiddenHandles’ , ' o n ’ )
s e t ( g c f , ’MenuBar’ , ’fig u re’ )
После выполнения этих команд в меню произошли изменения,
появилась верхняя строка, где с помощью команды Edit можно про­
извести форматирование многих параметров графика: цвет фона,
цвет, толщину и стиль линий, размер шрифта.
"ЕЙ» ' С-гЦ-'''
T rtnlr
С Ж 'tiieuii
У Ш -vTnir«i-in s e r t TOQIS
Ulbi'ilinii
• р
р п ш Ж -ш
11
Ш
[
р
р
р
. /.•
.
і s'Й
Ту ^
Ш
§
І ?
При нажатии J1KM на Edit появляется меню, показанное на
рис. 14.1, с помощью которого интуитивно можно менять свойства
осей, фона и графиков.
Графики, полученные с помощью осциллографа Scope, можно по­
строить, используя команду plot в командной строке. Для этого дан­
ные графика переходного процесса графопостроителя Scope необхо­
димо передать в рабочую обласпЛМэгіирасе. Для этого необходимо
открыть меню Scope (вторая кнопка слева) и на панели Data History
поставить галочку в квадратике Save data to workspace (Сохранить дан­
ные в рабочее пространство) и снова запустить процесс моделирова167
ния. Необходимо определить
имя и тип данных.
Пример
Undo
Cut
Copy
Paste
Ctrl+X
Ctrl+C
Ctrl+V
Clear
Select Al
Ctri+A
Copy Figure
Copy Options...
Figure Properties.
Axes Properties...
Current Object Properties..
Cotormap...
Рис. 14.1. Функции форматирования
Variable name:
Format: array
da.
После этого снова нужно
запустить процесс моделиро­
вания.
В командной строке ввести
»da
Появляются две колонки
цифр.
В правой колонке — пере­
ходный процесс.
В левой колонке —время.
Если в командной строке
напечатать
»plo t (da), grid on,
появляются два графика: времени и переходного процесса.
Можно выбрать только второй столбец для вывода графика пере­
ходного процесса следующей командой:
» p lo t ( d a ( : ,2 ) ) , g rid on
Двоеточие означает «все строки» или «все столбцы». Например,
по команде
» d a ( 3 ,:)
будет напечатана третья строка массива da.
Если в окне Scope было несколько графиков, то после команды
«»da» распечатаются столько же колонок и плюс первая колонка
времени. Можно напечатать все графики вместе, но можно и по од­
ному отдельно, задавая в команде plot соответствующие оси коорди­
нат. Например:
»plot (х і,уі,х2,у2,хЗ,уЗ)
В этом случае печатаются три графика: у { =/(*i); Уг
Уз=
=Ахз).
Если массивы графиков сохранены в переменной «da», как услови­
лись ранее, то напечатать пятый график можно следующей командой:
»
168
p l o t ( d a ( : , l ) , d a ( : , 5 ) ) , g r id on
Форматирование графиков можно выполнять с помощью меню,
представленного на рис. 14.1, но можно предусмотреть желаемое
форматирование и в программе построения графиков.
Например:
» plot(da(:,l),da(:,5), ‘k— ‘),grid on
В этом случае пятый график напечатается пунктиром в черном
цвете.
По умолчанию команда plot рисует на активном графике новую
кривую, стирая старые линии. Дня того чтобы существующие кривые
сохранились, перед вызовом plot надо выполнить команду
» hold on
Обратная ей команда
» hold off
восстанавливает стандартный режим.
Каждый объект на графике (оси координат, надписи, линии и т.п.)
представляют собой объекты, имеющие свойства. Для того чтобы
получить значение свойства, используют команду get, а для измене­
ние свойства — команду set. Сокращение gca обозначает текущие
(активные) оси координат (get current axes). Команда
» get(gca)
выводит на экран все свойства осей и их значения. Для управления
размером шрифта (он измеряется в пунктах) используется свойство
Font Size:
» get(gca, ‘FontSize’) % определить размер
шрифта по умолчанию
ans ■
10
» setСgca, 'FontSize', 16) % изменить размер
шрифта на 16
Для того чтобы настроить свойства отдельной линии, надо сна­
чала получить ее хэндл (handle —ручка, рукоятка, указатель). Так на­
зывается уникальный числовой код объекта, через который к этому
объекту можно обращаться. Команда gca в самом деле возвращает
хэндл текущих координатных осей. Команда
» h * get(gca, ‘Children')
записывает в переменную h массив хэндлов —указателей на объекты
линии. Для каждой линии можно установить толщину (в пунктах, по
умолчанию —0,5 пункта):
169
»
»
»
set(h(l),’LineWidth’,1.5)% для первого
графика 1.5 пункта
set(h(2),’LineWidth’,2.5)% для второго
графика 2.5 пункта
set(h(l),’Color’,’k ’)
% для первого
графика черный цвет
»
set(h(2),’LineStyle’, - ’) % для второго
графика штриховая линия
»
set(gca, ‘XTick’,0:5:100) % изменяет шаг
сетки по оси X
»
set(gca, ‘yTick’,-0.5:.05:0.5) % изменяет шаг
сетки по оси Y
С помощью команды plot (а также и других подобных —semilogx,
semilogy, loglog) можно построить несколько линий на одном тра­
фике. Для этого среди аргументов перечисляются пары массивов:
» plot(x, у, V, z);
Первая линия будет показывать зависимость у от х, а вторая —
зависимость г от ѵ. Массивы в каждой паре должны быть одинаковой
длины. При желании можно указать цвета для каждой линии, на­
пример:
» plot(x, у, ‘Ь ’, ѵ, г, *д*);
Первая линия (зависимость у от х) будет синей, вторая (зависи­
мость г от ѵ) —зеленой. Можно использовать следующие цвета [6]:
Ь синий (blue);
g зеленый (green)',
г красный (red) ;
с голубой (cyan);
т фиолетовый (magenta);
у желтый (yellow)',
к черный (black).
По умолчанию первая линия — синяя, вторая — зеленая и т.д.
в порядке перечисления цветов в списке. Дополнительно можно ука­
зать тип линии:
- сплошная;
: точечная;
штрихпунктирная;
—штриховая.
170
Например:
» p lo t( x , у , ‘b : ’ , v , z , *g—
Первая линия —точечная синего цвета, вторая — штриховая зе­
леного цвета. По умолчанию все линии сплошные.
Для рисования линий графиков можно использовать также мар­
керы:
.точка;
о кружок;
х крестик;
+ знак плюс;
* звездочка;
s квадрат;
(Іромб;
ѵ треугольник вершиной вниз;
а треугольник вершиной вверх;
> треугольник вершиной вправо;
< треугольник вершиной влево;
р пятиконечная звезда;
h шестиконечная звезда.
Для оформления графика также используются команды
title заголовок графика;
xlabel название оси абсцисс;
ylabel название оси ординат.
У всех этих команд обязателен один аргумент — текст в апо­
строфах.
Команда legend служит для вывода легенды графика. Легенда
нужна, если на графике есть несколько линий и надо показать, что
обозначает каждая из них. Параметрами команды legend являются сим­
вольные строки, их должно быть столько, сколько построено линий.
В надписях можно использовать некоторые команды системы
ТеХ. (ТеХ —лучшая в мире система подготовки текстов с математи­
ческими формулами, разработанная математиком и программистом
Дональдом Кнутом (автором многотомного издания «Искусство про­
граммирования для ЭВМ»), Чаше всего используются так называ­
емые макропакеты (надстройки), расширяющие возможности ядра
ТеХ, например LaTeX или AMSTeX.)
Буквы греческого алфавита можно создать, вводя их название,
предваряемое обратной косой чертой (обратный слэш, \). Группиро­
вания производятся с помощью фигурных скобок «{}». Например,
греческие буквы записываются в виде «\alpha», «\beta» и тд. Верхний
индекс (степень) обозначается знаком «л», Например, а2запишется
как «аА2». Для обозначения индекса используют нижнее подчерки­
вание, например, а22кодируется как «а_{22}».
Аналогично можно управлять и другими свойствами.
171
Пример
Рассмотрим
форматирова­
Q
ние графиков для конкретной
системы регулирования уровня
жидкости, изображенной на
рис. 14.2.
Уровень жидкости Лподдер­
живается путем перекрытия
клапаном / притока Qm жидко­
сти.
Управляющее
устройство
2
ыж
позволяет поддерживать уро­
вень жидкости между нижними
Рмс. 14.2. Система регулирования
уровня
концами электродов 3, опушен­
ных емкость. Расход жидкости
через вентиль 4 @выхпринят по­
стоянным. Приток жидкости Qm зависит от давления в магистрали
и является случайной величиной.
Модель такой системы представлена на рис. 14.3. Роль изменения
уровня играет интегратор, роль клапана —перемножающее устрой­
ство (сигнал реле: 0 —закрыт, 1 —открыт). Роль положения электро­
дов в резервуаре с управляющим устройством играет двухпозицион­
ное реле, а возмущающее воздействие на расход моделируется бло­
ком «Uniform Random Number».
На графопостроителе Scope 1 регистрируются три величины:
управляющее воздействие, случайное возмущающее воздействие
и изменение уровня.
Устанавливаем время моделирования 5 секунд. Пороги включения
и выключения реле устанавливаем на величинах 0,1 и 0. Выходные
1
Uniform
Random
Number
Product
Gain2 Integrator!
Constant I
m
Relay
Constant2
Рис. 14.3. Модель системы регулирования уровня
172
Scope1
величины реле при включении и выключении —0 и 0,7. Минималь­
ную и максимальную величины случайного воздействия устанав­
ливаем на 0,8 и 1,2. Запускаем процесс моделирования, нажав на ►,
и в меню графопостроителя Scope устанавливаем галочку в пункте
«Save data to workspace», устанавливаем имя переменной у в пункте
ЛЬгіаЫе паше» и устанавливаем Array в пункте Format.
Снова запускаем процесс моделирования. В командной строке
вводим имя переменной у\
» У
У=
0
0
0.0005
0.0029
0.0148
0.0744
0.7000
0.7000
0.7000
0.7000
0.7000
0.8876
0.8188
1.0715
1.0717
1.1739
0.0002
0.0011
0.0077
0.0405
4.9509
4.9797
4.9797
5.0000
0.7000
0.7000
0
0
1.1791
0.8295
1.0003
0.9537
1.0820
1.1000
1.1000
1.0959
Распечатываются четыре столбца данных трех графиков. Первый
столбец —данные времени. С помощью вышеприведенной команды
построим все три графика, используя для линий сплошную линию,
звездочки и пунктир. Все черного цвета:
plot СУС:,1),У(: ,2), ’к--’,у(: ,1),у(: ,3), 'к**,
У(: Д)>У(: .4), ’к ’),grid on
Далее введем команды для форматирования толщины линий всех
графиков, величины пунктов шрифта, нацписей по осям и легенду
названий всех графиков:
» h ■ get(gca, ‘Children’)
h 855.0010
753.0016
856.0004
»
»
»
set(h(1),* LineWidth *,3)
set(h(2),’LineWidth’,2)
set(h(3),’LineWidth’,3)
173
» setCgca, ‘FontSize’, 16)
» xlabel(‘Time, s’)
» ylabel(‘Uroven, m ’);
» le g e n d (*u p r . wozd’ , ’s I .wozm’ , ’u ro v en ’ )
Результат выполнения всех команд представлен на рис. 14.4.
1,4
upr.wozd
sLwozm
uroven
1,2
J•
Уровень, м
1,0
0,8
0,6
Г—
0,4
0,2
iл
1
l
О
0
1 1 1
I
I !
1 l !
Jl__ ■ _i__
•
I
1 1 :
Щ
1 V
1 w!
> ■ ! —
0,5
1,0
1,3
2,0
2,5
i !
A
> i
l t
3,0
l
1
l
l
~ J ..... 1..........
1 '1
■w
■w
1
1
^
w
•
i
r —
T ------m
•
1
Л
i
I
3,5
: 1
i i
f 1
fl
a
1
•
:
:
:
•
V
Iw
I
V
1
ft
1
a
w
|w
1
; Жi
: 1
: 1
iШ
1
1
:
4,0
J .....A
4,5
Время, с
Рве. 14.4. График изменения уровня и управляющего воздействия
5,0
15
ИССЛЕДОВАНИЕ МОДЕЛЕЙ
НА УСТОЙЧИВОСТЬ В ПРОГРАММЕ MATLAB
Одним из первых вопросов, возникающих при исследовании
и проектировании систем управления, является вопрос об их устой­
чивости. Линейная система называется устойчивой, если после вы­
ведения ее внешними воздействиями из состояния равновесия (по­
коя) она возвращается в него, когда прекращаются внешние воздей­
ствия. Если после прекращения внешнего воздействия система не
возвращается к состоянию равновесия, то она является неустойчи­
вой. Определение устойчивости обычно проводят на начальном
этапе разработки системы управления. Это объясняется двумя при­
чинами. Во-первых, анализ устойчивости довольно прост. Во-вто­
рых, неустойчивые системы могут быть скорректированы, т.е. преоб­
разованы в устойчивые с помощью добавления специальных коррек­
тирующих звеньев.
Программа MatLab позволяет проверять моделируемые системы
на устойчивость с помощью разработанных для этого средств. Рас­
смотрим алгебраический критерий устойчивости. Согласно этому
критерию система устойчива, если все ее корни отрицательны.
Пример
По известной передаточной функции системы можно сразу оп­
ределить корни. Зададим в командной строке передаточную функ­
цию Щз):
Щ
$
)
=
2s + 4$ + 5 s + 2s +1
,
4
л
З^ 5
1
2
,
Г
(
1
5
Л
)
Перейдем в MatLab:
» w=tf([2 1],[2 4 5 2 1])
T ra n s fe r fu n c tio n :
2 s + 1
2 s A4 + 4 s A3 + 5 sA2 + 2 s + 1
Для определения корней характеристического уравнения приме­
ним функцию pole:
» pole(w )
ans =
-0 .8 5 3 6 + 0 .9 8 9 2 І
175
-0.8536 - 0.98921
-0 .1 4 6 4 + 0 .5 2 1 0 І
-0 .1 4 6 4 - 0 .5 2 1 0 І
Все корни отрицательны —система устойчива. Можно использо­
вать для этой цели еще функцию roots. Для этого создадим вектор из
коэффициентов характеристического уравнения:
» co ef= [2 4 5 2 1]
co ef =
2 4 5 2 1
Используя вектор в функции roots, определим корни:
» ro o ts (c o e f )
ans =
-0 .8 5 3 6 + 0 .9 8 9 2 І
-0 .8 5 3 6 - 0.98921
-0 .1 4 6 4 + 0.52101
-0 .1 4 6 4 - 0 .5 2 1 0 І
Их значения совпадают с предыдущим результатом.
По передаточной функции системы можно построить переходный
процесс, применив функцию Step в командной строке:
» s te p (w ),g r id on
Результат выполнения представлен на рис. IS. I. График переход­
ной функции устойчив.
Для сравнения возьмем передаточную функцию неустойчивой
системы:
W(s)=
О
10
4
* +\
Ъ + 4s + 5 s + 2s +1
15
20
25
30
Рис. 15.1. Система устойчива
176
■
35
(15.2)
40
» w = tf([2 1 ] ,[ 5 4 3 4 1 ])
T ra n sfe r fu n c tio n :
2 s + 1
5 s A4 + 4 s A3 + 3 sA2 + 4 s + 1
Определим корни:
» pole(w )
ans =
0.1834 + 0 .8 5 6 7 І
0.1834 - 0 .8 5 6 7 І
-0.8 6 6 0
-0.3009
Имеем два положительных комплексных корня. Система неустой­
чива.
Построим переходный процесс:
» s te p (w ), g r id on.
Результат выполнения представлен на рис. 1S.2. Переходный про­
цесс неустойчив.
Рис. 15.2. Система неустойчива
15.1. ОЦЕНКА УСТОЙЧИВОСТИ ЗАМКНУТОЙ СИСТЕМЫ
ПО КРИТЕРИЮ МИХАЙЛОВА
САУ устойчива, если при изменении частоты со от 0 до +<юго­
дограф, вращаясь против часовой стрелки, начав движение из точки,
лежащей на положительной вещественной полуоси, и нигде не об­
ращаясь в нуль, прошел последовательно п квадрантов, где п —сте­
пень характеристического уравнения.
177
Характеристическое уравнение замкнутой системы возьмем из
передаточной функции (15.1):
D(s) ж2s4 + 4j3 + 5у2 + 2s +1.
(15.3)
clear
w=0.0001:.001:1,1 % диапазон изменения частоты
num=[2 4 5 2 1];
% характеристическое уравнение
den*[l];
% знаменатель * 1
atf«freqs(num,den,w); X расчет комплексной
частотной харак-ки
u=real(atf);
% реальная ЧХ
v=imag(atf);
% мнимая ЧХ
plot(и,v);grid on % постр. годографа
ІЪдограф Михайлова для этой системы построен на рис. 15.3. Он
отвечает всем требованиям устойчивой системы.
1,0
0,5
о
-0,5
-
1,0
-1,5
- 2,0
-2,5
-3 ,0
-3 5
-2,5
-2,0
-1,5
-1,0
-0,5
0
0,5
1,0
Рис. 15.3. ІЬдограф Михайлова
Для сравнения возьмем передаточную функцию (15.2). Составим
характеристическое уравнение:
D(s) = 5j 4 + 4s3 + 3s2 + 4s +1.
Подставим коэффициенты в эту же программу:
clear
w=0.0001:.001:1.2
num=[5 4 3 4 1];
den»[l];
atf»freqs(num,den,w);
178
(15.4)
u = r e a l( a tf ) ;
v -im a g (a tf) ;
p lo t( u ,v ) ;
g rid on
По предыдущим исследованиям известно, что эта передаточная
функция описывает неустойчивую систему, поэтому нужно ожидать,
что порядок прохождения квадрантов годографом Михайлова должен
нарушаться. Результат выполнения программы показан на рис. 15.4.
Как видно из рисунка, порядок прохождения квадрантов нарушается,
поэтому система неустойчива.
Показанная выше простая программа построения годографа Ми­
хайлова может быть применена к характеристическим уравнениям
систем любого порядка.
15.2. ОЦЕНКА УСТОЙЧИВОСТИ ЗАМКНУТОЙ СИСТЕМЫ
ПО КРИТЕРИЮ НАЙКВИСТА
Критерий Найквиста — это графоаналитический критерий.
Характерной его особенностью является то, что вывод об устойчи­
вости или неустойчивости замкнутой системы делается в зависи­
мости от вида амплитудно-фазовой частотной характеристики
(а. ф. х.) разомкнутой системы.
Формулировка его такая: для устойчивой замкнутой системы не­
обходимо и достаточно, чтобы амплитудно-фазовая характеристика
разомкнутой системы при изменении частоты соот 0 до соне охваты­
вала точку с координатами (—1,J0).
179
Помимо исследования устойчивости, по виду указанных характе­
ристик можно оценить и некоторые качественные показатели замк­
нутой системы, например запас устойчивости. Более того, появля­
ется возможность указать, как и за счет каких средств неустойчивая
замкнутая система может быть сделана устойчивой и как можно по­
высить качество устойчивой замкнутой системы.
Для примера построения годографа Найквиста в программе
MatLab возьмем передаточную функцию (15.1). Воспользуемся преды­
дущей программой построения годографов по вещественной и мни­
мой составляющим передаточной функции, внеся значения коэффи­
циентов знаменателя и числителя передаточной функции в соответ­
ствующие векторы:
c le a r
w = 0.0001:.001:5
d en -[2 4 5 2 1 ];
num-[2 1 ];
a tf = f reqs(num , d en ,w );
u = r e a l( a tf ) ;
v = im ag (atf) ;
p l o t( u ,v ) ; g r i d on
Результат выполнения программы представлен на рис. 15.5. Зідесьже
показано, как отмечаются на графике а — запас по амплитуде и ф —
запас по фазе.
180
Этот же годограф можно построить другим способом в окне ко­
манд:
» w = tf([2 1 ] ,[ 2 4 5 2 1 ])
T ra n sfe r fu n c tio n :
2 s + 1
2 sA4 + 4 sA3 + 5 sA2 + 2 s + 1
» n y q u ist(w )
Первый способ предпочтительнее, потому что, начиная с третьего
порядка, годограф может быть построен некорректно, а программно
можно изменять знак мнимой части. (Недостаток MatLab.)
Запас по амплитуде и фазе моделируемой системы можно опре­
делить по логарифмическим АЧХ, используя функцию margin:
»
»
»
w = tf([2 1 ] ,[ 2 4 5 2 1 ] ) ;
m a rg in (w ),g rid on
Результат выполнения показан на рис. 15.6.
Конечно, для построения логарифмических частотных характе­
ристик можно воспользоваться и функцией bode. Логарифмические
АФЧХ были бы построены, и на них запас по амплитуде и фазе можно
было бы отыскать. А вот функция margin сама печатает эти велиBode Diagram
Gm-6.2dB (at1.22rad/sec),Pm-28.4deg(at0,899rad/sec)
10»
Frcqucncy(rad/scc)
Рис. 15.6. Запас системы по амплитуде и фазе
181
чины, что более наглядно для исследователя. Запас по фазе в точке,
где амплитуда £(<о) = 1. (Ордината ЛАЧХ равна нулю —log(l) = 0.)
Запас по амплитуде в точке, где сдвиг фаз равен —180° (<р(со) = —л),
это видно на рис. 15.6.
На ЛАФЧХ величина Цго) откладывается по оси ординат в деци­
белах. Изменение уровня сигнала на 10 дБ соответствует изменению
его мощности в 10 раз. Так как мощность гармонического сигнала Р
пропорциональна квадрату его амплитуды А (помните из физики:
Q ш PRt), то изменению сигнала в 10 раз соответствует изменение его
уровня на 20 дБ, так как
По оси абсцисс откладывается частота w в логарифмическом мас­
штабе. То есть единичным промежуткам по оси абсцисс соответ­
ствует изменение со в 10 раз. Такой интервал называется декадой. Так
как lg(0)8 -оо, то ось ординат проводят произвольно. ЛФЧХ, полу­
чаемая из второго слагаемого, отличается от ФЧХ только масштабом
по оси со. Величина ф (<в) откладывается по оси ординат в градусах
или радианах. Для элементарных звеньев она не выходит за пределы
—я й ф й +я. Если ф(а>) не превышает —к, или 180*, то система всегда
устойчива.
Если щелкнуть ЛКМ по интересующим точкам ЛАЧХ и ЛФЧХ,
то рядом в желтом поле появляется текст с сообщением о частоте,
амплитуде (в дБ) и фазе. В нашем случае амплитуда а ш -6,17.
Запас по амплитуде, показанный на рис. 15.5, а * 0,5. Вычислим
логарифм: а = 20 • log(0,5) —-13,8629.
Полученные результаты различаются, поскольку на графиках
ЛКМ отметить нужную точку с высокой точностью невозможно.
Запас по фазе на ЛФЧХ ф = 180е —151® = 29е, что соответствует
результату на рис. 15.5.
Более точно в программе MatLab запас по амплитуде и фазе
можно вычислить с помощью функции LGm,Pm,Wcg,Wcp] =
= maigin(hd). Здесь: Gm — запас по амплитуде, рассчитанный как
1/а, т.е. во сколько раз надо увеличить полученную амплитуду, чтобы
получить ее равной единице (опасная точка); Wig — частота, при
которой получен запас по амплитуде; Pm — запас по фазе и Vfcp —
частота в системе, при которой получен этот запас.
Введем указанную функцию в командную строку:
»
»
182
w l« tf([2 1 ] ,[ 2 4 5 2 1 ] ) ;
[Am,Fp,Wa,Wf]em argin(w l)
В результате получаем
Ат =
2.0001
Fp 28.3644
Wa =
1.2248
Wf =
0.8988
»
То есть амплитуду можно увеличить в два раза, что соответствует
рис. 15.5. Угол запаса по фазе <р = 28,3644 определен более точно.
Вычисленные частоты совпадают с показанными на рис. 15.6.
Аналогичное исследование частотных характеристик системы
можно выполнить и в программе Simulink.
Покажем это на примере. Для объекта в системе применим пере­
даточную функцию (15.1). Добавим звено запаздывания. Установим
величину запаздывания 0,5 с. Применим ПИД-регулятор. Модель
полученной системы в программе Simulink представлена на рис. 15.7.
Построим переходные процессы при различных настройках
ПИД-регулятора:
a) пропорциональная составляющая кр = 0,1;
интегральная составляющая кі = 0,5;
дифференциальная составляющая kd = 0,3.
b) пропорциональная составляющая кр = 0,1;
интегральная составляющая кі = 0,8;
дифференциальная составляющая kd = 0,3.
Constant 1
Рис. 15.7. Система с запаздыванием
183
Переходные процессы, полученные при этих настройках, пред­
ставлены на рис. 15.8. Изменение настроек интегральной составля­
ющей ПИД-регулятора (увеличение коэффициента передачи с 0,5 до
0,8) выводит систему регулирования из устойчивого состояния.
Рис. 15.8. Влияние коэффициента к, на устойчивость
Попробуем с этими настройками получить годографы Найквиста.
Годограф Найквиста отыскивается по передаточной функции ра­
зомкнутой системы, поэтому отключим выход регулятора, разомк­
нем систему.
Нажимаем ЛКМ Tools и выбираем в ниспадающем меню Linear
analysis, щелкнув ЛКМ. В результате в рабочее пространство MatLab
загужается LTI Viewer с именем исследуемой системы и панелька
модели входа—выхода, на которой изображены значки входного
и выходного сигналов (рис. 15.9). Эти значки перетаскиваем ЛКМ
на рабочую площадку исследуемой системы и присоединяем их
к входу и выходу соответственно. Полученная разомкнутая система
с точками входа и выхода показана на рис. 15.10.
Кстати, в последних модификациях MatLab (например, MatLab
2009b) размыкать исследуемую систему нет необходимости. Точки
входа и выхода вставляются ПКМ в нужных местах. Исследуется учас­
ток системы только между этими точками. Другие линии соединения
в исследовании не участвуют, отключаются.
Далее настраивается LTI Viewer для поставленных задач.
Сначала формируем конфигурацию графопостроителя. Нажимаем
ЛКМ на Edit графопостроителя и в выпадающем меню выбираем Plot
184
т
Р1«»в»( *чЩаа а 1♦
).
>
4
*
*******
Г- — ~ш
т **ш**
J-U
rif ^ fkhfiliKwO^
«НМ
іММі
*»ІІИ
чрчІіА
—
щ*лШт
ИСК
Рис. 15*9. Графопостроитель годографа Найквиста и сигналы входа и выхода
Input Point
Constant
Output Point
Transfer Fen
Transport
Delay
Scope
PTD Controller
Constant 1
Рис. 15.10. Система готова к построению годографа Найквиста
Configuration. Появляется возможность одновременного построения
шести различных графиков системы (рис. 15Л1): 1) переходный про­
цесс; 2) импульсная характеристика; 3) АФЧХ; 4) АЧХ; 5) годограф
Никольса; 6) годограф Найквиста.
185
Рис. 15.11. Выбор конфигурации графопостроителя
Все эти графики можно построить от одного до шести в любом
варианте. Нужно отметить JIKM количество графиков, нажав на
точку с соответствующим количеством, а потом в разделе Response
type справа назначить каждому выбранному графику его тип.
Для нашего случая выбираем один график годографа Найквиста.
После настройки U l Viewer нажимаем здесь же J1KM на Simulink
и в выпадающем меню выбираем Get Linearized Model. В пояе графо­
построителя появляется годограф Найквиста. Далее можно произво­
дить перенастройку исследуемой системы и каждый раз строить го­
дограф Найквиста. Каждый график строится своим цветом. Ненужные
можно удалять, нажимая JIKM на Edit и выбирая в выпадающем меню
Delete Systems. Для удобства удаления появляется построчный список,
в котором можно отметить JIKM ненужные, удерживая кнопку Ctrl на
клавиатуре. Затем нажать JIKM кнопку Delete справа.
В нашем случае исследовались два варианта настроек ПИД-регулятора, рассмотренные выше: а) и Ь).
Результаты представлены на рис. 15.12. Как и при построении
переходного процесса в варианте Ь), годограф Найквиста показывает,
что система неустойчива, так как он охватывает точку с координа­
тами (—1,./0).
На ірафике показана только часть годоірафа при изменении ча­
стоты от 0 до » , а по умолчанию он строится при изменении частоты
от —оодо +оо. Чтобы убрать годограф, построенный в области отри­
цательных частот, нужно нажать ПКМ в поле графика и в появив­
шемся меню выбрать Show, а затем Negative Frequencies.
MatLab 7.9.0 (R2009b) позволяет не разрывать контур обратной
связи, чтобы получить разомкнутую систему. Достаточно установить
точки входа и выхода—и система будет рассматриваться разомкну­
той между этими точками.
Для того чтобы установить точки исследования системы, нужно
ПКМ отметить необходимую линию соединения блоков, после чего
Nyquist Diagrum
•“*—1
-
-1,8
-1 ,6
—1,4 -1,2
-1,0
-0 ,8
-0 ,6
-0 ,4
-0 ,2
0
Рис. 15.12. Годографы Найквиста для устойчивой и неустойчивой систем
появляется меню, в котором следует выбрать точку входа или выхода
(Linearization Points — Input Point или Output Point). Появляется
стрелка входа или стрелка выхода, показанные на рис. 15.13. Далее
переходим к линейному анализу (Tools — Control Design — Linear
Analysis). Появляется панель управления и оценки, представленные
на рис. 15.14. Для построения годографа Найквиста нажимаем ЛКМ
на этой панели File и выбираем Toolbox Prefereces, после чего появля­
ется панель Simulink Control Design Prefereces, показанная на
рис. 15.15. Нажимая на треугольник справа вверху, выбираем необхо­
димый график: переходную функцию, импульсную, годограф Найк­
виста, Никольса, Боде и хд. После нажатия на Ok необходимо нажать
еще на кнопку Linearize Model панели управления и оценки. Пояпля-
Constant
Transfer Fen
?
Scope
1
S
Gain
Integrator
11
Constant!
Рис. 15.13. Установка точек входа и выхода
187
Рис. 15.14. Панель управления
■*.W■iV'Jк.'-,*v ,
м*т
I9»
IТі
OK
ч
I
Рис. 15.15. Выбор типа графика
ется панель ІЛ Viewer, на которой виден заказанный график модели­
руемой системы. Нажимая на Edit, можно выбрать Plot Configuration,
чтобы сформировать одновременный вывод нескольких различных
графиков. Правила работы с ним были пояснены выше.
Имея передаточную функцию разомкнутой системы, построить
годограф Найквиста можно в командной строке MatLab.
Например:
» w - tf ([ 2 1 ],Г 5 2 4 1 ])
Transfer function:
2 s + 1
5 sA3 + 2 s A2 + 4 s + 1
» n y q u ist(w )
»
Результат выполнения показан на рис. 15.16. На графике можно
изменять толщину линий, цвет, формат надписей, отмечать детали
188
Рис. 15.16. Построение годографа Найквиста в командной строке
стрелками, комментариями и даже строить график в объеме. Это
удобно для отчетных материалов. Но если необходимо построить
несколько типов графиков одновременно, то можно воспользоваться
командой Lti View в командной строке. В появившемся многофунк­
циональном графопостроителе можно вызвать панель выбора, пока­
занную на рис. 15.10, используя ко­
торую следует выбрать необходимое
количество ірафиков и их тип. Выз­
вать эту панель можно, нажав JIKM
на Edit, и в появившемся меню вы­
брать Plot Configurations. Далее дей­
ствуем, как указано выше.
Чтобы построить графики на
сформированном графопостроителе,
необходимо вызвать нужную переда­
точную функцию. Нажимаем J1КМ
File, в появившемся меню выбираем
Import, после чего появляется панель
импорта данных систем, которые на­
ходятся в рабочем пространстве. Вы­
бираем необходимую передаточную
функцию для построения графиков.
LTI Viewer строит выбранные типы
графиков. Результат выполнения по­
казан на рис. 15.17.
Здесь можно менять формат всех
15Л7> построение
надписей, строить и убирать сетку,
выбранных типов графиков
789
убирать часть годографа в отрицательной области частот, увеличи­
вать и уменьшать размеры графиков. Это важно при исследовании
графиков. При нажатии JIKM на соответствующий график рядом
высвечивается информация об этой точке графика: имя исследуемой
системы, время моделирования до этой точки и ее амплитуда для
переходного процесса. Можно определить максимальную динами­
ческую ошибку и время входа графика переходного процесса
в трубку регулирования, а для годоірафа Найквиста — координаты
этой точки и текущее значение частоты. Таким образом, можно
узнать запас устойчивости по модулю и по фазе. Если щелкнуть
ПКМ в поле графика, то в раскрывающемся списке команды
Characteristics контекстного меню увидим опции, позволяющие ото­
бражать характеристики кривой переходной функции, по которым
можно оценивать показатели качества:
* Peak Response —максимальное значение выходной координаты;
* Steady State —установившееся значение;
* Settling Tune — время регулирования (переходного процесса) —
промежуток времени между моментом приложения ступенчатого
воздействия и моментом времени, начиная с которого отклонение
регулируемой координаты от требуемого значения остается в пре­
делах «трубки» допустимых отклонений. По умолчанию в про­
грамме в качестве допустимых отклонений принято 2%;
* Rise Time — время нарастания (время между моментом приложе­
ния ступенчатого воздействия и первым пересечением кривой пе­
реходной функции границы «трубки» допустимых отклонений).
15.3. ПРИМЕНЕНИЕ КРИТЕРИЯ УСТОЙЧИВОСТИ ГУРВИЦА
Критерий устойчивости іурвица —один из способов анализа
линейной стационарной динамической системы на устойчивость, раз­
работанный немецким математиком Адольфом іурвицсм, который
усовершенствовал критерий Рауса, поэтому этот критерий называется
часто критерием Рауса—Гурвшха. Достоинством метода является прин­
ципиальная простота, недостатком — необходимость выполнения
операции вычисления определителя, которая связана с определен­
ными вычислительными тонкостями (например, для больших матриц
может оказаться значительной вычислительная ошибка). Применение
программы MatLab этот недостаток значительно уменьшает.
Формулировка
Метод работает с коэффициентами характеристического уравне­
ния системы. Пусть W(s) = N(s) f D(s) —передаточная функция сис­
темы, a D(s) — характеристическое уравнение системы:
D(s) = ansn + ая.і^й-1 + ая_2^я-2 +... + a^s + а0.
190
(15.5)
Из коэффициентов характеристического уравнения строится
определитель Гурвица по следующему алгоритму:
1) по главной диагонали слева направо выставляются все коэф­
фициенты характеристического уравнения от а, до а„;
2) от каждого элемента диагонали вверх и вниз достраиваются
столбцы определителя так, чтобы индексы убывали сверху вниз;
3) на место коэффициентов с индексами меньше нуля или больше
п ставятся нули.
В результате получаем определитель Гурвица:
’<Ѵ і
««-3
0
®*-5
0
а п -2
<7 =
0
^Л-І
0
л *
0
0
а п -3
°n -2
•
'
4ѢЩ
*9*
0
0
••
0
•ft»
*л ft
Oq
(15.6)
_
Тогда согласно критерию іУрвица, для того чтобы динамическая
система была устойчива, необходимо и достаточно, чтобы все диаго­
нальные миноры определителя іурвица были положительны. Эти ми­
норы называются определителями Гурвица. Рассчитываются они так:
О d\ =
К -i 4,-31.
(15.7)
2)d
L °п ап-2 \
an-\ an-3 ®л-5
3) d3 =
an-2
0 ®it-l an-3.
4) и tji.
Анализируя условие критерия іурвица, можно заметить его избы­
точность. Число неравенств можно уменьшить в два раза, используя
теорему Льенара—ЙІипара. Это модификация критерия Рауса—Гур­
вица, сводящая все вычисления в нем к вычислению главных миноров
только четного (или только нечетного) порядка матрицы Іурвица. Впро­
чем, в вычислительном отношении сложность критерия уменьшается
несущественно, так как при вычислении минора высокого порядка
чаще всего необходимо вычисление миноров низших порядков.
Программа вычисления всех миноров определителя іурвица
Clear % формирование передаточной функции
замкнутой системы
введите свою передаточную функцию
191
w=tf([2 1],[ 1 2 6 12 8 1]); ^получение
коэффициентов
характеристического полинома
lm- poly(w); ^определение размерности матрицы
[L, N] =size(lm);
g=zeros(N, N); % создание матрицы с нулевыми
значениями
% заполнение нечетных строк
матрицы Гурвица
5=0 *
for i"l:2:N
3-1;
j=j+s;
r=0;
for r=2:2:N
g(i, j)=lm(r);
3=3+1;
end
s=s+l;
end
%заполнение четных строк матрицы Гурвица
S*0 *
for i«2:2:N
3=i;
3=3+s;
r=0;
for r=l:2:N
g(l< 3)“lm(r);
3-3+1;
end
s=s+l;
end
g»g(l:N-l, 1:N-1);
%вычисление главных миноров
minor»l;
for i-l:N-l
dd(i) - det(g(l:i, 1:1))
if dd(i)<0
minor=0;
end
end
%вывод результатов
if minor==0
disp(‘Система неустойчива*);
else
disp(‘Система устойчива’);
end
Пример
Возьмем для исследования передаточную функцию пятого по­
рядка:
lV(s) —------------- 2s+J------------Введем передаточную функцию в командной строке MatLab:
> w=tf([2 1],[1 2 9 12 8 1])
Transfer function:
2 s + 1
sA5 + 2 s A4 + 9 s A3 + 12 s A2 + 8 s + 1
Построим переходный процесс на интервале 30 с:
»
»
s te p (w ,3 0 ),g rid on
Результат представлен на рис. 15.18. Переходный процесс пока­
зывает, что система устойчива.
Рве. 15.18. Переходный процесс в MatLab
Вычислим миноры «dd» по вышеуказанной программе:
dd 2.0000 6.0000 42.0000 297.0000 297.0000
Система устойчива
»
Все пять миноров положительны, и проірамма расчета опреде­
ляет, что исследуемая система устойчива.
193
Изменим коэффициент при третьей степени характеристического
уравнения с 9 на б и снова построим переходный процесс на том же
интервале:
T ra n sfe r fu n c tio n :
2 s + 1
sA5 + 2 s A4 + 6 sA3 + 12 s A2 + 8 s + 1
» s te p (w ,3 0 ),g rid on
На рис. 15.19 видно, что система стала неустойчивой.
Рве. 15.19. Система неустойчива
Вычислим все миноры «dd*, используя ту же программу, изменив
в ней коэффициент характеристического уравнения с 9 на б:
dd 2.0000
- 0.0000
-30.0000 -225.0000
-225.0000
Система неустойчива
Среди пяти вычисленных миноров появились отрицательные зна­
чения. Программа определила, что система является неустойчивой.
15.4. КРИТЕРИИ УСТОЙЧИВОСТИ ЦИФРОВЫХ СИСТЕМ
Для описания и анализа дискретных систем, решения разно­
стных и рекуррентных уравнений используется Z-преобразование.
Z-преобразование применяют к сигналу, квантованному по времени
194
(к дискретным значениям непрерывного сигнала). Z-преобразование
определяется как сумма отрицательных степеней комплексной пе­
ременной z с помощью соотношения
г { х Щ = X(z) = ^ x „ z ".
(15.8)
л=0
Таким образом, Z-преобразование представляет собой последо­
вательность уменьшающихся степеней z, имеющих коэффициенты,
равные амплитудам последовательных значений х[л]:
X(z) = х0 +
+ x2z~2 + ...
(15.9)
По аналогии с непрерывными сигналами отношение
W(z) =
'
X(z)
Oq +
*++ a2Z + ...
(15 10)
называют дискретной (импульсной) передаточной функцией.
Умножение Z-преобразования функции на оператор z —1 соот­
ветствует задержке последовательности значений (импульсов) на
один временной такт.
Отметим, что Z-преобразование можно представить и в следу­
ющей эквивалентной форме:
Ш
= 5 > иг".
(15.11)
л>0
Если умножение на г-" означает задержку хп на п тактов, то умно­
жение на ? означает опережение на п тактов. Но опережение сигнала
на п тактов нельзя осуществить, а задержка сигнала осуществляется
легко. Поэтому схемы моделирования сигналов в дискретной форме
реализуются на элементах задержки.
Таким образом, с помощью операции ^-преобразования легко
устанавливается соответствие между импульсными передаточными
функциями (описывающими динамику дискретных систем в комп­
лексной плоскости) и разностными уравнениями (описывающими
поведение динамических систем во временной области).
Соотношение между оператором Лапласа и комплексной пере­
менной z следующее:
Z - еТр.
Обратное соотношение имеет вид
P = jln z .
(15.12)
(15.13)
195
В этих выражениях Т — период квантования.
Для преобразования непрерывных функций в дискретные суще­
ствуют таблицы. В табл. 15.1 показана связь между некоторыми ма­
тематическими функциями, преобразованием Лапласа и Z-преобразованием.
Таблица 15.1
At)
РІР)
An)
6(0
1
m
i
1
1(0
1
P
z
m
z
z-l
t
1
Pl
nT
4Г*
1
p+a
£-OJtT
m
Tz
(z-l)2
Z -d
d = e ar
г-1
П
яТг
(г-1)2 г-1
г d*
z-d
В проірамме MatLab, конечно, имеется функция для преобразо­
вания непрерывных передаточных функций в дискретные.
Допустим,
W(s) = -.
$
Преобразуем в дискретную форму с шагом дискретизации 1 и 0,1:
» w=tf(l,[l 0])
Transfer function:
1
si
» w l= c2 d(w ,l)
Transfer function:
1
2 -1
Sampling time: 1
» wl=c2d(w,.1)
Transfer function:
0.1
2 -1
Sampling time: 0.1
196
Значит, дискретное преобразование интегратора
т
W(z) ------- ,
г-1
где Т — интервал дискретизации.
Для анализа устойчивости дискретных систем применяется кри­
терий Джури, который заключается в следующем.
Пусть задан A(z) —характеристический полином:
A(z) = a t f + a f- ' + ... + ая, <і0 > 0.
Введем понятие обратного полинома, получаемого перестановкой
коэффициентов исходного в обратном порядке:
A0(z) —
*" ^о*
Разделим A(z) на обратный ему Л0(г). В итоге получаем частное
от деления число q6 и остаток Лjfc) — полином (п —1)-й степени,
т.е. степень полинома снижается.
Домножим полученный результат на z~l:
Ax(z) = (а0- а д о)г"-1 + •• + (о„-і Затем делим остаток Ax(z) на обратный ему ^ 10(^) и определяем
новое 0 | и A2(z)Aj(z) _
Ajjz)
A\q{z)
1 ^io(0
j
и тх
Выполняя деление полиномов Afe) на обратные емуЛ^г), полу­
чаем последовательность чисел qt —{$0, qv q2, ..., ^л_2}.
Необходимым и достаточным условием устойчивости цифровой
системы являются неравенства:
>4(1) = (а0 + Я] + а2+ ... + ап) > 0;
(—1)М(—1)=(л0(—1У + a 1( - l )" -1 + ... +а„) > 0 ;
І9,|< 1,/ = 0 ,1,2,
—
В дискретных системах устойчивость зависит не только от пара­
метров системы, но и от интервала дискретизации. Покажем это на
примере. Возьмем непрерывную систему регулирования с объектом
второго порядка и интегральным регулятором. Структурная схема
модели системы регулирования показана на рис. 15.20. Коэффици­
ент передачи интегрального регулятора равен 0 .6 .
Время моделирования установлено на 30 с. Переходный процесс
в непрерывной системе представлен на рис. 15.21. Система устойчива.
Преобразуем непрерывную систему в дискретную форму, пользуясь
средствами программы Mat Lab с интервалом дискретизации 0,1 с:
197
Рис. 15.20. Исследуемая система
Рис. 15.21. Система устойчива
Для объекта:
» w - t f ( 2 ,[ l 5 1 ])
T ra n sfe r fu n c tio n :
2
sA2 + 5 s + 1
» w 2*c2d(w ,.1 )
T ra n sfe r fu n c tio n :
0.008516 z + 0.00721
zA2 - 1.599 z + 0.6065
Sam pling tim e: 0 .1
Для регулятора:
» w 3 * tf(.6 ,[ 1 0 ])
T ra n sfe r fu n c tio n :
0.6
s
» w5=c2d(w3,.1 )
T ra n s fe r fu n c tio n :
0 .0 6
z - 1
Sam pling tim e : 0 .1
Найдем передаточную функцию замкнутой системы:
» w6=feedback(w2,w5)
T ra n sfe r fu n c tio n :
0.008516 zA2 - 0.001305 z - 0.00721
zA3 - 2.599 zA2 + 2.206 z - 0.6062
Sam pling tim e: 0 .1
Определим устойчивость системы по критерию Джури.
Запишем характеристический полином в следующем виде:
A(z) « -0,6062 + 2,206* - 2,599*2 + г3.
Обратный полином:
Af,(z) = — 0 .6062*3 + 2 ,20z2- 2,599z + 1.
Разделим A(z) на Л0(г):
-0,6062 + 2,206г - 2,599** + г3
-0,6062** + 2,206г2- 2,599* +1
-(0,6062 + 1.5755? - 1.3373*2 + 0.3675*3)
-0.6062 = <j0, krj < 1
0,6305? —1,2617^+ 0,6324*3
[омножим полученный результат наг-1, тогда:
A\{z) = 0,6305 - 1,2617* + 0,6324Z2;
Aw(z) = 0.6305*2 - 1,2617* + 0,6324.
Разделим A}(z) наЛ10(г):
^ 4 | V 1U
1W
/ fk fU
T l 1 1 W
I J
' І Ѵ
Л
І І И
Ш
p
V
v J r W
l U
l
ж
0,6305 —1,2617* + 0,6324*2
0,6305*2 -1,2617* + 0,6324
-(0,6305 - 1,2579* + 0,6286**)
0,9970 = ^,19,1 < 1
0,0038* + 0,0039*2
199
Домножим полученный результат на zr[:
Ax(z) = —0,0038 + 0,0039г.
Отсюда q2—0,9744.
По результатам расчета |?0| < 0, |?j| < 0, |ф2| < 0.
Система удовлетворяет всем требования устойчивости по крите­
рию Джури.
Сформируем на рабочем поле программы Simulink дискретную
систему, внеся в блоки из библиотеки полученные передаточные
функции в дискретной форме. Система представлена на рис. 15.22.
Установим такое же время моделирования, как и на непрерывной
системе, —30 с. После запуска моделирования получим переходный
процесс, представленный на рис. 15.23. Он соответствует устойчивой
системе, что согласуется с предыдущими расчетами.
0 .0 0 8 5 1 6 Z + 0 ,0 0 7 2 1
"
г2 -
"^
1 , 5 9 9 z + 0 ,6 0 6 5
Discrete
Transfer Fen
Discrete-Time
Integrator
Scope1
Gainl
Constant
Рис. 15.22. Исследуемая система
Рис. 15.23. Система устойчива
200
Возьмем ту же самую систему регулирования, но изменим интер
вал дискретизации. Увеличим его до единицы:
> w = tf ( 2 ,[ l 5 1 ])
T ra n sfe r fu n c tio n :
2
sA2 + 5 s + 1
Для объекта:
» w l= c2d(w ,l)
T ra n sfe r fu n c tio n :
0.3036 z + 0.07005
zA2 - 0.8199 z + 0.006738
Sam pling tim e: 1
Для регулятора:
» w 3 - t f ( .6 ,[ l 0 ])
T ra n sfe r fu n c tio n :
0.6
s
» w 4=c2d(w 3,l)
T ra n sfe r fu n c tio n :
0.6
z - 1
Sam pling tim e : 1
Определим передаточную функцию замкнутой системы регули­
рования:
» w 6*feedback(w l,w 4)
T ra n sfe r fu n c tio n :
0.3036 zA2 - 0.2335 z - 0.07005
zA3 - 1.82 z A2 + 1.009 z + 0.03529
Sam pling tim e: 1
Характеристический полином имеет следующий вид:
A(z)= z%- 1,82г2 + 1,009* + 0,03529.
Обратный полином:
A0(z) = 1- 1,82* + 1,009*2+ 0.03529*3.
201
Разделим A(z) наЛ0(г):
ZJ - 1,82г2 + 1,009г + 0,03529
1 - 1,82г + 1,009*? + 0,03529г>
-(0,0012? + 0,0356s2- 0,0642? + 0,03529)
0,03529 “ q0, 19«| < 1
0,9988zJ - l,8556z2+ l,0732z
Домножим полученный результат наг-1, тогда:
1
оо
оо
а
о
II
s
'"Г
1,8556*+ 1,0732;
Aia(z) = 0,9988 - 1,8556? + 1,0732*2.
Разделим Ax(z) на Л,0(г):
0,9988г2-І,8 5 5 6 г+ 1,0732
0,9988-1,8556*+1,0732^
-(1,15322* - 1,9935г + 1,0732)
1,0745 « * „|?,|> 1
—0,1 S44?2+ 0,1379*
Домножим полученный результат наг-1:
^ ( z ) = —0,1544г + 0,1379.
Отсюда д2= 0,89 < 1.
По результатам расчетов система является неустойчивой, по­
скольку второе частное отделения |?|| = 1,0745 > 1.
Проверим этот вывод, моделируя систему в программе Simulink.
Внесем в блоки модели передаточные функции, полученные в дис­
кретной форме. Система представлена на рис. 15.24. Установим такое
же время моделирования, как и на непрерывной системе, — 30 с.
Результат моделирования представлен на рис. 15.25.
0,3036z + 0,07005
7?- 0,8l99z + 0,006738
Discrete
Transfer Fen
т ^
z —1
Discrete-Time
Integrator
Scope1
Г
Gainl
Constant
Рис. 15.24. Прежняя система в цифровой форме
202
4
3
2
1
О
-1
О
5
10
15
20
25
30
Рис. 15.25. Система стала неустойчивой
Переходный процесс также показывает, что система является не­
устойчивой.
Изменен был только интервал дискретизации, а это вывело си­
стему из устойчивого состояния.
Расчет устойчивости по корням. Известно, что дискретная система
устойчива, если корни характеристического уравнения лежат внутри
единичного круга на комплексной плоскости. Программа MatLab по­
зволяет вычислить корни из характеристического уравнения и пере­
даточной функции в дискретной форме. Нужно иметь в виду, что ком­
плексные корни рассматривать нужно только по модулю. Об этом
наглядно свидетельствует рис. 15.26. Абсолютная величина вещест­
венной и мнимой составляющих корней с координатами (0,84 ± 06J)
меньше единицы, а вот модуль превышает ее.
Рассмотрим передаточную
функцию для устойчивой системы:
у
» мб
і.о
T ra n sfe r fu n c tio n :
0,84 + <Ш
0.008516 zA2 0.001305 z - 0.00721
-0,8 -0.4
zA3 - 2.599 zA2 +
2.206 z - 0.6062
Sam pling tim e: 0 .1
» pole(w 6)
ans =
0.9923 + 0 .0 4 8 8 i
0.9923 - 0 .0 4 8 8 І
0.6140
-
1.0
—
0,6
-
6,2
0,84 - 0,#
Рис. 15.26. Расчет устойчивости
по корням
203
Можно найти корни другим способом. Составим вектор коэффи­
циентов характеристического уравнения
Ѵ »[1-2.599 2 .2 0 6 -0 .6 0 6 2 ],
а затем применим функцию roots:
» ѵ »[1 -2.59 9 2 .2 0 6 -0 .6 0 6 2 ]
ѵ ■
1.0000-2.5990 2.2060-0.6062
» R = ro o ts(v )
R=
0.9923 + 0 .0 4 4 9 І
0.9923 - 0 .0 4 4 9 І
0.6144
»
Как видно, они полностью совпадают.
Найдем модуль по теореме Пифагора:
» a » sq rt(0 .9 9 2 3 A2+0.0488A2)
а =
0.9935
Модуль сомнительного корня лежит внутри единичной окруж­
ности, поэтому система устойчива.
Рассмотрим систему с увеличенным интервалом дискретизации:
» w6
T ra n sfe r fu n c tio n :
0.3036 zA2 - 0.2335 z - 0.07005
zA3 - 1.82 zA2 + 1.009 z + 0.03529
Sam pling tim e: 1
» pole(w 6)
ans =
0.9265 + 0 .4 6 0 0 І
0.9265 - 0 .4 6 0 0 І
-0.0330
Вычислим модуль комплексного корня:
»
а
a = s q r t( 0 .9265А2+ 0.4601А2)
е
1.0345
Модуль превышает единицу, поэтому рассматриваемая система
регулирования неустойчива.
204
15.5. МЕТОД D-РАЗБИЕНИЯ
Метод />-разбиения по одному или двум параметрам удобен
тем, что в полученной области устойчивости виден диапазон изме­
нения настроек и можно легко их выбирать для регулятора. Стан­
дартной программы /)-разбиения в системе MatLab нет. Эту про­
блему можно решить, вводя собственные функции в виде специально
созданных m-файлов, что позволяет сделать открытая архитектура
MatLab, либо нетрадиционно используя штатные средства про­
граммы.
15.5.1. О-разбиение по одному параметру
Чаше всего разбиение по одному параметру выполняется для си­
стем с пропорциональным регулятором. Это и будет параметр К.
Можно, конечно, оценить влияние на устойчивостьлюбого параметра,
например постоянной времени передаточной функции. Характери­
стическое уравнение можно представить в виде D(p) = Sip) +
+ К • N(p), выделив члены, не зависящие от К, в полином S(p),
а остальные, линейно зависящие от К, вынесем за скобки. Граница
0-разбиения задается уравнением, где р заменено на Аѵ:
DUw) шSOW) + К ■N(iw) =0.
Выделим К:
К = - Щ М . = x{w) + JY(w).
N (jw )
Изменяй wот —оодо +<», вычисляем Х(со) и Д<о) и по ним строим
точки границы D-разбиения. Пространство коэффициентов пред­
ставляется системой координат Х—У (рис. 15.27). Обычно строят
только половину кривой (ш = 0, +оо), другую половину достраивают
симметрично относительно вещественной оси.
Если в плоскости корней двигаться вдоль мнимой оси от —эд до
+оо и штриховать ее слева, то это будет соответствовать движению
<0-» +00
со
—О С
Рис. 15.27.0-разбиение
205
вдоль линии £>-разбиения при изменении w o t — содо +оо и штриховке
ее также слева. Переходу корня в плоскости корней из штрихованной
полуплоскости в нештрихованную соответствует аналогичный пере­
ход через границу .D-разбиения, и наоборот. Если пересекается об­
ласть с двойной штриховкой (точки А, В, С), то в плоскости корней
мнимую ось пересекает пара комплексно-сопряженных корней.
Область с наибольшим количеством штриховок является претен­
дентом на область устойчивости. Нужно взять любую точку из этой
области и при соответствующем значении К проверить систему на
устойчивость любым методом.
Так как К — вещественное число, то У(<а)ш О, поэтому нас инте­
ресует не вся область устойчивости, а лишь отрезок вещественной
оси в этой области, т.е. К =Два).
Пример
На рис. 15.28 представлена система третьего порадка с пропорцио­
нальным регулятором. Требуется найти пределы изменения коэффи­
циента передачи регулятора К, когда система будет устойчивой.
Воспользуемся возможностями MatLab.
Задачу решаем в символьной форме:
» syms k s
Передаточная функция объекта имеет вид
» w l» l/(9 *sA3 + 5* sA2 + 6# s + 1)
wl =
l/( 9 * s A3+5*sA2+6*s+ l)
Передаточная функция регулятора:
» w2*k
w2 =
k
Constant
Transfer Fen
Scope
Gain
Constant
fee.
206
15.28. Исследуемая система
Передаточная функция замкнутой системы:
» wz=wl*w2/(l+wl*w2)
wz ■
l/(9*sA3+5*sA2+6*s+l)*k/(l+l/
(9*sA3+5*sA2+6*s+l)*k)
Ввиду избыточности результата упростим выражение:
» wz=simplify(wz)
wz ■
к/(9*sA3+5*sA2+6*s+l+k)
Передаточная функция замкнутой системы имеет следующий вид:
Щ р) = а3
с
1
^
9s3 + 5s2 + 6s+1 + К
<Ш 4 >
Характеристическое уравнение следующее:
hu-9*sA3+5*sA2+6*s+l+k-0
Выделим К:
k=-9*sA3-5*sA2-6*s-l
Заменим s наjw.
k— j* 9 ^ А3+5*^2+j*6*w-1
Выделим действительную и мнимую части:
k«j*(6*w-9*wA3) + (5^2-1)
Присвоим значение действительной части переменной х, а мни­
мой —у:
x=5*wA2 - l
y=6*w-9*wA3
Напишем проірамму построения /^-разбиения:
clear
w=-l;
h * .01;
for t*l:200
y(t)=-9*wA3+6*w;
x(t)=5*wA2-l;
w*w+h;
end
plot(x,y,’k ’),grid on
207
Результат работы программы представлен на рис. 15.29. Коэффи­
циент усиления в области устойчивости меняется от 0 до 2,3. Для
проверки модель системы (см. рис. 15.28) испытывалась с двумя ко­
эффициентами, находящимися по обе стороны граничной точки
зоны устойчивости: К= 2 и К= 2,5.
1
0- ____ і __________ :__________ II----------------- ;
О
—
•
?*
і
і•
tч
:•
t—
г
i
j
-1
.••
і1
•
-----------
L . . J ................... 1 ...................
' *1
? ...............
*
'k
.
i
-2
-1 ,0 -0,5
О
0,5 1,0 1,5 2,0 2,5
Р и с . 15.29. D- р а з б и е н и е
Результаты моделирования представлены на рис. 15.30. Действи­
тельно, примененные настройки лежат по обе стороны границы
устойчивости.
Рис. 15.30. Влияние коэффициента А"на устойчивость
208
15.5.2.0>разбиѳниѳ по двум параметрам
Рассмотрим систему третьего порядка с ПИД-регулятором,
показанную на рис. 15.31, в качестве примера.
Constant
Рис. 15.31. Исследуемая система
Напишем передаточные функции в символьной форме, чтобы
настройки регулятора имели свои имена переменных: кр —коэффи­
циент передачи пропорциональной части регулятора; кі — коэффи­
циент передачи интегральной части регулятора:
syms kp k i s
»
Для объекта:
»
w-l/(2*sA3+4*sA2+5*s+l)
w=
l/( 2 * s A3+4-*sA2+5*s+l)
»
Для регулятора:
» w r= (k p * s+ k i)/s
wr ■
(k p * s + k i)/s
Для замкнутой системы:
»
wz=w*wr/(l+w*wr)
W
ш
Z
1/ ( 2*sA3+4*sA2 + 5 * s+ l)* (k p * s+ k i) / s /
(1+1/ ( 2*sA3+4*sA2+5*s+ l)* (k p * s+ k i) / s )
209
15.5.2.0>разбиѳниѳ по двум параметрам
Рассмотрим систему третьего порядка с ПИД-регулятором,
показанную на рис. 15.31, в качестве примера.
Constant
Рнс. 15.31. Исследуемая система
Напишем передаточные функции в символьной форме, чтобы
настройки регулятора имели свои имена переменных: кр —коэффи­
циент передачи пропорциональной части регулятора; кі — коэффи­
циент передачи интегральной части регулятора:
»
syms kp k i s
Для объекта:
» w -l/(2 * s A3+4*sA2+5*s+l)
w=
l / ( 2 * s A3+4*sA2+ 5*s+ l)
»
Для регулятора:
» w r= (k p * s+ k i)/s
wr ■
(k p * s + k i)/s
Для замкнутой системы:
» wz=w*wr/(l+w*wr)
WZ ш
1 / ( 2*sA3+4*sA2 + 5 * s+ l)* (k p * s+ k i) / s /
С1 + 1 /(2*sА3+4*sA2+5*s+ l)* (k p * s+ k i) / s )
209
Упростим выражение, так как получившееся избыточно:
» wze sim p lify (w z )
wz ■
(kp*s+ ki ) / ( 2*sA4+4*sA3+5*sA2+s+kp*s+ki )
»
Выпишем характеристическое уравнение:
hu=(2*sA4+4*sA3+5*sA2+s+kp*s+ki)
Выпишем коэффициенты характеристического уравнения:
hu« [а 0 аі а2
а3 а4]
hu» [2 4 5 (1+kp) k i]
Напишем определитель устойчивости Гурвица:
Д = а3*(а,*а2 - а 0* а 3) - а , 2* а 4^0
В соответствии с получившимся уравнением напишем программу
построения области устойчивости в плоскости двух параметров: кр и кі.
Заменим кр и кі на х и у, чтобы не вводить символьные перемен­
ные, посколькух и у в программе будут восприняты по умолчанию:
c le a r
% очистить переменные
[x ,y ]= m e sh g rid (0 :0 .1 :1 0 ,0 :0 .1 :4 )% сетка значений
z = ( l+ x ) .* ( 4 .* 5 - 2 .* ( l+ x ) ) - 4 .A2*y % функция
[C ,h ]= c o n to u rf(x ,y ,z ,[0 0 ]) Хпостроить контурный
график и залить область»
выделенную на уровне 00
t i t l e ( ‘D -ra z b ie n ie ’ ) ; g r id %титул графика
x la b e lC ‘K o eff. Кр’ )
%и осей
ylabelC *K o eff. Ki ’ )
%
Результат выполнения вышеуказанной программы показан на
рис. 1S.32.
Область Д-разбиения можно построить и другим способом. Дать
переменной кр диапазон изменения, а затем рассчитать по получен­
ной формуле значения кі. Построить график, используя функцию
plot (кр, кі):
кр»0:.1 :1 0
% диапазон кр
к і= (1 +кр ).*(4 .* 5 -2 .* (1+ кр ))./16 % ф ун кц и я k i от кр
p l o t( k p ,k i) ,g r i d on
%построение графика
h = g e t(g c a , ‘C h ild re n ')
%вывод параметров
линий
s e t ( h ( l ) , ’L ineW idth’ ,4 ) % толщина линии графика
s e t ( h ( l ) , ’C o lo r* , *k’ )
% цвет линии
гю
4
3
2
1
О
О
2
4
6
Ряс. 15.32. Использование contourfдля построения области устойчивости
set(gca, ‘FontSize’, 24) % высота шрифта
24 пункта
title (‘D-razbienie’); % титул графика
xlabelC*Koeff. Кр’)
% и осей
ylabel(*Koeff.Ki’)
Результат выполнения программы показан на рис. 15.33. В про­
грамме диапазон изменения X увеличен, поэтому часть значений У
получилась отрицательной, что недопустимо по условию устойчи­
вости. Отсекаем отрицательные значения и получаем область устой­
чивости, аналогичную той, что показана на рис. 15.28. В этой про­
грамме не пришлось изменять кр и ki на л и у, потому что функция
plot работает и с этими переменными.
Ряс. 15.33.Использованиефункции plotдля построения области
устойчивости
16
ОПТИМИЗАЦИЯ СИСТЕМ РЕГУЛИРОВАНИЯ
В ПРОГРАММЕ SIMULINK
Для оптимизации систем регулирования в программе Simulink
предусмотрен специальный блок NCD Blockset (Nonlinear Control
Design Blockset). Он предоставляет в распоряжение пользователя гра­
фический интерфейс для настройки параметров динамических си­
стем, обеспечивающих желаемое качество переходных процессов.
В ходе оптимизации предоставляется минимизация функции штрафа
за нарушение динамических ограничений. При помощи этого блока
настраиваются параметры нелинейной Simulink-модели, в качестве
которых может быть заявлено любое количество переменных, вклю­
чая скаляры, векторы и матрицы, как регулятора, так и объекта. Па­
раметры, подлежащие настройке, задаются в некоторой области
неопределенности, что позволяет синтезировать робастные законы
управления.
Задание динамических ограничений осуществляется в визуальном
режиме путем перетаскивания ЛКМ линий ограничения или задания
координат начальной и конечной точек этих линий. На базе этих
ограничений NCD Blockset автоматически генерирует задачу конеч­
номерной оптимизации так, чтобы точка экстремума в пространстве
настраиваемых параметров соответствовала выполнению всех тре­
бований, предъявляемых к качеству процесса. Поставленная задача
решается с применением специализированной процедуры квадра­
тичного программирования из пакета Optimization Toolbox. Ход оп­
тимизации визуально контролируется на экране с помощью отобра­
жения графика процесса и текущих значений минимизируемой
функции в окне команд. Результаты процесса оптимизации фикси­
руются в рабочем пространстве и могут быть прочитаны в командной
строке по запросу.
Рассмотрим простой пример, иллюстрирующий начальные
основы использования NCD Blockset.
Имеется система регулирования, содержащая объект второго по­
рядка и ПИД-регулятор, представленная на рис. 16.1. Передаточная
функция объекта следующая: W{s) = —=— -------. Требуется настро35+25 + 1
ить параметры регулятора так, чтобы перерегулирование переход­
ного процесса не превышало 10%, а время регулирования укладыва­
лось бы в 3 секунды. Время подъема до 80% от установившегося ре­
жима составляет 1 секунду.
Прежде всего по правилам, изложенным выше, сформируем мо­
дель системы регулирования и установим в ее блоках заданные па272
11
Constant
w pl
V
1
.
3s2+ 2s + 1
Transfer Ren
Scope
PID Controller
Constant!
NCDOutpoit
Рис. 16.1. Оптимизация настроек ПИД-регулятора
раметры. В параметрах ПИД-регулятора вместо цифровых значений
настроек установим имена переменных пропорциональной, интег­
ральной и дифференциальной составляющих: kp, ki, kd. Их значения,
пока приближенные, установим в командной строке окна команд.
Например:
» к р = 1 ; » к і = 0 .1 ; » k d = 0 .1 .
(MatLab записывает их в W>rkspace (рабочее пространство) и ис­
пользует как начальные значения в процессе оптимизации.)
Время моделирования оставим 10 с по умолчанию, так как посто­
янная времени объекта 2 с. При необходимости его можно изменить
во вкладке Solver (Решатель) (Simulation — Simulation parameters).
Обычно параметр Stop time устанавливается на значении, превыша­
ющем в 4 или 5 раз наибольшую постоянную времени из инерцион­
ных элементов объекта. Для построения более плавного графика
переходного процесса установим Max step size = 0,1. Обычно можно
ориентироваться на 0,01 от времени переходного процесса.
После получения удовлетворительного для оптимизации переход­
ного процесса можно поместить на рабочее поле моделируемой сис­
темы блок NCD Output, показанный на рис. 16.2, после двойного
щелчка по нему ЛКМ. В этом случае его ось времени будет совпадать
с величиной оси регистратора Scope. Иначе его параметры будут вы­
ведены по умолчанию (10 с) и потребуется их дополнительная на­
стройка.
Приступим к установке ограничений по заданию для последу­
ющей оптимизации. Ограничительные линии показаны красным
цветом. Их можно перетаскивать JIKM в желаемое положение, при­
чем если зацепиться за край линии, то ее можно наклонить. После
выделения линия меняет цвет на белый; и если по ней щелкнуть
213
Рис. 16.2. Настройка параметров оптимизации блока NCD
ПКМ, то появляется подменю с координатами левого и правого кон­
цов линии (рис. 16.3). Изменяя координаты, можно установить ли­
нию в желаемое положение. Число линий возможно увеличить, если
после выделения линии нажать на кнопку Split. Линия при этом де­
лится пополам, и каждую половинку можно использовать по своему
усмотрению. На рис. 16.4 показано, как должны быть установлены
ограничительные линии для нашего случая. Для перерегулирования
в 10% линия должна быть установлена по координате у —1,1, а пер­
вая координата х ] = 0, в то время как вторая координата х2 = 3, по­
скольку время регулирования равно 3 с. Значения этих координат
показаны на рис. 16.2. Если допустимые границы трубки регулиро­
вания ±1 % от установившегося значения, то координаты верхней
линии трубки (3 1,01 10 1,01). Для нижней границы трубки
(3 0,99 10 0,99), поскольку первая координата х — это граница
времени регулирования процесса. Линия времени подъема (ее может
и не быть) имеет координаты (1 0,8 3 0,8). Линии ограничения
показаны на рис. 16.4.
Р в е . 16.3. Координаты линии ограничения
214
2
Г«ім
I'
iI
7
Tie* 01
nh
10
IІ. І[
Ряс. 16.4. Линии ограничения
Устанавливаем параметры оптимизации (Optimisation — Para­
meters). В появившемся окне (рис. 16.5) на верхней строке через про­
бел набираем имена настраиваемых переменных ПИД-регулятора
в поле Tunable Variables: kp ki kd. Интервал дискретизации (Discre­
tisation interval) no умолчанию равен 1. Для нашего переходного про­
цесса в 10 с это великовато. График будет ломаным, и точек расчета
недостаточно. Выбираем 0,1. После внесения указанных изменений
нажимаем кнопку Done. Теперь все готово для начала процесса оп­
тимизации, поскольку нижняя и верхняя границы параметров ука­
зываются опционально. Нажмем на кнопку Start и понаблюдаем за
развитием процесса. Для каждого этапа оптимизации в окне отобра­
жаются графики сигнала, соответствующие начальным (белый цвет)
Рнс. 16.5. Параметры оптимизации
215
и текущим (зеленый цвет) значениям настраиваемых параметров.
В командном окне MatLab отображается информация о ходе опти­
мизации. По окончании процесса оптимизации оптимальные зна­
чения настраиваемых переменных, соответствующие кривой зеле­
ного цвета, сохраняются в рабочем пространстве MatLab. Однако
может случиться так, что некоторые параметры окажутся в отрица­
тельной области, поскольку область поиска не ограничена. Устано­
вим желаемую для нас область поиска для каждого из параметров
ПИД-регулятора.
Вторая строчка (Lower bounds) — нижняя граница параметров —
может быть заполнена нулями для каждого параметра через пробел.
(Иногда потребуется малая положительная величина.)
Третья строчка (Upper bounds) —верхняя граница параметров —
заполняется в соответствии с влиянием каждого параметра на пере­
ходный процесс. Осторожно нужно относиться к интегральной части
регулятора, поскольку даже небольшие увеличения коэффициента
передачи интегратора могут привести к неустойчивому режиму.
После установки значений запускаем процесс оптимизации кнопкой
Start и понаблюдаем за развитием процесса. Для каждого этапа оп­
тимизации в окне отображаются графики сигнала, соответствующие
начальным (белый цвет) и текущим (зеленый цвет) значениям на­
страиваемых параметров. В командном окне MatLab отображается
информация о ходе оптимизации.
Первые опытные установки могут привести к тому, что переход­
ный процесс не входит в трубку регулирования. Нужно проверить
получившиеся настройки в командной строке, нажав после их на­
бора Enter. Если какой-либо из параметров достиг установленной
верхней границы, то его нужно увеличить и повторить процесс оп­
тимизации.
В нашем случае процесс оптимизации закончился удачно и пока­
зан на рис. 16.3. Проверяем полученные настройки ПИД-регулятора:
» k p ,k i,k d
kp =
53.0463
ki =
3 .5168е-029
kd =
20.1639
»
Можно принять: kp = 53; ki = 0 (так как ki = 3,5 • 10~29); kd = 20.
Получился ПД-регулятор. Большой коэффициент передачи обес­
печивает небольшую статическую ошибку, которая укладывается
в трубку регулирования.
216
Как было отмечено выше, NCD позволяет учитывать в процессе
настройки математической модели неопределенности параметриче­
ского типа.
Предположим, что наш объект управления подвержен значитель­
ным изменениям так, что передаточная функция объекта имеет вид
І
W{s) =
( 16.1)
Г / + T2s +1
где 2,5 < Тг<, 1,5; 3,5 < Г,< 2,5.
Требуется синтезировать робастное управление, т.е. управление,
обеспечивающее выполнение требований, предъявляемых к замкну­
той системе при любых значениях параметров 7*, и Т2 из указанных
диапазонов.
Для решения поставленной задачи, инициализируем в командном
окне MatLab переменные 71,= 3 и Т2= 2 и изменим параметры блока
Transfer Fen (рис. 16.1): вместо коэффициентов 3 и 2 поставим их
имена Т, и Т2.
В окне блока NCD Outport выберем пункт Uncertainty меню
Optimization. При этом появится окно Uncertain Enables, предна­
значенное для задания неопределенностей модели. Здесь необходимо
указать имена переменных, значения которых варьируются, а также
указать значения их нижних и верхних пределов неопределенных
переменных, которые будут учитываться при параметрической оп­
тимизации.
Установим следующие значения (рис. 16.6): поле Uncertain vari­
ables: Г, Т2, поле Lower bounds: 2.5 1.5, поле Upper bounds: 3.5 2.5.
Поставим галочки напротив полей Constrain lower bound simulation
JrtT2
LmiiImnJk
12 5 1 5
(3525
г itthM b Й оМ С іійІкііІм
Рис. 16.6, Границы коэффициентов
217
и Constrain upper bound simulation (учитывать при моделировании
верхние и нижние допустимые пределы параметров). Число МонтеКарло оставляем равным нулю, а поэтому и в последнем пункте мо­
делирования методом Монте-Карло галочку не ставим. Теперь
можно приступить к процессу оптимизации. Нажмем на кнопку
Start. Для каждого этапа оптимизации в окне отображается по три
графика сигнала, соответствующих начальным (белый цвет) и теку­
щим (зеленый цвет) значениям настраиваемых параметров (рис. 16.7).
Количество ірафиков определяется установками в диалоговом окне
Uncertain Enables (рис. 16.6). В данном случае графика три, так как
было указано, что при моделировании необходимо учитывать
верхние и нижние пределы параметров, а также их номинальные
значения (значения, которые они имеют на начало процесса оптими­
зации).
Рис. 16.7. Оптимизация робастной системы
По окончании процесса оптимизации оптимальные значения на­
страиваемых переменных, соответствующие кривым зеленого цвета,
сохраняются в рабочем пространстве MatLab. Прочитать их можно
в командной строке:
» k p ,k i,k d
kp =
60
ki =
5.4105е-004
kd =
20.8688
218
Настройки для П ИД-регулятора в этом случае следующие:
kp=60, ki= 0.0005 kd= 20.9.
Можно сделать вывод, что отличие от предыдущего варианта не­
значительное.
MatLab 7.9.0 (R2009b) не имеет в библиотеке специального блока
NCD Blockset для оптимизации настроек, рассмотренного выше. Для
этой цели здесь предусмотрен блок Signal Constraint. Щелкнув по
разделу библиотеки Simulink Design Optimization, перетаскиваем по­
явившийся блок на рабочую площадку моделируемой системы. До
этого желательно получить переходную функцию системы на необ­
ходимом интервале времени моделирования. В этом случае блок
Signal Constraint автоматически воспримет параметры моделирова­
ния. Интервал моделирования можно изменять непосредственно на
рабочей площадке в правом верхнем углу. Двойной щелчок по блоку
вызывает панель блока оптимизации Block Parameters: Signal Const­
raint (рис. 16.8). Здесь визуально наблюдается процесс оптимизации.
Для редактирования линий ограничения трубки регулирования, пе­
ререгулирования, времени регулирования и времени подъема необ­
ходимо выделить Л КМ верхнюю или нижнюю часть линий и щелк­
нуть по ним ПКМ. Появляется меню для редактирования: Edit
(отредактируйте), Delete (удалите), Split (разделите), Join right (при­
соедините справа), Extend to inf (распространите до конца). При на­
жатии JIKM на Edit появляется меню редактирования линий, пока­
занное на рис. 16.9, Edit Design Requirment. В отличие от MatLab 6.S
здесь появляются координаты всех верхних или нижних линий. Ре­
дактируются они аналогично вышерассмотренному. Если коорди­
наты Уначальной и конечной точек не совпадают; то в колонке Slope
Рис. 16.8. Блок оптимизации Signal Constraint
219
Рис. 16.9. Координаты линий ограничения
появляется значение угла наклона этой линии. Возможность пере­
таскивания линий ограничения сохраняется. Основные приемы оп­
тимизации настроек при определенных ограничениях совпадают
с рассмотренными выше.
17
СИНТЕЗ МОДЕЛЕЙ СИСТЕМ
17.1. СИНТЕЗ С ПОМОЩЬЮ ЛАФЧХ
Метод синтеза корректирующих устройств с помощью лога­
рифмических амплитудно-фазовых частотных характеристик
(ЛАФЧХ) разомкнутой системы (диаграмм Боде по зарубежной тер­
минологии) встречается в литературе по теории систем управления
очень часто из-за удобства применения.
Если разомкнутая система имеет передаточную функцию W(s), то
ЛАФЧХ включает в себя две кривые — амплитудную частотную ха­
рактеристику (ЛАЧХ)
1^(0» = 2Q\g\fV(M)\
(17.1)
<р(со) = argH'X/co).
(17.2)
и фазовую (ЛФЧХ)
Угловая частота (в рад/с) на оси ординат откладывается в лога­
рифмическом масштабе.
Разложив числитель и знаменатель передаточной функции W(s)
по корням на сомножители первого и второго порядков, можно
представить ЛАЧХ системы как сумму ЛАЧХ элементарных звеньев
(апериодических, колебательных, интегрирующих, дифференциру­
ющих и тд.) Их так называемые асимптотические ЛАЧХ представ­
ляют собой отрезки прямых, что значительно облегчает ручное по­
строение. Раньше, когда не было ЭВМ, вручную строили асимпто­
тические ЛАЧХ, суммируя ЛАЧХ отдельных звеньев. В среде MatLab
есть средства, позволяющие автоматизировать построение точных
(не асимптотических) ЛАФЧХ. Это, например, модуль SISOTool (со­
кращение SISO = Single Input Single Output обозначает систему с од­
ним входом и одним выходом). На рис. 17.1 ЛАФЧХ построена
с помощью этого модуля.
Низкочастотная часть ЛАЧХ определяет точность системы, сред­
нечастотная (вблизи частоты среза сос) — устойчивость и качество
переходного процесса, высокочастотная —чувствительность к по­
мехам. Если система содержит интегратор, низкочастотная часть
имеет ненулевой наклон (20 дБ на декаду для одного интегратора),
постоянный сигнал отслеживается без установившейся ошибки
(астатическая система). Для системы с двумя интеграторами ЛАФЧХ
имеет в области низких частот наклон 40 дБ на декаду, без установив­
шейся ошибки отслеживается не только постоянный, но и линейно
возрастающий сигнал (астатизм второго порядка). Более сложные
221
Bode Diagram
Frequency(tad/sec)
Рис. I7.I
требования к точности приводят к тому, что JIA4X не должна захо­
дить в некоторые запретные области.
Запас устойчивости по амплитуде gm(в дБ) — это расстояние от
J1A4X до горизонтальной прямой Lm= 0 дБ на частоте, на которой
фазовая характеристика пересекает прямую <p ——180*. На этой ча­
стоте система должна иметь коэффициент усиления меньше еди­
ницы (вспомните годограф Найквиста) (см. рис. 17.1).
Запас устойчивости по фазе <рт (в градусах) — это расстояние от
частотной характеристики до горизонтальной прямой <р = —180“ на
частоте среза сос.
Допустимым считается запас по амплитуде не менее 6 дБ и запас
по фазе не менее 30 градусов.
«Подъем» JIA4X (пунктирная линия на рис. 17.1) означает увели­
чение коэффициента усиления контура, фазовая характеристика не
изменяется. Точность системы (при отработке низкочастотных сиг­
налов) повышается, однако увеличивается и влияние высокочастот­
ных помех. Поскольку частота среза увеличивается, повышается
быстродействие системы. При этом переходные процессы приобре­
тают выраженный колебательный характер, запасы устойчивости
уменьшаются, при дальнейшем увеличении коэффициента усиления
теряется устойчивость.
Обычно требуется, чтобы система имела высокую точность (боль­
шой коэффициент усиления по контуру) для низких частот и подав­
ляла высокочастотные помехи (имела низкое усиление в области
222
высоких частот). Частота среза выбирается исходя из требований
к быстродействию.
Для обеспечения хорошего качества переходных процессов реко­
мендуется, чтобы ЛАЧХ пересекала ось L —Ос наклоном 20 дБ/дек.
Это объясняется тем, что наклон 20 дБ/дек, соответствующий апе­
риодическому звену, приводит к наименьшей колебательности пере­
ходного процесса. Точки перехода (излома асимптотической ЛАЧХ)
от низкочастотной части к среднечастотной и далее к высокочастот­
ной должны отстоять от оси L = 0 на 12—16 дБ. Этого добиваются
включением в систему корректирующих устройств, ЛАФЧХ которых,
суммируясь с ЛАФЧХ разомкнутой системы, приводит ее в желаемое
положение.
Пример
На рис. 17.2 представлена система регулирования натяжения
ткани на линии пропитки. Роликовый компенсатор механически
связан с переменным сопротивлением R. Если скорость ткани на
входе уменьшилась, то роликовый компенсатор приподнимается
вверх и изменяет величину переменного сопротивления Я. Сигнал
поступает в блок управления, который дает команду на уменьшение
скорости двигателя постоянного тока ДПТ. Линия пропитки состоит
Рис. 17.2. Система регулирования натяжения ткани
223
из нескольких таких частей регулирования натяжения в зависимости
от числа плюсовок.
Привод постоянного тока описывается следующей приведенной
передаточной функцией:
m s) =
2 1
0,1s + 0,5s +1
(і7.з)
Требования, предъявляемые к приводу, следующие:
а) сигнал управления отслеживается без ошибки;
б) перерегулирование а< 10%;
в) время регулирования /р < 3 с.
В строке команд системы MatLab вводим передаточную функцию
(17.3):
» w=tf(l, [1 .5 1])
T ra n s fe r fu n c tio n :
1
0 .1 s A2 + 0 .5 s + 1
»
Поскольку ошибка в системе должна отсутствовать, вводим пе
редаточную функцию И-рсгулятора:
» w r = t f ( l ,[ l 0 ])
T ra n s fe r fu n c tio n :
1
s
»
Получим передаточную функцию разомкнутой системы, это про
изведение наших передаточных функций:
» w0«w*wr
T ra n s fe r fu n c tio n :
1
0 .1 s A3 + 0 .5 s A2 + s
»
В качестве компенсатора примем пропорциональное звено:
» w 2 = l.
Запускаем модуль SisoTool:
» s is o to o l
224
В появившейся панели SISO Design for System импортируем пе­
редаточную функцию ИИЭкак модель объекта (Plant), а все остальные
блоки: Н —датчик (Sensor), F (предфильтр) и С (регулятор) —остав­
ляем без изменений (равными единице).
File —Import Появляется панель импорта передаточных функций
(рис. 17.3). В правом углу цветными прямоугольниками показана
схема соединений блоков разрабатываемой системы управления.
Блок компенсатора «С» (компенсирующее динамическое звено,
структуру которого необходимо определить) находится в прямом
тракте системы. Схему соединения блоков при необходимости
можно менять, нажимая JIKM кнопку Other, пока другая не устроит
исследователя, например блок С окажется в цепи обратной связи.
4 :л
I
іл
• \
»* г. • г *і
‘I?
ИЩЩ.ПОю:
• -г-Ѵ-А-»
*
,9•
♦ -■ I
* , V.•>
.
I , .>•
« . г •V/ ► I
.'''Л ш Л .і
+тшМ
ft- 1 * 0
■
ттт.
С
$5іНИа$
■
■ № Ш .
0 * 11
(Coiaperaato)
С и j|edtad)w2
*
*-
л
-
*
Iі
т
Ів Ш
шь 1
Рис. 17.3. Формирование параметров системы
В рамке SISO Models появились все передаточные функции, ко­
торые находятся в это время в рабочем пространстве. Их можно
внести в строки справа, которые соответствуют прямоугольникам
схемы соединения: объект Plant, датчик Sensor, предварительный
фильтр Prefilter и компенсатор Compensator. Выделив нужную пере­
даточную функцию ЛКМ, нужно нажать на кнопку со стрелкой пе­
ред строкой, в которую необходимо ее поместить. Понятно, что
можно ввести передаточные функции из программы Simulink или
MAT-file. Далее нужно дать имя разрабатываемой системе и нажать
ЛКМ «Ок». В окнах графопостроителя SISO Design for System «Имя»
будут построены ЛАФЧХ и корневой годограф.
225
Отключаем пока изображение корневого годографа так, чтобы
в окне осталась только ЛАФЧХ: View — Root Locus (отключить /
снять галочку).
Чтобы видеть изменения переходных процессов при изменении
настроек, запустим LTTViewer for SISO Design из верхнего меню окна
SISO Design. Окна раздвинем, чтобы не перекрывали друг друга:
Analysis —Response to Step Command.
LT1Viewer позволяет строить переходную функцию, импульсную,
ЛАФЧХ, годографы Найквиста и Николса, а также распределение
корней. Для этого нужно щелкнуть ПКМ по полю графика и выбрать
в выпадающем меню соответствующий график:
ПКМ — Plot Types —Step.
Оставляем только график переходного процесса на выходе, от­
ключив вывод графика сигнала управления:
ПКМ — Systems — Closed Loop: г to и.
На оставшемся графике можно определить перерегулирование а
и время регулирования L:
ПКМ —Characteristics —Peak Response;
ПКМ —Characteristics —Settling Time.
Они отмечаются синими кружочками, а рядом распечатываются
их характеристики. Это показано на рис. 17.4.
Перейдем в окно SlSOTool и, перетаскивая ЛКМ ЛАЧХ, понаб­
людаем за переходным процессом, добиваясь величины перерегули­
рования в заданные 10%. Если чувствительность высока и с по­
мощью мышки этого сделать не удается, то можно перейти к ре­
дактированию в поле Current Compensator в левом верхнем углу.
Рис. 17.4. Визуализация параметров переходного процесса
226
C(s) —[1.13]. Сразу определяем коэффициент компенсатора, при
котором перерегулирование равно 10%.
Кроме перерегулирования, нас интересует еще время регулиро­
вания, но пропорционального компенсатора может быть и недоста­
точно для конкретной системы. 6 нашем случае время регулирова­
ния немного превышает заданное значение.
В рабочем поле S1SO Design выведены данные о запасе устойчи­
вости системы по амплитуде —9,37 дБ и фазе —62’, что вполне при­
емлемо для практических целей регулирования. Эти результаты по­
казаны на рис. 17.5.
Рис. 17.5. Визуализация запасов по амплитуде и фазе
Вместо И-регулятора для этой же системы применим ПИ-регулятор с целью уменьшения времени регулирования:
» w2tf([l 1],[1 0])
T ra n s fe r fu n c tio n :
s + 1
s
»
Импортируем регулятор в SISO Design.
Захватив JIKM JIA4X, смешаем ее в сторону увеличения ампли­
туды и наблюдаем за изменением переходного процесса. Добиваемся
перерегулирования 10%. Более точно можно установить, изменяя
227
коэффициент усиления компенсатора. В нашем случае С($) = 2,71
(рис. 17.6). Перерегулирование в этом случае равно а = 9,97%,
а время регулирования уменьшилось и составляет L = 2,85 с
(рис. 17.7).
Полученное значение компенсатора экспортируем в рабочее про­
странство. Для этого в SISO Design нажимаем ЛКМ File — Export
ЯГМft
Рис. 17.6. Увеличение амплитуды ЛАЧХ
1*
M H iG k M ilM p ifto y
U-
М іицім Л і 1.1
ом
шпйм
м тхи?
ш
CMMlMftrky
myY
M(M)iue
T
■"I-----
t
I
i
P hc. 17.7
228
и в выпадающем меню — окне выделяем JIКМ «Compensator С».
В рабочем пространстве он появится под своим именем «w2». Выве­
дем его в командной строке:
» w2
Z e ro /p o le /g a in :
2.71 (s+ 1 )
s
»
Получим передаточную функцию разработанной замкнутой сис­
темы:
» w3=w*w2/ ( l+w*w2)
Z e ro /p o le /g a in :
2 7 .1 s (s+ 1 ) ( s A2 + 5s + 10)
s (s+ 0 .8 0 3 5 ) ( s A2 + 5s + 10) ( s A2 + 4 .197s + 3 3 . 7
Полученная передаточная функция имеет избыточную инфор­
мацию. Заметим, что в числителе и знаменателе имеются члены
разложения, которые можно сократить. На этот случай в системе
MatLab существует функция, упрощающая выражение «тіпгеаі».
Применим ее:
» w3=m inreal(w 3)
Z e ro /p o le /g a in :
2 7 .1 (s+ 1 )
(s+ 0 .8 0 3 5 ) ( s A2 + 4 .1 9 7 s + 3 3 .7 3 )
На э то т раз передаточная функция получилась компактнее:
W(s) = — ------ У
+ А-------------г.
(і + 0,8035)(j + 4,197s + 33,73)
(17.4)
Проверим ее, использовав при построении переходной функции,
стандартной командой Step:
» s te p (w 3 ),g rid on
»
Результат выполнения этой команды представлен на рис. 17.8.
Как видно, построенный переходный процесс точно повторяет пе­
реходную функцию LTIViewer, показанную на рис. 17.7.
Модуль SisoTool обладает многочисленными сервисными функ­
циями. Щелкнем, например, дмждм на блоке G структурной схемы.
229
ТІИІЩЦ
Рис. 17.8. Результирующая переходная функция
При этом раскроется окно с информацией о модели блока G. Более
детальную информацию о передаточных функциях можно получить
при нажатии кнопок Show Model (Показать модель). Довольно много
возможностей предоставляет пользователю меню интерфейса. На­
пример, используя команду меню Tools > Draw Simulink Diagram
(Изобразить диаграмму Simulink), непосредственно перейдем к мо­
делированию функционирования системы в среде Simulink. Пред­
ставлено на рис. 17.9. На этом синтез системы может быть закончен.
Задача по синтезу системы с заданными характеристиками вы­
полнена.
rw9QГѵпМгу
Sum
Compensator
rm-*** -
S m o r Dynamics
Рис. 17.9. Переход в Simulink
230
Output
17.2. СИНТЕЗ С ПОМОЩЬЮ КОРНЕВОГО ГОДОГРАФА
Качество системы управления с точки зрения быстродействия
и запаса устойчивости может характеризоваться расположением кор­
ней числителя и знаменателя передаточной функции замкнутой си­
стемы, т.е. расположением
нулей и полюсов передаточ­
ной функции на комплексной
плоскости (рис. 17.10).
Расстояние от самого пра­
вого корня характеристиче­
ского уравнения до мнимой
оси называется степенью
устойчивости а замкнутой
Г
системы.
Число р называют колеба­
0
тельностью или степенью ко­
лебательности замкнутой си­
стемы.
___
о
Время переходного про­
Re
цесса оценивается по степени
устойчивости а замкнутой
системы:
Т.п,п
ІлЛ
а
3,912
а
где А — величина допустимой
ошибки (в MatLab она принима­
ется равной 2%, или 0,02).
Рис. 17,10. Исследование по корням
Запас устойчивости
а
где а —степень устойчивости; ц — колебательность.
Колебательность связана с затуханием амплитуды колебаний за
2п
один период £ соотношением § = 1- е я .
Для систем, имеющих хороший запас устойчивости, обычно %=
= 90-98%, при этом |д = 1,5-2,7.
Перерегулирование (в процентах) оценивается по формуле
100% .
( 17.5)
231
Каждому перерегулированию соответствует свое значение \
и свой сектор, ограничивающий расположение корней. Таким обра­
зом, выбором параметров системы (или введением корректирующих
устройств) можно получить такие корни, которые удовлетворяют
поставленным требованием по быстродействию и запасу устойчи­
вости.
При плавном изменении значения какого-либо параметра при
фиксированных других корни будут перемещаться на плоскости кор­
ней, прочерчивая некоторую кривую, которая называется корневым
годографом или траекторией корней. Построив траектории всех кор­
ней, можно выбрать такое значение варьируемого параметра, кото­
рое соответствует наилучшему расположению корней.
При изменении коэффициента усиления корневой годограф
обладает следующими свойствами.
1. Ветви корневого годографа непрерывны и симметричны отно­
сительно действительной оси комплексной плоскости.
2. Число ветвей корневого годографа равно порядку системы п.
3. Ветви начинаются в полюсах разомкнутой системы (так как при
нулевом коэффициенте усиления К полюсы разомкнутой и замкну­
той систем совпадают). При возрастании Ког нуля до бесконечности
полюса замкнутой системы двигаются по ветвям корневого годог­
рафа.
4. Так как при К = р полюса замкнутой системы становятся рав­
ными нулям разомкнутой системы, то ровно т ветвей корневого го­
дографа заканчивается в нулях замкнутой системы, а остальные
ветви уходят в бесконечность.
5. Замкнутая система является устойчивой, если ее полюса лежат
в левой полуплоскости плоскости корней. Соответственно, при пе­
ресечении ветвями годографа мнимой оси слева направо система из
устойчивой становится неустойчивой. Коэффициент усиления, со­
ответствующий этому переходу, называется критическим. Данное
свойство полезно при оценке устойчивости системы.
Имея в виду вышеизложенные положения, приступим к синтезу
регулятора той же системы, которая была рассмотрена выше, но
с помощью корневого годографа.
Введем передаточные функции объекта w(s) = — =—---------
0,lr + 0,5$ +1
и регулятора wr(s) = - в рабочее пространство MatLab.
s
Запустим, как и раньше, модуль SisoTool в командной строке, вве­
дем передаточные функции объекта и регулятора в блоки системы
и отключим в появившейся панели трафики ЛАФЧХ (View —OpenLoop-Bode ), оставив плоскость корневого годографа.
232
Ту же самую панель корневого годографа можно получить сразу,
введя функцию rltool в командной строке:
» rltool
Появляется рабочая панель корневого годографа. В графической
части окна (на комплексной плоскости нулей и полюсов) отобра­
жены ее нули (кружочками), полюса разомкнутой (х) и замкнутой
систем (квадратиками) и линии их перемещения при изменении ко­
эффициента усиления к компенсатора C(s) от указанного (обычно 0)
значения до оо. Концы годографа для каждого корня помещены кре­
стиком (к ш 0) и кружком (к ш оо) (рис. 17.11).
Рис. 17.11. Панель корневого годографа
Щелкнув ПКМ по полю корневого годографа, в выпадающем
меню можно выбрать grid (сетка). Сетка показывает линии равных
показателей колебательности (коэффициента демпфирования,
damping factor) —прямые, выходящие из начала координат, и линии
равных собственных частот (natural frequency) — окружности
с центром в начале координат.
Также с помощью ПКМ в контекстном меню можно установить
ограничения на расположение полюсов так, чтобы перерегулиро­
вание и время переходного процесса не превышали заданных. Для
этого наао выбрать пункт Design Constraints —New и выбрать в вы­
233
падающем списке Percent Overshoot (перерегулирование в процен­
тах) или Settling Time (время переходного процесса с 2%-й точ­
ностью). Ограничения показываются в виде серых границ запре­
щенных зон.
На рис. 17.11 для времени переходного процесса зона ограни­
чения установлена на 3 с, а для перереіулирования зона ограничения
установлена на 10%.
Запустим LTIViewer for S1SO Design из верхнего меню окна S1SO
Design (Window — LTIViewer for SISO Design) (рис. 17.12).
Рве. 17.12. Графопостроитель
Захватив JIKM любой из корней, перемещаем его, наблюдая за
переходным процессом. Время регулирования не удается установить
меньше 3 с при перерегулировании в 10%. Заменим И-регулятор
на ПИ:
» w r « tf ( [ l 1 ] ,[ 1 0 ])
T ra n s fe r fu n c tio n :
s + 1
s»
Вставим эту передаточную функцию в блок компенсатора.
Это привело к изменению вида корневого годографа. Он показан
на рис. 17.13.
234
Рис. 17.13. Корневой годограф системы с ПИ-регулятором
Перемещаем корень ЛКМ по оси абсцисс и добиваемся перере­
гулирования 10%. Время регулирования уменьшилось до 2,85 с, что
укладывается в заданные параметры.
График получившегося переходного процесса показан на
рис. 17.14, на котором можно определить перерегулирование а
и время регулирования tp.
Рис. 17.14. Переходный процесс с заданными параметрами
235
ПКМ —Characteristics — Peak Response
ПКМ —Characteristics —Settling Time
Выделяются точки максимальной динамической ошибки и по­
следнего входа в трубку регулирования. Рядом распечатываются ха­
рактеристики этих точек.
Экспортируем получившийся регулятор в рабочее пространство.
File — Export. В появившемся меню S1SO Tool Export выделяем
Л КМ «Compensator С (его имя wr)» и нажимаем кнопку Export to
Workspace. В командной строке можем вывести полученное значе­
ние:
» wr
Zero/pole/gain:
2.71 (s+1)
s
»
Определяем передаточную функцию получившейся замкнутой
системы:
» wz«w*wr/(l+w*wr)
Zero/pole/gain:
2 7 .1 s (s+ 1 ) ( s A2 + 5s + 10)
s (s+0.8035) (sA2 + 5s + 10) (sA2 + 4.197s + 33.73)
Избавляемся от избыточности:
» wz=minreal(wz)
Zero/pole/gain:
2 7 .1 (s+ 1 )
(s + 0 .8035) ( s A2 + 4 .1 9 7 s + 3 3 .7 3 )
»
27,1(5 + 1)
Полученная передаточная функция методом корневого гсщографа
соответствует передаточной функции (17.4), полученной метолом
ЛАФЧХ.
18. ПРИЛОЖЕНИЕ
18.1. ДЛЯ ЧЕГО НУЖНЫ ОКНА СИСТЕМЫ MATLAB
18.2. ГЛАВНОЕ МЕНЮ СИСТЕМЫ
18.3. ПАНЕЛЬ ИНСТРУМЕНТОВ
18.4. ОСОБЕННОСТИ ВЫЧИСЛЕНИЯ В MATLAB
18.5. АЛГЕБРАИЧЕСКОЕ И СИМВОЛЬНОЕ СЧИСЛЕНИЯ
18.6. МАТРИЦЫ
18.7. ЦИКЛЫ
18.8. М-ФАЙЛЫ И ФУНКЦИИ
18.9. УПРАВЛЯЮЩАЯ ЛОГИКА
18.10. ФУНКЦИИ КОМАНДНОГО ОКНА
18.11. ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ
18.12. СПЕЦИАЛЬНЫЕ СИМВОЛЫ
18.13. АРИФМЕТИЧЕСКИЕ И МАТРИЧНЫЕ ОПЕРАЦИИ
18.14. ЛОГИЧЕСКИЕ ОПЕРАТОРЫ
18.15. ЭЛЕМЕНТАРНЫЕ ФУНКЦИИ
18.16. КОМАНДЫ ВЫВОДА ГРАФИКОВ
18.17. МАТРИЧНЫЕ ФУНКЦИИ
18.18. СТАТИСТИЧЕСКИЕ ОПЕРАЦИИ
18.19. ОПЕРАЦИИ ЗАГРУЗКИ/СОХРАНЕНИЯ
18.20. НЕЛИНЕЙНЫЕ УРАВНЕНИЯ И ОПТИМИЗАЦИЯ
18.21. РАБОТА С ДИСКОМ
18.22. ГРАФИЧЕСКИЙ ВЫВОД
237
19
СИСТЕМЫ УПРАВЛЕНИЯ. ФУНКЦИИ
ТУЛБОКСА (CONTROL SYSTEM TOOLBOX)
19.1 ПОСТРОЕНИЕ МОДЕЛЕЙ
append
connect
parallel
series
ord2
добавление уравнений динамики системы
моделирование блок-схем
параллельное соединение систем
последовательное соединение систем
формирование матриц А, В, С, D для системы
2-го порядка
19.2. ПРЕОБРАЗОВАНИЯ МОДЕЛЕЙ
ss2tf
ss2zp
tf2ss
tf2zp
zp2tf
zp2ss
residue
c2d
d2c
пространство состояний—передаточная функция
пространство состояний-нули и полюса
передаточная функция—пространство состояний
передаточная функция—нули и полюса
нули и полюса—передаточная функция
нули и полюса-пространство состояний
разложение на простейшие дроби
непрерывная модель—дискретная модель
дискретная модель—непрерывная модель
19.3. СВОЙСТВА МОДЕЛЕЙ
damp
gram
dgram
ctrt>
obsv
tzero
собственные частоты и коэффициенты
демпфирования
грамианы направляемости и наблюдаемости
грамианы управляемости и наблюдаемости
матрица управляемости
матрица наблюдаемости
передаточные нули
19.4. РЕАЛИЗАЦИИ МОДЕЛЕЙ
ctrbf
obsvt
mineral
balreal
modred
dbalreal
dmodred
238
управляемая блочная форма
наблюдаемая блочная форма
минимальная реализация системы
сбалансированная реализация
понижение порядка модели
дискретная сбалансированная реализация
понижение порядка дискретной модели
19.5. РАСЧЕТ РЕГУЛЯТОРОВ
maigin
place
rlocus
lqr
lqe
dlqr
dlqe
lyap
dlyap
расчет запаса по амплитуде и по фазе
размещение полюсов
годограф полюсов замкнутой системы
расчет линейно-квадратичного оптимального
регулятора
расчет линейно-квадратичного оптимального
наблюдателя
расчет линейно-квадратичного дискретного
регулятора
расчет линейно-квадратичного дискретного
наблюдателя
решение уравнения Ляпунова
решение дискретного уравнения Ляпунова
20
МОДЕЛИРОВАНИЕ В SIMULINK
Программа Simulink является приложением к пакету MatLab.
Моделирование с использованием Simulink удобно тем, что при этом
реализуется принцип визуального программирования, в соответ­
ствии с которым пользователь в рабочем поле создает из библиотеки
стандартных блоков модель устройства и выполняет расчеты.
Можно выбирать метод решения дифференциальных уравнений,
фиксированный или переменный шаг. Результаты моделирования
могут быть представлены в виде графиков или таблиц.
20.1 ЗАПУСК SIMULINK
Сначала запускается пакет MatLab. Основное окно пакета
MatLab показано на рис. 20.1.
М
/.п
ГГ
Рис. 20.1. Основное окно программы MatLab
После открытия основного окна программы MatLab Запустить
программу Simulink можно тремя способами.
1. Нажать кнопку Ц (Simulink) на панели инструментов команд­
ного окна MatLab.
2. Выполнить команду Open... в меню File и открыть файл модели
(mdl-файл).
3. В командной строке главного окна MatLab напечатать Simulink
и нажать клавишу Enter на клавиатуре.
Второй вариант используется для запуска уже готовой и отлажен­
ной модели, когда требуется лишь провести расчеты и не нужно до­
бавлять новые блоки в модель. Если необходимо открыть окна обо­
зревателя разделов библиотеки Simulink (рис. 20.2), то используют
первый и третий способы.
240
0
г
а
Рис. 20.2. Окно обозревателя разделов библиотеки Simulink
Окно обозревателя библиотеки блоков содержит следующие эле­
менты.
1. Заголовок с названием окна —Simulink Library Browser.
2. Меню с командами File, Edit, View, Help.
3. Панель инструментов с ярлыками наиболее часто используемых
команд.
4. Окно комментария для вывода поясняющего сообщения о вы­
бранном блоке.
5. Список разделов библиотеки, реализованный в виде дерева.
6. Окно содержимого раздела библиотеки (список вложенных
разделов библиотеки или блоков).
7. Строка состояния, содержащая подсказку по выполняемому
действию.
На рис. 20.2 выделена основная библиотека Simulink (в левой ча­
сти окна) и показаны ее разделы (в правой части окна).
Библиотека Simulink содержит следующие основные разделы.
1. Continuous—линейные блоки.
2. Discrete —дискретные блоки.
3. Functions & Tables —функции и таблицы.
4. Math —блоки математических операций.
5. Nonlinear — нелинейные блоки.
6. Signals & Systems —сигналы и системы.
7. Sinks —регистрирующие устройства.
8. Sources —источники сигналов и воздействий.
9. Subsystems —блоки подсистем.
241
Список разделов библиотеки Simulink представлен в виде дерева,
и правила работы с ним являются обычными для списков такого вида:
* пиктограмма свернутого узла дерева содержит символ «+»,
а пиктограмма развернутого содержит символ «—»;
* для того чтобы развернуть или свернуть узел дерева, достаточно
щелкнуть на его пиктограмме левой клавишей мыши (J1KM).
При двойном щелчке ЛКМ на соответствующем разделе библио­
теки в правой части окна отображается его содержимое (рис. 20.3).
I- fejMcrato
fe j м м *
£}tttHkmw
fid**
Sdзоне»
Stiwyffeam
CeflbnlSystemTeeBw
Я
9 t$a>
Ф
<Иё Ttns WKtahop
9
S^KtmdMu
9<hMkE№
W
Ѵ и іО TiwiponOal»
Рис 2Ф.З. Окно обозревателя с набором блоков раздела библиотеки
Для работы с окном используются команды из меню, которое
содержит следующие пункты:
• File (Файл) —работа с файлами библиотек;
* Edit (Редактирование) — добавление блоков и их поиск (по на­
званию);
■ View (Вид) —управление показом элементов интерфейса;
■ Help (Справка) — вывод окна справки по обозревателю биб­
лиотек.
20.2. СОЗДАНИЕ МОДЕЛИ
Для создания нового файла модели выполняется команда File/
п
New/Model или нажимается ЛКМ кнопка Ы на панели инстру­
ментов, после чего появляется пустое окно модели.
Далее нужнорасположить необходимые блоки в окне модели. Для
этого нажатием ЛКМ открываем соответствующий раздел библио­
теки (например, Sources—Источники) и, указав курсором на требу­
242
емый блок и нажав на левую клавишу мыши, перетаскиваем блок
в созданное окно. Клавишу мыши нужно держать нажатой.
Для удаления блока необходимо выбрать блок J1KM и нажать кла­
вишу Delete на клавиатуре.
Для изменения размеров блока требуется выбрать блок, устано­
вить курсор в один из углов блока и, нажав левую клавишу мыши,
изменить размер блока (курсор при этом превратится в двусторон­
нюю стрелку).
Для установки параметров блока необход имо дважды щелкнуть
JIKM, указав курсором на изображение блока. Откроется окно ре­
дактирования параметров данного блока. При задании численных
параметров следует иметь в виду, что в качестве десятичного разде­
лителя должна использоваться точка, а не запятая. После внесения
изменений нужно закрыть окно кнопкой Ок. На рис. 20.4 в качестве
примера показаны блок, моделирующий передаточную функцию,
и окно редактирования параметров данного блока. После установки
на схеме всех блоков из требуемых библиотек нужно выполнить со­
единение элементов схемы. Для соединения блоков необходимо ука­
зать курсором на выход блока, а затем нажать и, не отпуская левую
клавишу мыши, провести линию к входу другого блока.
Рис. 20.4. Блок, моделирующий передаточную функцию,
и окно редактирования
Как только одинарный крестик-курсор превратится в двойной,
отпустить клавишу. Свидетельством того, что соединение создано,
будет жирная стрелка у входного порта блока.
Если содержимое блока не помещается в свои размеры (рис. 20.5),
его нужно увеличить, расширяя JIKM за любой угол после выделе­
ния. Для создания точки разветвления в соединительной линии
нужно подвести курсор к предполагаемому узлу и, нажав правую
клавишу мьппи, протянуть линию. Для удаления линии требуется
243
Рис. 20.5. Увеличение размеров блока
выбрать линию (так же, как это выполняется для блока), а затем на­
жать клавишу Delete на клавиатуре.
Размножить блоки или сформированную уже модель можно с по­
мощью ПКМ, оттягивая выделенные блоки на новое свободное ме­
сто рабочей площадки. Выделяются блоки щелчком JIKM или окру­
жая блоки рамкой с помощью нажатой JIKM.
Для одновременного наблюдения за переходными процессами
двух и более моделей в одних координатах можно применить блок
мультиплексора, как показано на рис. 20.6.
________________________ 1 ________________________
Constantl
s? + 2s* + 3sJ + 4s3+ Ss + I
Transfer Fcnl
1
Scopcl
sJ + 2s* + Ss+l
Transfer Fcn2
Рис. 20.6. Применение мультиплексора
После составления модели необходимо сохранить ее в виде файла
на диске, выбрав пункт меню File/Save As... в окне схемы и указав
папку и имя файла. Следует иметь в виду, что имя файла должно со­
держать латинские символы. Это же требование относится и к пути
файла (к тем папкам, в которых сохраняется файл).
Меню окна модели содержит команды для редактирования мо­
дели, ее настройки и управления процессом расчета, работы с фай­
лами и т.п.:
* File (Файл) —работа с файлами моделей;
* Edit (Редактирование) —изменение модели и поиск блоков;
* View (Вид) —управление показом элементов интерфейса;
* Simulation (Моделирование) —задание настроек для моделиро­
вания и управление процессом расчета;
244
* Format (Форматирование) — изменение внешнего вида блоков
и модели в целом;
* Tools (Инструментальные средства) — применение специальных
средств для работы с моделью (отладчик, линейный анализ и т.п.);
* НеІр (Справка) — вывод окон справочной системы.
Для работы с моделью можно также использовать кнопки на па­
нели инструментов (рис. 20.7).
1 2
3 4
5 б 7
8
9 10 11 12 13 14 15
16
Рис 20.7. Панель инструментов окна модели
Кнопки панели инструментов имеют следующее назначение.
1. New Model —открыть новое (пустое) окно модели.
2. Open Model —открыть существующий mdl-файл.
3. Save Model —сохранить mdl-файл на диске.
4. Print Model —вывести на печать блок-диаграмму модели.
5. Cut —вырезать выделенную часть модели в буфер промежуточ­
ного хранения.
6. Сору — скопировать выделенную часть модели в буфер проме­
жуточного хранения.
7. Paste — вставить в окно модели содержимое буфера промежу­
точного хранения.
8. Undo —отменить предыдущую операцию редактирования.
9. Redo —восстановить результат отмененной операции редакти­
рования.
10. Library Browser —открыть окно обозревателя библиотек.
11. Toggle Model Browser —открыть окно обозревателя модели.
12. Go to parent system — перейти из подсистемы в систему выс­
шего уровня иерархии («родительскую систему»). Команда доступна,
только если открыта подсистема.
13. Debug — запустить отладчик модели.
14. Start/Pause/Continue Simulation —запустить модель на испол­
нение (команда Start); после запуска модели на изображении кнопки
выводится символ I , и ей соответствует уже команда Plause (Прио­
становить моделирование); для возобновления моделирования сле­
дует щелкнуть по той же кнопке, поскольку в режиме паузы ей соот­
ветствует команда Continue (Продолжить).
15. Stop — закончить моделирование. Кнопка становится доступ­
ной после начала моделирования, а также после выполнения ко­
манды Pause.
245
16.
Normal/Accelerator — обычный/ускоренный режим расчета.
Инструмент доступен, если установлено приложение Simulink
Performance TooL
В нижней части окна модели находится строка состояния, в кото­
рой отображаются краткие комментарии к кнопкам панели инстру­
ментов, а также к пунктам меню, когда указатель мыши находится над
соответствующим элементом интерфейса. Это же текстовое поле ис­
пользуется н для индикации состояния Simulink: Ready (ГЪтов) или
Running (Выполнение). В строке состояния отображаются также:
* масштаб отображения блок-диаграммы (в процентах, исходное
значение равно 100%);
* индикатор степени завершенности сеанса моделирования (по­
является после запуска модели);
* текущее значения модельного времени (выводится также только
после запуска модели);
* используемый алгоритм расчета состояний модели (метод ре­
шения).
Для удаления объекта его необходимо предварительно выделить,
а затем выполнить команду Edit/Clear или воспользоваться клавишей
Delete на клавиатуре. Следует учесть, что команда Clear удаляет блок
без помещения его в буфер обмена. Однако эту операцию можно
отменить командой меню File/Undo.
Для изменения размера блока он выделяется, после чего кур­
сор мыши надо установить на один из маркеров по углам блока.
После превращения курсора в двустороннюю стрелку необходимо
нажать левую клавишу мыши и растянуть (или сжать) изображе­
ния блока.
Изменение цветов отображения блоков:
* Foreground color — выбор цвета линий для выделенных блоков;
* Background color —выбор цвета фона выделен ных блоков;
* Screen color —выбор цвета фона для всего окна модели.
Изменение положения блока и его вида:
* Flip block — зеркальное отображение относительно вертикаль­
ной оси симметрии;
* Rotate block —поворот блока на 90* по часовой стрелке;
* Show drop shadow — показ тени от блока;
* Show port labels —показ меток портов.
Прочие установки:
* Library link display —показ связей с библиотеками;
* Sample time colors —выбор цвета блока индикации времени;
■ Wide nonscalar lines — увеличение/уменьшение ширины неска­
лярных линий;
* Signal dimensions —показ размерности сигналов;
* Port data types —показ данных о типе портов;
246
* Storage class — класс памяти. Параметр, устанавливаемый при
работе Real-Time Workshop;
* Execution order —вывод порядкового номера блока в последова­
тельности исполнения.
20.3. УСТАНОВКА ПАРАМЕТРОВ РАСЧЕТА И ЕГО ВЫПОЛНЕНИЕ
Перед выполнением расчетов необходимо предварительно за­
дать параметры расчета. Задание параметров расчета выполняется
в панели управления меню Simulation/Parameters. Вод панели управ­
ления приведен на рис. 20.8.
Окно настройки параметров расчета имеет четыре вкладки:
■ Solver (Расчет) —установка параметров расчета модели;
* Workspace I/O (ввод/вывод данных в рабочую область) — уста­
новка параметров обмена данными с рабочей областью MatLab;
* Diagnostics (Диагностика) — выбор параметров диагностиче­
ского режима;
* Advanced (Дополнительно) — установка дополнительных пара­
метров.
Установка параметров расчета модели выполняется с помощью
элементов управления, размещенных на вкладке Solver. Эти эле­
менты разделены на три группы (см. рис. 20.8): Simulation time (Ин­
тервал моделирования, или, иными словами, время расчета), Solver
options (Параметры расчета), Output options (Параметры вывода).
Установка параметров расчета модели
Simulation time (Интервал моделирования или время расчета). Время
расчета задается указанием начального (Start time) и конечного (Stop
time) значений времени расчета. Начальное время, как правило, за­
дается равным нулю. Величина конечного времени задается пользо­
вателем, исходя из условий решаемой задачи.
Г ' Г,
Г
Рис. 20.8. Панель управления
247
Solver options (Параметры расчета). При выборе параметров рас­
чета необходимо указать способ моделирования (Туре) и метод рас­
чета нового состояния системы. Для параметра ТУре доступны два
варианта —с фиксированным (Fixed-step) или с переменным (Muiable-step) шагом. Как правило, \&riable-step используется для модели­
рования непрерывных систем, a Fixed-step —для дискретных.
Список методов расчета нового состояния системы содержит не­
сколько вариантов. Первый вариант (discrete) используется для расчета
дискретных систем. Остальные методы используются для расчета не­
прерывных систем. Эти методы различны для переменного (Vfcriablestep) и для фиксированного (Fixed-step) шагов времени, но, по сути,
представляют собой процедуры решения систем дифференциальных
уравнений. Подробное описание каждого из методов расчета состоя­
ний системы приведено во встроенной справочной системе MatLab.
Ниже двух раскрывающихся списков ТУре находится область, со­
держимое которой меняется в зависимости от выбранного способа
изменения модельного времени. При выборе Fixed-step в данной
области появляется текстовое поле Fixed-step size (величина фикси­
рованного шага), позволяющее указывать величину шага моделиро­
вания (рис. 20.9). Величина шага моделирования по умолчанию уста­
навливается системой автоматически (auto). Требуемая величина
шага может быть введена вместо значения auto либо в форме числа,
либо в виде вычисляемого выражения (то же самое относится и ко
всем параметрам, устанавливаемым системой автоматически).
При выборе Fixed-step необходимо также задать режим расчета
(Mode). Для параметра Mode доступны три варианта:
* MultiTasking (Многозадачный) — необходимо использовать,
если в модели присутствуют параллельно работающие подси­
стемы и результат работы модели зависит от временных параме-
Рнс. 20.9. Вкладка Solver при выборе фиксированного шага расчета
248
тров этих подсистем. Режим позволяет выявить несоответствие
скорости и дискретности сигналов, пересылаемых блоками друг
другу;
* SingleTasking (Однозадачный) — используется для тех моделей,
в которых недостаточно строгая синхронизация работы от­
дельных составляющих не влияет на конечный результат моде­
лирования;
* Auto (Автоматический выбор режима) — позволяет Simulink ав­
томатически устанавливать режим MultiTasking для тех моделей,
в которых используются блоки с различными скоростями пере­
дачи сигналов, и режим SingleTasking для моделей, в которых
содержатся блоки, оперирующие одинаковыми скоростями.
При выборе Nfariable-step в области появляются поля для уста­
новки трех параметров:
* Max step size — максимальный шаг расчета. По умолчанию он
устанавливается автоматически (auto), и его значение в этом слу­
чае равно (SfopTime — StartTime)/50. Довольно часто это значе­
ние оказывается слишком большим и наблюдаемые графики
представляют собой ломаные (а не плавные) линии. В этом слу­
чае величину максимального шага расчета необходимо задавать
явным образом;
* Min step size —минимальный шаг расчета;
* Initial step size — начальное значение шага моделирования.
При моделировании непрерывных систем с использованием пе­
ременного шага необходимо указать точность вычислений: относи­
тельную (Relative tolerance) и абсолютную (Absolute tolerance). По
умолчанию они равны соответственно ДО-3 и auto.
Output options (Параметры вывода). В нижней части вкладки Solver
задаются настройки параметров вывода выходных сигналов модели­
руемой системы (Output options). Для данного параметра возможен
выбор одного из трех вариантов:
* Refine output (Скорректированный вывод) —позволяет изменять
дискретность регистрации модельного времени и тех сигналов,
которые сохраняются в рабочей области MatLab с помощью
блока То Workspace. Установка величины дискретности выполня­
ется в строке редактирования Refine factor, расположенной
справа. По умолчанию значение Refine factor равно 1, это озна­
чает, что регистрация производится с шагом Dt = 1 (т.е. для каж­
дого значения модельного времени). Если задать Refine factor
равным 2, это означает, что будет регистрироваться каждое вто­
рое значение сигналов, 3 — каждое третье и т.д. Параметр Refine
factor может принимать только целые положительные значения;
* Produce additional output (Дополнительный вывод) — обеспечи­
вает дополнительную регистрацию параметров модели в задан­
249
ные моменты времени; их значения вводятся в строке редакти­
рования (в этом случае она называется Output times) в виде списка,
заключенного в квадратные скобки. При использовании этого
варианта базовый шаг регистрации (Dt) равен 1. Значения вре­
мени в списке Output times могут быть дробными числами
и иметь любую точность;
* Produce specified output only (Формировать только заданный вы­
вод) —устанавливает вывод параметров модели только в задан­
ные моменты времени, которые указываются в поле Output
times (Моменты времени вывода).
Установка параметров обмена с рабочей областью
Элементы, позволяющие управлять вводом и выводом в рабочую
область MatLab промежуточных данных и результатов моделирова­
ния, расположены на вкладке Workspace I/O (рис. 20.10).
Ряс. 20.10. Вкладка Workspace I/O диалогового окна установки
параметров моделирования
Элементы вкладки разделены на три поля:
* Load from workspace (Загрузить из рабочей области). Если фла­
жок Input (Входные данные) установлен, то в расположенном
справа текстовом поле можно ввести формат данных, которые
будут считываться из рабочей области MatLab. Установка
флажка Initial State (Начальное состояние) позволяет ввести
в связанном с ним текстовом поле имя переменной, содержа­
щей параметры начального состояния модели. Данные, указан­
ные в полях Input и Initial State, передаются в исполняемую мо­
дель посредством одного или более блоков In (из раздела биб­
лиотеки Sources);
* Save to workspace (Записать в рабочую область) — позволяет
установить режим вывода значений сигналов в рабочую область
MatLab и задать их имена;
250
■ Save options (Параметры записи) — задает количество строк при
передаче переменных в рабочую область. Если флажок Limit rows
to last установлен, то в поле ввода можно указать количество пе­
редаваемых строк (отсчет строк производится от момента завер­
шения расчета). Если флажок не установлен, то передаются все
данные. Параметр Decimation (Исключение) задает шаг записи
переменных в рабочую область (аналогично параметру Refine
factor вкладки Solver). Параметр Format (Формат данных) задает
формат передаваемых в рабочую область данных. Доступные
форматы Array (Массив), Structure (Структура), Structure With
Time (Структура с дополнительным полем —«время»).
Выполнение расчета
Запуск расчета выполняется с помощью выбора пункта меню
Simulation/Start или инструмента I на панели инструментов. Про­
цесс расчета можно завершить досрочно, выбрав пункт меню
Simulation/Stop или инструмент Ш. Расчет также можно остановить
(Simulation/Pause) и затем продолжить (Simulation/Continue).
Анализ данных по столбцам:
max
максимальное значение
шіп
минимальное значение
mean
среднее значение
median
медиана
std
среднее отклонение (МО)
sort
сортировка
sum
сумма элементов
prod
произведение элементов
cumsum
кумулятивная сумма элементов
cumprod
кумулятивное произведение элементов
difif
приближенное произведение
hist
гистограмма
corrcoef
коэффициенты корреляции
соѵ
матрица ковариации
сріхраіг
переупорядочение в комплексных парах
Завершение работы
Для завершения работы необходимо сохранить модель в файле,
закрыть окно модели, окно обозревателя библиотек, а также основ­
ное окно пакета MatLab. Завершение работы с системой MatLab осу­
ществляется с помощью команд quit, exit или нажатием комбинации
клавиш <Ctrl> + <0>.
ЛИТЕРАТУРА
1. Советов Б.Я., Яковлев СЛ. Моделирование систем. — М.: Выс­
шая школа, 2006.
2. Тарасик В.П. Математическое моделирование технических сис­
тем: Учебник для вузов. —Мн.: ДизайнПРО, 2004.
3. Егоренков Д.Л., Фрадков А.Л., Харламов В.Ю. Основы математи­
ческого моделирования, построение и анализ моделей с примерами
на языке MatLab. — СПб.: БГТУ, 1994.
4. Севастьянов П.А Компьютерное моделирование технологиче­
ских систем и продуктов прядения. — М.: Информ-Знание, 2006.
5. Моделирование в пакете Matlab и Simulink. URL: http://matlab.
exponenta.ro/mat/MatLab/
6. Дьяконов В.П., КругловВ.В. MatLab. Специальный справочник.
СПб.: Питер, 2001.
7. Ануфриев И.Е., Смирнов А.Б., Смирнова Е.Н. MatLab 7. —СПб.:
БХВ-Петербург, 2005.
8. Севастьянов А.Г., Осьмин Н.А., Щербаков В.П. [и др.]. Механи­
ческая технология текстильных материалов: Учебник для вузов. —
М.: Легпромбытиздат, 1989.
9. Дьяконов В. П. Справочник по алгоритмам и программам на
языке бейсик для персональных ЭВМ. —М.: Наука: Іл. ред. физ. мах
лит.,1987.
10. Симою М.П. Определение коэффициентов передаточных
функций линеаризованных звеньев систем регулирования / / Авто­
матика и телемеханика. 1957. —Nfi б. —С. 514—527.
11. Гмурман В.Е.Теория вероятностей и математическая статис­
тика. —М.: Высшая школа, 2003.
СОДЕРЖАНИЕ
п р е д и с л о в и е ...........................................................- .................................. ........з
ВВЕДЕНИЕ...............................................................................................................4
1.
ВИЦЫ МОДЕЛИРОВАНИЯ................................................................................ 5
1.1 Физическое моделирование.................................... .................. ..................... 5
1.2. Математическое моделирование............................. ........... .................... 8
2.
КЛАССИФИКАЦИЯ МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ.................................18
3.
КЛАССИФИКАЦИЯ МЕТОДОВ МОДЕЛИРОВАНИЯ ...................................25
3.1. Аналитическое моделирование .............................. .................................. ...25
3.2. Имитационное моделирование.................................................................... 28
4.
МОДЕЛИРОВАНИЕ НААНАЛОГОВЫХ ВЫЧИСЛИТЕЛЬНЫХ
МАШИНАХ (АВМ) *............................................................................................ 32
4.1. Элементы аналоговых решателей............................ ............... .................. 32
4.2. Решение дифференциальных уравнений на АВМ.............................. ............. 35
5.
АНАЛОГОВОЕ МОДЕЛИРОВАНИЕ В СИСТЕМЕ MatLab...............................38
5.1. Прямое аналоговое моделирование................. ...........................................39
5.2. Параллельное программирование..................................................................44
5.3. Последовательное программирование...........................................................46
6. МЕТОДЫ СИНТЕЗА РЕКУРРЕНТНЫХ МОДЕЛИРУЮЩИХ
АЛГОРИТМОВ ................................................................................................... 50
6.1. РМАдля типовых звеньев систем автоматического регулирования................. 50
6.2. Расчет переходных процессов в непрерывных системах с помощью РМА...... 61
7.
МОДЕЛИРОВАНИЕ НЕЛИНЕЙНОСТЕЙ........................................................ 65
7.1. Двухпозиционное регулирование................................. ..... ........................ 66
7.2. Трехпозиционное регулирование...................................................................67
7.3. Расчет переходных процессов в нелинейных системах с помощью РМА........68
7.3. ?. Двухпозиционное регулирование.......................................................... 68
7.3.2. Трехпозиционное регулирование................... ....................... ............. 72
8.
МОДЕЛИ ТЕКСТИЛЬНЫХ МАШИН............................................................... 75
8.1. Модель ленточной машины............................................ ...............................75
8.2. Модель чесальной машины (без учета действия шляпок).............................. 82
9.
СПОСОБЫ ИНТЕГРИРОВАНИЯ В МОДЕЛИРОВАНИИ.............................85
9.1. Метод Эйлера................................................................................................ 85
253
9.2. Методтрапеций............................................................................................ 87
9.3. Метод Симпсона (Метод парабол)................................................................. 89
9.4. Вычисление интеграла с наперед заданной ошибкой вычисления..... ............. 91
10. ЭКСПЕРИМЕНТАЛЬНОЕ ПОЛУЧЕНИЕ МОДЕЛИ.......................................92
10.1. Сглаживание данных эксперимента.............................................................. 92
10.2. Регрессионный анализ {метод наименьших квадратов)................... .............95
10.3. Параметрическая идентификация модели (метод Симою)............................Юі
10.4. Идентификация в системе MatLab.............................................................111
11. ПРОВЕРКА МОДЕЛИ НААДЕКВАТНОСТЬ
118
11.1. Критерий адекватности Фишера................................................................. 118
11.2. Критерий Стыодѳнта (f-критерий)............................................................. 127
12. МОДЕЛИ В ПРОСТРАНСТВЕ СОСТОЯНИЙ_________________________ 133
12.1. Многомерные системы............................................................................... 148
13. МОДЕЛИ В ДИСКРЕТНОЙ ФОРМЕ.........___________________________158
14. ФОРМАТИРОВАНИЕ ГРАФИКОВ В ПРОГРАММЕ MATLAB.........................167
15. ИССЛЕДОВАНИЕ МОДЕЛЕЙ НА УСТОЙЧИВОСТЬ
В ПРОГРАММЕ MATLAB.................................................................................175
15.1. Оценка устойчивости замкнутой системы по критерию Михайлова...............177
15.2. Оценка устойчивости замкнутой системы по критерию Найквиста................179
15.3. Применение критерия устойчивости ГУрвица...............................................190
15.4. Критерии устойчивости цифровых систем...................................................194
15.5. Метод О-раэбиения............................ ................. ............................... ....205
1І. ОПТИМИЗАЦИЯ СИСТЕМ РЕГУЛИРОВАНИЯ В ПРОГРАММЕ
SIMULINK________________ ....________________________________ _ 212
17. СИНТЕЗ МОДЕЛЕЙ СИСТЕМ____________________________________ 221
17.1. Синтез с помощью Л А Ф Ч Х ...................................................................................................................... 221
17.2. Синтез с помощью корневого годографа.....................................................231
< ^ > 18. ПРИЛОЖЕНИЕ........................................................................................ 237
18.1. Для чего нужны окна системы M a tLa b .......................................................237-1
18.2. Главное меню системы............................................................................237-3
18.3. Панель инструментов........................................................ .................... 237-6
18.4. Особенности вычисления в M a tLa b ..........................................................237-8
18.5. Алгебраическое и символьное счисления.............................................. 237-10
18.6. Матрицы............................................................................................... 237-14
254
18.7. Циклы ....... ....................................... ............... .................................... 237-18
18.8. М-файлы и функции...............................................................................237-20
18.9. Управляющая логика....... ....................................................................... . . 237-24
18.10. Функции командного окна....................................................................237-24
18.11.Функции общего назначения....................
....... .....237-25
18.12.
Специальные символы........................................................... 237-25
18.13. Арифметические и матричные операции.............................................237-25
18.14. Логические операторы...................... ................. .......................................... .237-26
18.15. Элементарные функции................................................................................ ..237-26
18.16. Команды вывода графиков...................................................................237-28
18.17. Матричные функции............................................................................237-28
18.18. Статистические операции...............................................................................
18.19. Операции загрузки/сохранения...........................................................237-29
18.20. Нелинейные уравнения и оптимизация................................................237*30
237-29
18.21. Работа с диском.............................................. ....................................237*30
18.22. Графический вывод............................................................................. 237-30
19. СИСТЕМЫ УПРАВЛЕНИЯ. ФУНКЦИИ ТУЛБОКСА
(CONTROL SYSTEM TOOLBOX)___________________________________ 238
19.1. Построение моделей................................................................................. 238
19.2. Преобразования моделей.......................................................................... 238
19.3. Свойства моделей...... .............................................................................. 238
19.4. Реализации моделей................................................................................. 238
19.5. Расчет регуляторов.................................................................................... 239
21. МОДЕЛИРОВАНИЕ В SIMULINK-------------------------------------------------- 240
20.1. Запуск Simufink........... ........................................... ........................................ ..... 240
20.2. Создание модели................................................. .................................... 242
20.3. Установка параметров расчета и его выполнение....................................... 247
ЛИТЕРАТУРА........................................................................................................ 252
Download