Simulink.sdi.markSignalForStreaming

Включите или отключите логгирование для сигнала

Описание

пример

Simulink.sdi.markSignalForStreaming(block,portIndex,log) отмечает сигнал на заданном portIndex из заданного block для логгирования, когда вы задаете log как 'on'. Чтобы прекратить регистрировать сигнал, задайте log как 'off'.

пример

Simulink.sdi.markSignalForStreaming(portHandle,log) отмечает сигнал на порте, заданном portHandle для логгирования, когда вы задаете log как 'on'. Чтобы прекратить регистрировать сигнал, задайте log как 'off'.

пример

Simulink.sdi.markSignalForStreaming(lineHandle,log) отмечает сигнал заданным lineHandle для логгирования, когда вы задаете log as 'on'. Чтобы прекратить регистрировать сигнал, задайте log как 'off'.

Примеры

свернуть все

Этот пример использует slexAircraftExample модель, чтобы продемонстрировать, как сравнить сигналы ввода и вывода системы управления.

Сконфигурируйте и симулируйте модель

slexAircraftExample модель не делает данных логов. Загрузите модель и отметьте сигналы ввода и вывода для логгирования.

load_system('slexAircraftExample')
Simulink.sdi.markSignalForStreaming('slexAircraftExample/Pilot',1,'on')
Simulink.sdi.markSignalForStreaming('slexAircraftExample/Aircraft Dynamics Model',4,'on')

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

out = sim('slexAircraftExample');

Доступ к данным моделирования

Используйте Инспектора Данных моделирования программируемый интерфейс, чтобы получить доступ к данным. Simulink.sdi.Run.getLatest функция возвращает последний раз созданный запуск в Инспекторе Данных моделирования репозиторий. Используйте getSignalIDByIndex функционируйте, чтобы получить доступ к идентификаторам сигнала для регистрируемых сигналов.

aircraftRun = Simulink.sdi.Run.getLatest;

signalID1 = getSignalIDByIndex(aircraftRun,1);
signalID2 = getSignalIDByIndex(aircraftRun,2);

Задайте значения допуска

Можно задать значения допуска, чтобы использовать в сравнении в качестве свойства в регистрируемом Simulink.sdi.Signal объект. Используйте Simulink.sdi.getSignal функционируйте, чтобы получить доступ к Signal объект с помощью ID сигнала.

signal1 = Simulink.sdi.getSignal(signalID1);
signal1.AbsTol = 0.1;

Сравните сигналы

Используйте Simulink.sdi.compareSignals функция, чтобы сравнить сигналы ввода и вывода. Этот пример использует isValidSignalID функция, чтобы проверить, что оба идентификатора сигнала все еще допустимы прежде, чем вызвать Simulink.sdi.compareSignals функция. ID сигнала становится недопустимым, когда сигнал удален от Инспектора Данных моделирования. После сравнения проверяйте состояние в Simulink.sdi.DiffSignalResult объект.

if (isValidSignalID(aircraftRun,signalID1) && isValidSignalID(aircraftRun,signalID2))
    sigDiff = Simulink.sdi.compareSignals(signalID1,signalID2);

    match = sigDiff.Status
end
match = 
OutOfTolerance

Результат сравнения вне допуска. Можно использовать Simulink.sdi.view функция, чтобы смотреть и анализировать результаты сравнения.

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

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

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

load_system('vdp')

% Get port handles
x1_handles = get_param('vdp/x1','PortHandles');
x1 = x1_handles.Outport(1);
x2_handles = get_param('vdp/x2','PortHandles');
x2 = x2_handles.Outport(1);

% Mark signals for streaming
Simulink.sdi.markSignalForStreaming(x1,'on');
Simulink.sdi.markSignalForStreaming(x2,'on');

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

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

sim('vdp');

Simulink.sdi.view

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

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

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

load_system('slexAircraftExample')

lines = get_param('slexAircraftExample','Lines');

sig1handle = lines(1).Handle;
sig2handle = lines(2).Handle;

Simulink.sdi.markSignalForStreaming(sig1handle,'on')
Simulink.sdi.markSignalForStreaming(sig2handle,'on')

Симулируйте модель и просмотрите сигналы

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

sim('slexAircraftExample')

Simulink.sdi.view

Входные параметры

свернуть все

Блок path для блока с желаемым сигналом, соединенным с одним из его выходных портов.

Пример: 'slexAircraftExample/Pilot'

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

Пример 1

Логгирование состояния желаемо для сигнала.

  • 'on' – Станьте входящими в систему для сигнала.

  • 'off' – Станьте выходящими из системы для сигнала.

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

Пример: x1_handles.Outport(1)

Указатель линии для сигнала.

Пример: lines(1).Handle

Введенный в R2015b