Обзор программных пакетов MATLAB и JPSSW
В отличие от универсальных алгоритмических языков, в языках имитационного моделирования предусмотрен дополнительный набор программных средств и понятий, таких как:
- совмещение, когда параллельно протекающие в реальных системах процессы представляются в компьютере в виде последовательно следующих команд программы путём введения понятия системного времени, используемого для представления упорядоченных во времени событий;
- размер, определяющий объём имитационной модели. Важным аспектом реализуемости модели на ЭВМ является блочность ее конструкции, т. е. возможность разбиения модели на блоки, подблоки и т. д.;
- изменения. Динамические системы связаны с движением и характеризуются развитием процесса, вследствие чего пространственная конфигурация этих систем претерпевает изменения по времени. Поэтому во всех языках имитационного моделирования предусматривают обработку списков, отражающих изменения состояний процесса функционирования моделируемой системы S;
- взаимосвязанность. Условия, необходимые для совершения различных событий в модели процесса функционирования системы S, могут оказаться весьма сложными из-за наличия большого количества взаимных связей между компонентами модели. Для разрешения трудностей связанных с этим вопросом в большинство языков включают соответствующие логические возможности и понятия теории множеств;
- стохастичность. Для моделирования случайных событий и процессов используют программы генерации последовательностей псевдослучайных чисел, квазиравномерно распределенных на заданном интервале, на основе которых можно получить стохастические воздействия на модель, имитируемые случайными величинами с соответствующим законом распределения;
- анализ. Для получения наглядного и удобного в практическом отношении ответа на вопросы, решаемые методом машинного моделирования, необходимо получать статистические характеристики процесса функционирования модели системы M(S). Поэтому в языках моделирования должны быть предусмотрены способы статистической обработки и анализа полученных результатов.
К настоящему времени указанным требованиям отвечает несколько десятков языков, из которых для описания СМО в наибольшей степени разработаны общецелевые и специализированные языки.
К общецелевым относятся транзактно-ориентированные языки класса GPSS (General Purpose Simulation System – общецелевая система моделирования), представляющие собой интерпретирующую языковую систему, применяющуюся для описания пространственно-временного движения объектов [34,37].
К специализированным относятся языки, предназначенные для анализа СМО определенного типа, например специализированный язык МПЛ/ВС моделирования вычислительных систем.
Далее рассмотрим GPSS и её современное расширение GPSS World или GPSSW (мировая общецелевая система моделирования), разработанное для ОС Windows.
Описание на языке GPSS есть совокупность операторов (блоков), характеризующих процессы обработки заявок.
Существуют операторы:
- для отображения возникновения заявок,
- задержки заявок в каналах,
- занятия памяти,
- выхода из СМО,
- изменения параметров заявок (например, приоритетов),
- вывода на печать накопленной информации, характеризующей загрузку устройств, заполненность очередей и т.п.
Каждый транзакт, присутствующий в модели, может иметь до 12 параметров. Существуют операторы, с помощью которых можно изменять значения любых параметров транзактов и операторы, характер исполнения которых зависит от значений того или иного параметра обслуживаемого транзакта.
Для моделирования используется событийный метод. Соблюдение правильной временной последовательности имитации событий в СМО обеспечивается интерпретатором GPSS/PC- программной системой, реализующей алгоритмы имитационного моделирования.
В пакете GPSS для представления моделируемой системы S в виде машинной модели используется язык блок-диаграмм. Блок-диаграммой в пакете GPSS называется графическое представление операций, происходящих в моделируемой системе S. В этом случае блок-диаграмма описывает взаимодействия, происходящие внутри моделируемой системы S в процессе ее функционирования.
Вводимый набор блоков для блок-диаграмм однозначно определяет наборы операторов языка, осуществляющих описание структуры моделируемой системы S, и логических правил, определяющих ее функционирование.
В блок-диаграммах GPSS блоки представляют собой выполняемые над динамическими объектами операции, а стрелки между блоками отражают маршруты передвижения данных объектов по системе. Альтернативные ситуации отражаются более чем одной стрелкой, выходящей из блока.
Процесс создания модели на языке блок-диаграмм GPSSсводится:
- к декомпозиции исходной системы S до уровня элементарных операций, используемых в пакете GPSS,
- формированию фиксированной схемы, отражающей последовательность элементарных операций, выполняемых над динамическими объектами,
- определению набора логико-вероятностных правил продвижения потоков объектов по имеющейся схеме.
Процесс создания машинной модели можно изобразить в виде последовательности действий, показанной на рис. 18.1.
Так как механизм системного времени и просмотра состояний уже заложен в язык GPSS, то необходимость выбора принципа построения моделирующего алгоритма отпадает и можно непосредственно переходить к построению его блок-диаграммы.
Следующим шагом развития системы GPSS/PC стала система GPSSW, в которой, как и ранее, модель есть последовательность операторов моделирования [48].
Основными дополнительными возможностями системы сравнительно с GPSS/PC, являются:
• по всем классам объектов и переменных реализованы динамические графические окна, в которых представляется в реальном времени промежуточная и выходная статистика;
• гибкий процедурный язык PLUS (язык программирования для моделирования) может быть использован для построения моделей и в процедурах проведения эксперимента;
• введены средства поддержки факторного анализа, традиционного дисперсионного (ANOVA) и регрессионного анализа, оптимизация на основе методологии оптимального планирования эксперимента;
• стали доступны элементы непрерывного моделирования;
• решены проблемы с целочисленным модельным временем.
Система имеет большой набор команд для управления процессом моделирования, новый высокоскоростной транслятор. Для быстрого исправления ошибок используется полноэкранный текстовый редактор.
Системы GPSSW и GPSS/PC совместимы и обычно выдают результаты, которые являются статистически неразличимыми. Однако с точки зрения функционирования система GPSSW имеет существенное отличие от GPSS/PC. Если система GPSS/PC работает в режиме интерпретатора - построчного выполнения программы, то GPSSW функционирует в режиме транслятора. Любые ошибки, обнаруженные в течение трансляции, сохраняются в очереди сообщений об ошибках, так что их легко найти и исправить, так как курсор автоматически перемещается в местоположение очередной ошибки, и сообщение об ошибке появляется в строке состояния в нижней части главного окна системы.
Другое существенное отличие GPSSW от GPSS/PC заключается в том, что в новой системе нет необходимости нумеровать строки программы.
Система включает большое число различных типов окон, упрощающих просмотр и анализ объектов модели. Дружественный интерфейс облегчает работу с системой. Имеется библиотека распределений вероятностей, которые можно широко использовать в процессе моделирования. Кроме того, есть библиотека процедур, обеспечивающая манипуляции со строковыми данными и позволяющая выполнять расчеты и широко использовать распределения вероятности.
Система имеет встроенные средства обслуживания, поддерживающие режим захвата и печати графических окон для выполнения моментальных снимков (Snapshot).
Мощный встроенный текстовый редактор предназначен для создания, оперативного изменения, редактирования самых разнообразных имитационных моделей.
Для моделирования в GPSSW необходимо выполнить следующие этапы:
- постановка задачи;
- выявление основных особенностей;
- создание имитационной модели;
- представление модели в системе GPSS World;
- непосредственное моделирование;
- анализ полученных результатов.
Первый и второй указанные этапы ничем не отличаются от стандартной схемы имитационного моделирования.
Третий этап начинается с создания исходной модели на языке имитационного моделирования GPSS. Наиболее простой способ начать моделирование - это использование, а затем и модернизация существующей модели. В папке C:\Program Files\Minuteman Software\GPSS World Student Version\Samples Models имеется большой набор типовых примеров для обучения моделированию. Инструкции к моделям могут находиться в нескольких текстовых объектах. Следует открыть текстовый объект (файл), если он присутствует в модели. Для обращения к нему в модели используется оператор INCLUDE, далее следует имя текстового файла с расширением .txt, записываемое в двойных кавычках.
Исходная модель - это определенный набор (список) операторов модели.
Оператором модели может быть один из рассмотренных нами ранее операторов (блоков) языка имитационного моделирования GPSS, процедура языка программирования PLUS или определение PLUS-эксперимента. Процедурный язык программирования высокого уровня PLUS входит в состав системы GPSSW. Его основными операторами являются:
BEGIN (начать);
DO...WHILE (выполнять...до тех пор, пока);
END (окончить);
EXPERIMENT (эксперимент);
GOTO (перейти к);
IF...THEN...ELSE... (если...то...иначе...);
CALL (вызвать процедуру);
RETURN (вернуть);
TEMPORARY (временно).
Имитационная модель создается с помощь транслятора системы GPSSW. Результатом трансляции программы является объект моделирования блочной структуры.
Трансляцию исходной модели можно выполнить следующим образом:
• выберете пункт Command главного меню. Появится выпадающее меню;
• выберете пункт Create Simulation или Retranslate. Появится окно JOURNAL, в котором указываются дата и время начала и окончания трансляции исходной модели.
Если в процессе трансляции в программе обнаруживаются синтаксические ошибки, то их можно исправить. Для этого:
• выберете пункт Search (поиск) главного меню. Появится выпадающее меню;
• выберете пункт Next Error (следующая ошибка).
После выполнения этих действий курсор мыши каждый раз устанавливается на очередной ошибке. Эти действия проводятся до тех пор, пока не будут устранены все выявленные ошибки. При этом курсор мыши циклически проходит список всех выявленных транслятором ошибок.
Как только все синтаксические ошибки будут устранены, можно переходить к пятому этапу и послать оттранслированную модель на выполнение. Для этого:
• выберете пункт Command главного меню. Появится выпадающее меню;
• выберете пункт START. Появится диалоговое окно Start Command, в котором можно определить режим моделирования. После определения режима моделирования щелкните по кнопке ОК. Появится окно JOURNAL, в котором указываются дата и время начала и окончания процесса моделирования оттранслированной модели, а затем - окно REPORT с результатами имитационного моделирования.
Можно послать инструкции для моделирования тремя способами:
• используя наиболее общие команды, перечисленные в выпадающем меню пункта Command главного меню;
• выбрав пункт Custom в выпадающем меню пункта Command главного меню. Появится диалоговое окно Simulation Command, где можно напечатать любую инструкцию для моделирования, даже PLUS-процедуру, и послать ее существующему объекту моделирования;
• используя набор функциональных клавиш с собственным набором команд. Это можно сделать через пункты главного меню Edit и выпадающего меню Settings в главном окне системы. После нажатия соответствующей функциональной клавиши объекту моделирования посылается определенная команда.
Комплексные процедуры и длинные списки команд могут также быть посланы с помощью команды INCLUDE (включить), связанной с предварительно созданным текстовым объектом.
Команды управления моделированием могут быть вставлены в имитационную модель, или их можно интерактивно ввести в процессе моделирования. Для этого:
• выберете пункт Command главного меню. Появится выпадающее меню;
• выберете пункт Custom. Появится диалоговое окно Simulation Custom;
• введите в поле диалогового окна нужную команду управления и щелкните по кнопке ОК.
Команды выпадающего меню пункта Command главного меню становятся активными после транслирования исходной модели.
Команда START используется для запуска процесса моделирования. Эта команда может быть введена в модели или в интерактивном режиме.
Многократное моделирование может быть выполнено с использование последовательности управляющих операторов RESET, CLEAR и START.
Остановить процесс моделирования можно следующим способом:
• выберете пункт Command главного меню, а затем - по пункту Halt (Остановить) выпадающего меню.
Возобновить моделирование можно, используя команду CONTINUE или STEP.
Интерактивные команды HALT и SHOW выполняются в момент их ввода, а другие команды ставятся в очередь. Они помещаются в конце списка команд, которые еще не были закончены к моменту ввода. Когда оператор процедуры языка PLUS посылается в интерактивном режиме, процедура регистрируется в пределах моделирования. После этого процедура может быть вызвана из любого PLUS-выражения. Если процедура с тем же именем уже существует в пределах моделирования, она переопределяется.
Перед переходом к анализу полученных результатов может возникнуть необходимость в отладке или модернизации исходной модели.
Во время отладки модели можно использовать многочисленные средства визуализации, имеющиеся в системе GPSSW. Среди 10 динамических окон есть окна PLOT и EXPRESSIONS, которые позволяют визуализировать оценку любого выражения PLUS, поскольку оно изменяется динамически. Окно TABLE дает возможность визуализировать сходимость гистограмм. Кроме того, имеется 6 дополнительных окон для представления снимков, предназначенных для получения детальной информации.
История существования пакета MATLAB, название которого происходит от словосочетания Matrix Laboratory (матричная лаборатория), насчитывает уже около трёх десятков лет. MATLAB представляет собой удачное сочетание возможностей математики с достижениями в области вычислительной техники.
В первую очередь MATLAB — это средство математического моделирования, обеспечивающее проведение исследований практически во всех известных областях науки и техники [34,36]. При этом структура пакета позволяет эффективно сочетать все три основных подхода к созданию модели: аналитический, имитационный и комбинированный.
С точки зрения пользователя, MATLAB представляет собой богатейшую библиотеку функций (в MATLAB 7.1 их более 600). Для облегчения поиска нужной функции библиотека разбита на разделы. Те из них, которые носят общий характер и используются чаще, входят в состав ядра MATLAB. Другие функции, относящиеся к конкретной области, включены в состав соответствующих специализированных разделов. Эти разделы называются в MATLAB Toolboxes (наборы инструментов). Каждый из них имеет свое собственное название, отражающее его предназначение.
Полная комплектация пакета MATLAB содержит стандартные для математических пакетов средства, такие как решение дифференциальных и алгебраических уравнений, интегральное исчисление, символьные вычисления, так и нетрадиционные, способные претендовать на определенную уникальность в своем роде: средства цифровой обработки изображений, поиска решений на основе нечеткой логики, аппарат построения и анализа нейронных сетей, средства финансового анализа. Кроме того, имеются средства взаимодействия с популярными офисными продуктами компании Microsoft — MS Word и MS Excel.
Особое место среди наборов инструментов занимает система визуального моделирования SIMULINK. В определенном смысле SIMULINK можно рассматривать как самостоятельный продукт фирмы Math Works, однако он работает только при наличии ядра MATLAB и использует многие функции, входящие в его состав.
Пакет расширения Simulink служит для имитационного моделирования моделей, состоящих из графических блоков с заданными свойствами (параметрами). Компоненты моделей, в свою очередь, являются графическими блоками и моделями, которые содержатся в ряде библиотек и с помощью мыши могут переноситься в основное окно и соединяться друг с другом необходимыми связями. В состав моделей могут включаться источники сигналов различного вида, виртуальные регистрирующие приборы, графические средства анимации. Двойной щелчок мышью на блоке модели выводит окно со списком его параметров, которые пользователь может менять. Запуск имитации обеспечивает математическое моделирование построенной модели с наглядным визуальным представлением результатов.
Пакет основан на построении блочных схем путем переноса блоков из библиотеки компонентов в окно редактирования создаваемой пользователем модели. Затем модель запускается на выполнение. Возможно моделирование сложных систем, состоящих из множества подсистем. Simulink составляет и решает уравнения состояния модели и позволяет подключать в нужные ее точки разнообразные виртуальные измерительные приборы.
Пакет прикладных программ Neural Networks Toolbox содержит средства для построения нейронных сетей, базирующихся на поведении математического аналога нейрона. Пакет обеспечивает эффективную поддержку проектирования, обучения и моделирования множества известных сетевых парадигм, от базовых моделей персептрона до самых современных ассоциативных и самоорганизующихся сетей. Пакет может быть использован для исследования и применения нейронных сетей к таким задачам, как обработка сигналов, нелинейное управление и финансовое моделирование. Обеспечена возможность генерации переносимого С-кода с помощью Real Time Workshop.
В пакет включены более 15 известных типов сетей и обучающих правил, позволяющих пользователю выбирать наиболее подходящую для конкретного приложения или исследовательской задачи парадигму. Для каждого типа архитектуры и обучающих правил имеются функции инициализации, обучения, адаптации, создания и моделирования, демонстрации и пример приложения сети.
Для управляемых сетей можно выбрать прямую или рекуррентную архитектуру, используя множество обучающих правил и методов проектирования, таких как персептрон, обратное распространение, обратное распространение Левенберга, сети с радиальным базисом и рекуррентные сети.
Для MATLAB характерны файлы нескольких типов, для каждого из которых определены свой допустимый набор операций и реализующие их средства. При работе с SIMULINK в основном используются файлы трех типов:
- М-файлы (с расширением .m) — файлы, содержащие тексты программ на языке MATLAB; в виде М-файлов реализованы все библиотечные функции MATLAB; по умолчанию М-файлы открываются с помощью собственного редактора/отладчика MATLAB;
- Mdl-файлы (с расширением .mdl) — файлы моделей SIMULINK; могут быть открыты либо с помощью SIMULINK (в виде графического окна с блок-диаграммой), либо с помощью редактора/отладчика MATLAB;
- MAT-файлы (с расширением .mat) — файлы, содержащие данные в двоичном коде, доступ к которым возможен либо из командного окна MATLAB, либо с помощью специальных средств SIMULINK.
Разделы MATLAB содержат средства визуализации моделирования, реализуемые с помощью SIMULINK. Запуск MATLAB приводит к появлению на экране стандартной заставки – логотипа пакета MATLAB. Затем открывается основное окно, отвечающее канонам современного интерфейса. Пользовательский интерфейс многооконный и имеет средства прямого доступа к различным компонентам системы. Для выбора основного окна — MATLAB Command Window (командное окно MATLAB) необходимо в позиции Вид выбрать Схема Рабочего стола и далее Только окно команд. Командное окно содержит (рис. 18.2):
- строку заголовка с кнопками управления окном;
- строку меню (основное меню приложения);
- панель инструментов;
- рабочее поле;
- строку состояния;
- вертикальную и горизонтальную полосы прокрутки.
Рассмотрим меню и рабочее поле командного окна MATLAB. Строка меню MATLAB содержит следующие меню:
- File (файл) — команды для работы с файлами и настройки системы;
- Edit (правка) — команды редактирования информации, отображенной в рабочем поле окна;
- View (вид) — команды управления форматом окна;
- Window (окно) — список открытых окон приложения;
- Help (справка) — команды вызова средств поддержки пользователя.
- Web – доступ к Интернет-ресурсам.
Панель инструментов обеспечивает быстрый доступ к наиболее часто используемым командам меню, причем каждая из кнопок снабжена всплывающей подсказкой, появляющейся на экране, когда указатель мыши находится на кнопке. Назначение кнопок панели инструментов:
· New M-file (новый m-файл) выводит пустое окно редактора m-файлов;
· Open file (открыть файл) открывает окно для загрузки m-файла;
· Cut (вырезать) вырезает выделенный фрагмент и помещает его в буфер;
· Paste (вставить) переносит фрагмент из буфера в текущую строку ввода;
· Copy (копировать) копирует выделенный фрагмент в буфер;
· Undo (отменить) отменяет предшествующую операцию;
· Redo (повторить) восстанавливает последнюю отмененную операцию;
· Simulink открывает окно браузера библиотек Simulink;
· Help (помощь) открывает окно справки.
Вторая часть окна — рабочее поле. Оно является основным средством взаимодействия пользователя с системой и обеспечивает ведение диалога посредством командного языка MATLAB.
Сеанс работы с MATLAB принято называть «сессией», которая является текущим документом, отражающим работу пользователя с системой.
В начале каждого сеанса работы с MATLAB в рабочем поле выводится сообщение To get started, select "MATLAB Help" from the Help menu.
В качестве команд можно использовать:
- арифметические выражения (например, 2 + 2; х/3);
- имена библиотечных функций MATLAB (то есть имена М-файлов) с соответствующими аргументами (например, Sin (3));
- имена Mdl-файлов, расположенных в текущей папке;
- некоторые инструкции языка программирования MATLAB;
- имена наборов данных (констант, скалярных переменных, матриц).
Если введенное выражение не является допустимой командой или содержит синтаксическую ошибку, система выдает соответствующее диагностическое сообщение.
Если команда не заканчивается символом точки с запятой (;), то она выполняется сразу же после нажатия клавиши Enter.
Команды, вводимые пользователем в течение сеанса работы, сохраняются в буфере команд. Выполнявшуюся ранее команду можно выполнить без повторного набора, вызвав ее на экран с помощью клавиш управления курсором ( или ).Команды и операции для работы с файлами находятся в подменю File (файл) основного меню системы. Рассмотрим некоторые из них:
New – открывает подменю с позициями:
· M-fail – открытие окна редактора/отладчика m-файлов;
· Figure – открытие пустого окна графики;
· Model – открытие пустого окна для создания Simulink – модели;
· GUI (Graphics User Interface) – открытие окна разработки элементов графического интерфейса пользователя;
Set Path (задать путь) – открывает окно установки путей доступа файловой системы;
Preferences (предпочтения) – открывает окно настройки элементов интерфейса;
Print… - открывает окно печати всего текущего документа;
Print Selection… - открывает окно печати выделенной части документа;
Open – открывает окно загрузки файла;
Самый простой и доступный способ познакомиться с основными возможностями системы MATLAB — просмотр демонстрационных файлов, входящих в состав пакета. Для запуска процесса демонстрации используется команда Demos, выполнение которой приводит к открытию окна MATLAB Demos (демонстрационные файлы MATLAB), показанному на рис. 18.3. Тот же результат будет получен если в активной строке командного
окна ввести команду demo.
В левой части окна выводится список разделов и наборов инструментов MATLAB, для которых можно просмотреть демонстрационный пример. Этот список зависит от рабочей конфигурации MATLAB.
Чтобы выбрать интересующий раздел, достаточно дважды щелкнуть на соответствующей строке в левом списке. При этом обновляется содержимое обоих списков справа. В верхнем правом списке появляется текстовый комментарий к выбранному разделу, а в нижнем — демонстрационные файлы, поясняющие особенности его использования.
Выбор файла в этом списке также выполняется с помощью мыши. Имя выбранного файла появляется на кнопке Run (выполнить), расположенной под списком файлов. Щелчок на кнопке приводит к запуску соответствующего демонстрационного примера (рис. 18.4). Выполнение практически всех демонстрационных файлов сопровождается открытием дополнительных диалоговых окон, с помощью которых пользователь может управлять процессом демонстрации. Кнопка Info окна открывает раздел справочной системы с описанием m-файла данного примера.
Наряду со средствами демонстрации возможностей MATLAB существенную помощь в изучении пакета могут оказать текстовые электронные справочные системы, входящие в комплект поставки. Таких систем три:
- гипертекстовая система на основе файлов в формате HTML (Hyper Text Markup Language),
- справочная документация в формате PDF (Portable Document Format);
- встроенная справочная система по функциям MATLAB.
Разработка моделей средствами SIMULINK (в дальнейшем S-моделей) основана на технологии drag-and-drop («перетащи и оставь»). В качестве «кирпичиков» для построения S-модели используются модули (или блоки), хранящиеся в библиотеке SIMULINK.
Блоки, включаемые в создаваемую модель, могут быть связаны друг с другом как по информации, так и по управлению. Тип связи зависит от типа блока и логики работы модели. Данные, которыми обмениваются блоки, могут быть скалярными величинами, векторами или матрицами произвольной размерности.
Любая S-модель может иметь иерархическую структуру, то есть состоять из моделей более низкого уровня, причем число уровней иерархии практически не ограничено.
Наряду с другими параметрами моделирования пользователь может задавать способ изменения модельного времени (с постоянным или переменным шагом), а также условия окончания моделирования.
В ходе моделирования имеется возможность наблюдать за процессами, происходящими в системе. Для этого используются специальные «смотровые окна», входящие в состав библиотеки SIMULINK. Интересующие пользователя характеристики системы могут быть представлены как в числовой, так и в графической форме. Кроме того, существует возможность включения в состав модели средств анимации.
Еще одно важное достоинство библиотеки SIMULINK заключается в том, что она является открытой системой: состав библиотеки может быть пополнен пользователем за счет разработки собственных блоков.
Запуск SIMULINK можно произвести щелкнув на соответствующей кнопке панели инструментов командного окна MATLAB, что приводит к открытию окна просмотра библиотеки SIMULINK, а при выборе команды New > Model кроме него открывается еще и пустое окно для создания S-модели.
Окно просмотра разделов содержит панель инструментов, список разделов в виде дерева и два вспомогательных поля для вывода комментария к выбранному в списке элементу и для представления значка этого элемента (рис. 18.5). Кнопки панели инструментов окна просмотра имеют следующее предназначение:
- Creat a new model (создать модель) – открыть новое окно модели;
- Open Model (открыть модель) — открыть одну из существующих S-моделей;
- Stay on Top (всегда сверху) — отобразить окно просмотра библиотеки поверх других открытых окон (в исходном состоянии окно просмотра этим свойством не обладает); данная кнопка работает как флажок: после щелчка режим фиксируется и при этом меняется изображение кнопки;
- Find Block (найти блок) – поиск блока, название которого (или первые несколько символов названия) указано в расположенном справа от кнопки поле; если требуемый блок найден, в окне просмотра открывается соответствующий раздел библиотеки, а блок выделяется, в противном случае в поле комментария выводится сообщение Not found <имя блока> (не найден).
Список разделов библиотеки SIMULINK представлен в основном окне просмотра в виде дерева, и правила взаимодействия с ним являются стандартными для списков такого типа.
Особенности структуры библиотеки SIMULINK заключаются в том, что на верхнем уровне иерархии расположена основная библиотека, которая носит соответствующее название – Simulink. Кроме нее в структуре присутствуют библиотеки Simulink Extras (расширения SIULINK), содержащие некоторые специализированные наборы блоков, и Stateflow (событийное моделирование) и относящиеся к наборам инструментов MATLAB.
Ко второму уровню относятся разделы основной библиотеки и библиотеки Simulink Extras. И, наконец, нижний уровень иерархии образуют собственно блоки SIMULINK, которые и играют роль «кирпичиков» при построении S-модели.
Чтобы вставить блок в S-модель, необходимо нажать кнопку мыши на графической или текстовой метке блока и, не отпуская кнопку мыши, перетащить его в окно блок-диаграммы.
Окно блок-диаграммы с точки зрения пользовательского интерфейса представляет собой первичное окно Windows-приложения со всеми вытекающими из этого последствиями (его можно сворачивать, изменять размеры окна, перемещать по экрану и т. д.). В отличие от окна просмотра библиотеки закрытие окна блок-диаграммы не приводит к выходу из SIMULINK.
Строка меню окна блок-диаграммы содержит следующие меню:
- Fi1е (файл) – команды работы с mdl-файлами;
- Edit (правка) – команды редактирования блок-диаграммы и работы с библиотекой;
- View (вид) – команды изменения формата окна и управления выводом дополнительной информации;
- Simulation (моделирование) – команды управления моделированием;
- Format (формат) – команды редактирования формата (то есть внешнего облика) блоков диаграммы и блок-диаграммы в целом.
Если в состав рабочей конфигурации MATLAB включено приложение Real Time Workshop, то строка меню дополняется меню Tools (инструменты), содержащим команды для работы с этим приложением.
На панель инструментов выведены следующие кнопки:
- New Model (создать модель) – открыть новое (пустое) окно блок-диаграммы;
- Open Model (открыть модель) – открыть существующий mdl-файл;
- Save Model (сохранить модель) – сохранить mdl-файл на диске;
- Print Model (печать модели) – вывод на печать блок-диаграммы;
- Cut (вырезать), Copy (копировать), Paste (вставить) – команды редактирования блок-диаграммы;
- Undo (отменить) – отменить предыдущую операцию редактирования;
- Redo (повторить) – восстановить результат последней отмененной операции редактирования;
- Library Browser (просмотр библиотеки) – активизировать окно просмотра библиотеки;
- Start/Pause (пуск/пауза) – запуск модели на исполнение (команда Start); после запуска модели на кнопке появляется символ и ей соответствует уже команда Pause;
- Stop (стоп) – закончить моделирование; кнопка становится доступной по истечении интервала моделирования и после выполнения команды Pause.
Краткие комментарии к кнопкам панели инструментов, а также к командам меню окна блок-диаграммы отображаются в левой части строки состояния, когда указатель мыши находится над соответствующим элементом интерфейса. Эта же строка используется и для индикации состояния SIMULINK: Ready (готовность) или Running (выполнение).
Наряду с указанной информацией в строке состояния отображаются:
- установленный масштаб просмотра блок-диаграммы (в процентах, исходное значение равно 100 %);
- индикатор степени завершенности сеанса моделирования («включается» только при запуске модели);
- текущее значение модельного времени (выводится также только после запуска модели);
- используемый алгоритм расчета состояний модели.
Чтобы получить представление о том, что такое модель, разработанная с помощью SIMULINK, можно воспользоваться демонстрационными средствами MATLAB. Для открытия окна MATLAB Demos (демонстрационные файлы MATLAB), как и раннее введем команду demo в активной строке командного окна.
Пользователь имеет возможность выбрать один из примеров, входящих в раздел Simulink.
При выделении одного из разделов в правой части окна MATLAB Demos выводится список входящих в него примеров S-моделей. В свою очередь название отмеченной в этом списке модели отображается на расположенной ниже кнопке Run (выполнить). Щелчок на этой кнопке приводит к тому, что открывается окно, содержащее блок-диаграмму выбранной модели.
Рассмотрим пример, включенный авторами MATLAB в раздел General. Выделите этот раздел в левом списке окна MATLAB Demos. Как следует из комментария, появляющегося при этом в окне справа вверху, примеры из данного раздела помогут уяснить основные концепции SIMULINK, и если вы не были ранее знакомы с этой программой, начинать нужно именно отсюда. В списке примеров выделите модель Tracking a bouncing ball (траектория прыгающего мяча) и щелкните на кнопке Run Tracking a bouncing (запуск прыгающего мяча). На экране появятся два окна. Первое из них содержит блок-диаграмму модели с комментариями (рис. 18.6), другое представляет собой пример одного из «смотровых окон», обеспечивающих наблюдение за поведением моделируемой системы.
До начала моделирования на нем ничего нет, кроме измерительной шкалы и кнопок панели инструментов. С точки зрения структуры S-модели такое «смотровое окно» — один из блоков диаграммы. Как управлять его параметрами, будет сказано позже. Вернемся к окну, содержащему блок-диаграмму модели. Она представляет собой набор блоков, соединенных между собой линиями связи. Направление движения информационных и управляющих сигналов на диаграмме обозначено стрелками. Любая линия связи может иметь произвольное число ответвлений, начало каждого из которых обозначается точкой.
Число входов и выходов блока определяется его типом и значениями параметров настройки блока. Для обеспечения наглядности диаграммы входящие в нее блоки не только различаются графическим представлением, но и снабжаются (при необходимости) индивидуальными именами, которые выбираются пользователем. На выбор имени не накладывается никаких ограничений, оно может представлять собой даже целую фразу. Все блоки, входящие в блок-диаграмму, можно условно разделить на три группы: функциональные, смотровые и информационные.
В состав рассматриваемой S-модели входят два «смотровых окна». Одно из них уже упоминалось выше. Оно называется Bouncing Ball Display (экран прыгающего мяча) и открывается автоматически при открытии файла модели. Второе «смотровое окно» представлено на диаграмме блоком Velocity Scope (индикатор скорости). Чтобы его открыть, нужно дважды щелкнуть на блоке. До начала моделирования это окно, так же, как и первое, пусто.
Информационных блоков, то есть блоков, предоставляющих пользователю дополнительную информацию о модели, также два. Первый из них помечен символом «?», а второй имеет более развернутую метку — Double click here for Simulink Help (для получения справки дважды щелкните мышью). Выполнив эту рекомендацию для каждого из информационных блоков, можно увидеть их содержимое.
Технология создания таких информационных блоков достаточно подробно приведена в уже упомянутой книге [47]; сейчас лишь отметим, что первый из них создан на основе механизма подсистем, а второй — с помощью инструмента компоновки интерфейса, о которых уже шл
Дата добавления: 2016-07-18; просмотров: 2255;