主要内容

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

データ測定およびキャリブレーションのためのASAP2ファイルのエクスポート

ASAM MCD-2 MC標準(ASAP2とも呼ばれる)は协会的标准化自动化和测量系统(ASAM)によって推奨されているデータ定義の標準です。ASAP2は測定,キャリブレーション,および診断システムで使用されるデータの非オブジェクト指向の説明です。ASAMとASAM MCD-2 MC (ASAP2)標準の詳細については,www.asam.netのASAM Webサイトを参照してください。

コードジェネレーターを使用すると,コード生成プロセス中にモデルに関する情報が含まれるASAP2ファイルをエクスポートできます。

対話型のASAP2ファイル生成の例を実行できます。例を開くには、MATLAB®コマンドプロンプトで次のように入力します。

rtwdemo_asap

金宝app®ASAP2ファイル生成の编码器™サポートはバージョンニュートラルです。既定の設定でソフトウェアはASAP2 1.31版形式を生成しますが,生成されたモデル情報はその他のASAP2バージョンと通常,互換性があります。ASAP2ファイル生成もASAP2測定とキャリブレーションツールの特定のニーズに関してニュートラルです。ソフトウェアはASAP2ファイル生成をカスタマイズしてASAP2バージョンを生成し,ASAP2ツールの特定のニーズを満たすために使用可能なカスタマイズAPIを提供します。

前提条件

ASAP2ファイル生成を使用するには,以下を理解しなければなりません。

ASAP2をサポートするシステムターゲットファイル

ASAP2ファイル生成は,さまざまなシステムターゲットファイル構成で使用できます。たとえば,GRT ベースおよび ERT ベースの構成によって、コード生成およびビルド プロセスの一部として ASAP2 ファイルを生成できます。

システムターゲットファイル構成を使用してASAP2ファイルを生成する手順については,ASAP2ファイルの生成を参照してください。

ASAP2情報の定義

パラメーターと信号のASAP2情報の定義

ASAP2ファイル生成プロセスではモデルのパラメーターと信号に関する情報が必要です。この情報の一部はモデル自体に含まれています。ワークスペースまたはデータディクショナリで仿真金宝app软件データオブジェクトを使用して,ASAP2ファイル生成処理を完了します。ワークスペースオブジェクトの使用はオプションである場合があります。

モデルデータエディターおよび組み込み仿真软金宝app件データオブジェクトを使用して,情報を提供します。たとえば,金宝app仿真软件。信号オブジェクトを使用して测量情報を提供し,金宝app仿真软件。参数オブジェクトを使用して特性情報を提供します。金宝app仿真软件。信号金宝app仿真软件。参数から派生したデータクラスのデータオブジェクトを使用して情報を提供できます。データオブジェクトおよびモデルデータエディターを使用したデータプロパティの設定を参照してください。

以下の表は,ASAP2ファイル生成に必要な最小限のデータ属性セットを示しています。一部のデータ属性はモデル内で定義されます。その他の属性はオブジェクトのプロパティで指定されます。金宝app仿真软件。信号または金宝app仿真软件。参数オブジェクトで定義された属性の場合,表には関連付けられたプロパティ名がリストされます。

データ属性

定義場所

プロパティ名

名前(シンボル)

モデルおよびデータオブジェクト

パラメーターまたは信号名が解決するデータオブジェクトのハンドルから継承

説明

データオブジェクト

描述

データ型

モデルまたはデータオブジェクト

数据类型

スケーリング
(固定小数点データ型の場合)

モデルまたはデータオブジェクト

数据类型

許容される最小値

モデルまたはデータオブジェクト

最小值

許容される最大値

モデルまたはデータオブジェクト

马克斯

単位

モデルまたはデータオブジェクト

单位

メモリアドレス(オプション)

モデルまたはデータオブジェクト

MemoryAddress_ASAP2(オプション,メモリアドレス属性を参照)

メモリアドレス属性

コード生成前にメモリアドレス属性が不明の場合は,コードジェネレーターは生成されたASAP2ファイルにECU的地址プレースホルダーテキストを挿入します。生成されたファイルを後処理することにより,プレースホルダーの代わりに実際のアドレスを使用することができます。例については,matlabroot/工具箱/ rtw /目标/ asap2 / asap2 /asap2post.mファイルを参照してください。asap2post.mは提供されたリンカーマップファイルを解析し,ASAP2ファイル内のECU的地址プレースホルダーを実際のメモリアドレスで置き換えます。リンカーマップファイルはコンパイラごとに異なるため,asap2post.mの正規表現コードを変更して実際に使用するリンカーマップの形式に合わせなければならないことがあります。

嵌入式编码器がシステムにインストールされており,かつ組み込みターゲット用の可执行的和可链接格式(精灵)ファイルまたはプログラムデータベース(PDB)ファイルを生成している場合,関数rtw.asap2SetAddressを使用してECUアドレス置き換えを自動化することができます。詳細については,ASAP2ファイルの自動的なECUアドレス置き換え(嵌入式编码)を参照してください。

コード生成前にメモリアドレス属性がわかっている場合,データ項目またはデータオブジェクトで定義することができます。既定の設定では,MemoryAddress_ASAP2プロパティは金宝app仿真软件。信号金宝app仿真软件。参数のいずれのデータオブジェクトクラスにも存在しません。この属性を追加するには,MemoryAddress_ASAP2という名前のプロパティを金宝appクラスまたはASAP2クラスのサブクラスであるカスタムクラスに追加します。金宝app仿真软件データクラスをサブクラス化する方法の詳細については,データクラスの定義を参照してください。

以下の表は,以前のリリースのASAP2オブジェクトプロパティに代わって新たに使用されることになった仿真软件金宝appオブジェクトプロパティを示しています。

ASAP2と金宝appのパラメーターおよび信号オブジェクトプロパティの相違点

ASAP2オブジェクトプロパティ(以前)

金宝app仿真软件オブジェクトプロパティ(現在)

LONGID_ASAP2

描述

PhysicalMin_ASAP2

最小值

PhysicalMax_ASAP2

马克斯

Units_ASAP2

单位

ASAP2ファイルの自動的なECUアドレス置き換え(嵌入式编码器

嵌入式编码器がシステムにインストールされており,かつ組み込みターゲット用の可执行的和可链接格式(精灵)ファイルまたはプログラムデータベース(PDB)ファイルを生成している場合,関数rtw.asap2SetAddressを使用して生成されたASAP2ファイル内のECU的地址プレースホルダーメモリアドレス値を実際のアドレスで置き換える処理を自動化することができます。

コード生成前にメモリアドレス属性が不明の場合は,次に示すとおり,コードジェネレーターは生成されたASAP2ファイルにECU的地址プレースホルダーテキストを挿入します。

/begin CHARACTERISTIC /* Name */ Ki /* Long Identifier */ "" /* Type */ VALUE /* ECU Address */0 x0000/ * @ECU_Address@Ki@ * /

ECU的地址プレースホルダーの代わりに実際のアドレスを使用するには,生成されたASAP2ファイルを関数rtw.asap2SetAddressを使用して処理します。構文は,次のようになります。

rtw.asap2SetAddress (ASAP2File InfoFile)

引数は生成されたASAP2ファイルの名前およびモデル用に生成された実行可能精灵ファイル,微软ツールチェーンのPDBファイル,または矮デバッグ情報ファイルの名前を指定する文字列ベクトルです。関数rtw.asap2SetAddressは呼び出されると,指定された精灵ファイル,PDBファイルまたは矮ファイルから実際のECUアドレスを抽出し,ASAP2ファイル内のプレースホルダーを実際のアドレスで置き換えます。次に例を示します。

/begin CHARACTERISTIC /* Name */ Ki /* Long Identifier */ "" /* Type */ VALUE /* ECU Address */0 x40009e60

ルックアップテーブル向けASAP2情報の定義

金宝app仿真软件编码器ソフトウェアは,ルックアップテーブルデータとそのブレークポイント向けにASAP2の説明を生成します。本ソフトウェアでは,1次元テーブルデータを曲线情報2次元テーブルデータを地图情報,およびブレークポイントをAXIS_DESCR情報とAXIS_PTS情報として表現します。次の仿金宝app真软件查找表ブロックのいずれかを使用して,ルックアップテーブルをモデル化できます。

  • 直接查找表(一天)- 1次元と2次元

  • 插值使用Prelookup - 1次元と2次元

  • 一维查找表

  • 二维查找表

  • 一天的查找表- 1次元と2次元

このソフトウェアでは,次の種類のルックアップテーブルブレークポイント(軸ポイント)がサポートされます。

ブレークポイントの種類 生成される情報
調整可能で複数のテーブル軸間で共有(共通軸)

COM_AXIS

固定で調整不可(固定軸)

FIX_AXISの次のバリアントのいずれか

  • FIX_AXIS_PAR——ブレークポイントが等間隔配置の整数で,等間隔配置が2のべき乗の場合

  • FIX_AXIS_PAR_DIST——ブレークポイントが等間隔配置の整数の場合

  • FIX_AXIS_PAR_LIST——ブレークポイントが非等間隔配置の整数の場合

調整可能だが複数のテーブル軸間で共有されない(標準軸)

STD_AXIS

ASAP2コード生成のためにブロックを設定するときは,次のようにします。

  • テーブルデータの場合,非汽车ストレージクラスをもつ金宝app仿真软件。参数データオブジェクトを使用します。

  • 複数のテーブル軸間(COM_AXIS)で共有される調整可能なブレークポイントデータの場合,非汽车ストレージクラスをもつ金宝app仿真软件。参数データオブジェクトを使用します。

  • 固定の調整できないブレークポイントデータ(FIX_AXIS)の場合,ブロックパラメーターダイアログボックスで指定されたワークスペースの変数または配列を使用します。ブレークポイントはコードに整数として格納しなければなりません。データ型は組み込み整数型(int8int16int32uint8uint16,またはuint32),固定小数点データ型,または同等のエイリアスタイプでなければなりません。

  • 複数テーブル間(STD_AXIS)で共有されない調整可能なブレークポイントデータの場合

    1. 金宝app仿真软件。公共汽车オブジェクトを作成して,结构体パッケージング(フィールドの名前と順序)を定義します。パラメーター構造体のフィールドは、ルックアップ テーブル データおよびルックアップ テーブル ブロックの各軸に対応していなければなりません。たとえば、次元数が 2 の一天的查找表ブロックでは,構造体に存在するフィールド数は3でなければなりません。このバスオブジェクトは,ルックアップ特性のレコードレイアウトを記述します。

    2. 金宝app仿真软件。参数オブジェクトを作成して,調整可能なパラメーターを表現します。

    3. テーブル値と軸値を作成します。

    4. オプションとして,パラメーターオブジェクトの[単位][最小値],および[最大値]の各プロパティを指定します。

次の例は,標準軸形式で生成されASAP2ファイルに埋め込まれる一天的查找表レコードを示したものです。

/begin character /* Name */STDAxisParam.../*记录布局*/Lookup1D_X_WORD_Y_FLOAT32_IEEE...开始AXIS_DESCR /* x轴点描述*//*轴类型*/ STD_AXIS.../end AXIS_DESCR /end CHARACTERISTIC /begin RECORD_LAYOUT Lookup1D_X_WORD_Y_FLOAT32_IEEE AXIS_PTS_X 1 WORD INDEX_INCR DIRECT FNC_VALUES 2 FLOAT32_IEEE COLUMN_DIR DIRECT /end RECORD_LAYOUT . /

メモ

モデル例rtwdemo_asap2は,調整可能(COM_AXIS)と固定(FIX_AXIS)の両方のルックアップテーブルのブレークポイントも含めた,查找表ブロック用にASAP2ファイルを生成する方法を示します。

ASAP2ファイルの生成

ASAP2ファイルの生成

汎用リアルタイムシステムターゲットファイルまたは嵌入式编码器システムターゲットファイルを使用して,ASAP2ファイルをコード生成とビルドプロセスの一部として生成します。

組み込みASAP2をサポートするシステムターゲットファイルを使用して,ASAP2ファイルを生成します。例については,ASAP2のモデル例rtwdemo_asap2を参照してください。

锐信ベースまたはERTベースのシステムターゲットファイルの使用

汎用リアルタイム(GRT)システムターゲットファイルまたは嵌入式编码器システムターゲットファイルを使用してモデルのASAP2データ定義を生成するには,次のようにします。

  1. モデルインターフェイス要素のCコード生成の構成の説明に従って,コードマッピングエディターを使用してストレージクラスを信号,ブロックの状態,モデルパラメーターに適用します。

    第1次のうちつ以上の条件に該当する場合,ASAP2ファイル内でパラメーターは表現されません。

    • ストレージクラス(汽车)(FileScope)(结构)または(默认)を((默认模式)を使用して)適用している。

    • (嵌入式编码器ディクショナリ]を使用してストレージクラスを適用している。

    • コードジェネレーターでマクロ変数またはアドレス指定不可能変数が生成されるストレージクラスを適用している。

  2. プロパティインスペクターを使用して,各データ要素の残りのストレージクラスプロパティを設定します。

  3. モデルコンフィギュレーションパラメーター[システムターゲットファイル]GRTをベースまたはERTベースのシステムターゲットファイルに設定します。

  4. モデルコンフィギュレーションパラメーター[ASAP2インターフェイス]を選択します。

  5. パラメーター[コード生成のみ]を選択します。

  6. [適用]をクリックします。

  7. コードを生成します。

    コードジェネレーターが,ASAP2ファイルをビルドフォルダーに書き込みます。既定の設定では,ファイルは模型と命名されます。ここで模型.a2lはモデル名です。ASAP2セットアップ ファイルによって ASAP2 のファイル名が制御されます。詳細については、生成されたASAP2ファイルのカスタマイズを参照してください。

参照モデル用ASAP2ファイルの生成

ビルドプロセスにより,モデル参照階層内の各参照モデル用のASAP2ファイルを生成することができます。生成されたASAP2ファイルで,测量レコードは参照モデル内の信号と状態を表します。

参照モデル用のASAP2ファイルを生成するには,参照階層内の最上位モデルと各参照モデルのASAP2ファイル生成を選択します。汎用リアルタイムターゲットまたは嵌入式编码器ターゲットを使用している場合,锐信ベースまたはERTベースのシステムターゲットファイルの使用で説明されている最上位モデルと各参照モデル向けの手順に従います。

最上位のモデルおよび参照モデル用ASAP2ファイルのマージ

関数rtw.asap2MergeMdlRefsを使用して,最上位のモデルおよび参照モデル用に生成されたASAP2ファイルをマージします。関数の構文は,次のようになります。

(地位、信息)= rtw.asap2MergeMdlRefs (topModelName asap2FileName)

  • topModelNameは1つ以上の参照モデルを含むモデルの名前です。

  • asap2FileNameはマージされたASAP2ファイルに指定する名前です。

  • オプション状态は,マージが完了した場合は假(逻辑0),完了していない場合には真实(逻辑1)を返します。

  • オプション信息は,状态が真正の場合に,マージの失敗に関する詳細な情報を返します。それ以外の場合は,空の文字ベクトルを返します。

次の例を考えます。

(地位、信息)= rtw.asap2MergeMdlRefs(“myTopMdl”、“merged.a2l”)
このコマンドは最上位モデルmyTopMdlと,その参照モデル用に生成されたASAP2ファイルを,ファイルmerged.a2lにマージします。

モデル例rtwdemo_asap2には,ASAP2ファイルをマージする例が含まれています。

ASAP2ファイルの構造体

以下の表はASAP2ファイルの基本構造の概要を示し,ファイルの各部の作成に使用される目标语言编译器(TLC)の関数とファイルについて説明したものです。

  • ASAP2ファイルの静的部分は"太字"で示されます。

  • 関数呼び出しは() % < FunctionName >で示されます。

ファイルのセクション

asap2main。tlcの内容

関数定義を格納したTLCファイル

ファイルヘッダー

% < ASAP2UserFcnWriteFileHead () >

asap2userlib.tlc

/开始项目”“

/开始项目“% < ASAP2ProjectName >”

asap2setup.tlc

/开始头”“
の内容

/开始头“% < ASAP2HeaderName >”
% < ASAP2UserFcnWriteHeader () >

asap2setup.tlc
asap2userlib.tlc

/结束头

/结束头

asap2userlib.tlc

/开始模块”“
模块の内容:

/开始模块“% < ASAP2ModuleName > "}

asap2setup.tlc
asap2userlib.tlc

——A2ML
——MOD_PAR
——MOD_COMMON
...

% < ASAP2UserFcnWriteHardwareInterface () >

asap2userlib.tlc

モデル依存の模块の内容:

% < SLibASAP2WriteDynamicContents () >
ユーザー定義関数を呼び出します。

asap2lib.tlc

——RECORD_LAYOUT
- - - - - -特点
——ParameterGroups
——ModelParameters

…WriteRecordLayout_TemplateName ()

…WriteCharacteristic_TemplateName ()
…WriteCharacteristic_Scalar ()

用户/模板/……

——测量
——ExternalInputs
——BlockOutputs

…WriteMeasurement ()

asap2userlib.tlc

——COMPU_METHOD

…WriteCompuMethod ()

asap2userlib.tlc

/终端模块

/终端模块

ファイルフッター/テール

% < ASAP2UserFcnWriteFileTail () >

asap2userlib.tlc

データ測定とキャリブレーションのためのホストベースのASAM-ASAP2データ定義ファイルの作成

このモデルではASAP2データエクスポートを説明します。ASAP2は Association for Standardization of Automation and Measuring Systems (ASAM) によって推奨されているデータ定義の標準です。

モデル例を開く

モデル例rtwdemo_asap2を開きます。

open_system (“rtwdemo_asap2”);

ASAP2は測定,キャリブレーションおよび診断システムで使用されるデータの非オブジェクト指向の説明です。ASAMおよびASAP2標準の詳細については,ASAM Webサイトhttps://www.asam.netを参照してください。

ASAP2データ定義は仿真金宝app软件®データオブジェクトとテストポイント信号で実現されています。目标语言编译器(TLC)を使用すると,アプリケーションに対し,高度にカスタマイズされたソリューションを作成できます。ASAP2ファイル生成の詳細については,仿金宝app真软件编码器®のドキュメンテーションを参照してください。

ASAP2ファイル生成は[コンフィギュレーションパラメーター]ダイアログボックスの[コード生成]、[インターフェイス]ペインで[ASAP2インターフェイス]を設定することにより構成できます。

関連するトピック