Main Content

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

mapFunction

Simulink エントリポイント関数を AUTOSAR ランナブルおよびソフトウェアのアドレス メソッドにマッピング

説明

mapFunction(slMap,slEntryPointFunction,arRunnableName) は、Simulink® エントリポイント関数 slEntryPointFunction を AUTOSAR ランナブル arRunnableName にマッピングします。

mapFunction(slMap,slEntryPointFunction,arRunnableName,Name,Value) では、1 つ以上の Name,Value ペアの引数を使用して AUTOSAR ランナブルに追加のプロパティを指定します。ランナブル関数コードと内部データにソフトウェアのアドレス メソッド (SwAddrMethod) を指定できます。

すべて折りたたむ

モデル例 autosar_swc の Simulink エントリポイント関数の AUTOSAR マッピング情報を設定します。このモデルには、Runnable_Init という名前の初期化エントリポイント関数と、Runnable_1s および Runnable_2s という名前の周期エントリポイント関数があります。

hModel = 'autosar_swc';
addpath(fullfile(matlabroot,'/examples/autosarblockset/main'));
open_system(hModel);
slMap=autosar.api.getSimulinkMapping(hModel);
mapFunction(slMap,'Initialize','Runnable_Init');
arRunnableName=getFunction(slMap,'Initialize')
arRunnableName =
    'Runnable_Init'

モデル例 autosar_swc_counter の Simulink エントリポイント関数の AUTOSAR SwAddrMethod を設定します。このモデルには、シングルタスク周期エントリポイント ステップ関数があります。

hModel = 'autosar_swc_counter';
addpath(fullfile(matlabroot,'/examples/autosarblockset/main'));
open_system(hModel);

% Add SwAddrMethods myCODE and myVAR to the AUTOSAR component
arProps = autosar.api.getAUTOSARProperties(hModel);
addPackageableElement(arProps,'SwAddrMethod',...
    '/Company/Powertrain/DataTypes/SwAddrMethods','myCODE',...
    'SectionType','Code')
swAddrPaths = find(arProps,[],'SwAddrMethod','PathType','FullyQualified',...
    'SectionType','Code')
addPackageableElement(arProps,'SwAddrMethod',...
    '/Company/Powertrain/DataTypes/SwAddrMethods','myVAR',...
    'SectionType','Var')
swAddrPaths = find(arProps,[],'SwAddrMethod','PathType','FullyQualified',...
    'SectionType','Var')

% Set code generation parameter for runnable internal data SwAddrMethods
set_param(hModel,'GroupInternalDataByFunction','on')

% Map periodic function and internal data to myCODE and myVAR SwAddrMethods
slMap = autosar.api.getSimulinkMapping(hModel);
mapFunction(slMap,'Periodic','Runnable_Step',...
    'SwAddrMethod','myCODE','SwAddrMethodForInternalData','myVAR')

% Return AUTOSAR mapping information for periodic function
[arRunnableName,arRunnableSwAddrMethod,arInternalDataSwAddrMethod] = ...
    getFunction(slMap,'Periodic')
swAddrPaths =
  1×2 cell array
    {'/Company/Powertrain/DataTypes/SwAddrMethods/CODE'}
    {'/Company/Powertrain/DataTypes/SwAddrMethods/myCODE'}

swAddrPaths =
  1×2 cell array
    {'/Company/Powertrain/DataTypes/SwAddrMethods/VAR'}
    {'/Company/Powertrain/DataTypes/SwAddrMethods/myVAR'}

arRunnableName =
    'Runnable_Step'

arRunnableSwAddrMethod =
    'myCODE'

arInternalDataSwAddrMethod =
    'myVAR'

入力引数

すべて折りたたむ

以前に slMap = autosar.api.getSimulinkMapping(model) によって返されたモデルの Simulink から AUTOSAR へのマッピング情報。model は、モデル名を表すハンドル、文字ベクトル、または string スカラーです。

例: slMap

AUTOSAR マッピング情報を設定する Simulink エントリポイント関数。値の形式は関数の種類に基づきます。

関数の種類
初期化'Initialize'
リセット'Reset:slIdentifier'。ここで、slIdentifier はモデル内のリセット関数の名前です。
終了'Terminate'
シングルタスク周期'Periodic'
周期 (暗黙的なタスク)'Periodic:slIdentifier'。ここで、slIdentifier は、タイミング凡例に表示される、対応する周期注釈です。例: 'Periodic:D1'
分割 (明示的なタスク)'Partition:slIdentifier'。ここで、slIdentifier は、スケジュール エディターに表示される、分割名です。例: 'Partition:P1'
エクスポート

'ExportedFunction:slIdentifier'。ここで、slIdentifier は Function-Call Subsystem の制御端子を駆動する Inport ブロックの名前です。次に例を示します。

  • モデル例 autosar_swc_slfcns'ExportedFunction:Trigger_1s'

  • モデル例 autosar_swc_fcncalls'ExportedFunction:FunctionTrigger'

クライアント/サーバー構成の Simulink 関数'SimulinkFunction:slIdentifier'。ここで、slIdentifier はモデル内のグローバルな Simulink 関数の名前です。たとえば、AUTOSAR サーバーの構成のモデル例の 'SimulinkFunction:readData'

例: 'Periodic:D1'

指定された Simulink エントリポイント関数オブジェクトのマッピング先となる AUTOSAR ランナブルの名前。

例: 'Runnable_2s'

名前と値のペアの引数

オプションのコンマ区切りされた Name,Value の引数ペアを指定します。ここで、Name は引数名、Value は対応する値です。Name は一重引用符で囲まなければなりません。名前と値のペアの引数は、Name1,Value1,...,NameN,ValueN のように任意の順番で複数指定できます。

例: 'SwAddrMethod','CODE' は、AUTOSAR ランナブル関数の SwAddrMethod CODE を指定します。

AUTOSAR 関数で有効な SwAddrMethod 名を指定します。コード生成では SwAddrMethod 名を使用して、メモリ セクションに AUTOSAR ランナブル関数をグループ化します。関数の有効な SwAddrMethod 値のリストについては、コード マッピング エディターの [Entry-Point Functions] タブを参照してください。詳細については、SwAddrMethod の設定を参照してください。

例: 'SwAddrMethod','CODE'

AUTOSAR 内部データで有効な SwAddrMethod 名を指定します。コード生成では、SwAddrMethod 名を使用して、メモリ セクションで AUTOSAR ランナブル内部データをグループ化します。内部データの有効な SwAddrMethod 値のリストについては、コード マッピング エディターの [Entry-Point Functions] タブを参照してください。詳細については、SwAddrMethod の設定を参照してください。

ランナブル内部データ SwAddrMethod のコード生成では、モデル コンフィギュレーション オプション [コード生成][インターフェイス][エントリポイント関数ごとに個別の内部データを生成] (GroupInternalDataByFunction) を on に設定します。

例: 'SwAddrMethodForInternalData','VAR'

R2013b で導入