Simulink (1087389), страница 17

Файл №1087389 Simulink (Методичка Система Matlab - Simulink) 17 страницаSimulink (1087389) страница 172018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 17)

if (u1 > 1) {
If Action Subsystem 1;
}
elseif (u1 < -1){
If Action Subsystem 2;
}
else {
If Action Subsystem 3;
}

Рис. 9.9.7 Использование блока If совместно с подсистемами If Action Subsystem

9.9.7. Блок переключателя Switch Case

Назначение:

Обеспечивает формирование управляющих сигналов для подсистем Case Action Subsystem. Блок является аналогом оператора Switch языка программирования C.

Параметры:

  1. Case conditions – Список значений входных сигналов (целое число). Каждому значению соответствует отдельный выходной Case-порт. Если значение входного сигнала, поступающего на вход блока Switch Case, совпадает с каким либо значением из списка, то на соответствующем выходе блока формируется управляющий сигнал. Если входной сигнал не является целым, то его дробная часть отбрасывается. В выражении Case conditions можно использовать квадратные скобки, если необходимо вырабатывать управляющий сигал на каком-либо порту для нескольких значений входного сигнала. Например, выражение {1,[7,9]} задает два выходных Case-порта. На первом из них управляющий сигнал формируется, если входной сигнал блока равен 1, а на втором, – если входной сигнал равен 7 или 9. В выражении Case conditions можно использовать также диапазоны значений. Например, выражение {1:5} определяет, что для единственного выходного Case-порта выходной сигал будет вырабатываться, если входной сигнал блока равен 1, 2, 3, 4 или 5.

  2. Show default case (флажок) Показать default case-порт. На выходе default case-порта формируется управляющий сигнал, если входной сигнал блока не совпадает ни с одним значением, перечисленным в списке Case conditions.

На рис. 9.9.8 показан пример использования блока Switch Case совместно с подсистемами Switch Case Action Subsystem. В примере первая подсистема пропускает через себя входной сигнал, если входной сигал блока Switch Case равен 1, вторая – если входной сигнал равен –1 (минус один), и третья – если входной сигнал не равен ни -1 ни +1.

С-код, соответствующий алгоритму работы блока Switch Case в приведенном примере выглядит следующим образом:

switch (u1) {
case 1:
Switch Case Action Subsystem 1;
break;
case -1:
Switch Case Action Subsystem 2;
break;
default:
Switch Case Action Subsystem 3;
}

Рис. 9.9.8 Использование блока Switch Case совместно с подсистемами Switch Case Action Subsystem

9.9.8. Управляемая по условию подсистема Action Subsystem

Подсистема предназначена для работы под управлением блоков If или Switch Case. В первом случае она называется If Action Subsystem, а во втором Switch Case Action Subsystem.

Параметры подсистемы определяются настройками ее выходных портов, а также настройкой блока Action Port, наличие которого в подсистеме и превращает ее в Action Subsystem.

Блок имеет один параметр настройки:

States when execution is resumed – Состояние подсистемы системы при следующем возобновлении работы. Значение параметра выбирается из списка:

  • held – Использовать предыдущее состояние (последнее состояние когда система была активна).

  • reset – Использовать начальное (исходное) состояние.

Рассматриваемый параметр оказывает такое же действие на поведение подсистемы как параметр States when enabling блока Enable.

9.9.9. Конфигурируемая подсистема Configurable Subsystem

Блок Configurable Subsystem позволяет создавать подсистему, обеспечивающую выбор конфигурации этой подсистемы. Например, в систему управления каким-либо объектом можно поставить конфигурируемую подсистему, наполнив ее различными вариантами регуляторов, и затем, перед проведением расчета, выбирать нужный вариант регулятора.

Для реализации такого механизма конфигурирования необходимо:

  1. Создать библиотеку (File/New/Library).

  2. Добавить в созданную библиотеку блок Configurable Subsystem и все необходимые варианты конфигурации подсистемы. Каждый из вариантов должен представлять собой стандартный блок Simulink либо маскированную подсистему (подсистему, имеющую собственное окно установки параметров).

  3. Открыть Configurable Subsystem и выполнить ее настройку, отметив флажками нужные варианты и выбрав отображаемые входные и выходные порты подсистемы. Пример окна диалога Configuration dialog показан на рис. 9.9.9.

Рис. 9.9.9 Окно диалога Configuration dialog

  1. Поместить в окно модели блок Configurable Subsystem из только что созданной библиотеки.

  2. С помощью команды контекстного меню (вызывается нажатием правой клавиши мыши на объекте) Block choice (вариант блока) выбрать нужный вариант конфигурации. При открытии конфигурируемой подсистемы в окне модели будет автоматически открываться окно параметров того блока, который выбран командой Block choice.

В примере на рис. 9.9.10 конфигурируемая подсистема состоит из апериодического и колебательного звеньев, которые могут выбираться при указании нужного варианта.

Рис. 9.9.10 Применение Configurable Subsystem

9.10. Маскирование подсистем

9.10.1. Общие сведения

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

Маскирование подсистем дает пользователю следующие преимущества:

  1. Расширяет возможности пользователя по управлению параметрами модели.

  2. Позволяет создавать более понятный интерфейс подсистемы.

  3. Повышает наглядность блок-диаграммы.

  4. Расширяет возможности построения сложных моделей.

  5. Повышает защищенность модели от несанкционированной модификации.

Для выполнения маскирования имеющейся подсистемы необходимо предварительно выполнить следующие действия:

  1. Определить какие параметры подсистемы должны задаваться пользователем в будущем окне параметров. Задать эти параметры в подсистеме с помощью идентификаторов (имен).

  2. Определить каким образом параметр должен задаваться в окне диалога (с помощью строки ввода, выбором из раскрывающегося списка или установкой флажка).

  3. Разработать эскиз пиктограммы блока.

  4. Создать комментарии (справку) по использованию подсистемы.

Маскирование подсистемы выполняется с помощью Mask Editor (редактор маски). Для запуска редактора маски необходимо выделить маскируемую подсистему и выполнить команду Mask Subsystem… из меню Edit. Можно также воспользоваться контекстным меню. После запуска Mask Editor на экран будет выведено окно редактора (рис. 9.10.1), имеющее 3 вкладки: Icon (Пиктограмма), Initialization (Инициализация), Documentation (Документация). Первая из вкладок обеспечивает создание пиктограммы подсистемы, вторая – дает возможность создать окно диалога для ввода параметров и третья – позволяет ввести описание блока и создать его справку.

В верхней части всех вкладок имеется поле Mask Type, с помощью которого можно задать имя блока. В нижней части окна имеется 5 кнопок управления редактором:

  1. OK – Сохранить внесенные изменения и закрыть окно.

  2. Cancel – Отменить внесенные изменения и закрыть окно.

  3. Unmask – Снять маску с подсистемы. До закрытия файла модели маску можно восстановить, воспользовавшись командой Edit Mask… из меню Edit.

  4. Help – Открыть окно справки редактора маски.

  5. Apply – Сохранить внесенные изменения без закрытия окна редактора.

Повторный вызов редактора маски для уже маскированной подсистемы осуществляется командой Edit Mask… из меню Edit (или аналогичной командой из контекстного меню).

После того как маскирование системы будет выполнено, двойной щелчок на ее изображении будет открывать окно параметров подсистемы, а не окно модели. Открыть саму подсистему (окно модели) для редактирования или просмотра можно командой Look under mask из меню Edit или контекстного меню.

Рис. 9.10.1 Окно редактора маски Mask Editor

9.10.2. Создание окна параметров

Окно параметров создается с помощью вкладки Initialization (Инициализация) редактора маски. Для создания поля ввода параметра с его описанием необходимо выполнить следующие действия:

  1. Нажать кнопку Add (Добавить).

  2. Ввести описание параметра в поле Prompt (Подсказка). В качестве описания параметра обычно используется его название в виде текста, например, “Gain”, “Constant value” и т.п.

  3. Указать идентификатор параметра в поле Variable (Переменная). Естественно, что это должен быть один из тех идентификаторов, который использовался при задании параметров блоков внутри подсистемы (хотя это не обязательно, поскольку параметр может быть использован и для модификации самого окна диалога). Все переменные, идентификаторы которых заданы на вкладке Initialization, помещаются в Mask Workspace – локальную рабочую область маски и являются доступными только внутри подсистемы.

  4. Выбрать тип элемента интерфейса задающего параметр из списка Control Type:

    • Edit – Редактируемое поле ввода.

    • Checkbox – Флажок.

    • Popup – Раскрывающийся список. В этом случае в графе Popup Strings (Элементы списка) необходимо ввести элементы списка, разделенные символом вертикальной черты. Например, выражение alpha|beta|gamma задаст список из трех элементов: alpha,beta и gamma.

  5. Выбрать формат параметра из списка Assiggment:

    • Evaluate – Вычисляемый. Выбирается, если параметр должен иметь числовое значение. В данное поле можно будет ввести выражение в соответствии с правилами языка MATLAB. Формат Evaluate позволяет также использовать числовую форму значения переменной в том случае, если тип элемента интерфейса выбран в виде флажка или раскрывающегося списка. Так, например, для раскрывающегося списка alpha|beta|gamma значение связанной со списком переменной будет равно 1, если в списке выбрано alpha, 2 – если в списке выбрано beta, и 3 – если в списке выбрано gamma. Для элемента интерфейса Checkbox вычисляемые значения будут равны 1 (при установленном флажке) и 0 (при снятом флажке).

    • Literal – Текстовый. Выбирается, если параметр должен быть строкой символов.

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

    • При открытии окна модели.

    • При запуске модели на выполнение.

    • При выполнении команды Edit/Update diagram.

    • При вращении блока маскированной подсистемы (в этом случае команды инициализации обеспечивают перерисовку пиктограммы).

    • При автоматическом изменении пиктограммы, зависящей от параметров блока.

В качестве примера маскированной подсистемы рассмотрим функциональный генератор. Схема модели генератора показана на рис. 9.10.2.

Модель генератора обладает следующими возможностями:

  1. Значения амплитуды и частоты сигнала могут задаваться либо как параметры генератора в его окне диалога, либо от внешних источников через входные порты.

  2. Форма выходного сигнала генератора (треугольник, прямоугольник или синусоида) задается в окне диалога.

Рис. 9.10.2 Функциональный генератор.

Характеристики

Тип файла
Документ
Размер
3,11 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Методичка Система Matlab - Simulink
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6310
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее