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