Чтобы легко обменяться сценариями в моделях, используйте блок Signal Editor. Этот блок отображает, создает, редактирует и переключает сценарии, где сценарии содержат информацию о группах сигналов, таких как:
Расположение файлов сигналов (MAT-файл или Microsoft® Excel® файлы)
Расположение связанной модели
Режим Map
Опции отображения
Отображенное состояние
Используйте сценарии для обмена группами сигналов в вашей модели, например, при выполнении нескольких симуляций или работе с тестовыми обвязками.
Совет
Этот Signal Editor отображает, создает и редактирует взаимозаменяемые сценарии и лучше интегрирован с другими Simulink® возможности, такие как модули, сигналы в MAT-файлах и редактирование и создание сигналов. Рассмотрите использование блока Signal Editor в моделях, где вы используете блок Signal Builder. Блок Signal Builder не рекомендуется работать с группами сигналов. Для получения дополнительной информации о преимуществах блока Signal Editor, смотрите Замените блок Signal Builder на блок Signal Editor.
Блок Signal Editor получает группы сигналов (сценарии) из MAT-файлов.
Блок имеет три секции.
Сценарий - Настройка сценария путем определения MAT-файла, содержащего список сценариев и выбора активного (текущего) сценария.
Свойства сигнала - Используйте пользовательский интерфейс Редактор для исследования, создания и редактирования сценариев и связанных сигналов. Пользовательский интерфейс Редактор организует сигналы в соответствии со сценариями, которые их содержат.
Параметры - Выберите активный сигнал, который будет выведен и установите характеристики, такие как модуль, шаг расчета, линейная интерполяция и так далее, для активного сигнала. Для изменения активного сигнала используйте раскрывающийся список.
В этом примере показано, как использовать блок Signal Editor с примером Parallel Simulations Using Parsim: Parameter Sweep in Режим normal mode, который запускает несколько симуляций исследования Монте-Карло параллельно с использованием Toolbox™ Parallel Computing. Параллельное выполнение использует несколько ядер вашей хост-машины, чтобы запустить много симуляций быстрее. Если у вас нет Parallel Computing Toolbox, этот пример запускает симуляции последовательно. Модель моделирует динамику аппарата на основе взаимодействия между дорогой и подвеской для различных профилей дороги. Этот пример хранит свои сценарии профиля дороги в matlab\toolbox\ssldemo_suspn_3dof_sigData.mat
файл.
В sldemo_suspn_3dof
модель, откройте Signal Editor (именованный Road Profiles) блок.
Параметр Signal Editor File Name блока содержит MAT-файл sldemo_suspn_3dof_sigData.mat
.
Заметьте, что:
Active scenario автоматически переходит к первому сценарию, Road1
. Эта установка означает, что оставшаяся часть параметров блоков применяется к сигналам в этом сценарии. Чтобы изменить активный сценарий, выберите новый сценарий из списка сценариев.
Active signal автоматически устанавливается на первый сигнал Left tire
в активном сценарии, Road1
. Эта настройка означает, что оставшаяся часть настроек в разделе Parameter применяется к активному сигналу. Для изменения активного сигнала выберите новый сигнал из списка сигналов.
Исследуйте и редактируйте сценарии в MAT-файле. Нажмите кнопку.
Пользовательский интерфейс Редактор отображает список сценариев, содержащихся в MAT-файле. Исследуйте и изменяйте сценарии и связанные сигналы. Если вы вносите изменения, можно сохранить их обратно в MAT-файл, нажав Save.
Выходы из блока являются данными активного сигнала. Чтобы симулировать модель последовательно, используя каждый сценарий и сигнал, используйте parsim
функция. Эта функция моделирует динамические системы несколько раз параллельно или последовательно. Для примера, как использовать parsim
, см. Параллельные симуляции с использованием Parsim: Parameter Sweep в режиме Normal Mode.
Signal Editor обеспечивает подобную функциональность блоку Signal Builder, но с большей гибкостью. Замените Signal Builder на Signal Editor блок. Преимущества Signal Editor блока включают в себя:
Хранение данных сигнала в MAT-файле вне модели
Редактирование и создание сигналов
Поддержка атрибутов сигнала Simulink, таких как размерность и сложность
Поддержка стандартных типов данных Simulink, включая шину и фиксированную точку
Уникальные типы данных уровня сигнала для выходов
Множественные скорости для выходов
Поддержка модулей Simulink
Обнаружение пересечения нуля и интерполяция данных уникальны для каждого сигнала
Чтобы портировать данные сигнала и свойства из блока Signal Builder в Signal Editor блок, используйте signalBuilderToSignalEditor
функция. Для текущей модели эта функция сохраняет в MAT-файле данные сигнала и свойства из существующего блока Signal Builder, добавляет блок Signal Editor к текущей модели и изменяет блок Signal Editor, чтобы ссылаться на новый MAT-файл.
Пример см. в разделе Замена блока Signal Builder на блок Signal Editor.
Преобразование из блока Signal Builder в блок Signal Editor относительно простое использование signalBuilderToSignalEditor
функция. Однако примите во внимание эти факторы:
Внутренний формат хранения и предварительная обработка данных различаются между блоками Signal Builder и Signal Editor. При использовании решателя переменного шага в двух блоках происходят различные временные шаги симуляции и несоответствующий выход. Чтобы минимизировать различие между выходами обоих блоков, можно:
Уменьшите значение Max step size переменного решателя шага.
Вставьте больше точек данных в входной сигнал блока Signal Editor, чтобы лучше представлять его форму.
Используйте решатель с фиксированным шагом или установите шаг расчета для обоих блоков на один и тот же дискретный шаг расчета (больше 0). Для получения дополнительной информации о дискретных шагах расчета, см. «Дискретный шаг расчета».
Блок Signal Builder поддерживает только удвоение. Чтобы изменить тип данных или иначе изменить сигналы после преобразования, нажмите кнопку в блоке Signal Editor, чтобы получить доступ к пользовательскому интерфейсу Редактор.
Чтобы программно получить общее количество сценариев и сигналов в блоке Signal Editor, используйте get_param
NumberOfScenarios
и NumberOfSignals
свойства. Значения этих свойств являются векторами символов. Чтобы преобразовать эти значения в двойные, используйте str2double
функция.
NumberOfScenarios
и NumberOfSignals
доступны только свойства, доступные только для чтения get_param
. Диалоговое окно блока не содержит этих значений.
parsim
| Signal Editor | signalBuilderToSignalEditor