Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

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



 

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

Рисунок 40 – Выходной порт блока “Constant”

 

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

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

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

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

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

Подсистема Stateflow

 

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

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

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

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

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

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

4) отладка модели;

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

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

Рисунок 41 -Окно “Stateflow (chart) Chart*”

 

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

[текст1][/текст2],

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

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

1) entry - действие, выполняемое на входе в состояние;

2) exit - действие, выполняемое на выходе из состояния;

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

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

Рисунок 42 – Окно ввода характеристик переменных

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.