Main Content

getAllSignals

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

R2020a 以降

説明

sigs = getAllSignals(runObj) は、Simulink.sdi.Run オブジェクト runObj に含まれる信号に対応する Simulink.sdi.Signal オブジェクト sigs の配列を返します。実行内の多くの信号またはすべての信号を操作しなければならない場合は、関数 getAllSignals を使用します。特定の信号を解析しなければならない場合、関数 getSignalsByName または関数 getSignalByIndex を使用して単一の Signal オブジェクトにアクセスできます。

すべて折りたたむ

実行内のすべてのデータを解析するときは、関数 getAllSignals を使用して Simulink.sdi.Run オブジェクト内の各信号の Simulink.sdi.Signal オブジェクトにアクセスできます。この例では、sldemo_autotrans モデルに記録された信号データにアクセスして検査する方法を示します。

実行の作成

この例では、データを記録するモデルをシミュレートすることで、シミュレーション データ インスペクターで実行を作成します。

out = sim('sldemo_autotrans');

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

シミュレーション データ インスペクターのプログラムによるインターフェイスを使用して、実行と信号データにアクセスします。関数 Simulink.sdi.getCurrentSimulationRun を使用して、sldemo_autotrans モデルをシミュレートしたときに作成された Run オブジェクトを取得します。

autoRun = Simulink.sdi.getCurrentSimulationRun('sldemo_autotrans');

関数 getAllSignals を使用して、ログ信号データを含む Signal オブジェクトの配列を取得します。

autoSigs = getAllSignals(autoRun);

for ループを使用して、配列内の各 Signal オブジェクトに含まれるデータを検査または解析できます。たとえば、各信号の名前をチェックできます。

count = length(autoSigs);
for idx = 1:count
    sig = autoSigs(idx);
    name = sig.Name;
    formatSpec = "The signal at index %d is named %s\n";
    fprintf(formatSpec,idx,name)
end
The signal at index 1 is named EngineRPM
The signal at index 2 is named Throttle
The signal at index 3 is named Brake
The signal at index 4 is named ShiftLogic:1
The signal at index 5 is named ImpellerTorque
The signal at index 6 is named OutputTorque
The signal at index 7 is named VehicleSpeed
The signal at index 8 is named TransmissionRPM

入力引数

すべて折りたたむ

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

出力引数

すべて折りたたむ

実行に含まれている信号。Simulink.sdi.Signal オブジェクトの配列として返されます。

バージョン履歴

R2020a で導入