メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

Simulink で CDFX ファイルを使用する

この例では、CDFX ファイルからのキャリブレーション データを Simulink ® モデルへの入力として使用する方法を示します。

データのインポート

cdfx 関数を使用してキャリブレーション データをインポートします。

cdfxObj = cdfx("CDFXExampleFile.cdfx")
cdfxObj = 
  CDFX with properties:

       Name: "CDFXExampleFile.cdfx"
       Path: "/tmp/Bdoc25a_2864802_1971459/tpcbc94420/vnt-ex88524458/CDFXExampleFile.cdfx"
    Version: "CDF20"

ローカル変数のインスタンス化

getValue を使用して、必要なパラメータを MATLAB ® ワークスペースに抽出します。

gainParam = getValue(cdfxObj, "ASAM.C.SCALAR.GAIN")
gainParam = 
3
mapParam = getValue(cdfxObj, "ASAM.C.MAP")
mapParam = struct with fields:
    PhysicalValue: [5×5 double]
            Axis1: [1×1 struct]
            Axis2: [1×1 struct]

ルックアップゲインモデル

open_system("CDFXSimulinkModel.slx");
cdfxMdl = gcs
cdfxMdl = 
'CDFXSimulinkModel'

このモデルには以下が含まれます:

  • CDFX ファイルの ASAM.C.MAP パラメータを表す 2-D Lookup Table ブロック。「テーブル データ」フィールドはインスタンスの物理的な値を表し、「ブレークポイント」フィールドは軸の物理的な値を表します。

  • CDFX ファイルの ASAM.C.SCALAR.GAIN パラメータを表す Gain ブロック。

  • シミュレーション データをログに記録するための To Workspace ブロック。

インデックスロジックサブシステム

インデックス ロジック サブシステムは、信号ルーティング ブロックおよび Triggered Subsystem とともに、ASAM.C.MAP パラメータの軸の物理値を使用して、ルックアップ インデックスのすべての有効な組み合わせを生成します。この構成は、キャリブレーション パラメータの可能な入力値の全範囲にわたってテストする必要がある場合に役立ちます。

MATLAB のログ出力データ

シミュレーションの出力は、To Workspace ブロックによって MATLAB に送信され、mapData と呼ばれる時系列オブジェクトとして保存されます。このデータは、MATLAB ワークスペースで検査および可視化できるようになりました。

sim(cdfxMdl);

plot(mapData)
title("Simulation Output for ASAM.C.MAP")

Figure contains an axes object. The axes object with title Simulation Output for ASAM.C.MAP, xlabel Time (seconds), ylabel data contains an object of type stair.