Simulink.SimulationData.ModelLoggingInfo

Настройки переопределения логгирования сигналов для модели

Описание

Этот класс является набором Simulink.SimulationData.SignalLoggingInfo объекты, которые задают все настройки логгирования сигналов для модели.

Используйте методы и свойства этого класса для:

  • Отключите логгирование для сигнала или блока Model.

  • Измените настройки логгирования для любых сигналов, отмеченных для логгирования в модели.

Можно контролировать, является ли модель верхней части и ссылка моделей переопределить настройки логгирования сигнала или использовать настройки логгирования сигнала, заданные моделью. Используйте LoggingMode и LogAsSpecifiedByModels свойства для управления параметрами ведения журнала.

Режим логгирования для моделейНастройки свойств

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

Задайте LoggingMode на LogAllAsSpecifiedInModel.

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

Задайте LoggingMode на OverrideSignals.

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

Задайте LoggingMode на OverrideSignals.

Включите модели, которые вы хотите игнорировать, переопределите настройки логгирования сигналов в LogAsSpecifiedByModels массив ячеек.

Для получения дополнительной информации и примеров смотрите Override Signal Logging Settings from MATLAB.

Сводные данные свойств

Имя

Описание

LoggingMode

Состояние переопределения логгирования сигналов

LogAsSpecifiedByModels

Источник настроек логгирования сигналов для верхней части уровня или блока Model верхнего уровня

Signals

Все сигналы, которые имеют настройки переопределения сигнала

Сводные данные по методам

Имя

Описание

findSignal

Найти сигналы в Signals вектор, используя путь блока и индекс выходного порта.

verifySignalAndModelPaths

Проверьте пути сигнала и модели для объекта переопределения логгирования сигнала модели.

getLogAsSpecifiedInModel

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

setLogAsSpecifiedInModel

Установите режим регистрации для модели верхнего уровня или блока Model верхнего уровня.

createFromModel

Создайте и заполните объект переопределения логгирования сигналов модели всеми записанными сигналами в иерархии модели.

ModelLoggingInfo

Установите сигналы для регистрации или переопределения параметров регистрации.

Свойства

LoggingMode

Описание

Состояние переопределения логгирования сигналов. Значения:

  • OverrideSignals - (По умолчанию) Использует настройки логгирования для сигналов, как указано в Signals свойство. Для моделей, где getLogAsSpecifiedInModel является:

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

    • false - Регистрирует только сигналы, указанные в Signals свойство.

  • LogAllAsSpecifiedInModel - Регистрирует сигналы в верхней модели и всех ссылочных моделях, как указано в модели. Simulink® чествует индикаторы логгирования сигналов (синие антенны) и игнорирует Signals свойство.

Чтобы изменить режим логгирования для верхней части или для заданной модели-ссылки, используйте setLogAsSpecifiedInModel способ.

Тип данных

Символьный массив

Доступ

RW

LogAsSpecifiedByModels

Описание

Когда LoggingMode установлено в 'OverrideSignals', а LogAsSpecifiedByModels массив ячеек задает верхние модели и блоки Model верхнего уровня, которые игнорируют 'OverrideSignals' установка и журнал сигналов, как указано в моделях или Model блоках.

  • Для блоков верхней модели и Model верхнего уровня, которые включает массив ячеек, Simulink игнорирует Signals переопределения свойств.

  • Для модели или Model блока, который массив ячеек не включает, Simulink использует Signals свойство для определения сигналов для регистрации.

Когда LoggingMode установлено в 'LogAllAsSpecifiedInModel'Simulink игнорирует LogAsSpecifiedByModels свойство.

Используйте getLogAsSpecifiedInModel метод, чтобы определить, верхняя часть ли сигналы модели Блока Model или журналов верхнего уровня, как указано в модели (логгирование по умолчанию), и использовать setLogAsSpecifiedInModel для включения и выключения регистрации по умолчанию.

Тип данных

массив ячеек - Для верхней модели задайте имя модели. Для блоков Model задайте путь блока.

Доступ

RW

Сигналы

Описание

Вектор Simulink.SimulationData.SignalLoggingInfo объекты для всех сигналов с настройками переопределения логгирования сигналов.

Тип данных

вектор Simulink.SimulationData.SignalLoggingInfo объекты

Доступ

RW

Методы

createFromModel

Цель

Создайте Simulink.SimulationData.ModelLoggingInfo объект для верхней модели с настройками переопределения для каждого записанного сигнала в модели.

Синтаксис
model_logging_info_object = ...
Simulink.SimulationData.ModelLoggingInfo.createFromModel(...
model,options)
Входные параметры
model

Имя верхней части, для которой необходимо создать Simulink.SimulationData.ModelLoggingInfo объект.

options

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

  • FollowLinks

    • on - (По умолчанию) Включать записанные сигналы изнутри библиотек.

    • off - Пропустить все библиотеки.

  • LookUnderMasks

    • all - (По умолчанию) Включать записанные сигналы от всех маскированных подсистем.

    • none - Пропустить все маскированные подсистемы.

    • graphical - Включите записанные сигналы от маскированных подсистем, которые не имеют рабочей области или диалогового окна.

    • functional - Включать зарегистрированные сигналы от маскированных подсистем, которые не имеют диалогового окна.

  • Variants

    • ActiveVariants - (По умолчанию) Включать записанные сигналы только от активной подсистемы и вариантов модели.

    • AllVariants - Включать записанные сигналы от всех вариантов подсистемы и модели.

  • RefModels

    • on - (По умолчанию) Включать записанные сигналы из ссылочных моделей.

    • off - Пропустить все модели-ссылки.

Если вы выбираете несколько опций, то созданный Simulink.SimulationData.ModelLoggingInfo объект включает сигналы, которые соответствуют комбинациям («AND») заданных опций. Для примера, если вы задаете FollowLinks на on и установите RefModels на off, тогда объект переопределения логгирования сигналов модели не включает сигналы от библиотечных ссылок, которые существуют внутри ссылочных моделей.

Выходные аргументы
model_logging_override_object

Simulink.SimulationData.ModelLoggingInfo объект для верхней модели.

Описание

model_logging_info_object = Simulink.SimulationData.ModelLoggingInfo.createFromModel(model) создает Simulink.SimulationData.ModelLoggingInfo объект для модели, которая включает регистрируемые сигналы для следующих видов систем:

  • Библиотеки

  • Маскированные подсистемы

  • Ссылка на модели

  • Активные варианты

model_logging_override_object = Simulink.SimulationData.ModelLoggingInfo.createFromModel(model, options) создает Simulink.SimulationData.ModelLoggingInfo объект для модели. Включенные записанные сигналы отражают настройки опций для следующих видов систем:

  • Библиотеки

  • Маскированные подсистемы

  • Ссылка на модели

  • Варианты

Примеры

В следующем примере создается объект переопределения логгирования модели для sldemo_mdlref_bus модель и автоматически добавляет каждый записанный сигнал в модели к этому объекту:

mi = Simulink.SimulationData.ModelLoggingInfo.createFromModel(...
'sldemo_mdlref_bus')
mi = 

  ModelLoggingInfo with properties:

                     Model: 'sldemo_mdlref_bus'
               LoggingMode: 'OverrideSignals'
    LogAsSpecifiedByModels: {}
                   Signals: [1x3 Simulink.SimulationData.SignalLoggingInfo]

Чтобы применить настройки объекта переопределения модели, используйте:

set_param(sldemo_mdlref_bus,'DataLoggingOverride',mi);

Можно использовать опции для createFromModel метод, чтобы задать, как метод должен обрабатывать компоненты модели, такие как варианты и модели-ссылки. Для примера используйте Variants опция создания model_logging_override объект, который включает записанные сигналы во всех вариантах sldemo_variant_subsystems модель.

По умолчанию в sldemo_variant_subsystems модель не регистрирует никаких сигналов. Начните, сконфигурировав выходные сигналы от Linear Controller и Nonlinear Controller подсистемы для логгирования.

% Open the sldemo_variant_subsystems model
sldemo_variant_subsystems;

% Mark the output of the Linear Controller subsystem for logging
ph = get_param('sldemo_variant_subsystems/Controller/Linear Controller',...
    'PortHandles');
set_param(ph.Outport(1),'DataLogging','on');

% Mark the output of the Nonlinear Controller subsystem for logging
ph1 = get_param('sldemo_variant_subsystems/Controller/Nonlinear Controller',...
    'PortHandles');
set_param(ph1.Outport(1),'DataLogging','on');

Затем используйте createFromModel метод для создания model_logging_override объект, который включает сигналы, регистрируемые во всех вариантных подсистемах sldemo_variant_subsystems модель.

% Create a model_logging_override object for the model including all variants
mi = Simulink.SimulationData.ModelLoggingInfo.createFromModel(...
'sldemo_variant_subsystems', 'Variants', 'AllVariants')
mi = 

  ModelLoggingInfo with properties:

                     Model: 'sldemo_variant_subsystems'
               LoggingMode: 'OverrideSignals'
    LogAsSpecifiedByModels: {}
                   Signals: [1×2 Simulink.SimulationData.SignalLoggingInfo]

ModelLoggingInfo

Цель

Задайте сигналы для регистрации или переопределения параметров регистрации.

Синтаксис
model_logging_override_object = ....
Simulink.SimulationData.ModelLoggingInfo(model)
Входные параметры
model

Имя верхней части, для которой необходимо создать Simulink.SimulationData.ModelLoggingInfo объект

Выходные аргументы
model_logging_override_object

Simulink.SimulationData.ModelLoggingInfo объект, созданный для указанной верхней части.

Описание

model_logging_override_object= Simulink.SimulationData.ModelLoggingInfo(model) создает Simulink.SimulationData.ModelLoggingInfo объект для указанной верхней части.

Если вы используете Simulink.SimulationData.ModelLoggingInfo конструктор, задайте Simulink.SimulationData.SignalLoggingInfo объект для каждого зарегистрированного сигнала, для которого необходимо переопределить параметры регистрации.

Чтобы проверить, что вы указали допустимые настройки переопределения логгирования сигналов для модели, используйте verifySignalAndModelPaths метод с Simulink.SimulationData.ModelLoggingInfo объект для модели.

Примеры

В следующем примере показано, как записать все сигналы как указано в верхней модели и всех ссылочных моделях.

mi = Simulink.SimulationData.ModelLoggingInfo('sldemo_mdlref_bus');
mi.LoggingMode = 'LogAllAsSpecifiedInModel'
mi = 

  ModelLoggingInfo with properties:

                     Model: 'sldemo_mdlref_bus'
               LoggingMode: 'LogAllAsSpecifiedInModel'
    LogAsSpecifiedByModels: {}
                   Signals: []

Чтобы применить настройки объекта переопределения модели, используйте:

set_param(sldemo_mdlref_bus, 'DataLoggingOverride', mi);

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

mi = ...
Simulink.SimulationData.ModelLoggingInfo('sldemo_mdlref_bus');
mi.LoggingMode = 'OverrideSignals';
mi = mi.setLogAsSpecifiedInModel('sldemo_mdlref_bus', true); 
set_param('sldemo_mdlref_bus', 'DataLoggingOverride', mi);

findSignal

Цель

Найти сигналы в Signals вектор, используя путь блока и, опционально, индекс выходного порта.

Синтаксис
signal_indices = ...
      model_logging_override_object.findSignal(block_path)
signal_indices = ...
      model_logging_override_object.findSignal(...
      block_path, port_index)
Входные параметры
block_path

Исходный блок для поиска. The block_path должно быть одно из следующих:

  • Вектор символов

  • Массив ячеек из символьных векторов

  • Simulink.BlockPath объект

port_index

Индекс выходного порта для поиска. Задайте скаляр, больший, или равный 1.

Выходные аргументы
signal_indices

Вектор числовых индексов в вектор сигналов Simulink.SimulationData.ModelLoggingInfo объект.

Описание

signal_indices = model_logging_override_object.findSignal(block_path) находит индексы сигналов для заданного пути блока.

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

Чтобы найти все образцы сигнала в пределах ссылочной модели, используйте вектор символов с относительным путем сигнала в пределах ссылочной модели.

Чтобы найти зарегистрированный сигнал графика в Stateflow® график, используйте Simulink.BlockPath Объекту и установите SubPath свойство имени сигнала диаграммы Stateflow.

signal_indices = model_logging_override_object.findSignal(block_path, port_index) находит индексы выходного сигнала для заданного порта для заданного пути блока.

Не используйте port_index аргумент для сигналов диаграммы Stateflow.

Примеры

Чтобы найти сигнал, который не находится в диаграмме Stateflow и который не отображается в нескольких образцы ссылочной модели:

open_system(docpath(fullfile(docroot,'toolbox','simulink','examples','ex_bus_logging')))
% Open the referenced model
ex_mdlref_counter_bus
mi = Simulink.SimulationData.ModelLoggingInfo.createFromModel(... 
     'ex_bus_logging');
% Click the COUNTERBUSCreator block that is the source of 
% the logged COUNTERBUS signal
signal_index = mi.findSignal(gcb)
signal_index =

     1

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

signal_index = mi.findSignal({'ex_bus_logging/CounterA', ...
'ex_mdlref_counter_bus/Bus Creator'})
signal_index =

     4

Для примера, который использует findSignal метод с диаграммой Stateflow, см. «Переопределение свойств журнала с Командной строкой API (Stateflow)».

getLogAsSpecifiedInModel

Цель

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

Синтаксис
logging_mode = ...
getLogAsSpecifiedInModel(model_logging_override_object, path)
Входные параметры
model_logging_override_object

A Simulink.SimulationData.ModelLoggingInfo объект.

path

The path является вектор символов, которая задает одно из следующего:

  • Имя верхней части

  • Блокируйте путь блока Model в верхней модели

Выходные аргументы
logging_mode

The logging_mode является:

  • true, если модель задана как path регистрируется как указано в модели.

  • false, если модель задана как path регистрируется с использованием настроек переопределения, заданных в Signals свойство.

Описание

logging_mode = model_logging_override_object.getLogAsSpecifiedInModel(path) возвращает:

  • true, если модель задана как path регистрируется как указано в модели.

  • false, если модель задана как path регистрируется с использованием настроек переопределения, заданных в Signals свойство.

Примеры

В следующем примере Simulink.SimulationData.ModelLoggingInfo mi объекта использует параметры переопределения, указанные в его Signals свойство.

mi = Simulink.SimulationData.ModelLoggingInfo('sldemo_mdlref_bus');
logging_mode = getLogAsSpecifiedInModel(mi, 'sldemo_mdlref_bus')
logging_mode =

     0

setLogAsSpecifiedInModel

Цель

Установите режим логгирования для модели верхнего уровня или блока Model верхнего уровня

Синтаксис
setLogAsSpecifiedInModel(override_object, path)
Входные параметры
override_object

Simulink.SimulationData.ModelLoggingInfo объект.

path

Вектор символов, который задает одно из следующих:

  • Имя верхней части

  • Блокируйте путь блока Model в верхней модели

value

Режим логгирования:

  • true, если модель задана как path регистрируется как указано в модели

  • false, если модель задана как path регистрируется с использованием настроек переопределения, заданных в Signals свойство.

Описание

setLogAsSpecifiedInModel(override_object, path, value) устанавливает свойство LoggingMode для верхней модели или блока Model в верхней модели.

Пример

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

sldemo_mdlref_bus;
mi = Simulink.SimulationData.ModelLoggingInfo('sldemo_mdlref_bus');
mi.LoggingMode = 'OverrideSignals';
mi = setLogAsSpecifiedInModel(mi, 'sldemo_mdlref_bus', true); 
set_param('sldemo_mdlref_bus', 'DataLoggingOverride', mi);

verifySignalAndModelPaths

Цель

Проверьте пути в Simulink.SimulationData.ModelLoggingInfo объект.

Синтаксис
verified_object = verifySignalAndModelPaths...
     (model_logging_override_object, action)
Входные параметры
model_logging_override_object

The Simulink.SimulationData.ModelLoggingInfo объект для проверки. Этот аргумент необходим.

action

Действие, которое функция выполняет в случае непрохождения верификации. Этот аргумент необязателен. Задайте одно из следующих значений:

  • error - (по умолчанию) Выдавать ошибку, когда верификация не проходит

  • warnAndRemove - Выдавать предупреждение при ошибке верификации и обновлять Simulink.SimulationData.ModelLoggingInfo объект.

  • remove - Молча обновляйте Simulink.SimulationData.ModelLoggingInfo объект.

Выходные аргументы
verified_object

Если метод не обнаруживает недопустимых путей, он возвращает проверенный объект. Для примера:

verified_object = 

  Simulink.SimulationData.ModelLoggingInfo
  Package: Simulink.SimulationData

  Properties:
                     Model: 'logging_top'
               LoggingMode: 'OverrideSignals'
    LogAsSpecifiedByModels: {}
                   Signals: [1x11 Simulink.SimulationData.SignalLoggingInfo]

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

Описание

verified_object = verifySignalAndModelPaths(model_logging_override_object, action)

Для Simulink.SimulationData.ModelLoggingInfo , проверьте, что:

  • Все векторы символов в LogAsSpecifiedByModels свойство является именем верхней модели или путем блока Model в верхней модели.

  • Пути блоков для сигналов в Signals свойство относится к допустимым блокам в иерархии верхней модели.

  • The OutputPortIndex свойство для всех сигналов в Signals свойство допустимо для данного блока.

  • Все сигналы в Signals свойство относится к записанным сигналам.

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

Если вы используете Simulink.SimulationData.ModelLoggingInfo конструктор и задайте Simulink.SimulationData.SignalLoggingInfo объект для каждого сигнала, затем рассмотрите использование verifySignalAndModelPaths метод, чтобы убедиться, что определения объектов действительны.

Пример

В следующем примере показано, как проверить пути к сигналу и блокам в Simulink.SimulationData.ModelLoggingInfo объект. Потому что action аргумент warnAndRemove, если валидация не удалась, verifySignalAndModelPaths метод выдает предупреждение и обновляет Simulink.SimulationData.ModelLoggingInfo объект.

mi = Simulink.SimulationData.ModelLoggingInfo('sldemo_mdlref_bus');
verified_object = verifySignalAndModelPaths...
     (mi, 'warnAndRemove')
Введенный в R2012b