addPort
説明
は、タイプが ports
= addPort(archCCM
,portKind
,portNames
)portKind
の 1 つ以上のポートをコンポーネント、コンポジションまたはアーキテクチャ モデル archCCM
に追加します。
Classic アーキテクチャの場合、portKind
の有効な値は、'Receiver'
および 'Sender'
です。Adaptive アーキテクチャの場合、portKind
の有効な値は、'Receiver'
、'Sender'
、'Client'
、'Server'
です。portNames
引数は、追加する 1 つ以上のポートの名前を指定します。
archCCM
引数は、addComponent
、addComposition
、autosar.arch.createModel
または autosar.arch.loadModel
への以前の呼び出しにより返されるコンポーネント、コンポジションまたはアーキテクチャ モデルのハンドルです。ports
出力引数は、autosar.arch.CompPort
オブジェクトまたは autosar.arch.ArchPort
オブジェクトである 1 つ以上の端子ハンドルを返します。
例
AUTOSAR Classic アーキテクチャ モデル、コンポジションおよびコンポーネントへのポートの追加
AUTOSAR Classic アーキテクチャ モデルで、次を実行します。
Sensors
という名前のコンポジションを追加します。モデルの最上位レベルで、
Controller1
という名前のアプリケーション コンポーネントとActuator
という名前のセンサー/アクチュエータ コンポーネントを追加します。アーキテクチャ モデルには、2 つの受信 (入力) ポートと 1 つの送信 (出力) ポートを追加します。ポートはアーキテクチャ モデルの境界に表示されます。
コンポジション ブロックには、2 つの受信ポートと 2 つの送信ポートを追加します。コンポジションの受信ポートの名前は、それらが接続するアーキテクチャ モデルの受信ポートの名前と一致します。
コンポーネント ブロックには、受信ポートと送信ポートを追加します。コンポーネントの受信ポートと送信ポートの名前は、それらが接続するコンポーネント ポート、コンポジション ポートまたはアーキテクチャ モデル ポートの名前と一致します。
% Create AUTOSAR classic architecture model modelName = 'myArchModel'; archModel = autosar.arch.createModel(modelName); % Add a composition composition = addComposition(archModel,'Sensors'); % Add components at architecture model top level addComponent(archModel,'Controller1'); actuator = addComponent(archModel,'Actuator'); set(actuator,'Kind','SensorActuator'); % Add architecture ports addPort(archModel,'Receiver',{'TPS_Hw','APP_Hw'}); addPort(archModel,'Sender','ThrCmd_Hw'); % Add composition ports addPort(composition,'Receiver',{'TPS_Hw','APP_Hw'}); addPort(composition,'Sender',{'TPS_Perc','APP_Perc'}); % Add component ports controller = find(archModel,'Component','Name','Controller1'); addPort(controller,'Receiver',{'TPS_Perc','APP_Perc'}); addPort(controller,'Sender','ThrCmd_Perc'); addPort(actuator,'Receiver','ThrCmd_Perc'); addPort(actuator,'Sender','ThrCmd_Hw'); layout(archModel); % Auto-arrange layout
既定では、autosar.arch.createModel
は、Classic Platform の AUTOSAR アーキテクチャ モデルを作成します。Classic Platform を明示的に指定するには、autosar.arch.createModel
を呼び出すときに名前と値の引数 platform
を使用します。同じアーキテクチャ モデル内で Classic コンポーネントと Adaptive コンポーネントを混在させることはサポートされていません。
AUTOSAR Adaptive アーキテクチャ モデル、コンポジションおよびコンポーネントへのポートの追加
AUTOSAR Adaptive アーキテクチャ モデルで、次を実行します。
Sensors
という名前のコンポジションを追加します。モデルの最上位レベルで、
Filter
という名前の Adaptive アプリケーション コンポーネントを追加します。アーキテクチャ モデルには、2 つの受信 (入力) ポートと 2 つの送信 (出力) ポートを追加します。ポートはアーキテクチャ モデルの境界に表示されます。
コンポジション ブロックには、2 つの受信ポートと 2 つの送信ポートを追加します。コンポジションの受信ポートの名前は、それらが接続するアーキテクチャ モデルの受信ポートの名前と一致します。
コンポジション ブロックでもクライアント ポートを追加します。
コンポーネント ブロックには、サーバー ポートを追加します。コンポーネントのサーバー ポートの名前は、それが接続するコンポーネント ポート、コンポジション ポートまたはアーキテクチャ モデル ポートの名前と一致します。
% Create AUTOSAR adaptive architecture model modelName = 'myArchAdaptive'; archModel = autosar.arch.createModel(modelName,'platform','Adaptive'); % Add a composition composition = addComposition(archModel,'Sensors'); % Add component at architecture model top level addComponent(archModel,'Filter'); % defaults to AdaptiveApplication % Add architecture ports addPort(archModel,'Receiver',{'Data_Snsr1','Data_Snsr2'}); addPort(archModel,'Sender',{'FilteredData_Snsr1','FilteredData_Snsr2'}); % Add composition ports addPort(composition,'Receiver',{'Data_Snsr1','Data_Snsr2'}); addPort(composition,'Sender',{'FilteredData_Snsr1','FilteredData_Snsr2'}); addPort(composition,'Client','Filter_CSPort'); % Add component ports filter = find(archModel,'Component','Name','Filter'); addPort(filter,'Server','Filter_CSPort'); layout(archModel); % Auto-arrange layout
同じアーキテクチャ モデル内で Classic コンポーネントと Adaptive コンポーネントを混在させることはサポートされていません。
入力引数
archCCM
— コンポーネント、コンポジションまたはアーキテクチャ モデル
ハンドル
1 つ以上のポートを追加する AUTOSAR コンポーネント、コンポジションまたはアーキテクチャ モデル。この引数は、addComponent
、addComposition
、autosar.arch.createModel
または autosar.arch.loadModel
への以前の呼び出しにより返されるコンポーネント、コンポジションまたはアーキテクチャ モデルのハンドルです。
例: archModel
portKind
— ポート タイプ
'Receiver'
| 'Sender'
| 'Client'
| 'Server'
指定したコンポーネント、コンポジションまたはアーキテクチャ モデルに追加する AUTOSAR ポートのタイプ。指定したタイプは、すべての追加するポートに適用されます。
Classic アーキテクチャの場合、portKind
の有効な値は、'Receiver'
および 'Sender'
です。
Adaptive アーキテクチャの場合、portKind
の有効な値は、'Receiver'
、'Sender'
、'Client'
、'Server'
です。
例: 'Receiver'
portNames
— ポート名
文字ベクトル | string スカラー | 文字ベクトルの cell 配列 | string 配列
指定したコンポーネント、コンポジションまたはアーキテクチャ モデルに追加するポートの名前。
例: {'TPS_Hw','APP_Hw'}
出力引数
ports
— 追加したポート
ハンドル | ハンドルの配列
autosar.arch.CompPort
オブジェクトまたは autosar.arch.ArchPort
オブジェクトであり、ポート プロパティをもつ 1 つ以上の AUTOSAR ポート ハンドルを返します。
バージョン履歴
R2020a で導入R2023a: AUTOSAR Adaptive アーキテクチャでメソッド通信をモデル化するためのクライアン ポートおよびサーバー ポート
R2023a では、Adaptive Platform 用の AUTOSAR アーキテクチャのモデル化が導入されています。使用可能な portKind
ポートにクライアント ポートとサーバー ポートが追加され、AUTOSAR Adaptive アーキテクチャでのメソッド通信のモデル化がサポートされます。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)