Main Content

AUTOSAR 共有パラメーターまたはインスタンスごとのパラメーターの設定

複数回インスタンス化される可能性のある AUTOSAR ソフトウェア コンポーネントで使用する AUTOSAR 共有パラメーター (SharedParameter) とインスタンスごとのパラメーター (PerInstanceParameter) をモデル化できます。共有パラメーターの値は、コンポーネントのすべてのインスタンス間で共有されます。インスタンスごとのパラメーター値は、各コンポーネント インスタンスに対して一意でプライベートな値です。AUTOSAR ランタイム環境では、キャリブレーション ツールでキャリブレーションおよび測定のための SharedParameterPerInstanceParameter にアクセスできます。

AUTOSAR 共有パラメーターまたはインスタンスごとのパラメーターをモデル化するには、ARXML ファイルからパラメーター定義をインポートするか、パラメーター コンテンツを Simulink® で作成します。共有パラメーターとインスタンスごとのパラメーターの上位のワークフローの詳細については、共有パラメーターとインスタンスごとのパラメーターを参照してください。

AUTOSAR パラメーターを Simulink でモデル化するには、モデル ワークスペース パラメーターを使用します。

AUTOSAR 共有パラメーターとしてのモデル ワークスペース パラメーターの設定

AUTOSAR 共有パラメーターを Simulink でモデル化するには、次のようにします。

  1. AUTOSAR SharedParameter の生成対象となるモデル ワークスペース パラメーターが含まれる AUTOSAR モデルを開きます。この例では、モデル autosar_swc_counter を使用します。

  2. Simulink で AUTOSAR の共有パラメーターをモデル化するには、モデル引数ではない (つまり、マルチインスタンス モデルの各インスタンスに一意でない) モデル ワークスペース パラメーターを設定します。たとえば、パラメーターのモデル エクスプローラーのビューで、[引数] プロパティをオフにします。モデル例 autosar_swc_counter で、パラメーター K の [引数] プロパティをオフにします。パラメーター [StorageClass][自動] に設定したままにします。

  3. AUTOSAR コード パースペクティブで、コード マッピング エディターを開き、[パラメーター] タブを選択します。使用可能なパラメーターのリストで、K を選択します。[マッピング先] ドロップダウン リストで、パラメーターのタイプ [SharedParameter] を選択します。共有パラメーターの AUTOSAR 属性を表示および変更するには、Icon to configure additional code mappings properties アイコンをクリックします。パラメーター コードおよびキャリブレーション属性の詳細については、モデル ワークスペース パラメーターの AUTOSAR コンポーネント パラメーターへのマッピングを参照してください。

コードを生成すると、次のようになります。

  • エクスポートされた ARXML ファイルに [SharedParameter] として設定したパラメーターの SHARED-PARAMETERS 記述が含まれます。

  • 生成した C コードには共有パラメーターが使用される Rte_CData 呼び出しが含まれます。

    autosar_swc_counter_B.Gain = Rte_CData_K() *
      Rte_IRead_Runnable_Step_RPort_InData();

AUTOSAR インスタンスごとのパラメーターとしてのモデル ワークスペース パラメーターの設定

AUTOSAR のインスタンスごとのパラメーターを Simulink でモデル化するには、次のようにします。

  1. AUTOSAR PerInstanceParameter の生成対象となるモデル ワークスペース パラメーターが含まれる AUTOSAR モデルを開きます。この例では、モデル autosar_swc_throttle_sensor を使用します。このモデルは autosar_swc_throttle_sensor の 2 つのインスタンスが含まれる AUTOSAR コンポジション モデル autosar_composition の一部です。

  2. Simulink で AUTOSAR のインスタンスごとのパラメーターをモデル化するには、モデル引数である (つまり、マルチインスタンス モデルの各インスタンスに一意である) モデル ワークスペース パラメーターを設定します。たとえば、パラメーターのモデル エクスプローラーのビューで、[引数] プロパティを選択します。モデル例 autosar_swc_throttle_sensor で、パラメーター TPSPercent_LkupTbl[引数] プロパティを選択します。パラメーター [StorageClass][自動] に設定したままにします。

  3. AUTOSAR コード パースペクティブで、コード マッピング エディターを開き、[パラメーター] タブを選択します。パラメーター TPSPercent_LkupTbl を選択します。[マッピング先] ドロップダウン リストで、パラメーターのタイプ [PerInstanceParameter] を選択します。インスタンスごとのパラメーターの AUTOSAR 属性を表示および変更するには、Icon to configure additional code mappings properties アイコンをクリックします。パラメーター コードおよびキャリブレーション属性の詳細については、モデル ワークスペース パラメーターの AUTOSAR コンポーネント パラメーターへのマッピングを参照してください。コンポーネントで参照されるサブモデルでパラメーターをマッピングする場合は、サブモデルのパラメーターの AUTOSAR コンポーネント パラメーターへのマッピングを参照してください。

AUTOSAR のモデル例 autosar_composition は、コンポーネント モデル autosar_swc_throttle_sensor の 2 つのインスタンスを含む、複数のコンポーネントが含まれるコンポジション モデルです。

autosar_composition を開くと、autosar_swc_throttle_sensor のインスタンスを表す Model ブロックを右クリックできます。各 Model ブロック ダイアログ ボックスで [インスタンス パラメーター] タブを開き、まとめて表示すると、各 Model ブロックがインスタンスごとのパラメーターに異なる値を使用していることがわかります。

コードを生成すると、次のようになります。

  • エクスポートされた ARXML ファイルに [PerInstanceParameter] として設定したパラメーターの PER-INSTANCE-PARAMETERS 記述が含まれます。

  • 生成した C コードにはインスタンスごとのパラメーターが使用される Rte_CData 呼び出しが含まれます。

    Rte_IWrite_Runnable_Step_TPS_Percent_Value(self, look1_iflf_linlcpw((float32)
      rtb_DataTypeConversion, (Rte_CData_TPSPercent_LkupTbl(self))->BP1,
      (Rte_CData_TPSPercent_LkupTbl(self))->Table, 10U));

参考

|

関連する例

詳細