Чтобы визуализировать ваши результаты симуляции в зависимости от времени, используйте блок Scope или блок Time Scope (DSP System Toolbox)
Чтобы соединить несколько сигналов с осциллографом, перетащите дополнительные сигналы с блоком scope. Дополнительный порт автоматически создан.
Задавать количество входных портов:
Откройте окно scope.
Из панели инструментов выберите File> Number of Input Ports> More.
Введите номер входных портов, до 96.
Можно соединить сигналы от невиртуальных шин и массивов шин с блоком Scope. Чтобы отобразить сигналы шины, используйте нормальный или режим симуляции акселератора. Блок Scope отображает каждый сигнал элемента шины в порядке, элементы появляются в шине от верхней части до нижней части. Сглажены вложенные элементы шины. Например, в этой модели nestedBus
сигнал имеет const
, subSignal
, и step
сигналы как элементы. subSignal
подшина имеет chirp
и sine
сигналы как его элементы шины. В блоке Scope, двух элементах subSignal
соедините шиной отображение между const
и step
сигналы.
В этом примере показано, как сохранить сигналы в рабочее пространство MATLAB с помощью блока Scope. Вы можете нас эти шаги для блоков Time Scope или Осциллографа. Чтобы сохранить данные от Плавающего средства просмотра Осциллографа или Осциллографа, смотрите, Избавляют Данные моделирования от Плавающего Осциллографа.
Используя vdp
модель, включите регистрацию данных к рабочей области. Можно следовать за командами ниже, или в окне Scope, нажать Configuration Properties button и перейти к вкладке Logging, включить Данные логов к рабочей области.
vdp scopeConfig = get_param('vdp/Scope','ScopeConfiguration'); scopeConfig.DataLogging = true; scopeConfig.DataLoggingSaveFormat = 'Dataset'; out = sim('vdp');
В окне MATLAB Command просмотрите записанные данные от out.ScopeData
структура.
x1_data = out.ScopeData{1}.Values.Data(:,1); x1_time = out.ScopeData{1}.Values.Time; plot(x1_time,x1_data)
Используйте Снимок состояния Simulink, чтобы приостановить отображение осциллографа, в то время как симуляция продолжает бежать в фоновом режиме.
Откройте окно scope и запустите симуляцию.
Выберите Simulation> Simulink Snapshot.
Состоянием окна scope в левой нижней части является Frozen, но симуляция продолжает запускаться в фоновом режиме.
Взаимодействуйте с приостановленным отображением. Например, используйте измерения, скопируйте изображение осциллографа или увеличение или.
Чтобы разморозить отображение, выберите Simulation> Simulink Snapshot снова.
Этот пример использует модель vdp, чтобы продемонстрировать, как скопировать и вставить изображение осциллографа.
Добавьте блок 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).
Этот пример показывает поведение осциллографов в моделях, на которые ссылаются. Когда вы используете осциллограф в модели, на которую ссылаются, вы видите различный выход в осциллографе в зависимости от того, где вы запустили симуляцию: от топ-модели или осциллографа в модели, на которую ссылаются.
Примечание
Определите объем результатов симуляции отображения окон для последний раз открытой топ-модели. Управление воспроизведением в блоках осциллографа и средствах просмотра симулирует модель, содержащую тот блок или средство просмотра.
Этот пример использует sldemo_mdlref_counter
модель и как топ-модель и как модель, на которую ссылаются, от sldemo_mdlref_basic
модель.
Откройте sldemo_mdlref_basic
модель и дважды кликает блок CounterA. sldemo_mdlref_counter
модель открывается как модель, на которую ссылаются, как свидетельствуется навигационной цепочкой выше холста.
Запустите симуляцию с помощью кнопки основного направления, затем откройте осциллограф ScopeA. Осциллограф визуализирует данные из целой модели.
Если вы повторно выполняете симуляцию с помощью кнопки Run в осциллографе, осциллограф только визуализирует данные, как будто модель, на которую ссылаются, открыта в изоляции. Управление воспроизведением в блоках осциллографа и средствах просмотра симулирует модель, содержащую тот блок или средство просмотра. В этом случае вход модели, на который ссылаются, без топ-модели, является нулем целое время.
Примечание
Если вы кликаете по запуску от осциллографа, модель не показывает, что модель запускается в фоновом режиме. Для состояния симуляции посмотрите на строку состояния в осциллографе.
Когда помещено в Enabled блоке Subsystem, осциллографы ведут себя по-другому в зависимости от режима симуляции:
Режим normal mode — осциллограф отображает данные на графике, когда подсистема включена. График отображения показывает разрывы, когда подсистема отключена.
Внешний, Акселератор и режимы Rapid — осциллограф отображает данные на графике, когда подсистема включена. Отображение соединяет разрывы прямыми линиями.
В этом примере показано, как изменить значения оси X блока Scope с помощью параметров смещения Отрезка времени и Отображения времени. Параметр Отрезка времени изменяет, сколько из времени симуляции показывают и возмещает метки оси X. Параметр смещения Отображения времени изменяет метки, используемые на оси X.
Можно также использовать эту процедуру для блока Time Scope, блока Floating Scope или средства просмотра Осциллографа.
Откройте модель и запустите симуляцию, чтобы видеть исходный выход scope. Симуляция запускается для 10 временных шагов, подходящих 1 на каждом временном шаге.
model = 'ModifyScopeXAxis'; open_system(model); sim(model); open_system([model,'/Scope']);
Измените показанный отрезок времени
Измените параметр Отрезка времени к 2. Можно следовать за командами ниже, или в окне Scope, нажать Configuration Properties button и перейти к вкладке Time.
scopeConfig = get_param([model,'/Scope'],'ScopeConfiguration'); scopeConfig.TimeSpan = '2'; sim(model); open_system([model,'/Scope']);
Ось X осциллографа теперь показывает только последние 2 временных шага и возмещает метки оси X, чтобы показать 0-2. Нижняя панель инструментов показывает, что ось X возмещена 8. Это смещение отличается от значения смещения Отображения времени.
Параметр Отрезка времени полезен, если вы не хотите визуализировать инициализацию сигнала или другие задачи запуска в начале симуляции. Можно все еще видеть полный промежуток времени симуляции, если вы нажимаете кнопку оси X Промежутка.
Возместите Метки оси X
Измените параметр смещения Отображения времени к 5. Снова, используйте команды ниже, или в окне Scope, нажмите Configuration Properties button и перейдите к вкладке Time.
scopeConfig.TimeDisplayOffset = '5'; sim(model); open_system([model,'/Scope']);
Теперь тот же отрезок времени 2 является показом в осциллографе, но метки оси X возмещены 5, запускающийся в 5 и заканчивающийся в 7. Если вы нажимаете кнопку оси X Промежутка, метки оси X все еще запускаются в 5.
Можно задать модули сигнала на контуре компонента модели (Subsystem и блоки Model) использование блоки Outport и Inport. Смотрите Спецификацию единиц измерения в Моделях Simulink. Можно затем соединить блок Scope с блоком Outport или сигналом, происходящим из блока Outport. В этом примере свойство Unit для блока Out1 было установлено в m/s
.
Из панели инструментов окна Scope выберите Configuration Properties button.
В Свойствах Настройки: диалоговое окно Scope, выберите вкладку Display.
В поле Y-label введите заголовок для оси Y, сопровождаемой (%<SignalUnits>)
. Например, войти
Velocity (%<SignalUnits>)
Нажмите OK или Apply.
Модули сигнала отображаются в y - подпись по осям как метры в секунду (m/s
) и в панели Измерений Курсора как миллиметры в секунду (mm/s
).
От панели инструментов Simulink можно также выбрать Debug> Information Overlays> Units. Вы не должны вводить (%<SignalUnits>)
в свойстве Y-Label.
Получите свойства scope. В Командном окне войти
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
логгирование формата а не для наследия, регистрирующего форматы Array
Структура
, и Structure With Time
.
Из панели инструментов окна Scope выберите Configuration Properties button.
В Окне свойств Настройки выберите вкладку 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 button.
В диалоговом окне Configuration Properties выберите вкладку Main, и затем нажмите кнопку Layout.
Выберите количество отображений и размещения, которое вы хотите.
Можно выбрать больше чем четыре отображения подряд или столбец. Щелкните в размещении, и затем перетащите свой указатель мыши, чтобы расширить размещение максимум до 16 строк на 16 столбцов.
Щелкните, чтобы применить выбранное размещение к окну Scope.
В правом угле окна Scope кликните по кнопке Dock Scope.
Окно Scope помещается выше Командного окна в рабочем столе MATLAB®.
Нажмите кнопку Show Scope Actions, и затем нажмите Undock Scope.
Floating Scope | Scope | Scope Viewer