Чтобы визуализировать результаты симуляции с течением времени, используйте Scope (Simulink) блок или Time Scope блок
Чтобы подключить несколько сигналов к возможностям, перетащите дополнительные сигналы к блоку возможностей. Дополнительный порт создается автоматически.
Чтобы задать количество входных портов:
Откройте окно возможностей.
На панели инструментов выберите File > Number of Input Ports > More.
Введите количество входа портов до 96.
Можно подключить сигналы от невиртуальных шин и массивов шин к блоку Scope. Чтобы отобразить сигналы шины, используйте режим симуляции normal или Accelerator. Блок Scope отображает каждый сигнал элемента шины в том порядке, в котором элементы появляются в шине, сверху вниз. Вложенные элементы шины сглаживаются. Для примера в этой модели nestedBus
сигнал имеет const
, subSignal
, и step
сигналы как элементы. The subSignal
подшина имеет chirp
и sine
сигналы как его элементы шины. В блоке Scope два элемента subSignal
отображение шины между const
и step
сигналы.
В этом примере показано, как сохранить сигналы в Рабочее пространство MATLAB с помощью блока Scope. Можно сделать следующие шаги для блоков Scope или Time Scope. Чтобы сохранить данные из средства просмотра плавающих возможностей или возможностей, смотрите Сохранить данные моделирования из плавающих возможностей (Simulink).
Использование vdp
модель, включите ведение журнала данных в рабочей области. Можно следовать командам ниже, или в окне Scope, нажмите кнопку Configuration Properties и перейдите на вкладку Logging, включите Log data to workspace.
vdp scopeConfig = get_param('vdp/Scope','ScopeConfiguration'); scopeConfig.DataLogging = true; scopeConfig.DataLoggingSaveFormat = 'Dataset'; out = sim('vdp');
В окне Команда MATLAB просмотрите записанные данные из out.ScopeData
структура.
x1_data = out.ScopeData{1}.Values.Data(:,1); x1_time = out.ScopeData{1}.Values.Time; plot(x1_time,x1_data)
Используйте снимок Simulink, чтобы приостановить отображение возможностей во время работы симуляции в фоновом режиме.
Откройте окно возможностей и запустите симуляцию.
Выберите Simulation > Simulink Snapshot.
Состояние окна возможностей внизу слева Frozen, но симуляция продолжает выполняться в фоновом режиме.
Взаимодействуйте с приостановленным отображением. Для примера используйте измерения, скопируйте возможности изображение или увеличьте или уменьшите.
Чтобы разморозить отображение, выберите Simulation > Simulink Snapshot еще раз.
Этот пример использует модель vdp, чтобы продемонстрировать, как скопировать и вставить изображение возможностей.
Добавьте блок scope к модели.
Соедините сигналы с портами scope. См. «Подключение нескольких сигналов к возможностям». Для примера, в vdp
моделируйте, соединяйте сигналы x1
и x2
в возможности.
Откройте окно scope и запустите симуляцию.
Выберите File > Copy to Clipboard.
Вставьте изображение в документ.
По умолчанию Copy to Clipboard сохраняет удобную для принтера версию возможностей с белым фоном и видимыми линиями. Если необходимо вставить точный график возможностей, выберите View > Style, затем установите флажок Preserve colors for copy to clipboard.
Этот пример показывает, как возможности строят график массива сигналов.
В этой простой модели блок Sine Wave соединяется с блоком scope. Блок Sine Wave выводит четыре сигнала с амплитудами [10, 20; 30 40]
. Область возможностей отображает каждую синусоиду в массиве отдельно в матричном порядке (1,1) , (2,1) , (1,2) , (2,2).
Этот пример показывает поведение возможностей в ссылочных моделях. Когда вы используете возможности в модели-ссылке, вы видите другой выход в возможности в зависимости от того, с чего вы начали симуляцию: от верхней модели или возможностей в модели-привязке.
Примечание
Окна Scope отображают результаты симуляции для последней открытой верхней части. Элементы управления воспроизведением в блоках scope и средствах просмотра моделируют модель, содержащую этот блок или средство просмотра.
Этот пример использует sldemo_mdlref_counter
модель и как топ-модель и как модель, на которую ссылаются, от sldemo_mdlref_basic
модель.
Откройте sldemo_mdlref_basic
Моделью и дважды кликните CounterA блок. The sldemo_mdlref_counter
модель открывается как ссылочная модель, о чем свидетельствует панировка над холстом.
Запустите симуляцию с помощью основного направления, затем откройте ScopeA возможности. Возможности визуализируют данные из всей модели.
Если вы перезапустили симуляцию с помощью кнопки Run в возможности, возможности визуализируют данные только так, как если бы ссылочная модель была открыта изолированно. Элементы управления воспроизведением в блоках scope и средствах просмотра моделируют модель, содержащую этот блок или средство просмотра. В этом случае вход модели-ссылки, без верхней модели, равен нулю все время.
Примечание
Если вы нажимаете запуск из возможностей, модель не показывает, что модель работает в фоновом режиме. Для получения статуса симуляции проверьте строку состояния в возможности.
При размещении в блоке Enabled Subsystem возможностей происходят по-разному в зависимости от режима симуляции:
Режим normal mode - A возможностей строит графики данных, когда подсистема включена. График отображения показывает погрешности, когда подсистема отключена.
Внешние, Accelerator и Rapid режимы - область возможностей строит графики данных, когда подсистема включена. Отображение соединяет зазоры с помощью прямых линий.
В этом примере показано, как изменить значения оси X блока Scope с помощью параметров Time span и Time display offset. Параметр Time span изменяет, сколько времени симуляции показано, и смещает метки оси X. Параметр Смещение отображения времени (Time display offset) изменяет метки, используемые на оси X.
Можно также использовать эту процедуру для блока Time Scope, блока Floating Scope или средство просмотра.
Откройте модель и запустите симуляцию, чтобы увидеть исходный выход возможностей. Симуляция выполняется в течение 10 временных шагов, увеличивающихся на 1 на каждом временном шаге.
model = 'ModifyScopeXAxis'; open_system(model); sim(model); open_system([model,'/Scope']);
Изменение показанного временного интервала
Измените значение параметра Time span на 2. Можно следовать командам ниже, или в окне Scope, нажмите кнопку Configuration Properties и перейдите на вкладку Time.
scopeConfig = get_param([model,'/Scope'],'ScopeConfiguration'); scopeConfig.TimeSpan = '2'; sim(model); open_system([model,'/Scope']);
Ось X возможностей показывает только последние 2 временные шаги и смещает метки оси X, чтобы показать 0-2. Нижняя панель инструментов показывает, что ось X смещена на 8. Это смещение отличается от значения смещения отображения времени.
Параметр Time span полезен, если вы не хотите визуализировать инициализацию сигнала или другие задачи запуска в начале симуляции. Полный диапазон времени симуляции можно увидеть, если нажать кнопку Span оси X.
Смещение меток оси X
Измените значение параметра отображение offset на 5. Снова используйте команды ниже или в окне Scope нажмите кнопку Configuration Properties и перейдите на вкладку Time.
scopeConfig.TimeDisplayOffset = '5'; sim(model); open_system([model,'/Scope']);
Теперь тот же интервал времени 2 показов в возможности, но метки оси X смещены на 5, начиная с 5 и заканчивая на 7. При нажатии кнопки «Пролет по оси X» метки оси X все еще начинаются с 5.
Можно задать модули измерения сигнала на контуре компонента модели (Subsystem и блоки Model), используя блоки Inport и Outport. См. Спецификацию единиц измерения в моделях Simulink (Simulink). Затем можно подключить блок Scope к блоку Outport или сигналу, исходящему из блока Outport. В этом примере свойство Unit для блока Out1 было установлено на m/s
.
На панели инструментов окна Scope нажмите кнопку Configuration Properties.
В диалоговом окне Свойства: Возможности выберите вкладку Display.
В Y-label поле введите заголовок для оси Y с последующим (%<SignalUnits>)
. Для примера введите
Velocity (%<SignalUnits>)
Щелкните OK или Apply.
Сигнальные модули отображаются в y -метке оси как метры в секунду (m/s
) и на панели Измерений Cursor как миллиметры в секунду (mm/s
).
На панели инструментов Simulink можно также выбрать Debug > Information Overlays > Units. Вы не должны вводить (%<SignalUnits>)
в свойстве Y-Label.
Получите свойства возможностей. В Командном окне введите
load_system('my_model') s = get_param('my_model/Scope','ScopeConfiguration');
Добавьте y подпись по осям к первому отображению.
s.ActiveDisplay = 1 s.YLabel = 'Velocity (%<SignalUnits>)';
Можно также задать параметр модели ShowPortUnits
на 'on'
. Все возможности в вашей модели, с и без (%<SignalUnits>)
в свойстве Y-Label показать модули измерения на отображениях.
load_system('my_model') get_param('my_model','ShowPortUnits')
ans = off
set_param('my_model', 'ShowPortUnits','on')
ans = on
При сохранении данных моделирования из возможностей с Dataset
формат, вы можете найти информацию об модулях в DataInfo
поле объекта timeseries.
Примечание
Поддержка возможности для сигнальных модулей предназначена только для Dataset
logging формат, а не для устаревших форматов logging Array
, Structure
, и Structure With Time
.
На панели инструментов окна Scope нажмите кнопку Configuration Properties.
В окне Свойства выберите вкладку Logging.
Установите флажок Log data to workspace. В текстовом поле введите имя переменной для сохранения данных моделирования. Для примера введите ScopeData
.
На панели инструментов окна Scope нажмите кнопку run.
В Командном окне введите
ScopeData.getElement(1).Values.DataInfo
Package: tsdata Common Properties: Units: m/s (Simulink.SimulationData.Unit) Interpolation: linear (tsdata.interpolation)
Когда в возможностях существует несколько портов, Simulink® обеспечивает, чтобы каждый порт получал данные только с одним модулем. Если вы пытаетесь объединить сигналы с различными модулями (для примера при помощи блока Bus Creator), Simulink возвращает ошибку.
Возможности показывают модули в зависимости от количества портов и отображений:
Количество портов, равное количеству отображений - Один порт назначается одному отображению с модулями для сигнала порта, показанного на y -метке оси.
Больше, чем количество отображений - Один порт назначается одному отображению, при этом последнему отображению присваиваются оставшиеся сигналы. Различные модули показаны на последней метке y-оси как разделенный списками , разделенными запятыми.
В окне Scope нажмите кнопку Configuration Properties.
В диалоговом окне Свойства выберите вкладку Main, а затем нажмите кнопку Layout.
Выберите количество отображений и требуемое размещение.
Можно выбрать более четырех отображения в строке или столбце. Щелкните в размещении, а затем перетащите указатель мыши, чтобы развернуть размещение максимум до 16 строк на 16 столбцов.
Щелкните, чтобы применить выбранное размещение к окну Scope.
В правом углу окна Scope нажмите кнопку Dock Scope.
Окно Scope расположено над Командным окном в MATLAB® рабочий стол.
Нажмите кнопку Show Scope Actions и нажмите Undock Scope.
Floating Scope (Simulink) | Scope (Simulink) | Scope Viewer (Simulink)