Общие задачи блока Scope

Чтобы визуализировать ваши результаты симуляции в зависимости от времени, используйте блок Scope (Simulink) или блок Time Scope

Соедините несколько сигналов с осциллографом

Чтобы соединить несколько сигналов с осциллографом, перетащите дополнительные сигналы с блоком scope. Дополнительный порт автоматически создан.

Animated GIF of automatically created input ports on a scope block

Задавать количество входных портов:

  1. Откройте окно scope.

  2. Из панели инструментов выберите File> Number of Input Ports> More.

  3. Введите номер входных портов, до 96.

Сигналы от невиртуальных шин и массивов шин

Можно соединить сигналы от невиртуальных шин и массивов шин с блоком Scope. Чтобы отобразить сигналы шины, используйте нормальный или режим симуляции акселератора. Блок Scope отображает каждый сигнал элемента шины в порядке, элементы появляются в шине от верхней части до нижней части. Сглажены вложенные элементы шины. Например, в этой модели nestedBus сигнал имеет const, subSignal, и step сигналы как элементы. subSignal подшина имеет chirp и sine сигналы как его элементы шины. В блоке Scope, двух элементах subSignal соедините шиной отображение между const и step сигналы.

Simulink model of a scope connected to the nestedBus, const, subSignal, chirp, sine, and step signals.

Scope window showing the four signals and their names in the Scope legend: nestedBus.const, nestedBus.subSignal.chirp, nestedBus.subSignal.sine, nestedBus.step.

Сохраните блок Simulation Data Using Scope

В этом примере показано, как сохранить сигналы в рабочее пространство MATLAB с помощью блока Scope. Вы можете нас эти шаги для блоков Time Scope или Осциллографа. Чтобы сохранить данные от Плавающего средства просмотра Осциллографа или Осциллографа, смотрите, Избавляют Данные моделирования от Плавающего Осциллографа (Simulink).

Используя 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, чтобы приостановить отображение осциллографа, в то время как симуляция продолжает бежать в фоновом режиме.

  1. Откройте окно scope и запустите симуляцию.

  2. Выберите Simulation> Simulink Snapshot.

    Состоянием окна scope в левой нижней части является Frozen, но симуляция продолжает запускаться в фоновом режиме.

  3. Взаимодействуйте с приостановленным отображением. Например, используйте измерения, скопируйте изображение осциллографа или увеличение или.

  4. Чтобы разморозить отображение, выберите Simulation> Simulink Snapshot снова.

Скопируйте изображение осциллографа

Этот пример использует модель vdp, чтобы продемонстрировать, как скопировать и вставить изображение осциллографа.

  1. Добавьте блок scope в свою модель.

  2. Соедините сигналы определить объем портов. Смотрите Подключение Несколько Сигналов к Осциллографу. Например, в vdp модель, соедините сигналы x1 и x2 к осциллографу.

  3. Откройте окно scope и запустите симуляцию.

    Scope window displaying the simulation results of the vdp model

  4. Выберите File> Copy to Clipboard.

  5. Вставьте изображение в документ.

    vdp scope visualization with a white background for printing

    По умолчанию 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 модель.

Откройте модель:

openExample('sldemo_mdlref_basic')

Дважды кликните блок CounterA. sldemo_mdlref_counter модель открывается как модель, на которую ссылаются, как свидетельствуется навигационной цепочкой выше холста.

sldemo_mdlref_counter model with the breadcrumb highlighted to show you are in the CounterA referenced model block from the sldemo_mdlref_basic model.

Запустите симуляцию с помощью кнопки основного направления, затем откройте осциллограф ScopeA. Осциллограф визуализирует данные из целой модели.

Scope window with model simulation results

Если вы в частности хотите визуализировать модель, на которую ссылаются, в изоляции, открыть модель как топ-модель. В этом примере щелкните правой кнопкой по блоку CounterA и выберите Open as Top Model. Модель открывается в другом окне, и навигационная цепочка только показывает имя модели, на которое ссылаются.

sldemo_mdlref_counter model with the breadcrumb highlighted to show you are in a non-referenced version of the model

Когда вы запускаете симуляцию или из окна Simulink или из окна scope, осциллограф визуализирует модель без любой ссылки на другую модель. В этом случае вход модели является нулем целое время.

Scope window showing a constant zero line

Осциллографы в Enabled подсистеме

Когда помещено в Enabled блоке Subsystem, осциллографы ведут себя по-другому в зависимости от режима симуляции:

  • Режим normal mode — осциллограф отображает данные на графике, когда подсистема включена. График отображения показывает разрывы, когда подсистема отключена.

    Sample scope window with gaps where the subsystem is disabled

  • Внешний, Акселератор и режимы Rapid — осциллограф отображает данные на графике, когда подсистема включена. Отображение соединяет разрывы прямыми линиями.

    Sample scope window with straight lines where the subsystem is disabled

Измените ось X Осциллографа

В этом примере показано, как изменить значения оси 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 (Simulink). Можно затем соединить блок Scope с блоком Outport или сигналом, происходящим из блока Outport. В этом примере свойство Unit для блока Out1 было установлено в m/s.

Sample model with units specified

Покажите модули на отображении осциллографа

  1. Из панели инструментов окна Scope выберите Configuration Properties button.

  2. В Свойствах Настройки: диалоговое окно Scope, выберите вкладку Display.

  3. В поле Y-label введите заголовок для оси Y, сопровождаемой (%<SignalUnits>). Например, войти

    Velocity (%<SignalUnits>)
    
  4. Нажмите OK или Apply.

    Модули сигнала отображаются в y - подпись по осям как метры в секунду (m/s) и в панели Измерений Курсора как миллиметры в секунду (mm/s).

    Scope window with the units displayed in the cursor measurements and y-axis label.

От панели инструментов Simulink можно также выбрать Debug> Information Overlays> Units. Вы не должны вводить (%<SignalUnits>) в свойстве Y-Label.

Покажите, что модули на осциллографе отображаются программно

  1. Получите свойства scope. В Командном окне войти

    load_system('my_model')
    s = get_param('my_model/Scope','ScopeConfiguration');
    
  2. Добавьте 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.

  1. Из панели инструментов окна Scope выберите Configuration Properties button.

  2. В Окне свойств Настройки выберите вкладку Logging.

  3. Установите флажок Log data to workspace. В текстовом поле введите имя переменной для сохранения данных моделирования. Например, введите ScopeData.

  4. Из панели инструментов окна Scope выберите кнопку Run.

  5. В Командном окне войти

    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 - подпись по осям как список, разделенный запятыми.

Выберите Number of Displays и Layout

  1. Из окна Scope выберите Configuration Properties button.

  2. В диалоговом окне Configuration Properties выберите вкладку Main, и затем нажмите кнопку Layout.

  3. Выберите количество отображений и размещения, которое вы хотите.

    Можно выбрать больше чем четыре отображения подряд или столбец. Щелкните в размещении, и затем перетащите свой указатель мыши, чтобы расширить размещение максимум до 16 строк на 16 столбцов.

    Animated GIF of modifying the layout of the scope window

  4. Щелкните, чтобы применить выбранное размещение к окну Scope.

Прикрепление и окно Undock Scope на рабочий стол MATLAB

  1. В правом угле окна Scope кликните по кнопке Dock Scope.

    Окно Scope помещается выше Командного окна в MATLAB® рабочий стол.

  2. Нажмите кнопку Show Scope Actions, и затем нажмите Undock Scope.

    Undock scope value in the dropdown menu

Смотрите также

(Simulink) | (Simulink) | (Simulink)

Похожие темы