Купить Matlab  |  Mathematica  |  Mathcad  |  Maple  |  Statistica  |  Другие пакеты Поиск по сайту
Internet-класс  |  Примеры  |  Методики  |  Форум  |  Download
https://hub.exponenta.ru/


 
Компьютерный лабораторный практикум "Моделирование"
дипломная работа
выполнила: студентка Е.С.Бенькович
Санкт-Петербургский Государственный Технический Университет
Кафедра распределенных вычислений и компьютерных сетей
Санкт-Петербург
2001

Вернуться на страницу <Model Vision Studium>
В начало

 

Подсистема Simulink пакета Matlab

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

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

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

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

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

Simulink обеспечивают интерактивную среду для моделирования, при этом поведение модели и результаты ее функционирования отображаются в процессе работы, и существует возможность изменять параметры модели даже в тот момент, когда она выполняется. Simulink позволяет создавать собственные блоки и библиотеки блоков с доступом из программ на Matlab, Fortran или C, связывать блоки с разработанными ранее программами на Fortran и C, содержащими уже проверенные модели.

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

  • Stateflow - графический инструментарий для проектирования сложных систем управления. Stateflow дает возможность моделировать поведение сложных событийно-управляемых систем, базируясь на теории конечных автоматов. Это позволяет пользователям Simulink добавлять событийно-управляемое поведение к их моделям.
  • Stateflow Coder - генерация С кода для диаграмм Stateflow . Используя Stateflow и Stateflow Coder, пользователь может генерировать код исключительно для Stateflow-частей модели Simulink.
  • Real-Time Workshop - дополняет Simulink и Stateflow Coder, обеспечивая автоматическую генерацию кода C из моделей Simulink. С помощью Real -Time Workshop можно легко генерировать код для дискретных, непрерывных и гибридных систем, включая системы, содержащие подсистемы работающие при выполнении определенных условий.
  • DSP Blockset - библиотеки блоков Simulink для создания, моделирования и    макетирования цифровых систем обработки сигналов.
  • Nonlinear Control Design Blockset - интерактивный подход к автоматизированному проектированию систем управления.
  • Fixed-Point Blockset - библиотеки блоков Simulink для моделирования поведения систем управления и динамических фильтров с фиксированной точкой.
  • Simulink Report Generator - позволяет создавать и настраивать отчеты из моделей Simulink и Stateflow в различных форматах, среди которых HTML, RTF, XML и SGML.

В данной работе будут рассмотрены только сама подсистема Simulink и ее самое существенное дополнение - Stateflow.

2. Этапы построения модели в подсистеме Simulink

Запуск подсистемы Simulink

Перед построением модели необходимо предварительно загрузить систему Matlab и запустить подсистему Simulink. Для запуска системы Matlab достаточно выбрать в Главном меню (если работа производиться в операционной системе Windows) пункта Programs/Matlab/Matlab 5.3. В результате появиться основное окно пакета "MATLAB Command Window". После появления символа приглашения >>, можно вводить команды пакета или производить запуск приложений.  Запуск подсистемы Simulink выполняется из основного окна, для чего необходимо подвести курсор мышки к кнопке запуска этой подсистемы, находящейся в верхней части окна, и щёлкнуть левой клавишей мышки либо набрать в основном окне команду Simulink, как показано на рис.  3.1:

Рисунок 3.1

В том и другом случае откроется окно Simulink Library Browser (система просмотра библиотек Simulink), изображённое на рис.  3.2. В верхней части этого окна две крайние левые кнопки служат, соответственно, для создания новой и открытия существующей модели. После нажатия левой кнопки на экране появится окно для построения новой модели (рис.3.3).

Рисунок 3.2

Рисунок 3.3

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

Библиотеки блоков Simulink

Процедура поиска и перемещения блоков из библиотек Simulink в окно модели во многом напоминает операции копирования и перемещения файлов в среде Windows. В частности, технология работы в Simulink Library Browser (рис. 3.2) аналогична работе с Windows Explorer. Для того, чтобы переместить необходимый блок из библиотеки в окно построения модели, необходимо найти этот блок среди списка стандартных блоков Simulink. Для этого в окне Simulink Library Browser необходимо выбрать пункт Simulink, затем выбрать соответствующий пункт в открывшемся списке библиотек и раскрыть его (аналогично тому, как раскрывается каталог в Windows Explorer). В результате, окно Simulink Library Browser примет вид, аналогичный показанному на рис. 3.4. Для перемещения курсор мышки устанавливается на нужный блок. Затем, нажав левую клавишу мышки, блок перемещается в окно модели. Также, кроме непосредственного просмотра содержимого библиотек, любой блок может быть найден по имени, введённому в текстовое поле, расположенное в правой верхней части Simulink Library Browser . После того, как блок появился в окне построения модели, можно установить для него соответствующие параметры. Для этого достаточно сделать двойной щелчок левой кнопки мышки по пиктограмме блока и установить необходимые для данного блока параметры. На рис. 3.5 представлено окно для редактирования параметров блока Constant:

Рисунок 3.4

Рисунок 3.5

Simulink содержит в себе следующие библиотеки:

  • Continuous – библиотека непрерывных элементов (интегратор, дифференциатор, линейная система ОДУ и т.д.);
  • Discrete – библиотека дискретных элементов (интегратор с дискретным временем, дискретный фильтр и т.д.);
  • Functions & Tables – функции и таблицы (вызов функций Matlab, S-функции, блок, отображающий входной вектор в выходной (с использованием линейной интерполяции значений, определенных в параметрах блока) и т.д.);
  • Math – математические функции (абсолютное значение, комбинаторная логика, выделение вещественной и мнимой составляющей комплексного числа и т.д.);
  • Nonlinear – нелинейные элементы (релейное звено, переключатель и т.д. );
  • Signals & Systems – сигналы и системы (составной блок, входной сигнал, выходной сигнал, мультиплексер, демультиплексер и т.д.);
  • Sinks – средства отображения (временная диаграмма, вывод результатов в файл, остановка выполнения модели и т.д.);
  • Sources – источники сигналов (генератор импульсных/синусоидальных сигналов, генератор случайных чисел, генератор пилообразных сигналов, часы и т.д.).

Также дополнительно в окне Simulink Library Browser расположены билиотеки Stateflow (содержащая в себе блок диаграммы Stateflow) и  Simulink Extras (содержащая в себе дополнительные блоки).

Соединение и дублирование блоков

Для объединения блоков в систему необходимо соединить их входные и выходные порты, которые на пиктограммах блоков отмечены значком «>» (рис.3.6). Для того, чтобы соединить два блока между собой, надо подвести курсор мыши к порту одного из соединяемых блоков (при этом курсор примет форму крестика), нажать левую клавишу мыши и, удерживая её в нажатом положении, переместить курсор к порту другого блока (курсор примет вид крестика), после чего отпустить удерживаемую клавишу.

Рисунок 3.6

Допустим, в модели необходимо использовать несколько экземпляров одного блока. Конечно, можно многократно повторять процедуру перемещения одного и того же блока из библиотеки в окно создаваемой модели, однако Simulink позволяет создавать копии (дубликаты) блоков из имеющихся в окне модели. Для создания копии блока надо установить курсор на требуемый блок в окне модели, нажать на клавиатуре клавишу "Ctrl" и затем левую клавишу мыши. В результате, слева от курсора появится знак «+». Затем, удерживая клавиши в нажатом положении, переместить в нужное место курсор и отпустить нажатые клавиши.

При построении модели часто требуется не только соединять блоки между собой, но и делать ответвления от существующих соединительных линий. Проведение линии, соединяющей входной порт какого-либо блока с существующей линией, выполняется аналогично дублированию блоков, то >есть при нажатой клавише "Ctrl". Разница лишь в том, что в этом случае курсор мыши устанавливается на линию, от которой проводится ответвление, и перемещается к входному порту соединяемого блока. Если же вести ответвление от блока к линии, то даже нажатие "Ctrl" не обязательно.

Объединение блок-диаграмм в составные блоки

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

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

Подсистема Stateflow

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

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

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

  • создание модели в Simulink или открытие уже существующей модели;
  • создание диаграммы в Stateflow;
  • добавление к Stateflow-блоку интерфейса событий (event) и данных (data);
  • отладка модели;
  • генерация кода.

Для создания Stateflow диаграммы необходимо сначала создать модель в Simulink или открыть уже существующую (как было описано в предыдущих пунктах). Затем нужно выбрать в библиотеке блоков блок, обозначающий диаграмму Stateflow и перенести его в свою модель. После двойного щелчка по нему мышкой, откроется окно «Stateflow (chart) Chart*» (рис.3.7), в котором, пользуясь меню и панелью инструментов, можно задавать сами состояния, связи между ними, определять переменные, условия переключения и т.д.

Рисунок 3.7

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

[текст1][/текст2], где:

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

текст2 – определяет действия, совершаемые при переходе. Текст2 может состоять из предложений, разделенных точкой с запятой. Если эти предложения содержат имя события, то оно должно быть запущено при инициации данного перехода. В Stateflow определены внешние и внутренние переменные и события.

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

  •  entry - действие, выполняемое на входе в состояние;
  •  exit - действие, выполняемое на выходе из состояния;
  • on : <имя события> - действие, выполняемое в момент появления события (имя которого указано) при условии, что система будет находиться в данном состоянии.

Для того, чтобы создать входные (или выходные) переменные в блоке Stateflow, необходимо в окне соответствующей диаграммы Stateflow в меню выбрать соответствующий пункт (Add/Data…/Input from Simulink для создания входной и Add/Data…/Output to Simulink для создания выходной переменной) и в открывшемся окне (рис.3.8) ввести имя соответствующей переменной и другие ее характеристики.

Рисунок 3.8

Запуск модели Simulink

После того, как все будет готово, необходимо запустить модель в Simulink.

Для начала, необходимо установить параметры работы модели. Для этого необходимо выбрать в меню окна создаваемой модели пункт Simulation/Parameters… и в открывшемся окне установить соответствующие параметры работы (отрезок времени, в течении которого будет работать модель; метод интегрирования, погрешность и т.д.).

Далее необходимо сохранить данную модель (выбрав в меню данного окна пункт File/Save), а затем выбрать в меню пункт Simulation/Start. Если компилятор не найдет в модели ошибок, модель запустится.

В начало
Вернуться на страницу <Model Vision Studium>

| На первую страницу | Поиск | Купить Matlab

Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter


Copyright © 1993-2024. Компания Softline. Все права защищены.

Дата последнего обновления информации на сайте: 04.03.17
Сайт начал работу 01.09.00