Моделирование сложных систем

Автор работы: Пользователь скрыл имя, 02 Апреля 2013 в 00:12, курсовая работа

Описание работы

Целью данной курсовой работы является изучение подходов и средств моделирования; разработка машинной модели с использованием алгоритмических языков и специальных программных средств. В настоящее время нельзя назвать область человеческой деятельности, в которой в той или иной степени не использовались бы методы моделирования. Особенно это относится к сфере управления различными системами, где основными являются процессы принятия решений на основе получаемой информации.

Файлы: 1 файл

mss - копия.docx

— 5.33 Мб (Скачать файл)

CURRENT – номер блока в котором находится транзакт

NEXT – номер блока в который перейдет транзакт далее

PARAMETER – номер или имя параметра транзакта   

VALUE – значение параметра

Информация  о списке будущих событий:

FEC (Future Events Chain)

XN – номертранзакта

PRI – приоритет транзакта       

BDT-  таблица модельных событий – абсолютное модельное время выхода транзакта из списка будущих событий (и перехода транзакта в список текущих событий)    

ASSEM  - номер семейства транзактов

CURRENT-  номер блока в котором находится транзакт (0 – если транзакт не вошел в модель)

NEXT  - номер блока в который перейдет транзакт далее

PARAMETER – номер или имя параметра транзакта   

VALUE – значение параметра

 

4.3 Моделирование  СМО в системе MATLAB

История существования пакета MATLAB, название которого происходит от словосочетания Matrix Laboratory (матричная лаборатория), насчитывает уже более двух десятков лет. На сегодня MATLAB представляет собой весьма удачное сочетание возможностей математики с последними достижениями в области вычислительной техники.

В первую очередь MATLAB — это средство математического моделирования, обеспечивающее проведение исследований практически во всех известных областях науки и техники. При этом структура пакета позволяет эффективно сочетать все три основных подхода к созданию модели: аналитический, имитационный и комбинированный.

Именно  в сфере математического моделирования MATLAB позволяет наиболее полно использовать все современные достижения компьютерных технологий, в том числе средства визуализации и аудификации (озвучивания) данных. Кроме того, пользователь имеет возможность создавать средствами MATLAB собственный графический интерфейс, отвечающий как его вкусам, так и требованиям решаемой задачи. С точки зрения пользователя, MATLAB представляет собой богатейшую библиотеку функций, единственная проблема при работе с которой заключается в умении быстро отыскать те из них, которые нужны для решения данной задачи.

Для облегчения поиска библиотека функций  разбита на разделы. Те из них, которые  носят общий характер и используются чаще, входят в состав ядра MATLAB. Другие функции, относящиеся к конкретной области, включены в состав соответствующих специализированных разделов. Эти разделы называются в MATLAB Toolboxes (наборы инструментов). Каждый из них имеет свое собственное название, отражающее его предназначение.

Система MATLAB – это одновременно и операционная среда и язык программирования. Одна из наиболее сильных сторон системы состоит в том, что на языке MATLAB могут быть написаны программы для многократного использования.

Пользователь  может сам написать специальные  функции и программы, которые оформляются в виде М – файлов. По мере увеличения количества созданных программ возникают проблемы их классификации и тогда можно попытаться собрать родственные функции в специальные папки. Это приводит к концепции пакетов прикладных программ, которые представляют собой коллекции М – файлов для решения определённой задачи или проблемы.

 

4.3.1 Среда Simulink и Stateflow

Simulink - интерактивный инструмент для  моделирования, имитации и анализа динамических систем. Он дает возможность строить графические блок-диаграммы, имитировать динамические системы, исследовать работоспособность систем и совершенствовать проекты. Simulink полностью интегрирован с MATLAB, обеспечивая немедленным доступом к широкому спектру инструментов анализа и проектирования. Simulink также интегрируется с Stateflow для моделирования поведения, вызванного событиями. Эти преимущества делают Simulink наиболее популярным инструментом для проектирования систем управления и коммуникации, цифровой обработки и других приложений моделирования.

Программа Simulink является приложением к пакету MATLAB. При моделировании с использованием Simulink реализуется принцип визуального программирования, в соответствии с которым, пользователь на экране из библиотеки стандартных блоков создает модель устройства и осуществляет расчеты. При этом, в отличие от классических способов моделирования, пользователю не нужно досконально изучать язык программирования и численные методы математики, а достаточно общих знаний требующихся при работе на компьютере и, естественно, знаний той предметной области, в которой он работает.

Simulink является достаточно самостоятельным  инструментом MATLAB и при работе  с ним совсем не требуется  знать сам MATLAB и остальные его  приложения. С другой стороны доступ к функциям MATLAB и другим его инструментам остается открытым и их можно использовать в Simulink. Часть входящих в состав пакетов имеет инструменты, встраиваемые в Simulink.

При работе с Simulink пользователь имеет возможность  модернизировать библиотечные блоки, создавать свои собственные, а также составлять новые библиотеки блоков.

При моделировании пользователь может  выбирать метод решения дифференциальных уравнений, а также способ изменения модельного времени (с фиксированным или переменным шагом). В ходе моделирования имеется возможность следить за процессами, происходящими в системе. Для этого используются специальные устройства наблюдения, входящие в состав библиотеки Simulink. Результаты моделирования могут быть представлены в виде графиков или таблиц.

Блоки сгруппированы в библиотеки согласно их свойству: источники, сливы, дискретные, непрерывные, нелинейные, математические, функции и таблицы, и сигналы и системы. Кроме  того, Simulink предлагает полнометражные фильмы создания настроенных блоков и блочных библиотек. Можно настраивать  не только функциональные возможности блока, но также и его интерфейса пользователя, используя таможенные иконки и таможенные диалоговые окна.

В пакете Simulink пользователь имеет дело с графической формой языка моделирования, в которой классы представлены в виде устройств (блоков) двух типов: «вход-выход» (например “integrator”) и «вход-выход-состояние» (например “state-space”). Различные по функциональному назначению классы собраны в библиотеки: непрерывные, дискретные, нелинейные, математические блоки, источники, приемники, генераторы. При выполнении операции “drag-and-drop” графический образ класса переносится из библиотеки классов в устройство-контейнер (окно «модель») и  создается экземпляр класса со значениями параметров, заданных по умолчанию, которые, при необходимости могут быть изменены. Пользователю доступны «входы», «выходы» и «параметры» экземпляра блока, а все остальные детали реализации библиотечного класса скрыты (инкапсулированы) внутри него.

Новый пользовательский класс может  быть собран только из существующих и  оформлен как библиотечный класс    “SubSystem”. Еще одним примером класса может служить класс «модель», который играет роль устройства контейнера для проектирования новых устройств и испытательным стендом при запуске модели по команде “Simulation/Run”.Отношение «родитель-потомок» между классами в явном виде в Simulink  не существует, но легко узнаваемо. Можно считать, что все устройства с переменным числом входов, такие как сумматор, являются потомками класса «сумматор с двумя входами».  Наличие в Simulink непрерывных и дискретных блоков и возможность их одновременного использования уже позволяет говорить о гибридных системах. Для описания систем с различным типом поведения («смена уравнений») в Simulink могут быть использованы устройства типа “switch” (переключение между

«входами», в зависимости от значения управляющего сигнала) или предопределенный набор блоков, реализующих кусочно-непрерывные периодические функции. Для описания устройств, у которых скачком меняются лишь параметры («смена значений параметров»), лучше всего использовать  средства, предоставляемые дополнительным программным продуктом “StateFlow”, основанном на использовании карт состояния Харела.

Основные свойства подсистемы Simulink:

Подсистема Simulink - это интерактивная  среда для моделирования и  анализа широкого класса динамических систем, использующая графический язык блок-диаграмм.

Подсистема Simulink:

- предоставляет возможность моделирования  непрерывных, дискретных             и   гибридных как  линейных, так и нелинейных систем;

- включает в себя обширную  библиотеку блоков (непрерывные  элементы, дискретные элементы, математические  функции, нелинейные элементы,  источники сигналов, средства отображения, дополнительные блоки), которые можно использовать для создания новых систем;

- позволяет объединять блок-диаграммы  в составные блоки, обеспечивая  иерархическое представление структуры модели;

- содержит средства для создания  блоков и библиотек, определяемых  пользователем;

- дает возможность проектировать  подсистемы, имеющие изменяемую  во времени структуру, но эти  возможности весьма ограничены.

Начиная с версии 3.0, в Simulink появились  специализированные приложения, значительно расширившие ее возможности, в частности:

- подсистема Stateflow – дает возможность  моделировать поведение гибридных или сложных событийно-управляемых систем, базируясь на картах состояния Харела. Уже созданные пользователями пакета Simulink модели рассматриваются как объект управления, закон управления которыми реализуется в StateFlow.

- подсистема Stateflow Coder предназначена  длягенерация С-кода при реализации диаграмм Stateflow. Используя Stateflow и Stateflow Coder, пользователь может генерировать нужный код на С только для управляющих моделью блоков, реализованных с помощью Stateflow .

- подсистема Real-Time Workshop  дополняет  Simulink и Stateflow Coder, обеспечивая автоматическую  генерацию кода C для  моделей,  разработанных в Simulink.

- подсистема Simulink Report Generator  позволяет  создавать и настраивать отчеты  из моделей Simulink и Stateflow в различных  форматах, среди которых HTML, RTF, XML и SGML.

- подсистема Simulink Report Generator  позволяет  создавать и  настраивать отчеты  из моделей Simulink и Stateflow в различных  форматах, среди которых HTML, RTF, XML и SGML.

Stateflow представляет собой графический  инструментарий для проектирования сложных систем управления и является самым значительным дополнением к среде Simulink. Подсистема Stateflow дает возможность моделировать поведение сложных событийно-управляемых систем, базируясь на картах состояния Харела.

Процесс создания модели в Stateflow обычно подразумевает следующие этапы:

- создание модели в Simulink или  открытие уже существующей модели;

- создание диаграммы в Stateflow;

- добавление к Stateflow-блоку интерфейса  событий (event) и данных (data);

- отладка модели;

- генерация кода.

Преимущество Simulink заключается также в том, что он позволяет пополнять библиотеки блоков с помощью подпрограмм написанных как на языке MATLAB, так и на языках C++, Fortran и Ada.

Stateflow - инструмент для численного моделирования  систем, характеризующихся сложным поведением. К числу таких систем относятся гибридные системы. Примерами гибридных систем могут служить системы управления, используемые в промышленности (автоматизированные технологические процессы), в быту (сложные бытовые приборы), в военной области (высокотехнологичные виды вооружений), в сфере космонавтики, транспорта и связи. Все эти системы состоят из аналоговых и дискретных компонентов. Поэтому гибридные системы - это системы со сложным взаимодействием дискретной и непрерывной динамики. Они характеризуются не только непрерывным изменением состояния системы, но и скачкообразными вариациями в соответствии с логикой работы управляющей подсистемы, роль которой, как правило, выполняет то или иное вычислительное устройство (конечный автомат).

В том случае, когда логика работы управляющей подсистемы является жесткой, а внешние условия относительно стабильны, говорят о трансформационных системах. Для таких систем фазы получения информации, её обработки и выдачи выходных сигналов четко разграничены. На момент обращения к системе все входные сигналы определены. Сигналы на выходах образуются после некоторого периода вычислений. Вычисления производятся по некоторому алгоритму, трансформирующему (преобразующему) входной набор данных в выходной.

Событие - нечто, происходящее вне рассматриваемой  системы, возможно требуя некоторых  ответных действий. События могут  быть вызваны поступлением некоторых данных или некоторых задающих сигналов со стороны человека или некоторой другой части системы. События считаются мгновенными (для выбранного уровня абстрагирования).

Действия - это реакции моделируемой системы  на события. Подобно событиям, действия принято считать мгновенными.

Состояние - условия, в которых моделируемая система пребывает некоторое  время, в течение которого она  ведет себя одинаковым образом. В  диаграмме переходов состояния представлены прямоугольными полями со скругленными углами.

Переход - изменение состояния, обычно вызываемое некоторым значительным событием. Как правило, состояние соответствует промежутку времени между двумя такими событиями. Переходы показываются в диаграммах переходов линиями со стрелками, указывающими направление перехода.

Каждому переходу могут быть сопоставлены условия, при выполнении которых переход осуществляется.

С каждым переходом и каждым состоянием могут быть соотнесены некоторые действия.

Действия  могут дополнительно обозначаться как действия, выполняемые однократно при входе в состояние; действия, выполняемые многократно внутри некоторого состояния; действия, выполняемые однократно при выходе из состояния.

Для предотвращения эффекта возрастания  сложности при моделировании  больших систем были предложены дальнейшие усовершенствования. Наряду с состояниями  теперь могут использоваться гиперсостояния (суперсостояния),

объединяющие  несколько состояний, имеющих идентичную реакцию на одно и то же событие. При этом вместо изображения таких  переходов в некоторое состояние из всех состояний, охватываемых гиперсостоянием, изображается только один переход из гиперсостояния в указанное состояние (обобщение переходов). Гиперсостояния теоретически могут иметь произвольную глубину вложения. Переходы из гиперсостояния связаны со всеми уровнями вложения. Гиперсостояния могут объединять ИЛИ-состояния (последовательные состояния) и И-состояния (параллельные состояния). В первом случае, перейдя в гиперсостояние, система может находиться только в одном из состояний. Во втором случае система, перейдя в гиперсостояние, будет пребывать одновременно в нескольких состояниях.

Существенно повышает степень наглядности модели использование имитации, отображающей изменения в системе, сопровождающиеся переходами от одного состояния к другому. Построение таких имитационных моделей возможно с использованием программ Stateflow и Simulink, входящих в состав пакета MATLAB. MATLAB обеспечивает доступ к различным типам данных, высокоуровневому программированию и инструментальным средствам визуализации. Simulink поддерживает проектирование непрерывных и дискретных динамических систем в графической среде (в виде блок-схем). Stateflow -диаграммы, использующие визуальный формализм Д. Харела, включаются в Simulink -модели, чтобы обеспечить возможность моделирования процессов, управляемых

Информация о работе Моделирование сложных систем