23397

Моделювання систем в середовищі MATLAB + Simulink +Stateflow

Лабораторная работа

Информатика, кибернетика и программирование

НАВЧАЛЬНОМАТЕРІАЛЬНЕ ЗАБЕЗПЕЧЕННЯ наочні посібники схеми таблиці ТЗН та інше Діапроектор дидактичні слайди НАВЧАЛЬНІ МАТЕРІАЛИ Вступ Моделювання систем в середовищі MATLAB Simulink Stateflow Одной из перспективных концепций в явном или неявном виде реализуемой в настоящее время для решения задач анализа и разработки сложных систем является концепция создания универсальной моделирующей среды. Система моделирования реализующая эту концепцию должна отвечать следующим требованиям: четко выделенная модульность структуры;...

Украинкский

2013-08-03

540.5 KB

53 чел.

МІНІСТЕРСТВО   ІНФРАСТРУКТУРИ   УКРАЇНИ

Державний університет інформаційно-комунікаційних технологій

КАФЕДРА           інфокомунікацій____________

ЗАТВЕРДЖУЮ

Завідуючий кафедрою

_______________ Костік Б.Я.

       (підпис, прізвище)

“ ____ “  _____________  2011  року

ЛАБОРАТОРНЕ ЗАНЯТТЯ №  7

з навчальної дисципліни __моделювання компютерних мереж 

напряму підготовки _______інформаційні технології________

освітньо-кваліфікаційного рівня ____cпеціаліст_____________

спеціальності _____ компютерні системи та мережі_________

Тема Моделювання  систем в середовищі

MATLAB + Simulink +Stateflow

                                                 (повна назва лекції)

Лабораторне заняття №7 розроблено стар. викл каф. Інф. Срочинська Г.С.

(вчена ступінь та звання,  прізвище та ініціали автора)

Обговорено на засіданні кафедри (ПМК)

Протокол № __________

“ ____ “ _____________ 2011 року

Київ


Навчальні цілі: Вивчення основних понять моделювання, ознайомлення з поняттями системи та моделі, співвідношенням між моделлю та системою, класифікацією  моделей,  видами  моделей, технологію моделювання;

Виховні цілі: Формування у студентів інженерно-технічного кругозору, методами  імітаційного моделювання для побудови  комп’ютерних систем та мереж, вміння ставити та вирішувати складні інженерні задачі, проводити аналіз, аргументовано робити висновки.       

Час  90 хв.

ПЛАН ПРОВЕДЕННЯ ПРАКТИЧНОГО ЗАНЯТТЯ ТА РОЗРАХУНОК ЧАСУ

Вступ                                                                                                   10  хвилин

Навчальні питання

1.Моделювання  систем в середовищі MATLAB + Simulink + Stateflow

________________________________________                   35  хвилин

2. Інтеграція можливостей MATLAB + Simulink + Stateflow     35  хвилин

 

Заключення                                                                                           10  хвилин

ЛІТЕРАТУРА:

(рекомендована для студентів)

1. В.Г. Кривуца, В.В. Барковський, Л.Н. Беркман. Математичне моделювання телекомунікаційних систем: Навч. посібник. –К.: Звязок, 2007.

НАВЧАЛЬНО-МАТЕРІАЛЬНЕ ЗАБЕЗПЕЧЕННЯ

(наочні посібники, схеми, таблиці, ТЗН та інше)

Діапроектор, дидактичні слайди


НАВЧАЛЬНІ МАТЕРІАЛИ

Вступ

  1.  Моделювання  систем в середовищі MATLAB + Simulink + Stateflow

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

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

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

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

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

Система MATLAB имеет открытую архитектуру, что дает полный доступ пользователю к кодам на мощном и, в то же время, достаточно простом языке программирования этой системы. Язык МАТЬАВ является одним из высокоэффективных языков программирования для научно-технических расчетов и создания средств моделирования различных устройств и систем. В структуре языка имеются удобные и очень наглядные визуально-ориентированные средства анализа и отображения процессов моделирования.

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

Если требуется дальнейшее повышение скорости вычислений и обработки информации, то программы, создаваемые на языке MATLAB, могут использоваться в качестве пилотных исследовательских проектов для отработки алгоритмов обработки информации и текстов программ. После этого они могут переводиться в рабочие программные продукты с использованием любого языка высокого уровня, обеспечивающего компиляцию. При компиляции этапы интерпретации и компоновки при исполнении файлов отсутствуют, так как они проводятся в процессе создания исполняемых файлов. В результате скорость вычислений при использовании исполняемых (откомпилированных) файлов существенно возрастает. Перевод отработанных в среде MATLAB программных продуктов на языки высокого уровня с возможностью создания исполняемых файлов после компиляции может осуществляться разработчиком в ручном режиме или с использованием специализированного пакета расширения Real Time Workshop (RTW) (мастерская реального времени), входящего в состав системы. Система позволяет создавать файлы на языках С и С++, а также непосредственно исполняемые файлы (с расширением .ехе) на основе программ, разработанных в среде MATLAB. Тем самым может быть преодолен основной недостаток этих продуктов - относительно низкое быстродействие решения задач и осуществления процесса статистического имитационного моделирования исследуемых систем.

Технологии имитационного моделирования объектов и систем в полном объеме могут быть реализованы при разработке авторских программных продуктов на основном языке системы.

Кроме того, в состав системы MATLAB входит пакет, или подсистема, визуального моделирования систем Simulink. Simulink - это интерактивная среда для моделирования и анализа широкого перечня динамических систем, представленных своей функциональной блок-схемой, именуемой 5-моделью. S-модель использует графический язык блок-диаграмм, формируемых на основе технологии drag-and-drop (перемещение графического объекта в заданное место с использованием мыши). Для построения функциональной блок-схемы моделируемых систем Simulink имеет библиотеку блочных компонентов и редактор блок-схем. Данный редактор основан на графическом интерфейсе пользователя и, по существу, является типичным средством визуального программирования. Имея подобную библиотеку, пользователь с помощью мыши переносит необходимые ему блоки на рабочий стол пакета Simulink и соединяет линиями (каналами) связи входы и выходы блоков. Параметры и характеристики используемых в 5-модели блоков настраиваются пользователем в интерактивном режиме. При этом графический редактор Simulink автоматизирует наиболее трудоемкие этапы построения модели, связанные с разработкой общей математической модели и моделирующего алгоритма системы. В режиме запуска модели обеспечивается наглядный визуальный контроль за поведением созданного пользователем виртуального объекта моделирования (симуляции).

Подсистема Simulink предоставляет следующие возможности и ресурсы:

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

Начиная с наиболее широко распространенной версии MATLAB 6.0 (реализация Я 12), основной состав системы MATLAB + Бітиііпк, включающий наиболее распространенные компоненты, может быть наглядно представлен в виде диаграммы, часто встречающейся в известной литературе [16], которая показана на рис. 4.7.

Рис. 4.7. Типовой состав системы MATLAB

Как видно из рисунка, основными компонентами среды являются базовая система MATLAB и подсистема моделирования Simulink. Остальные пакеты расширения разбиты на следующие категории: расширения MATLAB Extension; расширения Simulink Extension; комплекты пакетов расширения Blockset и Toolbox.

Наполнение системы постоянно модифицируется и увеличивается. В современной версии MATLAB 7.0 (реализация R 14) появились новые компоненты такие, например, как Cenetic Algoritm and Direct Search Toolbox и др. Работа всех пакетов расширения, включая и подсистему Simulink, невозможна без базовой системы MATLAB. Используемые в среде пакеты расширения Blockset и Toolbox допускают применение своих компонентов как при визуально-ориентированной подготовке моделей, так и в виде функций в командах, исполняемых в командном режиме MATLAB, а также в составе программируемых пользователем на языке MATLAB m-файлов.

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

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

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

Модели, создаваемые на основе пакета Stateflow, называются SF-моделями. Пакет имеет свой графический интерфейс пользователя, позволяющий создавать SF-модели в виде графических SF-диаграмм динамического типа. В ходе моделирования на подобных диаграммах отражаются все изменения модели: например, строятся диаграммы переходов, изменяются цвета блоков в зависимости от их активности и т. д. Это позволяет визуально отслеживать поведение системы в ходе моделирования.

Графический интерфейс пользователя Stateflow открывает доступ к следующим компонентам:

  •  графическому редактору SF-диаграмм (Stateflow Editor);
  •  обозревателю для анализа ^-диаграмм (Stateflow Explorer);
  •  синтаксическому анализатору SF-диаграмм (Stateflow Parser);
  •  навигатору для поиска в ^-диаграммах нужных объектов (Stateflow Finder);
  •  отладчику ^-моделей (Stateflow Debugger);
  •  генератору С-кодов модели для работы совместно с расширением RTW (Stateflow Coder).

Данные компоненты обеспечивают понятные и простые приемы работы с пакетом Stateflow. Важно также отметить, что .ХР-модели реализуют формализм одного из основных компонентов UML, описывающих динамику поведения систем - диаграммы состояний.


2.
 Інтеграція можливостей MATLAB + Simulink + Stateflow

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

Первоначально при разработке ИМ может осуществляться формирование внешней управляющей программы (УП) на языке MATLAB в виде ш-файла сценария [15-17] (script file). В рамках УП организуется задание и варьирование исходных данных в соответствии с планами проведения модельного эксперимента и общим замыслом проведения исследования, реализуется многократный прогон ^-модели системы и проводится оценка показателей эффективности в ходе обработки данных эксперимента. При окончательном формировании этой программы осуществляется сопряжение с разработанной 5-моделью и окончательная настройка ее блоков с учетом выбранных условий проведения моделирования.

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

Для создания S-модели осуществляется запуск MATLAB и подсистемы Simulink путем нажатия соответствующей кнопки панели инструментов командного окна MATLAB. В результате на экране появляется окно Simulink Library Browser (браузер библиотек Simulink), как это показано на рис. 4.8. В левой половине окна браузера в виде древовидной структуры приводится перечень библиотек, включенных в состав Simulink, а в правой - перечень разделов соответствующей библиотеки или изображение блоков соответствующего раздела. Для ознакомления с составом каждой из библиотек следует дважды щелкнуть на ее имени. Чтобы начать сборку блок-схемы моделируемой системы, необходимо в командном окне MATLAB выбрать команды File - New - Model или в окне браузера Simulink нажать кнопку Create a new model. После этого на экране появится новое пустое окно заготовки для создания S-модели под именем Untitled, в котором и будет осуществляться ее сборка в виде блок-схемы из готовых компонентов. Все 5-м одел и размещаются в файлах с расширением .mdl (впоследствии файл модели Untitled может быть сохранен под любым именем xxx.mdl). Окно S-модели имеет строку меню, панель инструментов и рабочее поле. Меню File содержит стандартные команды для работы с wûff-файлами; меню Edit содержит команды редактирования; меню View - команды изменения внешнего вида окна; меню Simulation — команды управления процессом моделирования; меню Format - команды изменения внешнего вида отдельных блоков и блок-схемы в целом; меню Tools включает дополнительные сервисные средства для работы с S-моделью.

Перед началом работы с 5-моделью требуется осуществить установку общих параметров модели путем вызова в меню Simulation команд Configuration Parameters (в версии MATLAB 7.0 и выше). В результате появится диалоговое окно установки параметров моделирования, имеющее ряд разделов с большим числом настроек. Основной является вкладка Solver (Решатель).

Pue. 4.8. Окно системы MATLAB вместе с открытым браузером библиотек Simulink и заготовкой для создания S-модели на основе компонентов Simulink ■ (блоки Pulse Generator и Scope) и SF-модели (блок Chart)

Элементы управления на этой вкладке собраны в группы: Simulation time - где реализуется выбор начального (Start time) и конечного (Stop time) значений модельного времени; Solver options - где реализуется выбор способа задания модельного времени при решении уравнений с фиксированным шагом (Fixed step) и с переменным шагом (Variable step), а также выбор метода расчета текущего состояния при моделировании дискретных и непрерывных систем (в последнем случае это методы решения обыкновенных дифференциальных уравнений Эйлера, Хойна, Рунге-Кутта и т. д.), значений интервалов времени дискретизации (по умолчанию - auto), относительной и абсолютной погрешности расчета (по умолчанию 10"3 и auto). Окончательная настройка параметров в рамках указанных опций осуществляется после сборки и согласования всех элементов модели.

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

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

Для создания S-модели с вложенной SF-моделью (см. рис. 4.8) также осуществляется запуск Simulink и создается пустое окно заготовки нового /m/Z-файла Untitled (впоследствии сохраняемого под любым именем). Осуществляется, как и ранее, установка общих параметров модели Configuration Parameters, при этом в поле Solver группы Solver options обычно выбирается метод «discrète», так как будет проводиться моделирование системы с набором дискретных основных состояний.

Следующим шагом является открытие раздела Stateflow в браузере библиотек Simulink. В результате в основном окне просмотра библиотеки появится единственный блок Chart (диаграмма), который с помощью мыши может быть перемещен в рабочее окно блок-диаграммы тий?/-файла Simulink. Здесь также можно открыть собственную библиотеку Stateflow, щелкнув по наименованию раздела правой кнопкой мыши. В результате появится надпись Open the Stateflow library, щелкнув по которой левой кнопкой, получим дополнительно к блоку Chart подраздел Examples, содержащий примеры разработанных с помощью данного инструментария моделей систем.

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

Первоначально блок Chart, размещенный в рабочем окне mdl-файла, является пустым, т. е. служит заготовкой для создания модели. Если активизировать мышью пустой блок Chart, то появится окно редактора SF-диаграммы (рис. 4.9), в котором можно начать сборку модели. Редактор имеет обычный для окон системы MATLAB вид.

Все объекты SF-модели делятся на графические и неграфические. Для создания основных графических объектов используются кнопки боковой панели. Нажав каждую из кнопок, можно мышью перетащить в любое место окна соответствующий графический элемент модели, как это показано на рис. 4.9.

Помимо указанных в табл. 4.3 графических объектов, в SF-диаграмме используются переходы (Transition); они не имеют своей кнопки и отображаются в виде стрелок, идущих от одного объекта к другому. Переходы формируются с помощью мыши путем ее перемещения из любой точки границы одного графического объекта к любой точке границы другого. Для графических обьектов-состояний допускается введение внутренних переходов. Эти переходы начинаются или заканчиваются на внутренних границах состояния-источника.

К числу основных неграфических объектов . SF-диаграммы относятся события, данные и действия.

События (Event) управляют работой SF-диаграммы и должны быть определены пользователем. События имеют различные области видимости (Scope):

  •  локальные (видимые только в пределах SF-диаграммы или ее внутренних состояний);
  •  входные (передаваемые в SF-диаграмму из Simulink);
  •  выходные (передаваемые в Simulink из SF-диаграммы);
  •  экспортируемые (передаваемые во внешнюю УП);
  •  импортируемые (передаваемые из внешней УП).

События создаются путем выбора пункта меню Add - Event и далее последовательности Event - Local, EventInput from Simulink и т. д. В результате появляется диалоговое окно Event, где определяется конкретное имя события и его характеристики, в перечне которых важнейшей является установка вида события в поле Trigger. В большинстве случаев события могут рассматриваться как скачкообразные изменения (переключения) состояний, сопровождающиеся резкими изменениями уровня соответствующих сигналов; при этом могут быть события следующего вида: Rising — с повышением уровня сигнала; Falling - с понижением уровня; Either - с любым направлением изменения уровня. События могут также создаваться и модифицироваться в диалоговом окне обозревателя Stateflow Explorer, выбираемом в рамках пункта основного меню Tools - Explorer.

Другими основными неграфическими объектами SF-модели являются данные (Date). Они представляют числовые значения переменных, используемых в модели. Данные имеют свойства (классические типы), а также область видимости (Scope). Как и события, данные могут быть локальными, входными, выходными, импортируемыми и экспортируемыми. Кроме того, данные могут определяться как константы и временные (промежуточные) переменные. Для создания и модификации данных следует воспользоваться пунктом меню Add - Date, а также обозревателем Stateflow Explorer, выбираемом в рамках пункта меню Tools - Explorer.

Еще одним классом неграфических объектов .ST7-моделей являются действия или процедуры (Action). Они определяют любые операции, связанные с преобразованием данных, работой SF-модели и управлением процессом ее функционирования. Для описания процедур служит специальный язык Action Language, построенный на основе синтаксиса языка С и содержащий арифметические и логические операторы, функции, определяемые пользователем, а также некоторые специальные функции. Отметим процедуры, часто используемые при построении SF-моделей:

chg(data name) - процедура генерации локального события в случае изменения значений переменной dataname;

in(statename) - логическая функция, имеющая значение true, когда состояние statename активно;

send(event_name, state name) - процедура пересылки спецификации события eventname состоянию state_name (прямая передача событий);

ml('function_name (a,b,...)') - процедура, вызывающая функцию, сформированную в MATLAB и выполняющую вычисления для значений перечисленных аргументов;

ml.datamname - процедура, предоставляющая доступ к переменной datam_name рабочей области MATLAB.

Процедуры используются для описания SF-диаграммы в рамках двух моделей конечных автоматов:

  •  модели автомата Мили, связывающей процедуры с переходами;
  •  модели автомата Мура, связывающей процедуры с состояниями.

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

При создании состояния с помощью кнопки State в левом верхнем углу его графического образа появляется знак вопроса. На его место вводится описание состояния, которое в простейшем случае должно определять имя состояния. В общем случае описание состояния имеет такую структуру, как на рис. 4.9.

Первым вводится имя состояния. Далее через косую черту могут вводиться:

  •  entry: и группа действий, выполняемых при входе в состояние;
  •  during: и группа действий, выполняемых пока данное состояние активно;
  •  exit: и группа действий, выполняемых при выходе из состояния;
  •  on event name: и группа действий, выполняемых в момент возникновения события event name при пребывании в данном состоянии.

Для описания перехода следует поместить указатель мыши на соединительную линию и нажать левую кнопку. Около линии появится знак вопроса. На его место следует ввести описание или метку перехода, которая определяет условия срабатывания перехода и выполняемые при этом процедуры. В общем случае структура метки перехода состоит из нескольких частей и имеет следующий вид (см. рис. 4.9): event name [condition] {condition_action}/transition_action, где event name - имя события, которое инициирует переход; condition - условие перехода в виде булевского выражения, инициирующего переход в случае его истинности; condition action - действие условия, выполняемое мгновенно после того, как стало истинным условие перехода, но до того, как выполнен весь переход (не определилось состояние-адресат); transition_action - действие перехода, совершаемое при переходе и уже найдено состояние-адресат.

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

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

При выполнении действий адрес любого вложенного состояния с именем state_namel указывается как state name.state namel, где state name - имя состояния- родителя.

Stateflow поддерживает создание как взаимоисключающих (OR), так и параллельных (AND) состояний. Для определения параллельных состояний, предварительно помещенных в окне SF-диаграммы, необходимо, щелкнув левой кнопкой мыши в поле внешнего состояния-родителя, выбрать в раскрывающемся меню пункт Decomposition - Parallel (AND). В результате границы параллельных состояний отображаются пунктирной линией, а в правых верхних углах блоков автоматически устанавливаются их номера.

При подготовке SF-модели к работе требуется установить параметры модели с помощью диалогового окна, вызываемого при выборе команды Chart Properties, входящей в пункт меню File графического редактора. Окно содержит элементы, определяющие: имя SF-диаграммы; имя S-модели и/или SF-диаграммы более высокого уровня, в которых размещается данная модель; раскрывающийся список Update method, определяющий используемый метод управления динамикой работой SF-диаграммой из Simulink; поле параметра дискретизации по времени Sample time; вспомогательные флажки, устанавливающие возможности использования данных Simulink, варианты инициализации и задания точек остановки модели, возможности модификации модели и т. п.

Весьма существенным является выбор установки Update method. Она имеет три основных варианта:

Inherited - метод, реализующий управление SF-диаграммы внешними событиями, что приводит к активизации модели каждый раз, когда на триггерный порт диаграммы поступает управляющий сигнал;

Discrete - метод, при котором периодичность активизации SF-диаграммы задается параметром Sample time, при этом Simulink автоматически генерирует управляющие события с соответствующей периодичностью;

Continuous - непрерывный метод активизации SF-диаграммы на каждом шаге моделирования, установленном для Simulink.

Помимо рассмотренных компонентов разработки и управления SF--моделей, следует также выделить встроенный отладчик, вызываемый в пункте меню Tools - Debug, синтаксический анализатор ошибок (Tools - Parse), а также средства поиска объектов заданного типа (Tools - Find). Принципы их использования рассматриваются в соответствующей литературе .

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


Заключення

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


II. МЕТОДИЧНІ ВКАЗІВКИ

           Дисципліна “ Моделювання комп’ютерних систем ”- це теоретичні основи принципів вивчення основних понять імітаційного моделювання, ознайомлення з поняттями системи та моделі, співвідношенням між моделлю та системою, класифікацією  моделей,  видами  моделей, технологію моделювання; побудовою  імітаційної моделі персонального комп’ютера; технологічних етапів випробування та експлуатації імітаційних моделей.

Основні форми поточного контролю – спостереження за діями студентів, проведення модульного контролю.

Самостійна робота студента по підготовці до поточних занять, модульного контролю в межах відведеного часу планується особисто кожним студентом.

III. ВИКОРИСТАНА ЛІТЕРАТУРА

1. В.Г. Кривуца, В.В. Барковський, Л.Н. Беркман. Математичне моделювання телекомунікаційних систем: Навч. посібник. –К.: Звязок, 2007.

Розробник лабораторного заняття старший викладач кафедри інфокомунікацій

___                          Срочинська Г.С.

(підпис, прізвище)

“ ____ “  _____________  2011  року

PAGE  13


 

А также другие работы, которые могут Вас заинтересовать

63041. Что такое глагол? 19.74 KB
  Дидактическая цель: создать условия для формирования учебных умений по построению нового понятия глагол часть речи отвечающая на вопрос что делать что сделать Задачи: 1. Образовательные: формировать понимание о глаголе; учить находить глагол в предложении и определять его синтаксическую роль...
63045. Одушевленные и неодушевленные имена существительные 19.88 KB
  Образовательные: формировать умения отличать слова отвечающие на вопрос кто от слов отвечающих на вопрос что; учить находить слова в тексте и подбирать их самостоятельно; учиться классифицировать одушевленные и неодушевленные имена существительные...
63047. Историография Нового времени 431.5 KB
  Понятие историографии имеет два значения. Узкое понятие – обзор литературы по определенному вопросу в хронологическом плане; эволюция подходов предшественников к той или иной идее. Широкое понятие – развитие исторического знания во всем многообразии его форм. Это научная дисциплина, изучающая историю исторической науки.