exponenta event banner

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

Для визуализации результатов моделирования с течением времени используйте блок «Область» (Simulink) или «Область времени»

Подключение нескольких сигналов к области

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

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

  1. Откройте окно области.

  2. На панели инструментов выберите «Файл» > «Количество портов ввода» > «Дополнительно».

  3. Введите количество входных портов (до 96).

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

Сигналы от невиртуальных шин и массивов шин можно подключать к блоку Scope. Для отображения сигналов шины используется режим моделирования normal или accelerator. Блок «Scope» отображает каждый сигнал элемента шины в порядке, в котором элементы появляются в шине, сверху вниз. Вложенные элементы шины распрямлены. Например, в этой модели nestedBus сигнал имеет const, subSignal, и step сигналы как элементы. subSignal sub-bus имеет chirp и sine сигналы в качестве элементов шины. В блоке «Scope» два элемента subSignal отображение шины между const и step сигналы.

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

В этом примере показано, как сохранить сигналы в рабочей области MATLAB с помощью блока «Область». Эти шаги можно выполнить для блоков «Объем» или «Объем времени». Сведения о сохранении данных из программы просмотра плавающей области или области см. в разделе Сохранение данных моделирования из плавающей области (Simulink).

Использование vdp , включите ведение журнала данных в рабочей области. Можно следовать приведенным ниже командам или в окне Область (Scope) нажать кнопку Свойства конфигурации (Configuration Properties) и перейти на вкладку Ведение журнала (Logging), включить параметр Данные журнала (Log data) в рабочей области.

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. Откройте окно области и запустите моделирование.

  2. Выберите меню «Моделирование» > «Simulink Snapshot».

    В левом нижнем углу окна области отображается статус Заморожено, но моделирование продолжает выполняться в фоновом режиме.

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

  4. Чтобы разморозить изображение, снова выберите «Моделирование» > «Simulink Snapshot».

Копировать изображение области

В этом примере модель vdp используется для демонстрации копирования и вставки изображения области.

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

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

  3. Откройте окно области и запустите моделирование.

  4. Выберите «Файл» > «Копировать в буфер обмена».

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

    По умолчанию команда «Копировать в буфер обмена» сохраняет понятную для принтера версию области с белым фоном и видимыми линиями. Если требуется вставить точную отображаемую область печати, выберите «Вид» > «Стиль», а затем установите флажок «Сохранить цвета для копирования в буфер обмена».

Постройте график массива сигналов

В этом примере показано, как область отображения отображает массив сигналов.

В этой простой модели блок синусоидальной волны соединен с блоком области действия. Блок синусоидальной волны выдает четыре сигнала с амплитудами [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. В области визуализируются данные всей модели.

При повторном запуске моделирования с помощью кнопки запуска в области видимости данные визуализируются только так, как если бы ссылочная модель была открыта изолированно. Элементы управления воспроизведением в блоках области и средствах просмотра моделируют модель, содержащую этот блок или средство просмотра. В этом случае вход ссылочной модели без верхней модели равен нулю за все время.

Примечание

Если щелкнуть выполнение из области, модель не покажет, что модель выполняется в фоновом режиме. Для получения информации о статусе моделирования см. строку состояния в области.

Области в пределах включенной подсистемы

При размещении в блоке включенной подсистемы области ведут себя по-разному в зависимости от режима моделирования:

  • Обычный режим - область отображает данные, когда подсистема включена. На графике отображения отображаются промежутки, когда подсистема отключена.

  • Внешние режимы, режимы Accelerator и Rapid - область отображения данных, если подсистема включена. Экран соединяет промежутки прямыми линиями.

Изменение оси X области

В этом примере показано, как изменить значения оси X блока «Область» с помощью параметров смещения отображения «Интервал времени» и «Интервал времени». Параметр «Интервал времени» изменяет величину времени моделирования и смещает метки оси X. Параметр смещения отображения времени изменяет метки, используемые на оси X.

Эту процедуру также можно использовать для блока «Область времени», блока «Плавающая область» или средства просмотра области.

Откройте модель и запустите моделирование для просмотра исходных выходных данных области. Моделирование выполняется в течение 10 временных шагов, увеличивающихся на 1 на каждом временном шаге.

model = 'ModifyScopeXAxis';
open_system(model);
sim(model);
open_system([model,'/Scope']);

Изменение отображаемого интервала времени

Измените значение параметра Временной интервал на 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. Это смещение отличается от значения смещения отображения времени.

Параметр временной интервал полезен, если не требуется визуализировать инициализацию сигнала или другие задачи запуска в начале моделирования. Полный временной интервал моделирования по-прежнему отображается при нажатии кнопки «Диапазон оси X».

Смещение меток по оси X

Измените значение параметра смещения отображения времени на 5. Снова воспользуйтесь приведенными ниже командами или в окне Область (Scope) нажмите кнопку Свойства конфигурации (Configuration Properties) и перейдите на вкладку Время (Time).

scopeConfig.TimeDisplayOffset = '5';
sim(model);
open_system([model,'/Scope']);

Теперь в области отображается тот же временной интервал 2, но метки оси X смещены на 5, начиная с 5 и заканчивая 7. При нажатии кнопки «Диапазон оси X» метки оси X по-прежнему начинаются с 5.

Показать единицы сигнала на дисплее области

Единицы измерения сигнала можно задать на границе компонента модели (блоки «Подсистема» и «Модель») с помощью блоков «Ввод» и «Вывод». См. раздел Спецификация единиц измерения в моделях Simulink (Simulink). Затем можно подключить блок Scope к блоку Outport или сигналу, исходящему из блока Outport. В этом примере свойство Unit для блока Out1 имеет значение m/s.

Показать единицы на экране области

  1. На панели инструментов окна «Область» нажмите кнопку «Свойства конфигурации».

  2. В диалоговом окне «Свойства конфигурации: Область» выберите вкладку «Отображение».

  3. В поле «Метка Y» введите заголовок оси Y, а затем (%<SignalUnits>). Например, введите

    Velocity (%<SignalUnits>)
    
  4. Нажмите кнопку ОК или Применить.

    Единицы сигнала отображаются в метке оси Y по метрам в секунду (m/s) и на панели «Измерения курсора» в миллиметрах в секунду (mm/s).

На панели инструментов Simulink можно также выбрать «Отладка» > «Информационные наложения» > «Единицы». Ввод не требуется (%<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 формат ведения журнала, а не для устаревших форматов ведения журнала Array, Structure, и Structure With Time.

  1. На панели инструментов окна «Область» нажмите кнопку «Свойства конфигурации».

  2. В окне Свойства конфигурации (Configuration Properties) выберите вкладку Ведение журнала (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. В диалоговом окне «Свойства конфигурации» перейдите на вкладку «Главная» и нажмите кнопку «Компоновка».

  3. Выберите необходимое количество дисплеев и макет.

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

  4. Щелкните значок, чтобы применить выбранный макет к окну Область (Scope).

Окно области стыковки и отстыковки на рабочем столе MATLAB

  1. В правом углу окна «Область» нажмите кнопку «Область закрепления».

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

  2. Нажмите кнопку «Показать действия области», а затем нажмите кнопку «Отстыковать область».

См. также

(Simulink) | (Simulink) | (Simulink)

Связанные темы