Сконфигурируйте сигнал для логгирования

Отметьте сигнал для логгирования

Включите логгирование путем маркировки сигнала с помощью одного из следующих методов:

Simulink® Опции меню Editor - это, как правило, самый простой способ пометить сигналы для логгирования.

Сигнал, для которого вы разрешаете регистрацию, является записанным сигналом. По умолчанию Simulink отображает индикатор записанного сигнала для каждого записанного сигнала.

Включите логгирование с помощью панели инструментов Simulink

  1. В редакторе Simulink выберите один или несколько сигналов.

  2. На вкладке Simulation нажмите Log Signals.

Включите логгирование с использованием свойств сигнала

  1. В редакторе Simulink щелкните правой кнопкой мыши сигнал.

  2. В контекстном меню выберите Properties.

  3. В диалоговом окне Свойства, на вкладке Logging and accessibility, выберите Log signal data.

  4. Нажмите OK.

Также можно выбрать Log Selected Signals из контекстного меню, которое появляется при щелчке правой кнопкой мыши по выбранному сигналу.

Включите ведение журнала с помощью Model Data Editor

Этот Model Data Editor отображает плоский список сигналов в вашей модели. Список можно сортировать, группировать и фильтровать. Используйте этот метод, чтобы включить ведение журнала для:

  • Сразу много сигналов.

  • Сигналы, которые не близки друг к другу в блоке.

  • Сигналы, которые трудно обнаружить в большой модели или иерархии подсистемы.

Чтобы выбрать сигналы для регистрации с помощью Model Data Editor:

  1. Откройте Model Data Editor. На вкладке Modeling нажмите кнопку Model Data Editor.

  2. Выберите вкладку Signals в Model Data Editor.

  3. Выберите Instrumentation в раскрывающемся списке.

  4. Установите флажки в столбце Log Data для сигналов, которые вы хотите зарегистрировать.

Дополнительные сведения о Model Data Editor см. в разделе Настройка свойств данных при помощи Model Data Editor.

Программный интерфейс

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

  1. В MATLAB® Командное окно, откройте модель. Напечатать

    vdp
  2. Получите указатели на порт сигнала, который вы хотите зарегистрировать. Для примера, для Mu блока выхода сигнала порта.

    ph = get_param('vdp/Mu','PortHandles')
  3. Включите регистрацию сигнала для необходимого выходного сигнала порта.

    set_param(ph.Outport(1),'DataLogging','on')

    Появляется индикатор записанного сигнала.

Логгирование ссылочных Моделей сигналов

Можно регистрировать любой зарегистрированный сигнал в ссылочной модели. Используйте Signal Логгирования Selector, чтобы сконфигурировать логгирование сигнала для иерархии модели-ссылки. Для получения дополнительной информации смотрите Модели с Ссылками на Модель: Переопределение Настроек Логгирования Сигналов.

Задайте имя логгирования уровня сигнала

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

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

Если вы не задаете пользовательское имя логгирования уровня сигнала, Simulink использует имя сигнала. Если сигнал не имеет имени, действие Simulink использует пустое имя.

Примечание

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

Имя логгирования уровня сигнала в редакторе

  1. В редакторе Simulink щелкните правой кнопкой мыши сигнал.

  2. В контекстном меню выберите Signal Properties.

  3. Укажите имя регистрации:

    1. В диалоговом окне Свойства выберите вкладку Logging and accessibility.

    2. Из списка Logging name выберите Custom.

    3. Введите имя регистрации в соседнее текстовое поле.

Имя логгирования уровня сигнала в Model Explorer

  1. На панели Model Hierarchy Model Explorer выберите узел, содержащий сигнал, для которого необходимо задать имя регистрации.

  2. Если на панели Contents не отображается LoggingName свойство, добавить LoggingName свойство текущему представлению. Для получения дополнительной информации о представлениях столбцов см. раздел Model Explorer.

  3. Введите имя регистрации для одного или нескольких сигналов, использующих LoggingName столбец.

Специфическое для сигнала имя логгирования задано программно

Включите программную регистрацию сигналов для выбранных блоков с выходом портом DataLogging свойство. Установите это свойство с помощью set_param команда.

  1. В Командном Окне MATLAB откройте модель. Для примера введите:

    vdp
  2. Получите указатели на порт сигнала, который вы хотите зарегистрировать. Для примера, для Mu блока выхода сигнала порта:

    ph = get_param('vdp/Mu','PortHandles');
  3. Включите регистрацию сигнала для необходимого выходного сигнала порта:

    set_param(ph.Outport(1),'DataLogging','on');

    Появляется индикатор записанного сигнала.

  4. Выдайте команды, которые используют DataLoggingNameMode и DataLoggingName параметры. Для примера:

    set_param(ph.Outport(1),'DataLoggingNameMode','Custom');
    set_param(ph.Outport(1),'DataLoggingName','x2_log');

Предел данных

Можно ограничить объем данных, записанных для сигнала:

  • Определение коэффициента десятикратного уменьшения

  • Ограничение количества сохраненных выборок только на самые последние выборки

Можно ограничить данные, регистрируемые для сигнала, используя диалоговое окно Свойства, Model Explorer, Selector Signal Logging, или программно. В следующих разделах описываются первые два подхода.

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

  1. В редакторе Simulink щелкните правой кнопкой мыши сигнал.

  2. В контекстном меню выберите Signal Properties.

  3. В диалоговом окне Свойства перейдите на вкладку Logging and accessibility. Затем выберите один или оба из следующих опций:

    • Limit data points to last

    • Decimation

Используйте Model Explorer, чтобы ограничить количество записанных данных

  1. На Model Hierarchy панели Model Explorer выберите узел, содержащий сигнал, для которого вы хотите ограничить объем записанных данных.

  2. Если на панели Contents не отображается DataLoggingDecimation свойство или DataLoggingLimitDataPoints добавьте одно или оба из этих свойств к текущему представлению. Для получения дополнительной информации о представлениях столбцов см. раздел Model Explorer.

  3. Чтобы задать коэффициент десятикратного уменьшения, отредактируйте Decimation и DecimateData свойства. Чтобы ограничить количество записанных выборок, отредактируйте LimitDataPoints свойство.

Установите шаг расчета для записанного сигнала

Чтобы задать шаг расчета для записанного сигнала, в диалоговом окне Свойства используйте опцию Sample Time. Эта опция:

  • Разделяет проект и проверку, потому что вам не нужно вставлять блок Rate Transition, чтобы иметь согласованный шаг расчета для записанных сигналов

  • Уменьшает объем записанных данных для непрерывного сигнала времени, для которого десятикратное уменьшение настройки не актуально

  • Устраняет необходимость постобработки данных записанного сигнала для сигналов с различными шагами расчета

Указания по применению

Не указывайте шага расчета для:

  • Основанные на кадрах сигналы

  • Условные подсистемы (для примера, подсистемы вызова функций или триггируемые подсистемы) и условные ссылочные модели, которые требуют унаследованного шага расчета

Если вы симулируете в режиме SIL, логгирование сигнала игнорирует шаги расчета, заданное для записанных сигналов.

Когда вы помечаете сигнал для логгирования сигнала, Simulink вставляет скрытый To Workspace блок. Когда вы задаете шаг расчета для записанного сигнала, Simulink вставляет скрытый Rate Transition блок и скрытый To Workspace блок.

Установка шага расчета для логгирования сигнала не влияет на результат симуляции. Однако возможно, что выход логгирования сигнала для регистрируемого сигнала изменяется в зависимости от того, задаете ли вы частоту дискретизации. Для примера метод интерполяции может отличаться в зависимости от того, задаете ли вы шаг расчета для логгирования сигнала. Предположим, что модель включает непрерывный сигнал и шаг расчета наследуется (-1). Записанный выход для этого сигнала показывает, что метод интерполяции linear.

logsout.get(1).Values.DataInfo
tsdata.datametadata
  Package: tsdata

  Common Properties:
               Units: ''
       Interpolation: linear (tsdata.interpolation)

Если вы меняете шаг расчета, чтобы быть непрерывным (0), записанный выход для этого сигнала показывает, что метод интерполяции zoh (удержание нулевого порядка).

Похожие темы