最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

getSignalIDByIndex

クラス: Simulink.sdi.Run
パッケージ: Simulink.sdi

インデックスにある信号の信号 ID を返す

構文

signalID = runObj.getSignalIDByIndex(index)

説明

signalID = runObj.getSignalIDByIndex(index)Simulink.sdi.Run オブジェクトの指定された index にある信号の信号 ID を返します。信号 ID を使用して Simulink.sdi.Signal オブジェクトを作成するか、Simulink.sdi.compareSignals で信号の比較を実行できます。

入力引数

すべて展開する

実行内の信号のインデックス。

出力引数

すべて展開する

一意の数値信号識別子。

すべて展開する

この例では、slexAircraftExample モデルを使用して、制御システムの入力信号と出力信号の比較を示します。例では、ストリーミング対象の信号をマークした後に、シミュレーション実行用の実行オブジェクトを取得します。実行オブジェクトの信号 ID で、比較する信号を指定します。

% 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

代替方法

シミュレーション データ インスペクター UI を使用して、信号プロパティにアクセスしたり、信号を表示したり、データをワークスペースにエクスポートできます。詳細については、シミュレーション データ インスペクター ワークスペースの構成を参照してください。

R2012b で導入