Материал: MATLAB 5. Анализ технических систем. Слепокуров Ю.С

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

С помощью параметра Initial value задается не только начальное значение, но и формат сохраняемых данных. Например, если его значение установлено так:

[[2 4]; [37]],

то это означает, что сохраняемая переменная представляет собой массив размерностью 2х2. Этот формат должен обязательно учитываться при использовании блоков Data Store Write и Data Store Read.

Область видимости сохраняемой переменной определяется тем, где расположен блок Data Store Memory. Если он помещен в блок-диаграмме самого верхнего уровня, то сохраняемые данные доступны в любой компоненте S-модели. Если же блок Data Store Memory находится внутри одной из подсистем, то область видимости сохраняемых данных ограничивается этой подсистемой и входящими в нее подсистемами более низких уровней иерархии (если таковые имеются).

Окна настройки параметров блоков Data Store Read и Data Store Write идентичны и содержат по два параметра:

Data Store Name (имя сохраняемых данных) его значение должно совпадать с именем, указанным в блоке Data Store Memory;

Sample time величина шага моделирования для данного блока. SIMULINK разрешает создавать в модели любое число экземпляров

блоков Data Store Read и Data Store Write, относящихся к одному и тому же блоку Data Store Memory. Однако при этом он не контролирует согласованность записи и считывания сохраняемых данных в различных точках блок-диаграммы. Ответственность за такое согласование возлагается на разработчика модели. Следует заметить, что недостаточно внимательное отношение к этому вопросу может привести к неожиданным и весьма неприятным последствиям.

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

Маскированная подсистема (Masked Subsystem) это такая подсистема,

структуру которой нельзя увидеть непосредственно из блок-диаграммы; кроме того, она имеет собственное диалоговое окно настройки параметров и, как правило, собственную иконку.

Другими словами, маскированная подсистема это аналог библиотечного блока SIMULINK.

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

значительно расширяет интерактивные возможности пользователя по управлению параметрами S-модели;

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

обеспечивает повышение наглядности блок-диаграммы;

повышает защищенность S-модели от неумышленной модификации (а

в некоторых случаях и от умышленной).

Создание маскированной подсистемы предполагает выполнение следующих действий:

описание параметров подсистемы;

определение способов изменения параметров;

создание необходимых комментариев;

создание собственной иконки подсистемы.

Все эти действия выполняются с помощью Редактора Маски (Mask Editor). Для запуска Редактора Маски необходимо выбрать в меню пользователя (раздел Edit) команду Mask Subsystem. Предварительно в блокдиаграмме S-модели должна быть выделена та подсистема, для которой вы собираетесь создать маску.

При запуске Редактора Маски открывается диалоговое окно, содержащее три вкладки: Icon, Initialization, Documentation.

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

В нижней части окна Редактора Маски расположены пять кнопок, которые являются общими для всех трех вкладок:

Apply позволяет применить к маскируемой подсистеме опции, заданные на всех трех закладках;

Revert обеспечивает восстановление тех значений параметров маски, которые были установлены на момент открытия Редактора;

Unmask позволяет «демаскировать» подсистему; при этом окно Редактора закрывается; параметры «снятой» маски запоминаются SIMULINK

имогут быть восстановлены с помощью команды Mask Subsystem из раздела меню пользователя Edit (соответствующая подсистема должна быть выделена); после закрытия S-модели информация о маске теряется;

Help открывает раздел документации в формате .html, описывающий технологию маскирования подсистем;

Close работает так же, как и кнопка Apply, но дополнительно закрывает окно Редактора Маски.

Теперь рассмотрим подробно те средства, которые предоставляет в распоряжение пользователя Редактор Маски.

Начнем с закладки Initialization (рис.2.31).

Рис. 2.31 Она содержит следующие элементы:

1. Строка редактирования Mask type (Тип маски) предназначена для указания типа (названия) создаваемой маскированной подсистемы (аналог типа блока из библиотеки Constant, Sum и т. д.); допускается использовать русскоязычные названия.

2. Окно, содержащее список параметров настройки подсистемы; Для работы со списком служат расположенные слева от него четыре

кнопки:

Add добавить элемент списка;

Delete удалить элемент списка;

Up поднять элемент списка на одну строку вверх;

Dawn опустить элемент на одну строку вниз.

Для использования последних трех кнопок необходимо предварительно выделить строку в списке, щелкнув на ней ЛКМ; расположение параметров в списке определяет их положение в диалоговом окне настройки. Список может содержать не более 14 параметров.

3. Средства описания характеристик параметров подсистемы:

строка редактирование Prompt (подсказка, пояснение); служит для ввода названия параметра (например, «Коэффициент усиления», «Первое слагаемое» и т. д.);

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

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

выпадающее меню Control type (Тип управления) позволяет устанавливать способ ввода значения для каждого параметра:

Edit с помощью строки редактирования; Checkbox с помощью переключателя; Popup с помощью выпадающего меню;

выпадающее меню Assignment (Назначение) предназначено для указания типа параметра:

Evaluate вычисляемый (т. е. имеющий численное значение);

Literal символьный (воспринимается SIMULINK как строка символов).

4. Строка редактирования Popup strings (Строки выпадающего меню)

служит для ввода пунктов выпадающего меню, используемого для выбора значений соответствующего параметра; становится доступной, когда этот параметр выбран в списке; вводимые в этой строке пункты меню должны быть разделены вертикальной чертой.

5. Область ввода Initialization commands (Команды инициализации),

предназначенная для ввода списка команд инициализации маски.

Команды инициализации оперируют с переменными, находящимися в рабочей области маскированной подсистемы (Mask Workspace). Они представляют собой обычные команды MATLAB и могут содержать М- функции и операторы MATLAB. Другими словами, поле Initialization commands можно считать аналогом командного окна MATLAB, область действия которого ограничена рабочей областью маскированной подсистемы.

SIMULINK может выполнять команды инициализации в следующих случаях:

при открытии окна блок-диаграммы модели;

при запуске модели на исполнение;

при обновлении блок-диаграммы (по команде Update diagram)

при вращении блока маскированной подсистемы (с целью перерисовки иконки);

для автоматического изменения иконки, зависящей от параметров

блока.

Поясним технологию создания собственного окна настройки параметров на примере подсистемы, изображенной на рис. 2.32 (справа показана блокдиаграмма, в состав которой она включена).

Рис. 2.32

С ее помощью выполняются следующие действия: входной сигнал сравнивается с некоторым пороговым значением (посредством блока Hit crossing), и если порог превышен, то на выход подсистемы выдается число, которое задается константой Коэффициент.

Начнем с того, что выберем общее имя для подсистем такого типа, например «Умножитель». Введите его в строке Mask type и «нажмите» кнопку

Apply.

Следующим шагом в создании маски является описание параметров настройки подсистемы.

Пусть таким параметром будет значение порога, задаваемого в блоке Hit Crossing.

Для его описания необходимо:

1.«Нажать» кнопку Add (чтобы внести первый элемент в список параметров);

2.В поле Prompt ввести «Порог» (пояснение к параметру; после нажатия клавиши <Enter> оно отображается в списке параметров);

3.В поле Variable ввести произвольное имя переменной, в которой будет храниться значение данного параметра, например porog; чтобы внести его в список параметров, следует еще раз нажать клавишу <Enter>.

4.В поле Control type оставить значение Edit (оно уже установлено по умолчанию в списке параметров).

5.В поле Assignment также оставить установленное по умолчанию значение Evaluate. После «нажатия» кнопки Apply можно вновь открыть диалоговое окно подсистемы. Теперь оно выглядит несколько «солиднее» (рис.

2.33).

Диалоговое окно позволяет ввести значение параметра Порог, однако если это сделать и запустить модель, SIMULINK выдаст сообщение об ошибке. Дело в том, что он пока «не знает», каким образом параметр Порог связан с соответствующим параметром блока Hit Crossing (и связан ли вообще). Для установления такой связи как раз и используется имя переменной porog, относящейся к параметру Порог.

Источник: https://studfile.net/preview/16565812/