Mоделирование процессов и систем в Matlab (966709), страница 57
Текст из файла (страница 57)
Подсистемы могут функционировать лишь в составе основной Б-модели, связь с которой осуществляется через входные (1п) и выходные (ОиЬ) порты подсистемы. Роль подсистем в Б-моделн та же, что и роль функций (процедур) в основной (вызыввющей их) М-программе. При этом входные и выходные величины подсистемы определяются соответственно ее входными и выходными портами. Результаты выполнения действий в подсистеме (выходные величины) в дальнейшем могут быть использованы в вызывахнцей ее Б-модели (или подсистеме более высокого уровня). Применение подсистем позволяет свести составление сложной Б-модели к созданию совокупности вложенных простых подсистем более низкого уровня, что делает моделирование более наглядным и упрощает отладку модели.
Опишем основные блоки раздела. Блоки 1п (Входной порт) и Он? (Выходной порт) обеспечивают информационную связь между подсистемой и вызывающей ее Б-моделью. Блоки ЕпаЬ?е (Разрешить) и Тпддег (Задвижка) предназначены для логического управления работой подсистем Б-модели. Блоки бгоип4 (Земля) и Тепп?насос (Ограничитель) могут использоваться как езаглушкиь для тех портов, которые по какой-либо причине не были подсоединены к другим блокам Б-модели. При этом блок бгоипс) применяется для входных портов, а блок Тепп)насос — для выходных. 319 Библиотека 51гппапк — ядро пакета 5йпийпк Рис.
7.48. Блоки раздела Рогтз $5пЬзузтеглз Блок 59Ьзуйегр.(Подсистема) является заготовкой для создания подсистемы. Двойной щелчок на его изображении в блок-схеме приводит к появлению на экране окна, в котором размещена блок-схема, состоящая лишь из одного входного порта, соединенного с одним выходным портом (рис. 7.49). Это служит напоминанием о том, что создаваемая пользователем подсистема должна обязательно содержать соединенные между собой (возможно, через другие блоки) входные и выходные порты.
Рис. 7.49. Окно заготовки блока 5иЬзузтев В открывшемся окне пользователь строит блок-схему подсистемы по обычным правилам создания Б-модели, а затем записывает ее на диск. Размещение дополнительных входных и выходных портов в подсистеме приведет к появлению на изображении блока 5пЬзуз1егл дополнительных входов и выходов. При этом рядом с соответствующими входами и выходами блока 5иЬзуз~егп на изображении блока в Я-модели появятся надписи„сделанные на входных и выходных портах подсистемы.
зло Урок 7 ° Основы визуального моделирования динамических систем Раздел ЕооИ-Ор Таыез В разделе Евой-Ор ТаЫез (Табличные функции) (рис. 7.50) сосредоточены блоки, формирующие выходной сигнал, зависимость которого от входного сигнала задана с помощью таблицы соответствий. Блоки осуществляют линейную интерполяцию по содержащимся в ней значениям. Рис. 7.БО. Блоки раздела соо1-Ор ТаЫез Блок воок-Ор ТаЫе выполняет линейную интерполяцию входного сигнала в соответствии с заданной табличной функцией. Блок Ооой-Ор ТаЫе(2-0) осущсствляет двумерную линейную интерполяцию двух входных сигналов. Раздел Моде1 Чепттсабол Раздел Моне(уепйсайоп (Проверка модели) содержит блоки, выполняющие проверку некоторых статических и динамических характеристик модели (рис.
7.51). Рис. 7.Б1. Блоки раздела Моде! Чедбсаеон з21 Построение блок-схеи РазДел МодеИМЫе 06БМез В разделе Иобе(-77Ые 0скаеез (Утилиты расширения модели) сосредоточены блоки, позволяющие линеаризовать динамическую модель и оформить на нее документацию (рис, 7.52). Рис. 7.52. Блоки раздела Мобер77Ые 0ткббез Построение блок-схем Рассмотрим операции, с помощью которых можно формировать блок-схемы сложных динамических систем, Выделение объектов При создании и редактировании 5-модели используются такие операции, как копирование или изъятие блоков и линий. Прежде чем выполнять эти операции, необходимо выделить (выбрать) объект.
Для выделения отдельного объекта нужно щелкнуть на нем один раз. В результате по углам выделенного блока или в начале и конце линии появятся маленькие черные квадратики. При этом снимается выделение со всех ранее выделенных объектов. Если щелкнуть па блоке второй раз, он становится невыделенным. На рис.
7.53 показан результат выбора соединительной линии, а на рнс. 7.54 — результат выбора блока С(оск. Рис. 7.ВЗ. Выбрана линия Рис. 7.54. Выбран блок коса Урок 7 ° Основы визуального моделирования динамических систем Чтобы выделить несколько объектов, следует, удерживая нажатой клавишу 5МЕГ, щелкнуть на каждом из них, затем отпустить клавишу. Именно таким способом выделены блоки 5гдпаг бепегабог, СопзтлпЕ и Хт' бгарп (рис, 7.55). Несколько объектов можно выделить также с помощью прямоугольной рамки. Для этого необходимо щелкнуть мышью в точке, которая будет служить углом рамки, а затем, удерживая кнопку мыши нажатой, протянуть указатель в направлении диагонали прямоугольника.
В результате вокруг выделяемых обьектов должна появиться пунктирная рамка. Когда все нужные объекты будут охвачены рамкой, необходимо отпустить кнопку мыши. На рис. 7.56 показан процесс выделения блоков 51дпа! бепегасог, СопзсапС и С!осМ с помощью рамки. Рис. 7.5б. Выделение нескольких блоков с помощью рамки Рис. 7.55.
Результат выделения нескольких блоков Выделение всей модели, то есть всех объектов в активном окне блок-схемы, осу- ществляется одним нз двух способов: путем вызова команды Ебй ь 5егесс Ай (Прав- ка ь Выбрать все) в окне блок-схемы илн посредством нажатия клавиш Стгс+А. Операции с блоками Копирование блоков из одного окна в другое В процессе создания и редактирования модели необходимо копировать блоки из биб- лиотеки или из другой модели в текуШую модель. Для этого достаточно открыть нужный раздел библиотеки или окно модели-прототипа и перетащить нужный блок с помощью мыши в окно создаваемой (редактируемой) модели.
Скопированный блок получает те же значения настраиваемых параметров, что и блок-оригинал. Копировать блоки можно и другим способом. Для этого необходимо выполнить следующие действия. 1. Выделить блок, который нужно скопировать. 2. Вызвать команду Ебй ь Сору (Правка ь Копировать). 3. Сделать активным окно, в которое нужно скопировать блок. 4. Вызвать в нем команду Ебгс ь Резке (Редактирование ь Вставить). Каждому из скопированных блоков автоматически присваивается имя. Первый из них будет иметь то же имя, что и блок в библиотеке, а каждый следующий З2З Построение блок-схем блок такого типа — то же имя с добавлением порядкового номера.
Пользователь может переименовать блок (см. далее). Перемещение блоков в модели Чтобы переместить блок внутри модели с одного места на другое, достаточно перетянуть его с помощью мыши. При этом автоматически будут перерисованы линии связей перемещенного блока с другими. Для одновременного перемещения нескольких блоков вместе с соединительными линиями следует выделить блоки и линии рамкой, а затем перетянуть с помощью мыши один из выделенных блоков в нужное место. Остальные блоки займут новые места; все относзпельные расстояния при этом сохранятся (рис.
7.57). Рис. 7.57. Результат перемещения блоков, выделенных с помощью рамки Дублирование блоков внутри модели Чтобы скопировать блоки внутри модели, нужно, удерживая нажатой клавишу йгь установить указатель мыши на блок, который необходимо скопировать, и перетянуть его в другую позицию, Того же результата можно достичь, если перетянуть блок в новое положение, используя правую кнопку мыши. На рис. 7.58 представлен результат копирования блоков 5соре и Хг' бгар6. Рис. У.ба. Результат копирования блоков зы Урок 7 ° Основы визуального моделирования динамических систем Установка параметров блока Параметры блока устанавливаются в диалоговом окне его настройки.
Для того чтобы вызвать зто окно, необходимо дважды щелкнуть на изображении блока в блок-схеме. Удаление блоков Чтобы удалить ненужные блоки из блок-схемы, нужно выделить зти блоки и нажать клавишу Ое!еге или Васйзрасе. Для удаления блоков применяется также команда Ебгг ь Оеаг (Правка з Очистить) или Ес гг ь Свт (Правка ь Вырезать) окна блоксхемы.
Если выбрать вторую команду, то в дальнейшем удаленные блоки можно будет скопировать обратно в модель, воспользовавшись командой ЕЫ и Разге (Правка ь Вставить) окна блок-схемы. Отсоединение блока Для отсоединения блока от линий связи следует поместить указатель на изображении блока, нажать клавишу 5пггг и, не отпуская ее, перетянуть блок в другое место. Изменение ориентации блока В обычном изображении блоков сигнал проходит сквозь блок слева направо (по левую сторону размещены входы блока, а по правую сторону — выходы). Чтобы изменить ориентацию блока, нужно сделать следующее. Е Выделить блок, который нужно повернуть.
2. Открыть менго Гогвгаг (Формат) в окне блок-схемы и выбрать команду Рйр В(осЕ (Перевернуть блок) — чтобы повернуть блок на 180' нли команду КоГзте ВгосЕ (Повернуть блок) — для поворота блока по часовой стрелке па 90'. На рис. 7.59 показан результат применения команды Вотяке В(осМ (Перевернуть блок) к блоку Сопзгапг и команд Ватаге ВгосМ (Перевернуть блок) и Рйр ВгосЕ (По.