Для совместного использования таких данных, как значения параметров и типы данных сигналов между отдельными блоками и моделями, используются переменные рабочей области. Например, можно создать числовую переменную MATLAB ® в базовом рабочем пространстве и использовать переменную для установки значения параметра усиления в нескольких блоках усиления одновременно (см. раздел Совместное использование и повторное использование значений параметров блока путем создания переменных). Можно создать Simulink.Bus объект для явного определения структуры сигнала шины.
Переменные рабочей области можно хранить в базовой рабочей области, рабочих областях моделей или словарях данных. Чтобы определить место хранения переменных, см. раздел Определение места хранения переменных и объектов для моделей Simulink.
Используйте один или несколько методов для создания, изменения, хранения и переноса переменных рабочей области.
Совместное использование значений параметров блока и создание Simulink.Parameter и Simulink.Signal (например, при подготовке к созданию кода) можно использовать Редактор данных модели (Model Data Editor). В модели можно одновременно взаимодействовать со всеми параметрами блока, сигнальными линиями и состояниями блока. Можно также проверить настраиваемые параметры блока в списке, который можно искать, сортировать и фильтровать.
Чтобы создать переменную, в таблице данных начните редактирование ячейки, соответствующей значению параметра блока (в столбце «Значение») или имени сигнала или состояния (в столбце «Имя»). Введите имя переменной, которую требуется создать, и нажмите кнопку действия
в правой части ячейки.
Если для параметра блока уже задано простое числовое выражение, можно создать переменную для этого выражения. Щелкните
в правой части ячейки, соответствующей значению, и выберите Создать переменную. В диалоговом окне «Создание новых данных» задайте имя и расположение новой переменной и нажмите кнопку «Создать». Теперь в ячейке отображается новая переменная.
Чтобы изменить переменные с помощью столбцов в таблице данных, нажмите кнопку Показать/обновить дополнительную информацию. Затем таблица данных содержит строки, которые соответствуют переменным и объектам, используемым моделью.
Для одновременного взаимодействия с одной переменной (например, для проверки всех свойств переменной) откройте инспектор свойств (на вкладке «Моделирование» в разделе «Проектирование» выберите «Инспектор свойств») и выберите соответствующую строку в таблице данных. Инспектор свойств показывает свойства выбранной переменной.
Дополнительные сведения о редакторе данных модели см. в разделе Настройка свойств данных с помощью редактора данных модели.
Для одновременного взаимодействия с небольшим количеством параметров, сигналов или состояний используйте отдельные диалоговые окна параметров блоков или инспектор свойств для создания переменных для совместного использования значений параметров блоков, а также для создания и настройки объектов параметров и сигналов для создания кода.
В диалоговом окне или инспекторе свойств нажмите кнопку действия
рядом со значением параметра блока, именем сигнала или именем состояния.
Чтобы создать и отредактировать любой тип или класс переменной или объекта, переместить переменные между рабочими пространствами и одновременно проверить все переменные в рабочей области, используйте обозреватель моделей. Можно также переименовать переменные и точно проанализировать способ использования переменных всей моделью или отдельным блоком. См. разделы Обозреватель моделей и Правка и управление переменными рабочей области с помощью Проводника моделей.
В этом примере показано, как изменить значение параметра усиления (блок усиления), значение которого задается числовой переменной. Измените переменную, а не параметр блока.
Открытие модели f14. Модель загружает переменные в базовое рабочее пространство.
В модели откройте инспектор свойств. На вкладке «Моделирование» в группе «Проект» выберите «Инспектор свойств».
В модели выберите блок усиления, в котором используется переменная Mw.
В инспекторе свойств нажмите кнопку
рядом со значением параметра «Коэффициент усиления». Выберите «Открыть».
В диалоговом окне «Свойства данных» введите новое значение переменной в поле «Значение» и нажмите «ОК».
Чтобы проверить и изменить переменную, значение которой является структурой или массивом, можно запустить редактор переменных, нажав кнопку рядом.
Выберите один из следующих методов:
В обозревателе моделей выберите переменную на панели Содержимое (Contents). На панели «Диалоговое окно» (правая панель) появится кнопка.
В Редакторе данных модели (на вкладке Моделирование (Modeling) щелкните Редактор данных модели (Model Data Editor)) на вкладке Параметры (Parameters) нажмите кнопку Показать/обновить дополнительную информацию (Show/refresh additional information). В таблице данных найдите строку, соответствующую переменной, и в столбце Значение (Value) начните редактирование значения переменной. Кнопка появляется в правой части ячейки.
В диалоговом окне блока или инспекторе свойств кнопка отображается рядом со значением параметра блока, использующего переменную. Нажмите кнопку и с помощью опций меню откройте диалоговое окно свойств переменной. Затем в диалоговом окне свойств снова нажмите кнопку, чтобы запустить редактор переменных. Этот метод можно использовать только для таких объектов параметров, как Simulink.Parameter.
При изменении или удалении переменной это изменение может повлиять на несколько блоков и моделей, использующих переменную. Чтобы оценить влияние путем определения места использования переменной, используйте обозреватель моделей (см. раздел Анализ использования переменных в модели). Однако можно анализировать использование переменных только для моделей, открытых во время анализа. Перед выполнением анализа откройте все модели, которые, как предполагается, используют переменную.
Модели и блоки используют переменные через разрешение имен (см. раздел Разрешение символов). Когда Вы меняете имя переменной, не внося соответствующие изменения в зависимые блоки и модели, блоки и модели производят ошибки. Вместо этого переименование переменной в контексте одной или нескольких моделей см. в разделе Переименование переменной по всей модели.
Если блок или модель не могут получить доступ к требуемой переменной, это приводит к возникновению ошибки в средстве просмотра диагностики. В некоторых случаях для исправления ошибки можно использовать кнопки в средстве просмотра диагностики (например, путем восстановления удаленной переменной). Чтобы увеличить вероятность восстановления после отсутствия переменной с помощью программы Diagnostic Viewer, используйте следующие методы:
Храните переменные в словаре данных вместо базового рабочего пространства. Словарь данных позволяет получить дополнительные возможности восстановления. Сведения о словарях данных см. в разделе Что такое словарь данных?.
Для каждой модели оставьте доступным соответствующий файл кэша Simulink ®. Например, при совместном использовании модели с кем-либо другим также используется общий доступ к файлу кэша. При выборке последних файлов конструкции модели из системы управления версиями извлеките файл кэша из системы непрерывной интеграции или из папки последней сборки. Файл кэша сохраняет информацию, которую Simulink Coder™ может использовать для восстановления после отсутствия переменной. Дополнительные сведения о файлах кэша Simulink см. в разделе Совместное использование файлов кэша Simulink для более быстрого моделирования.
Чтобы проанализировать способы использования переменных в модели, используйте обозреватель моделей. Вы можете:
Определите, где используется переменная в модели.
Определите, использует ли модель переменную.
Определите, какие переменные в рабочей области не используются моделью.
Дополнительные сведения см. в разделе Правка и управление переменными рабочей области с помощью проводника моделей.
В этом примере показано, как переименовать переменную в редакторе данных модели.
Открытие модели f14. Модель загружает переменные в базовое рабочее пространство.
В модели на вкладке Моделирование (Modeling) щелкните Редактор данных модели (Model Data Editor). В Редакторе данных модели (Model Data Editor) проверьте вкладку Параметры (Parameters).
В модели щелкните блок усиления с меткой Mw.
В редакторе данных модели столбец «Значение» показывает, что блок использует переменную Mw. Предположим, вы хотите переименовать эту переменную.
В редакторе данных модели нажмите кнопку Показать/обновить дополнительную информацию.
Теперь таблица данных содержит строки, которые соответствуют переменным рабочей области, используемым моделью.
Активируйте кнопку Изменить область.
Теперь в таблице данных отображается информация об элементах данных в подсистемах.
В поле Содержимое фильтра введите Mw.
В таблице данных отображаются строки, соответствующие переменной, и блоки, использующие переменную.
В строке, представляющей Mwщелкните правой кнопкой мыши и выберите «Переименовать все».
В диалоговом окне Выбрать систему (Select a system) щелкните имя модели. f14 чтобы выбрать его в качестве контекста для переименования переменной Mw.
Снимите флажок Поиск в ссылочных моделях (Search in referenced models), так как f14 не ссылается ни на одну модель и нажмите кнопку ОК.
Если выбран параметр Поиск в ссылочных моделях (Search in referenced models), можно переименовать целевую переменную везде, где она используется в иерархии привязок модели. Однако переименование целевой переменной во всей иерархии может занять больше времени.
Флажок Обновить схему, чтобы включить последние изменения, снят по умолчанию, чтобы сэкономить время, избегая ненужных обновлений схемы модели. Установите флажок, чтобы включить последние изменения, внесенные в модель, путем принудительного обновления диаграммы.
В диалоговом окне Переименовать все (Rename All) введите новое имя переменной в поле Новое имя (New name) и нажмите кнопку ОК.
Щелкните Показать/обновить дополнительные сведения еще раз. Поскольку операция переименования изменила имя переменной и значения некоторых параметров блока, для получения более точной информации в редакторе данных модели необходимо нажать кнопку Показать/обновить дополнительную информацию.
В командной строке можно создавать и изменять переменные в базовом рабочем пространстве путем ввода таких команд, как myVar = 15;. Чтобы программно создавать, изменять и сохранять переменные в другой рабочей области, например в рабочей области модели, используйте программный интерфейс для целевой рабочей области. В таблице показаны интерфейсы и методы, которые можно использовать для программного управления переменными.
| Целевая рабочая область | Техника или интерфейс |
|---|---|
| Базовое рабочее пространство | Введите команды в командной строке. |
| Рабочее пространство модели | Посмотрите Simulink.ModelWorkspace. |
| Словарь данных | См. Хранение данных в словаре программно. |
Чтобы программно перечислить переменные, которые использует или не использует модель, см. раздел Simulink.findVars.
Для программного доступа к переменным в целях изменения значений параметров блока рекомендуется использовать Simulink.SimulationInput вместо изменения переменных через программные интерфейсы рабочей области. См. раздел Оптимизация, оценка и значения параметров блока сдвига.