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

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

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

Пункты меню Editor Simulink® обычно являются самым простым способом отметить сигналы для логгирования.

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

Позвольте регистрировать Используя панель инструментов Simulink

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

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

Позвольте регистрировать Используя свойства сигнала

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

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

  3. В диалоговом окне Signal Properties, во вкладке 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, смотрите Configure Data Properties при помощи 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')

    Регистрируемый индикатор сигнала появляется.

Логгирование сигналов модели, на которые ссылаются,

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

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

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

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

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

Примечание

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

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

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

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

  3. Задайте имя логгирования:

    1. В диалоговом окне Signal Properties выберите вкладку 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');

Ограничьте регистрируемые данные

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

  • Определение фактора децимации

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

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

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

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

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

  3. В диалоговом окне Signal Properties кликните по вкладке 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 свойство.

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

Чтобы установить шаг расчета для регистрируемого сигнала, в диалоговом окне Signal Properties, используют опцию 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 (нулевой порядок содержит).

Похожие темы