Main Content

パラメーター コンポーネントと通信するための AUTOSAR ポート パラメーターの設定

AUTOSAR 規格ではパラメーター通信のポートベース パラメーターを定義しています。AUTOSAR パラメーター通信は、パラメーター ソフトウェア コンポーネント (ParameterSwComponent) およびパラメーター データへのポートベースのアクセスを要する 1 つ以上のアトミック ソフトウェア コンポーネントに依存します。ParameterSwComponent は AUTOSAR パラメーターを含むメモリを表し、接続されたアトミック ソフトウェア コンポーネントにパラメーター データを提供します。ポートベースのパラメーター ワークフローについては、ポート パラメーターを参照してください。

Simulink® では、AUTOSAR ポートベース パラメーター通信の受信側をモデル化できます。AUTOSAR アトミック ソフトウェア コンポーネントをパラメーター受信側として設定するには、以下を行います。

  1. AUTOSAR コンポーネント モデルで、AUTOSAR ディクショナリに AUTOSAR パラメーター インターフェイス、パラメーター データ要素、およびパラメーター受信側ポートを作成します。

  2. Simulink モデル ワークスペースで、パラメーターを作成し、そのパラメーターを引数としてマークして、初期値を設定します。Simulink パラメーター、ルックアップ テーブル、およびブレークポイント オブジェクトを使用できます。

  3. Simulink モデル ワークスペース パラメーターまたはルックアップ テーブルを AUTOSAR パラメーター受信ポートとパラメーター インターフェイス データ要素にマッピングします。コード マッピング エディターの [パラメーター] タブまたは関数 mapParameter を使用します。

この例では、AUTOSAR ソフトウェア コンポーネントをパラメーター通信の受信側として設定する方法を示します。

  1. ソフトウェア コンポーネントがパラメーター データへのポートベースのアクセスを必要とする、AUTOSAR コード生成用に設定されたモデルを開きます。

  2. AUTOSAR ディクショナリを開きます。パラメーター インターフェイスをモデルに追加するには、[パラメーター インターフェイス] ビューを選択し、[追加] ボタン をクリックします。[インターフェイスの追加] ダイアログ ボックスで、新しいインターフェイスの名前を指定し、[データ要素数] を 1 に設定します。[追加] をクリックします。

  3. [パラメーター インターフェイス] を展開し、[DataElements] ビューを選択します。作成した関連データ要素のプロパティ (名前など) を調べて修正します。

  4. [AtomicComponents] を展開し、コンポーネントを展開します。パラメーター受信ポートをモデルに追加するには、[ParameterReceiverPorts] ビューに移動し、[追加] ボタン をクリックします。[ポートの追加] ダイアログ ボックスで、新しいポートの名前を指定し、[インターフェイス] を作成したパラメーター インターフェイスの名前に設定します。[追加] をクリックします。

  5. Simulink モデル ワークスペースで、パラメーターのデータ オブジェクトを作成します。たとえば、モデル エクスプローラーを使用します。データ オブジェクトを選択した状態で、[Name] および [Value] フィールドを設定します。パラメーターをモデル引数として (複数インスタンス モデルの各インスタンスに固有) 設定するには、[引数] チェック ボックスをオンにします。

    モデルのデータ オブジェクト名を参照します。たとえば、Gain ブロックの [ゲイン] パラメーター フィールドに k1 を入力します。

  6. コード マッピング エディターを開き [パラメーター] タブを選択します。[Model Parameter Arguments] グループで、作成したパラメーター データ オブジェクトを選択します。[マッピング先] メニューで、AUTOSAR パラメーター タイプ [PortParameter] を選択します。

  7. パラメーターの他のコードとキャリブレーション属性を表示および変更するには、Icon to configure additional code mappings properties アイコンをクリックします。

    1. [ポート] を AUTOSAR ディクショナリで設定したパラメーター受信ポートの名前に設定します。

    2. [DataElement] を AUTOSAR ディクショナリで設定したパラメーター インターフェイス データ要素の名前に設定します。

    詳細については、モデル ワークスペース パラメーターの AUTOSAR コンポーネント パラメーターへのマッピングを参照してください。

  8. AUTOSAR コンポーネント モデルのコードを生成すると、次のようになります。

    • エクスポートされた ARXML ファイルには、パラメーター受信側コンポーネント、パラメーター インターフェイス、パラメーター データ要素、およびパラメーター受信ポートが含まれます。

      <PARAMETER-INTERFACE UUID="...">
          <SHORT-NAME>myParamInterface</SHORT-NAME>
          <IS-SERVICE>false</IS-SERVICE>
          <PARAMETERS>
              <PARAMETER-DATA-PROTOTYPE UUID="...">
                  <SHORT-NAME>ParamElement</SHORT-NAME>
              ...
              </PARAMETER-DATA-PROTOTYPE>
          </PARAMETERS>
      </PARAMETER-INTERFACE>
    • 生成された C コードには、AUTOSAR ポート パラメーターの関数 Rte の呼び出しが含まれます。

      /* Model step function */
      void mArPortParam_Step(void)
      {
      ...
        Rte_IWrite_mArPortParam_Step_Out2_Out2(Rte_Prm_myParamPort_ParamElement() *
          Rte_IRead_mArPortParam_Step_In2_In2());
      }

    実行時に、ソフトウェアはパラメーター データ要素にポートベース パラメーターとしてアクセスできます。

参考

|

関連する例

詳細