isValidSignalID

Класс: Simulink.sdi.Run
Пакет: Simulink.sdi

Определите, допустим ли ID сигнала в рамках запуска

Синтаксис

isValid = runObj.isValidSignalID(signalID)

Описание

isValid = runObj.isValidSignalID(signalID) возвращает логическую индикацию относительно ли signalID соответствует сигналу в Simulink.sdi.Run объект runObj.

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

развернуть все

Уникальный числовой идентификатор сигнала.

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

развернуть все

Логический индикатор валидности ID сигнала.

  • true когда signalID соответствует сигналу в объекте запуска.

  • false когда signalID не соответствует сигналу в объекте запуска.

Примеры

развернуть все

Этот пример использует 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
out = 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 = getSignalIDByIndex(aircraftRun,1);
signalID2 = getSignalIDByIndex(aircraftRun,2);

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

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

    % Check whether signal result status
    match = sigDiff.Status
end
match = 
OutOfTolerance

Представленный в R2012b