システムエディタ(複合コンポーネン編)

複合コンポーネントの操作を説明します。

複合コンポーネントを作成する

複数のコンポーネントをまとめて複合コンポーネントにすることができます。
複合コンポーネントにしたいコンポーネントを選択して、右クリックして「Create Composite Component」を選択すると、複合コンポーネント生成ダイアログが表示されます。

fig66CreateCompositeComponent.png
複合コンポーネントの作成


fig67CompositeComponentDialog.png
複合コンポーネント生成ダイアログ


ダイアログの各項目は以下のとおりです。

複合コンポーネント生成のダイアログ項目と必要条件

No. ダイアログ説明 説明
Manager ネームサービスビューに表示されているマネージャ一覧からマネージャを選択します。ここで選択されたマネージャが複合コンポーネントを生成します。
Name 複合コンポーネントのインスタンス名を指定します。
Type 複合コンポーネントの種別を指定します。指定可能な種別は以下のとおり。
[PeriodicECShared]
各RTCが ExecutionContext のみを共有する形で動作します。各RTCの状態は独立しているため、複合コンポーネント内で複数の状態が存在することもあります。
[PeriodicStateShared]
各RTCが同一の ExecutionContext を共有するとともに、状態も共有する形で動作します。
[Grouping]
各RTCが何も共有しない複合コンポーネントで、各RTCがそれぞれ ExecutionContext、状態を保持します。
Path 複合コンポーネントに設定するパスを指定します。
Port 子のコンポーネントのポート一覧から、複合コンポーネントに表示するポートを選択します。
ここで選択されたポートに対して、複合コンポーネントにプロキシ用のポートが作成されます。
- ポートの全選択・全解除ボタン

複合コンポーネントを作成すると、子のコンポーネントとして選択していたコンポーネントはシステムエディタ上から表示が消え、新しい複合コンポーネントが描画されます。
複合コンポーネントのダイアグラムをダブルクリックするか、右クリックして「エディタで開く」を選択すると、新しいシステムダイアグラムが開き、複合コンポーネント内部が表示されます。

fig68CompositeOpenWithSE.png
複合コンポーネントをシステムエディタで開く


fig69ViewCompositeComponent.png
複合コンポーネント内を表示するシステムエディタ


※ ただし、システム構成の保存時には、コンポーネントの描画情報はコンポーネントに対して1つしか保存できないため、複合コンポーネント内を表示するシステムダイアグラムで変更した描画情報は保存されません。

複合コンポーネントの子を追加する

複合コンポーネント内を表示するシステムエディタを開いて、ネームサービスビューから RTC をドラッグ&ドロップすることで、複合コンポーネントの子が追加されます。追加された子RTCのポートはすべて非公開に設定されます。

fig70CompositeComponentAddRTC.png
子RTCの追加


複合コンポーネントの子を削除する

複合コンポーネント内を表示するシステムエディタを開いて、そこで子のコンポーネントを削除することで、複合コンポーネントの子が削除されます。
削除された子のコンポーネントは、複合コンポーネント内から表示が消え、元のシステムダイアグラム(複合コンポーネント自身が表示されているダイアグラム)に表示されます。

fig71DeleteChildComponent.png
複合コンポーネント内から子のコンポーネントを削除


fig72ChildComponent.png
複合コンポーネントが表示されているシステムエディタ上に子のコンポーネント表示


複合コンポーネントを削除する

複合コンポーネント上で右クリックして「Delete」を選択すると、複合コンポーネントがダイアグラムから削除されます。
削除時に複合コンポーネントを別のシステムダイアグラムで開いていると、エディタの終了確認のダイアログが表示されます。

fig73DeleteCompositeComponent.png
複合コンポーネントの削除


fig74CloseCompositeComponentDialog.png
複合コンポーネントを表示するエディタの終了確認ダイアログ


複合コンポーネントを解除する

複合コンポーネント上で右クリックして「Decompose Composite Component」を選択すると、複合コンポーネントへexist()が送られ、コンポーネント自体を終了します。
解除時に複合コンポーネントを別のシステムダイアグラムで開いていると、エディタの終了確認のダイアログが表示されます。
複合コンポーネントが解除されると、子のコンポーネントが元のシステムダイアグラム(複合コンポーネントが表示されていたダイアグラム)に表示されます。

fig75DecomposeCompositeComponent.png
複合コンポーネントの解除


fig76CloseCompositeComponentDialog.png
複合コンポーネントを表示するエディタの終了確認ダイアログ


ポートの公開/非公開を切り替える

複合コンポーネント内を表示するシステムエディタにあるコンポーネントのポートが複合コンポーネント上に公開されている場合、下記のように別のアイコンで表示されます。

子RTCの公開されているポートのアイコン

No. 名前 形状
1 InPort
IconExportedInPort.png
2 OutPort
IconExportedOutPort.png
3 ServicePort
IconExportedServicePort.png

公開されているポートを右クリックして、「Unexport」を選択すると、そのポートが公開されていない状態に変わります。また、公開されていないポートを右クリックして、「Export」を選択すると、そのポートが公開されている状態に変わります。

fig77ExportPort.png
fig77UnexportPort.png

ポートの公開/非公開


ただし、ポートが別のコンポーネントのポートと接続されている場合は、「Unexport」にすることができません。

fig78CantUnexport.png
ポートの接続がある場合


ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2160
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク