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

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

Соедините несколько сигналов с возможностями

Чтобы подключить несколько сигналов к возможностям, перетащите дополнительные сигналы к блоку возможностей. Дополнительный порт создается автоматически.

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

  1. Откройте окно возможностей.

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

  3. Введите количество входа портов до 96.

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

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

Сохраните данные моделирования с помощью блока Scope

В этом примере показано, как сохранить сигналы в Рабочее пространство MATLAB с помощью блока Scope. Можно сделать следующие шаги для блоков Scope или Time Scope. Для сохранения данных из программы средства просмотра плавающих возможностей или области смотрите раздел «Сохранение данных моделирования из плавающих возможностей».

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

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

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

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

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

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

Копирование изображения возможностей

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

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

  2. Соедините сигналы с портами scope. См. «Подключение нескольких сигналов к возможностям». Для примера, в vdp моделируйте, соединяйте сигналы x1 и x2 в возможности.

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

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

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

    По умолчанию 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 возможностей

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

Показать модули измерения на отображении возможностей

  1. На панели инструментов окна Scope нажмите кнопку Configuration Properties.

  2. В диалоговом окне Свойства: Возможности выберите вкладку Display.

  3. В Y-label поле введите заголовок для оси Y с последующим (%<SignalUnits>). Для примера введите

    Velocity (%<SignalUnits>)
    
  4. Щелкните OK или Apply.

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

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

Программное отображение модулей измерения на возможности

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

    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 logging формат, а не для устаревших форматов logging Array, Structure, и Structure With Time.

  1. На панели инструментов окна Scope нажмите кнопку Configuration Properties.

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

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

  1. В окне Scope нажмите кнопку Configuration Properties.

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

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

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

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

Док и отстыковка возможностей на рабочий стол MATLAB

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

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

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

См. также

| |

Похожие темы