Включите логгирование сигнала для модели

Включите и отключите логгирование на уровне модели

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

Включите или отключите глобальное логгирование для всех сигналов, которые вы пометите для логгирования в модели. По умолчанию логгирование сигналов включено. Simulink® регистрирует сигналы, если проверяется параметр Configuration Parameters Data Import/Export > Signal logging >. Если опция не проверена, Simulink игнорирует настройки логгирования сигналов для отдельных сигналов.

Когда сигналы отмечены для логгирования, данные сигнала журналов к рабочей области и Данным моделирования Inspector. Можно отключить регистрацию сигнала через диалоговое окно Параметров конфигурации или программно.

  • В диалоговом окне Параметры конфигурации снимите флажок Configuration Parameters > Data Import/Export > Signal logging.

  • Из командной строки используйте SignalLogging параметр.

    set_param(bdroot,'SignalLogging','off')

Выбор подмножества сигналов для регистрации

Можно выбрать подмножество сигналов для регистрации в модели, которая имеет:

  • Логгирование сигналов включено

  • Зарегистрированные сигналы

Для получения дополнительной информации смотрите Переопределение параметров логгирования сигналов.

Задайте формат для элементов сигнала набора данных

Данные записанного сигнала сохраняются в Dataset формат (как Simulink.SimulationData.Dataset объекты). Чтобы указать, хотите ли вы, чтобы данные для отдельных сигналов в наборе данных использовали MATLAB® timeseries или timetable элементы, установите Dataset signal format параметр конфигурации. Значение по умолчанию является timeseries. Для получения дополнительной информации смотрите Формат сигнала набора данных.

Миграция скриптов, использующих устаревшие ModelDataLogs API

Для скриптов, которые моделируют модель, созданную в релизе ранее R2016a, который использует ModelDataLogs формат для логгирования, обновите код, чтобы войти в систему Dataset формат.

Если вы уже записали данные сигнала в ModelDataLogs формат, вы можете использовать Simulink.ModelDataLogs.convertToDataset функция для обновления ModelDataLogs данные логгирования сигналов для использования Dataset формат. Например, чтобы обновить older_model_dataset от ModelDataLogs формат в Dataset формат:

new_dataset = logsout.convertToDataset('older_model_data')

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

Возможная проблема после преобразования в формат набора данныхРешение

Код в существующих коллбэках, функциях, скриптах или тестах, которые использовали ModelDataLogs программный интерфейс для доступа к данным может привести к ошибке.

Проверьте код, который использует ModelDataLogs форматировать методы доступа. Обновите этот код, чтобы использовать Dataset форматировать методы доступа.

Например, предположим, что существующий код включает следующую линию:

logsout.('Subsystem Name').X.data

Замените этот код на Dataset метод доступа:

logsout.getElement('x').Values.data

Mux имена блочных сигналов потеряны.

The Dataset формат обрабатывает сигналы Mux блоков как вектор. Чтобы идентифицировать сигналы по именам сигналов, замените блоки Mux на блоки Bus Creator.

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

Simulink не регистрирует данные логгирования сигналов в Средство Просмотра.

Используйте выходную переменную регистрации сигналов, чтобы просмотреть записанные данные.

The unpack метод генерирует ошибку.

The unpack метод, который поддерживается для Simulink.ModelDataLogs и Simulink.SubsysDataLogs объекты, не поддерживаются для Simulink.SimulationData.Dataset объекты.

Для примера, если данные в mlog имеет три поля: x, y, и z, затем:

Для ModelDataLogs формат данных, mlog.unpack метод создает три переменные в базовом рабочем пространстве.

Для Dataset форматировать данные, методы доступа по именам. Для примера:

x = logsout.getElement('x').Values

The ModelDataLogs и Dataset форматы имеют различные правила именования для неназванных сигналов.

При необходимости добавьте имена сигналов.

В ModelDataLogs формат, для неназванного сигнала, поступающего из блока, Simulink присваивает имя в этой форме:

SL_BlockName+<portIndex>

Для примера, SL_Gain1.

В Dataset формат, элементам не нужно имя, поэтому Simulink оставляет имя сигнала пустым.

Для обоих ModelDataLogs и Dataset форматы, Simulink присваивает то же имя неназванным сигналам, которые поступают из блоков Bus Selector.

Тестовые точки в ссылочных моделях не регистрируются.

Рассмотрите включение регистрации сигналов для тестовых точек в ссылочной модели.

Скрипт использует who или whos функций.

Рассмотрите использование find вместо этого.

Укажите имя для данных логгированию сигналов

Вы используете имя логгирования сигнала уровня модели для доступа к данным логгирования сигнала для модели. Имя по умолчанию для данных логгирования сигналов logsout. Установка имени логгирования сигналов уровня модели облегчает идентификацию источника записанных данных. Для примера можно задать имя логгирования сигнала car_logsout идентифицировать данные как данные логгирования сигналов для car модель.

Чтобы задать другое имя логгирования сигналов уровня модели, используйте любой из следующих подходов:

  • В поле редактирования рядом с параметром Configuration Parameters > Data Import/Export > Signal logging введите имя логгирования сигнала.

  • Используйте SignalLoggingName параметр, задающий имя логгирования сигнала. Для примера:

    set_param(bdroot, 'SignalLoggingName', 'heater_model_signals')

Похожие темы