このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
AUTOSAR 共有パラメーターまたはインスタンスごとのパラメーターの設定
複数回インスタンス化される可能性のある AUTOSAR ソフトウェア コンポーネントで使用する AUTOSAR 共有パラメーター (SharedParameter
) とインスタンスごとのパラメーター (PerInstanceParameter
) をモデル化できます。共有パラメーターの値は、コンポーネントのすべてのインスタンス間で共有されます。インスタンスごとのパラメーター値は、各コンポーネント インスタンスに対して一意でプライベートな値です。AUTOSAR ランタイム環境では、キャリブレーション ツールでキャリブレーションおよび測定のための SharedParameter
と PerInstanceParameter
にアクセスできます。
AUTOSAR 共有パラメーターまたはインスタンスごとのパラメーターをモデル化するには、ARXML ファイルからパラメーター定義をインポートするか、パラメーター コンテンツを Simulink® で作成します。共有パラメーターとインスタンスごとのパラメーターの上位のワークフローの詳細については、共有パラメーターとインスタンスごとのパラメーターを参照してください。
AUTOSAR パラメーターを Simulink でモデル化するには、モデル ワークスペース パラメーターを使用します。
AUTOSAR 共有パラメーターとしてのモデル ワークスペース パラメーターの設定
AUTOSAR 共有パラメーターを Simulink でモデル化するには、次のようにします。
AUTOSAR
SharedParameter
の生成対象となるモデル ワークスペース パラメーターが含まれる AUTOSAR モデルを開きます。この例では、モデルautosar_swc_counter
を使用します。Simulink で AUTOSAR の共有パラメーターをモデル化するには、モデル引数ではない (つまり、マルチインスタンス モデルの各インスタンスに一意でない) モデル ワークスペース パラメーターを設定します。たとえば、パラメーターのモデル エクスプローラーのビューで、[引数] プロパティをオフにします。モデル例
autosar_swc_counter
で、パラメーター K の [引数] プロパティをオフにします。パラメーター [StorageClass] を[自動]
に設定したままにします。AUTOSAR コード パースペクティブで、コード マッピング エディターを開き、[パラメーター] タブを選択します。使用可能なパラメーターのリストで、
K
を選択します。[マッピング先] ドロップダウン リストで、パラメーターのタイプ[SharedParameter]
を選択します。共有パラメーターの AUTOSAR 属性を表示および変更するには、アイコンをクリックします。パラメーター コードおよびキャリブレーション属性の詳細については、モデル ワークスペース パラメーターの 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 でモデル化するには、次のようにします。
AUTOSAR
PerInstanceParameter
の生成対象となるモデル ワークスペース パラメーターが含まれる AUTOSAR モデルを開きます。この例では、モデルautosar_swc_throttle_sensor
を使用します。このモデルはautosar_swc_throttle_sensor
の 2 つのインスタンスが含まれる AUTOSAR コンポジション モデルautosar_composition
の一部です。Simulink で AUTOSAR のインスタンスごとのパラメーターをモデル化するには、モデル引数である (つまり、マルチインスタンス モデルの各インスタンスに一意である) モデル ワークスペース パラメーターを設定します。たとえば、パラメーターのモデル エクスプローラーのビューで、[引数] プロパティを選択します。モデル例
autosar_swc_throttle_sensor
で、パラメーターTPSPercent_LkupTbl
の [引数] プロパティを選択します。パラメーター [StorageClass] を[自動]
に設定したままにします。AUTOSAR コード パースペクティブで、コード マッピング エディターを開き、[パラメーター] タブを選択します。パラメーター
TPSPercent_LkupTbl
を選択します。[マッピング先] ドロップダウン リストで、パラメーターのタイプ[PerInstanceParameter]
を選択します。インスタンスごとのパラメーターの AUTOSAR 属性を表示および変更するには、アイコンをクリックします。パラメーター コードおよびキャリブレーション属性の詳細については、モデル ワークスペース パラメーターの 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));
参考
関連する例
- モデル ワークスペース パラメーターの AUTOSAR コンポーネント パラメーターへのマッピング
- サブモデルのパラメーターの AUTOSAR コンポーネント パラメーターへのマッピング
- AUTOSAR コンポーネントの動作のモデル化