Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147), страница 49
Текст из файла (страница 49)
12.2. Блок-диаграмма системы управления в пакете 8!тийп1с Для моделирования динамических систем уже с 50-х годов ХХ века стал использоваться метод построения структурных схем из решающих блоков аналоговых компьютеров: источников тока, интеграторов, усилителей, сумматоров, умножителей. Токи и напряжения в блоках прелстааляли константы, переменные и параметры моделируемой системы, а сами блоки реализовывали те преобразования, которые удобно выполнить аппаратно с электрическими токами: интегрирование, сложение и умножение. Начиная с тех давних пор и по сегодняшний день блочный подход является основным в моделировании динамических систем, только сейчас решающие блоки являются не аппаратными, а реализуются программно.
Подход, при котором блочная структура системы собирается из стандартных блоков библиотеки, по этой структуре автоматически строится система уравнений, которая затем решается с помощью численных методов на компьютере, реализован, например, в инструментальной системе моделирования Яп><й<п«. Для решения системы алгебро-дифференциальных уравнений: с«т>гас = иа *< к*о — г — т> о=от +кр*<т -т> г><от><с>С = К<"<т -т>. В редакторе пакета Япш!гп«следует набрать следующую блок-схему. Рис. 12.2. Блок-диаграмма для моделирования а Бата<Ма Часть ()Г.
Современные парадигмы в имитационном моделировании Подобные блок-лиаграммы улобны для быстрого построения небольших структур, но наглядности и удобства в такиж схемах нет. Большие трудности в построение таких блок-схем вносит необходимость переключения режимов, например в нашем примере для исследования поведения системы с постоянной и меняюшейся характеристикой в внешней среды необходимо схему рис. 12.2 дополнить. В комментариях к подобной схеме в руководстве !ОВ02! по системе 3!)пц)!и)( написано: "танин схема может понпзатьсн очень запутанной.
Но представьте себе сломсность прогрпммированин этой системы на С или Фортране!" Конечно, по сравнению с программированием на алгоритмическом языке использование таких блок-схем — это революционный шаг вперед. Однако современные возможности информационных технологий позволяют лля задания подобных систем уравнений использовать и другие подходы.
Например, в Апу1.оя!с алгебро-дифференциальные уравнения, описывающие поведение сложной динамической системы, представляются в форме Коши и записываются непосредственно как выражения в соответствующем поле окна свойств переменных. В выражениях можно также использовать аналитические функции. В этой главе на примере модели системы управления мы покюкем, что в среде Апу1.оя!с может быть использовано несколько различных подходов для реализации динамических систем.
12.3. Реализация модели динамической системы в среде Апу1 о91с Для моделирования системы управления можно в поле редактора опрелелить все переменные и параметры этой системы, и для каждой переменной в соответствуюшем поле окна свойств этой переменной записать правую часть определяюшего ее уравнения. Для нашей системы управления, описываемой соотношениями: с1(т)т»)» = 1га*(х*п-в-т) — и).+ко*(те-т) а(ьь)?е» = кь*(те-т) такая модель ссо»хо1вув»еео прелставлена в папке Мо)!е! Ехаптр1ез~рап!Ъ'.
Переменные т и пь определяются как вещественные вида Интеграл, правая часть дифференциальных уравнений записывается в соответствующем поле в виде выражения. Например, лля переменной т это выражение имеет вил рис. 12.3 (на желтом фоне в поле релактора здесь представлен комментарий — перечисление функциональных соотношений переменных). В модели ссо»то1эув»еео используются два режима для задания различного поведения внешней среды, определяемой значением параметра в. Переклю- Глава !2. Динамические системы чение режимов в моделях динамических систем легко осуществляется с помощью стейтчарта. В нашей модели стейтчарт с именем всасесьахе имеет два состояния. В одном состоянии никаких соотношений для в не определено, и, следовательно, эта переменная определена своим постоянным (начальным или текущим) значением. В прутом состоянии в определено урав- НЕНИЕМ В=Гаек* !1+е1п!Я *С! ! та.
ПЕРЕХОД В Этс СОСТОЯНИЕ ОСУЩЕСтВЛЯЕтСЯ, КаК ТОЛЬКО ЛОГИЧЕСКая ПЕрЕМЕННая Ваап СтаНЕт ИСтИННОй (В рЕЗуЛЬтатЕ внешнего воздействия). Рис. 12.3. Определение переменной т как интеграла Использование стейтчартов для переключения моделей позволяет легко строить сложные гибридные модели динамических систем, т. е. такие модели, в которых непрерывное поведение прерывается дискретными событиями„вызывающими изменение поведений. С МОДЕЛЬЮ Сопссо1аувееас МОЖНО ВЫПОЛНятЬ раЗЛИЧНЫЕ ЗКСПЕрИМЕНтЫ, меняя ее параметры в окне дерева объектов модели. На рис.
12.4. представлены результаты эксперимента, в котором после запуска молели сопсто1вувсеп а значение параметра ввгп было изменено с 0 на ! (со значения еа1ве на значение сапе) при модельном времени 50. Это вызвало переключение режима внешней срелы. Анимация поведения системы в Апу1.оя!с позволяет более ясно представить процессы, происходящие в системе в их совокупности. Такая анимация для СИСТЕМЫ уПраВЛЕНИя дсбаВЛЕНа В МОДЕЛИ Сопесо1аувееас ыъеь апьааеьоп папки Мог!е! Ехашр!ез1РаП !'Ч (рис. 12.5). В окне анимации динамика системы отражена изменением цвета графических объектов, их позицией и размерами. С помощью флажка ! И) с именем Колебания можно переключиться на режим изменения внешнего воздействия г по синусоидальному закону.
Часть!1г'. Современные парадигмы в имитационном моделировании Рис. 12.Ф. Результаты эксперимента с моделью системы управления Рис. 12.5. Модель системы управления с анимацией Глава 12. Динамические системы 241 12.4. Построение моделей с иерархической структурой Система управления рис. (2.! состоит из двух подсистем: бойлера и регулятора (контроллера). В бойлере происходит процесс нагревания, и его переменные т, и и в связаны уравнением: Йт/т(Е = 1/в *( К*о-Р- Т(„ контроллер выполняет регулирование, процессы в нем описываются двумя другими уравнениями: ц = ш+кр*(тв-т(, йцт/ЕЕ = Кг*(тв-т).
Очевидно, что при создании модели более удобно ее структурировать, отдельно залая описание бойлера и контроллера как классов активных объектов, а затем поместить в корневой активный объект по одному их экземпляру, соединив интерфейсные переменные. На рис. (2.б показаны эти классы активных объектов и собранная модель в корневом классе маге. тт Рис. 12.6. Структурное представление модели системы управление Модель сепехо1вувеее1 представляет эту систему управления, построенную из соответствующих классов активных объектов.
Для удобства переменные тв, о, а и т продублированы также в корневом активном объекте, они соединены с соответствующими интерфейсными переменными экземпляров классов солете11ек и ье11ет. Вследствие этого анимация, построенная в модели солете1аувееео нгеь апгевеьоп, может быть использована без изменений и в этой модели. Запустите в одном окне модель сельте1аувееео нгеь вп1тввтоп, а в другом — модель сслете1эувеее1. Скопируйте анимацию в дереве проекта первой модели и перенесите ее в корневой объект нагл второго проекта.
Модель будет Часть )К Современные парадигмы в имитационном моделировании демонстрировать то же самое поведение. Это упражнение показывает, что любые объекты, разработанные в одном проекте, можно копировать и переносить в другие проекты (конечно, с соблюдением правил видимости переменных и методов). 12.5. Блочный метод реализации моделей динамических систем а среде АпуЕоя~с При разработке моделей динамических систем в Апу) оягс можно использовать блоки соответствующей библиотеки (г)упаптгс зузгепг ) гЬгагу) точно так же, как это делается в пакете %гпту)гп)г. На рис. !2.7 модель системы управления реализована в виде диаграммы из блоков этой библиотеки. ЙТйд Цв»т И»ТЗ - Е - Т), ь*и +яр'(тат) ь!а - и'(те»т) Е = ЕО ц Рввхьй+ял(Ен"т))та Гтгкалл Ес З , (Гвах*+Елехьял(гь4'Т))тз 5л '.
'~т ть-ть т(о) гь,,1 Еял ге В» Рис. 12.7. Модель системы управления, построенная нз блоков Глава !2. Динамические сисгамы Эта модель называется ссссхс1оулаувевх и находится в папке Моде! Ехатр!ев. Все разработанные молели системы управления соанестимы. Это означает, в частности, что при разработке моделей в Апу1 ой!с можно применять различные стили, повторно использовать уже разработанные модели подсистем. Например, переключение режимов функционирования внешней среды в модели сснсхс1оупвуаеех можно сделать посредством стейтчарта вместо того, чтобы строить его из четырех блоков библиотеки„ можно в эту модель скопировать анимацию, разработанную для модели сссехс1вувсатс и т. п.
12.6. Мяч, прыгающий по ступенькам Простейшая задача отскока мяча, рассмотренная в главв 4, может быть обабшена в нескольких направлениях. Модель ва11в он веаьхв из папки Мог)е! Ехатр!ез~раг! 1У демонстрирует одно из таких обобшений — отскоки мяча на ступеньках. В модели учитывается сопротивление воздуха и потеря энергии при отскоке мяча. Учитывается также, что мяч может попасть на угол ступеньки. Это типичная задача моделирования гибридных систем, в которых наряду с непрерывными процессами присутствуют и дискретные события, менявшие непрерывное поведение системы.
12.6.1. Описание модели В модели кроме координат х, у и скоросгей чх„чу по этим координатам ис- пользуются следующие переменные: П с — номер очередной ступеньки; П хасар и увсер — координаты угла очерелной ступеньки; П а — расстояние от угла очередной ступеньки до центра мяча; П а1рьа — угол вектора от угла очередной ступеньки до центра мяча. Параметры модели следующие: П х — радиус мяча; П х — коэффициент потери энергии при отскоке мяча„ П хт — коэффициент, учитывающий сопротивление воздуха; П ь и и — высота и ширина ступеней; П н — число ступеней лестницы. Сопротивление воздуха учитывается тем, что по каждой координате умень- шение скорости пропорционально квадрату скорости, например: Часть дГ.