Включите логгирование путем маркировки сигнала с помощью одного из следующих методов:
Simulink® Опции меню Editor - это, как правило, самый простой способ пометить сигналы для логгирования.
Сигнал, для которого вы разрешаете регистрацию, является записанным сигналом. По умолчанию Simulink отображает индикатор записанного сигнала для каждого записанного сигнала.
В редакторе Simulink выберите один или несколько сигналов.
На вкладке Simulation нажмите Log Signals.
В редакторе Simulink щелкните правой кнопкой мыши сигнал.
В контекстном меню выберите Properties.
В диалоговом окне Свойства, на вкладке Logging and accessibility, выберите Log signal data.
Нажмите OK.
Также можно выбрать Log Selected Signals из контекстного меню, которое появляется при щелчке правой кнопкой мыши по выбранному сигналу.
Этот Model Data Editor отображает плоский список сигналов в вашей модели. Список можно сортировать, группировать и фильтровать. Используйте этот метод, чтобы включить ведение журнала для:
Сразу много сигналов.
Сигналы, которые не близки друг к другу в блоке.
Сигналы, которые трудно обнаружить в большой модели или иерархии подсистемы.
Чтобы выбрать сигналы для регистрации с помощью Model Data Editor:
Откройте Model Data Editor. На вкладке Modeling нажмите кнопку Model Data Editor.
Выберите вкладку Signals в Model Data Editor.
Выберите Instrumentation
в раскрывающемся списке.
Установите флажки в столбце Log Data для сигналов, которые вы хотите зарегистрировать.
Дополнительные сведения о Model Data Editor см. в разделе Настройка свойств данных при помощи Model Data Editor.
Чтобы включить программную регистрацию сигналов для выбранных блоков, используйте выходные DataLogging
свойство. Установите это свойство с помощью set_param
команда. Для примера:
В MATLAB® Командное окно, откройте модель. Напечатать
vdp
Получите указатели на порт сигнала, который вы хотите зарегистрировать. Для примера, для Mu блока выхода сигнала порта.
ph = get_param('vdp/Mu','PortHandles')
Включите регистрацию сигнала для необходимого выходного сигнала порта.
set_param(ph.Outport(1),'DataLogging','on')
Появляется индикатор записанного сигнала.
Можно регистрировать любой зарегистрированный сигнал в ссылочной модели. Используйте Signal Логгирования Selector, чтобы сконфигурировать логгирование сигнала для иерархии модели-ссылки. Для получения дополнительной информации смотрите Модели с Ссылками на Модель: Переопределение Настроек Логгирования Сигналов.
Можно задать имя логгирования уровня сигнала для объекта, который Simulink использует для хранения данных регистрации для сигнала. Установка имени логгирования уровня сигнала может быть полезной для сигналов, которые не называются или которые имеют повторяющееся имя с другим сигналом в иерархии модели. Определение имен логгирования уровня сигнала, а не использование имен, которые генерирует Simulink, может облегчить анализ записанных данных.
Чтобы задать имя логгирования уровня сигнала, используйте один из следующих подходов:
Если вы не задаете пользовательское имя логгирования уровня сигнала, Simulink использует имя сигнала. Если сигнал не имеет имени, действие Simulink использует пустое имя.
Примечание
Имя логгирования уровня сигнала отличается от имени логгирования сигнала уровня модели. Имя логгирования сигнала уровня модели является именем для объекта, содержащего все записанные данные сигнала для всей модели. Имя логгирования сигнала уровня модели по умолчанию logsout
. Для получения дополнительной информации о имени логгирования сигнала уровня модели смотрите Укажите имя для данных логгирования сигнала.
В редакторе Simulink щелкните правой кнопкой мыши сигнал.
В контекстном меню выберите Signal Properties.
Укажите имя регистрации:
В диалоговом окне Свойства выберите вкладку Logging and accessibility.
Из списка Logging name выберите Custom
.
Введите имя регистрации в соседнее текстовое поле.
На панели Model Hierarchy Model Explorer выберите узел, содержащий сигнал, для которого необходимо задать имя регистрации.
Если на панели Contents не отображается LoggingName
свойство, добавить LoggingName
свойство текущему представлению. Для получения дополнительной информации о представлениях столбцов см. раздел Model Explorer.
Введите имя регистрации для одного или нескольких сигналов, использующих LoggingName
столбец.
Включите программную регистрацию сигналов для выбранных блоков с выходом портом DataLogging
свойство. Установите это свойство с помощью set_param
команда.
В Командном Окне MATLAB откройте модель. Для примера введите:
vdp
Получите указатели на порт сигнала, который вы хотите зарегистрировать. Для примера, для Mu блока выхода сигнала порта:
ph = get_param('vdp/Mu','PortHandles');
Включите регистрацию сигнала для необходимого выходного сигнала порта:
set_param(ph.Outport(1),'DataLogging','on');
Появляется индикатор записанного сигнала.
Выдайте команды, которые используют DataLoggingNameMode
и DataLoggingName
параметры. Для примера:
set_param(ph.Outport(1),'DataLoggingNameMode','Custom'); set_param(ph.Outport(1),'DataLoggingName','x2_log');
Можно ограничить объем данных, записанных для сигнала:
Определение коэффициента десятикратного уменьшения
Ограничение количества сохраненных выборок только на самые последние выборки
Можно ограничить данные, регистрируемые для сигнала, используя диалоговое окно Свойства, Model Explorer, Selector Signal Logging, или программно. В следующих разделах описываются первые два подхода.
В редакторе Simulink щелкните правой кнопкой мыши сигнал.
В контекстном меню выберите Signal Properties.
В диалоговом окне Свойства перейдите на вкладку Logging and accessibility. Затем выберите один или оба из следующих опций:
Limit data points to last
Decimation
На Model Hierarchy панели Model Explorer выберите узел, содержащий сигнал, для которого вы хотите ограничить объем записанных данных.
Если на панели Contents не отображается DataLoggingDecimation
свойство или DataLoggingLimitDataPoints
добавьте одно или оба из этих свойств к текущему представлению. Для получения дополнительной информации о представлениях столбцов см. раздел Model Explorer.
Чтобы задать коэффициент десятикратного уменьшения, отредактируйте 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
(удержание нулевого порядка).