Simulink.sdi.markSignalForStreaming

Станьте входящими в систему или прочь для сигнала

Синтаксис

Simulink.sdi.markSignalForStreaming(block,portIndex,log)
Simulink.sdi.markSignalForStreaming(portHandle,log)
Simulink.sdi.markSignalForStreaming(lineHandle,log)

Описание

пример

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, чтобы продемонстрировать сравнение сигналов ввода и вывода для системы управления. Пример отмечает сигналы для потоковой передачи, затем получает объект выполнения для запущенной симуляции. Идентификаторы сигнала от объекта выполнения задают сигналы, которые будут сравнены.

% Load model slexAircraftExample and mark signals for streaming
load_system('slexAircraftExample')
Simulink.sdi.markSignalForStreaming('slexAircraftExample/Pilot',1,'on')
Simulink.sdi.markSignalForStreaming('slexAircraftExample/Aircraft Dynamics Model',4,'on')

% Simulate model slexAircraftExample
sim('slexAircraftExample')

% Get run IDs for most recent run
allIDs = Simulink.sdi.getAllRunIDs;
runID = allIDs(end);

% Get Run object
aircraftRun = Simulink.sdi.getRun(runID);

% Get signal IDs
signalID1 = aircraftRun.getSignalIDByIndex(1);
signalID2 = aircraftRun.getSignalIDByIndex(2);

if (aircraftRun.isValidSignalID(signalID1))
    % Change signal tolerance
    signal1 = Simulink.sdi.getSignal(signalID1);
    signal1.AbsTol = 0.1;
end

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

    % Check whether signals match within tolerance
    match = sigDiff.match
end
match = logical
   0

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

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

Пользователь 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')
ans = 
  Simulink.SimulationOutput:

                logsout: [1x1 Simulink.SimulationData.Dataset] 

     SimulationMetadata: [1x1 Simulink.SimulationMetadata] 
           ErrorMessage: [0x0 char] 

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'

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

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

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

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

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

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

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

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

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

Введенный в R2015b