Simulink Инструмент моделирования динамических систем
![]()
|
Evaluate – Вычисляемый. Выбирается, если параметр должен иметь числовое значение. В данное поле можно будет ввести выражение в соответствии с правилами языка MATLAB. Формат Evaluate позволяет также использовать числовую форму значения переменной в том случае, если тип элемента интерфейса выбран в виде флажка или раскрывающегося списка. Так, например, для раскрывающегося списка alpha|beta|gamma значение связанной со списком переменной будет равно 1, если в списке выбрано alpha, 2 – если в списке выбрано beta, и 3 – если в списке выбрано gamma. Для элемента интерфейса Checkbox вычисляемые значения будут равны 1 (при установленном флажке) и 0 (при снятом флажке). Literal – Текстовый. Выбирается, если параметр должен быть строкой символов. Ввести команды инициализации в графе Initialization commands. Команды инициализации представляют собой обычные команды на языке MATLAB и могут включать операторы и m-функции. Такие команды задают переменные, которые будут находиться в рабочей области маскированной подсистемы. Эти переменные доступны внутри подсистемы и могут быть использованы в качестве параметров блоков входящих в состав подсистемы, а также для создания пиктограммы подсистемы. Команды инициализации выполняются в следующих случаях:
В качестве примера маскированной подсистемы рассмотрим функциональный генератор. Схема модели генератора показана на рис. 9.10.2. ![]() Рис. 9.10.2 Функциональный генератор. Модель генератора обладает следующими возможностями:
Вид окна диалога, созданного с помощью редактора маски показан на рис. 9.10.3. ![]() Рис. 9.10.3 Окно параметров генератора Название параметра, идентификатор связанной с ним переменной, тип элемента интерфейса и формат параметра приведены в таблице 9.10.1. Таблица 9.10.1.
Окно редактора маски с открытой вкладкой Initialization, в котором создано окно параметров генератора, показано на рис. 9.10.4. ![]() Рис. 9.10.4 Окно редактора маски на этапе создания окна параметров Выбор типа источников задания на частоту (внутренний или внешний) осуществляется с помощью блока Selector1 (см. рис. 9.10.2). Для этого значение параметра Elements блока Selector1 задано как [(Internal_freq+1)]. Таким образом, если флажок параметра Internal source of frequency signal установлен, то числовое значение переменной Internal_freq равно 1 и на выход селектора проходит сигнал от внутреннего источника, если же флажок снят, то на выход селектора проходит сигнал от входного порта системы (т.е. от внешнего по отношению к генератору источника). Аналогичным образом с помощью переменной Internal_magn выполняется выбор источника сигнала задания на амплитуду. Выбор формы выходного сигнала выполняется также с помощью блока Selector. Треугольный, прямоугольный и синусоидальный сигналы объединяются в вектор с помощью блока Mux, а затем в зависимости от числового значения переменной Wave_form, блок Selector выполняет выбор нужного элемента входного вектора. Значение параметра Elements блока Selector задано как [Wave_form]. Таким образом, если, например, параметр генератора Wave form имеет значение Sine, то числовое значение переменной Wave_form равно 3, и, следовательно, на выход селектора проходит третий элемент входного вектора, т.е. синусоидальный сигнал. 9.10.3. Создание пиктограммы подсистемы Пиктограмма подсистемы создается с помощью вкладки Icon (Пиктограмма) редактора маски. Окно редактора маски с открытой вкладкой Icon показано на рис. 9.10.5. ![]() Рис. 9.10.5 Вкладка Icon редактора маски Вкладка содержит следующие элементы:
9.10.3.1. Команды вывода текста Для вывода текста могут использоваться следующие команды:
Для вывода текста в несколько строк допускается использование сочетания символов \n для перехода на новую строку. Примеры маскированных подсистем с различными вариантами текстовых надписей даны на рис. 9.10.6. Значения текстовых переменных заданы на вкладке Initialization в графе Initialization commands. ![]() Рис. 9.10.6. Варианты текстовых надписей на пиктограммах 9.10.3.2. Команды построения графиков Для построения графиков на пиктограмме могут использоваться следующие команды:
Примеры маскированных подсистем с различными вариантами графиков представлены на рис. 9.10.7. Значения переменных заданы на вкладке Initialization в графе Initialization commands. ![]() Рис. 9.10.7. Варианты графиков на пиктограммах 9.10.3.3. Команды отображения передаточных функций Для отображения на пиктограмме передаточной функции используются следующие команды:
Примеры маскированных подсистем с различными вариантами отображения передаточных функций показаны на рис. 9.10.8. ![]() Рис. 9.10.8. Варианты отображения передаточных функций на пиктограммах 9.10.3.4. Команды отображения рисунка из графического файла Для отображения на пиктограмме рисунка из графического файла используются следующие команды:
Примеры маскированных подсистем с различными вариантами команд отображения рисунков показаны на рис. 9.10.9. ![]() Рис. 9.10.9. Варианты отображения рисунков на пиктограммах. 9.10.3.5. Использование редактора пиктограмм iconedit Для создания пиктограмм можно также использовать редактор пиктограмм iconedit. Для его вызова используется команда: iconedit('modelname','Subsystem'), где modelname – имя файла модели (без расширения), Subsystem – имя подсистемы, для которой будет создаваться пиктограмма. Пиктограмма создается по точкам, расположение которых указывается с помощью мыши. Между собой точки соединяются прямыми линиями. Для того, чтобы начать новую линию необходимо нажать клавишу n на клавиатуре. Для отмены создания последней точки используется клавиша d. Выход из редактора с автоматическим обновлением пиктограммы осуществляется клавишей q. По завершении работы с редактором необходимо также закрыть его окно рисования. Кроме обновления пиктограммы завершение работы с редактором пиктограмм сопровождается выводом в командной строке MATLAB графической команды, обеспечивающей построение пиктограммы. Пример пиктограммы, созданный с помощью iconedit, его окно рисования, а также текст команды, обеспечивающей построение пиктограммы, показаны на рис. 9.10.10. ![]() Рис. 9.10.10 Создание пиктограммы с помощью iconedit 9.10.3.6. Создание автоматически обновляемых пиктограмм Создание автоматически обновляемой пиктограммы рассмотрим на примере функционального генератора (рис. 9.10.2). Генератор может вырабатывать сигнал трех видов: треугольный, прямоугольный и синусоидальный. Вполне логично было бы создать такую пиктограмму, на которой отображалась бы форма выбранного на текущий момент сигнала. Это достаточно легко сделать, поскольку за выбор формы сигнала в рабочей области маски отвечает переменная Wave_form. Числовое значение этой переменной равное 1 соответствует треугольному сигналу на выходе генератора, значение равное 2 соответствует прямоугольному сигналу, и 3 – синусоидальному. Реализация поставленной задачи обеспечивается указанными ниже командами, которые необходимо ввести в графе Initialization commands редактора маски: switch Wave_form case 1 % треугольный сигнал x=[-6.28 -4.71 -1.57 1.57 4.71 6.28 ]; y=[0 1 -1 1 -1 0]; case 2 % прЯмоугольный сигнал x=[-6.28 -6.28 -3.14 -3.14 0 0 3.14 3.14 6.28 6.28 ]; y=[0 1 1 -1 -1 1 1 -1 -1 0]; case 3 % синусоидальный сигнал x=(-314*2:314*2)/100; y=sin(x); end; Примечание: Здесь и в дальнейшем в текстах на языке MATLAB включены комментарии на русском языке, которые необходимо удалить при составлении выражений в среде MATLAB. В зависимости от значения переменной Wave_form векторам x и y присваиваются разные значения, благодаря чему команда построения графика plot(x,y); , указанная в графе Drawing commands строит разные графики. Пример, показывающий все три варианта пиктограммы генератора, представлен на рис. 9.10.11. В примере, дополнительно, строятся оси координат с помощью следующих команд: plot([-6.28 -6.28],[1.2 -1.2]); plot([-6.28 8],[0 0]); Также в графе графе Drawing commands введена команда, рисующая одну точку в левом нижнем углу пиктограммы: |