Main Content

モデル変更後の AUTOSAR マッピングの増分更新

AUTOSAR ソフトウェア コンポーネント モデルを開発するとき、関数 autosar.api.create を使用して、モデルに追加した Simulink® 要素をインクリメンタルに設定およびマッピングすることができます。マッピングされた AUTOSAR モデルに autosar.api.create を使用した場合、Simulink から AUTOSAR への現在のマッピングが再作成または置換されることはありません。代わりに、この関数によってマッピングがモデルの変更に合わせて更新されます。この関数は、次のように動作します。

  • 現在のモデル コンフィギュレーションとマッピングは保持します。

  • マッピングされていないモデル要素を検出し、マッピングします。

  • 削除されたモデル要素について AUTOSAR ディクショナリを更新します。

この例では、マッピングされた AUTOSAR ソフトウェア コンポーネント モデルに入力端子と出力端子を追加します。その後、autosar.api.create を使用して、対応する AUTOSAR 要素を既定の名前とプロパティで作成し、マッピングします。増分更新の後、必要に応じて、既定の名前とプロパティを編集できます。

  1. マッピングされた AUTOSAR ソフトウェア コンポーネント モデルを開きます。この例では、ARXML ファイルから Controller という名前のモデルを作成します。ARXML ファイルは、既定の MATLAB® 検索パス上の matlabroot/examples/autosarblockset/data にあります。次のコマンドを使用します。

    ar = arxml.importer('ThrottlePositionControlComposition.arxml');
    createComponentAsModel(ar,'/Company/Components/Controller',...
        'ModelPeriodicRunnablesAs','AtomicSubsystem');

    コード マッピング エディターの [Inports] タブおよび [Outports] タブで、最初の時点で、モデルに含まれる Simulink 入力端子および出力端子の Simulink から AUTOSAR へのマッピングはこのようになります。

  2. サブシステム ブロック Runnable_Step_sts に入力端子と出力端子を追加し、そのサブシステムの中に、対応する入力端子と出力端子を追加します。たとえば、サブシステムの中において、入力端子 Ctrl_Override_read と出力端子 ThrCommand_Override_write を追加します。最上位レベルにおいて、入力端子 Ctrl_Override と出力端子 ThrCommand_Override を追加します。これらの入力端子と出力端子を接続します。

  3. 追加した入力端子および出力端子を設定するには、関数 autosar.api.create を呼び出します。以下の形式のいずれかを使用します。

    autosar.api.create('Controller','incremental');
    autosar.api.create('Controller');

    関数の構文と動作の詳細については、autosar.api.create を参照してください。

  4. コード マッピング エディターの [Inports] タブおよび [Outports] タブで、モデルに含まれる Simulink 入力端子および出力端子の Simulink から AUTOSAR への更新後のマッピングはこのようになります。追加された入力端子と出力端子がそれぞれ、関数によって AUTOSAR ディクショナリ内に作成された AUTOSAR ポートおよびデータ要素にマッピングされていることに注目してください。また、各データ要素を所有する S-R インターフェイスも関数によって作成されます。

  5. AUTOSAR ディクショナリ内に作成された AUTOSAR ポート、S-R インターフェイス、およびデータ要素には、関数によって既定の名前とプロパティが付与されています。ピア要素または設計要件に対応するよう、名前とプロパティを編集できます。たとえば、作成されたデータ要素名を Value に変更すると、このモデル内のその他の S-R インターフェイス データ要素に合わせることができます。

参考

関連するトピック