Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

getAllSignalIDs

Simulink.sdi.Run オブジェクト内の信号の信号 ID をすべて取得する

説明

sigIDs = getAllSignalIDs(runObj) は、Simulink.sdi.Run オブジェクト runObj 内のすべての信号の信号 ID を含む配列 sigIDs を返します。実行内の多くの信号またはすべての信号を操作しなければならない場合は、関数 getAllSignalIDs を使用します。特定の信号を解析する必要があるだけの場合、関数 getSignalIDsByName または関数 getSignalIDByIndex を使用して単一の Signal オブジェクトにアクセスできます。

すべて折りたたむ

関数 getAllSignalIDs を使用して、実行内のすべての信号の信号 ID を含む配列にアクセスできます。この例では、slexAircraftExample モデルをシミュレートして実行データを作成してから、実行内の信号の信号 ID を取得し、その ID を使用して信号を比較する方法を示します。

実行の作成

この例では、データを記録するモデルをシミュレートすることで、シミュレーション データ インスペクターで実行を作成します。slexAircraftExample モデルを読み込み、Stick 信号および alpha, rad 信号をログ記録するようマークします。

load_system('slexAircraftExample')

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

モデルをシミュレートします。

out = sim('slexAircraftExample');

実行データおよび信号 ID へのアクセス

関数 Simulink.sdi.getCurrentSimulationRun を使用して、slexAircraftExample モデルをシミュレートしたときに作成された実行にアクセスします。

airRun = Simulink.sdi.getCurrentSimulationRun('slexAircraftExample');

関数 getAllSignalIDs を使用して、ログ信号の信号 ID の配列を取得します。

sigIDs = getAllSignalIDs(airRun);

ログ信号の比較

信号 ID を使用してログ信号を比較できます。関数 Simulink.sdi.getSignal を使用して、配列 sigIDs 内の最初の ID をもつ Simulink.sdi.Signal オブジェクトを取得します。返される Signal オブジェクトの Name プロパティをチェックします。

sigID1 = sigIDs(1);
sig1 = Simulink.sdi.getSignal(sigID1);
sig1.Name
ans = 
'alpha, rad'

入力信号 Stick を信号比較のベースライン信号として使用します。

sigID2 = sigIDs(2);
DSR = Simulink.sdi.compareSignals(sigID2,sigID1);
DSR.Status
ans = 
OutOfTolerance

信号は一致しません。Signal オブジェクトの許容誤差プロパティを使用して、データをプログラムによって解析できます。または、関数 Simulink.sdi.view を使用してシミュレーション データ インスペクターを開いて、UI を使用して比較結果を表示および解析できます。

入力引数

すべて折りたたむ

アクセスする信号が含まれる実行。Simulink.sdi.Run オブジェクトとして指定します。

出力引数

すべて折りたたむ

実行内の信号の信号 ID。配列として返されます。

R2020a で導入