exponenta event banner

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

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

Для регистрации сигнала отметьте его для регистрации. Дополнительные сведения см. в разделе Настройка сигнала для регистрации.

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

Если сигналы помечены для регистрации, данные сигналов регистрируются в рабочей области и в инспекторе данных моделирования. Регистрацию сигналов можно отключить в диалоговом окне «Параметры конфигурации» или программным способом.

  • В диалоговом окне «Параметры конфигурации» снимите флажок «Параметры конфигурации» > «Импорт/экспорт данных» > «Параметры регистрации сигналов».

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

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

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

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

  • Регистрация сигналов включена

  • Регистрируемые сигналы

Дополнительные сведения см. в разделе Переопределение параметров регистрации сигналов.

Укажите формат для сигнальных элементов набора данных

Данные зарегистрированного сигнала сохраняются в Dataset формат (как Simulink.SimulationData.Dataset объекты). Для определения необходимости использования данных для отдельных сигналов в наборе данных MATLAB ®timeseries или timetable установите параметр конфигурации формата сигнала набора данных. Значение по умолчанию: 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

Имена сигналов блоков мультиплексора теряются.

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

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

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

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

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

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

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

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

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

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

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

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

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

SL_BlockName+<portIndex>

Например, SL_Gain1.

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

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

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

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

Использование скриптов who или whos функции.

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

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

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

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

  • В поле редактирования рядом с параметрами конфигурации > Импорт/экспорт данных > Параметр регистрации сигналов введите имя регистрации сигналов.

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

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

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