exponenta event banner

Конфигурирование сигнала для регистрации

Пометить сигнал для регистрации

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

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

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

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

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

  2. На вкладке Моделирование (Simulation) щелкните Регистрация сигналов (Log Signals).

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

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

  2. В контекстном меню выберите «Свойства».

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

  4. Нажмите кнопку ОК.

Кроме того, можно выбрать пункт «Регистрировать выбранные сигналы» в контекстном меню, которое появляется при щелчке правой кнопкой мыши на выбранном сигнале.

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

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

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

  • Сигналы, которые не близки друг другу на блок-схеме.

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

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

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

  2. Выберите вкладку Сигналы (Signals) в Редакторе данных модели (Model Data Editor).

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

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

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

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

Чтобы включить программную регистрацию сигналов для выбранных блоков, используйте выход 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. В контекстном меню выберите «Свойства сигнала».

  3. Укажите имя журнала:

    1. В диалоговом окне «Свойства сигнала» выберите вкладку «Ведение журнала и специальные возможности».

    2. В списке Имя журнала выберите Custom.

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

Имя регистрации на уровне сигнала в обозревателе моделей

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

  2. Если на панели «Содержимое» не отображается LoggingName , добавьте LoggingName к текущему виду. Дополнительные сведения о видах столбцов см. в разделе Обозреватель моделей.

  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), селектора регистрации сигналов (Signal Logging Selector) или программным способом. В следующих разделах описываются первые два подхода.

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

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

  2. В контекстном меню выберите «Свойства сигнала».

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

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

    • Казнь каждого десятого

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

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

  2. Если на панели «Содержимое» не отображается DataLoggingDecimation свойство или DataLoggingLimitDataPoints добавьте одно или оба этих свойства к текущему виду. Дополнительные сведения о видах столбцов см. в разделе Обозреватель моделей.

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

Установка времени выборки для зарегистрированного сигнала

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

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

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

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

Примечания по использованию

Не указывайте время выборки для:

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

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

При моделировании в режиме SIL регистрация сигналов игнорирует время выборки, указанное для регистрируемых сигналов.

При пометке сигнала для регистрации сигнала Simulink вставляет скрытый блок «В рабочую область». При указании времени выборки для зарегистрированного сигнала 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 (удержание нулевого порядка).

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