Автор работы: Пользователь скрыл имя, 02 Апреля 2013 в 00:12, курсовая работа
Целью данной курсовой работы является изучение подходов и средств моделирования; разработка машинной модели с использованием алгоритмических языков и специальных программных средств. В настоящее время нельзя назвать область человеческой деятельности, в которой в той или иной степени не использовались бы методы моделирования. Особенно это относится к сфере управления различными системами, где основными являются процессы принятия решений на основе получаемой информации.
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 Toolboxes (наборы инструментов). Каждый из них имеет свое собственное название, отражающее его предназначение.
Система MATLAB – это одновременно и операционная среда и язык программирования. Одна из наиболее сильных сторон системы состоит в том, что на языке MATLAB могут быть написаны программы для многократного использования.
Пользователь может сам написать специальные функции и программы, которые оформляются в виде М – файлов. По мере увеличения количества созданных программ возникают проблемы их классификации и тогда можно попытаться собрать родственные функции в специальные папки. Это приводит к концепции пакетов прикладных программ, которые представляют собой коллекции М – файлов для решения определённой задачи или проблемы.
4.3.1 Среда Simulink и Stateflow
Simulink
- интерактивный инструмент для
моделирования, имитации и
Программа Simulink является приложением к пакету MATLAB. При моделировании с использованием Simulink реализуется принцип визуального программирования, в соответствии с которым, пользователь на экране из библиотеки стандартных блоков создает модель устройства и осуществляет расчеты. При этом, в отличие от классических способов моделирования, пользователю не нужно досконально изучать язык программирования и численные методы математики, а достаточно общих знаний требующихся при работе на компьютере и, естественно, знаний той предметной области, в которой он работает.
Simulink
является достаточно
При работе с Simulink пользователь имеет возможность модернизировать библиотечные блоки, создавать свои собственные, а также составлять новые библиотеки блоков.
При моделировании пользователь может выбирать метод решения дифференциальных уравнений, а также способ изменения модельного времени (с фиксированным или переменным шагом). В ходе моделирования имеется возможность следить за процессами, происходящими в системе. Для этого используются специальные устройства наблюдения, входящие в состав библиотеки Simulink. Результаты моделирования могут быть представлены в виде графиков или таблиц.
Блоки сгруппированы в библиотеки согласно их свойству: источники, сливы, дискретные, непрерывные, нелинейные, математические, функции и таблицы, и сигналы и системы. Кроме того, Simulink предлагает полнометражные фильмы создания настроенных блоков и блочных библиотек. Можно настраивать не только функциональные возможности блока, но также и его интерфейса пользователя, используя таможенные иконки и таможенные диалоговые окна.
В пакете Simulink пользователь имеет дело с графической формой языка моделирования, в которой классы представлены в виде устройств (блоков) двух типов: «вход-выход» (например “integrator”) и «вход-выход-состояние» (например “state-space”). Различные по функциональному назначению классы собраны в библиотеки: непрерывные, дискретные, нелинейные, математические блоки, источники, приемники, генераторы. При выполнении операции “drag-and-drop” графический образ класса переносится из библиотеки классов в устройство-контейнер (окно «модель») и создается экземпляр класса со значениями параметров, заданных по умолчанию, которые, при необходимости могут быть изменены. Пользователю доступны «входы», «выходы» и «параметры» экземпляра блока, а все остальные детали реализации библиотечного класса скрыты (инкапсулированы) внутри него.
Новый пользовательский класс может быть собран только из существующих и оформлен как библиотечный класс “SubSystem”. Еще одним примером класса может служить класс «модель», который играет роль устройства контейнера для проектирования новых устройств и испытательным стендом при запуске модели по команде “Simulation/Run”.Отношение «родитель-потомок» между классами в явном виде в Simulink не существует, но легко узнаваемо. Можно считать, что все устройства с переменным числом входов, такие как сумматор, являются потомками класса «сумматор с двумя входами». Наличие в Simulink непрерывных и дискретных блоков и возможность их одновременного использования уже позволяет говорить о гибридных системах. Для описания систем с различным типом поведения («смена уравнений») в Simulink могут быть использованы устройства типа “switch” (переключение между
«входами», в зависимости от значения управляющего сигнала) или предопределенный набор блоков, реализующих кусочно-непрерывные периодические функции. Для описания устройств, у которых скачком меняются лишь параметры («смена значений параметров»), лучше всего использовать средства, предоставляемые дополнительным программным продуктом “StateFlow”, основанном на использовании карт состояния Харела.
Подсистема Simulink - это интерактивная среда для моделирования и анализа широкого класса динамических систем, использующая графический язык блок-диаграмм.
Подсистема Simulink:
- предоставляет возможность
- включает в себя обширную библиотеку блоков (непрерывные элементы, дискретные элементы, математические функции, нелинейные элементы, источники сигналов, средства отображения, дополнительные блоки), которые можно использовать для создания новых систем;
- позволяет объединять блок-
- содержит средства для
- дает возможность
Начиная с версии 3.0, в Simulink появились специализированные приложения, значительно расширившие ее возможности, в частности:
- подсистема Stateflow – дает возможность
моделировать поведение
- подсистема Stateflow Coder предназначена
длягенерация С-кода при
- подсистема Real-Time Workshop дополняет Simulink и Stateflow Coder, обеспечивая автоматическую генерацию кода C для моделей, разработанных в Simulink.
- подсистема Simulink Report Generator позволяет
создавать и настраивать
- подсистема Simulink Report Generator позволяет
создавать и настраивать
Stateflow представляет собой
Процесс создания модели в Stateflow обычно подразумевает следующие этапы:
- создание модели в Simulink или
открытие уже существующей
- создание диаграммы в
- добавление к Stateflow-блоку
- отладка модели;
- генерация кода.
Преимущество Simulink заключается также в том, что он позволяет пополнять библиотеки блоков с помощью подпрограмм написанных как на языке MATLAB, так и на языках C++, Fortran и Ada.
Stateflow
- инструмент для численного
В том случае, когда логика работы управляющей подсистемы является жесткой, а внешние условия относительно стабильны, говорят о трансформационных системах. Для таких систем фазы получения информации, её обработки и выдачи выходных сигналов четко разграничены. На момент обращения к системе все входные сигналы определены. Сигналы на выходах образуются после некоторого периода вычислений. Вычисления производятся по некоторому алгоритму, трансформирующему (преобразующему) входной набор данных в выходной.
Событие - нечто, происходящее вне рассматриваемой системы, возможно требуя некоторых ответных действий. События могут быть вызваны поступлением некоторых данных или некоторых задающих сигналов со стороны человека или некоторой другой части системы. События считаются мгновенными (для выбранного уровня абстрагирования).
Действия - это реакции моделируемой системы на события. Подобно событиям, действия принято считать мгновенными.
Состояние - условия, в которых моделируемая система пребывает некоторое время, в течение которого она ведет себя одинаковым образом. В диаграмме переходов состояния представлены прямоугольными полями со скругленными углами.
Переход - изменение состояния, обычно вызываемое некоторым значительным событием. Как правило, состояние соответствует промежутку времени между двумя такими событиями. Переходы показываются в диаграммах переходов линиями со стрелками, указывающими направление перехода.
Каждому переходу могут быть сопоставлены условия, при выполнении которых переход осуществляется.
С каждым переходом и каждым состоянием могут быть соотнесены некоторые действия.
Действия
могут дополнительно
Для предотвращения эффекта возрастания сложности при моделировании больших систем были предложены дальнейшие усовершенствования. Наряду с состояниями теперь могут использоваться гиперсостояния (суперсостояния),
объединяющие
несколько состояний, имеющих идентичную
реакцию на одно и то же событие.
При этом вместо изображения таких
переходов в некоторое
Существенно повышает степень наглядности модели использование имитации, отображающей изменения в системе, сопровождающиеся переходами от одного состояния к другому. Построение таких имитационных моделей возможно с использованием программ Stateflow и Simulink, входящих в состав пакета MATLAB. MATLAB обеспечивает доступ к различным типам данных, высокоуровневому программированию и инструментальным средствам визуализации. Simulink поддерживает проектирование непрерывных и дискретных динамических систем в графической среде (в виде блок-схем). Stateflow -диаграммы, использующие визуальный формализм Д. Харела, включаются в Simulink -модели, чтобы обеспечить возможность моделирования процессов, управляемых