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

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

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

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

Когда сигналы отмечены для логгирования, журналов данных сигнала к рабочей области и Инспектору Данных моделирования. Можно отключить логгирование сигнала через диалоговое окно Configuration Parameters или программно.

  • В диалоговом окне Configuration Parameters очистите 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 потеряны.

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

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

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

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

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

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

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

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

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

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

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')

Похожие темы