セクション: ビジュアル
SEC Visu //optional: yes, modifier: [UPDATE]
Toplevel_Tab; //optional: yes, type: bool
Embedded := [%PAGE_VISU%, <visu1>,...]; //optional: yes, type: VisuList
Embedded_Proxy := [%PAGE_VISU%, <visu1>,...]; //optional: yes, type: VisuList
Page =: [<visu1>, <visu2>,...]; //optional: yes, type: VisuList
SEC DefaultEmbeddings //optional: yes
SEC Embedding : <visu identifier> //optional: yes, modifier: [HIDE, UPDATE]
VisuName := <visu name>; //optional: no, type: literal
Target := <target name>; //optional: yes, type: literal
ProxyVisuName := <visu name>; //optional: yes, type: literal
LinkId := <linkID>; //optional: yes, type: literal
END_SEC
END_SEC
SEC Toplevel_Tab_Hotkey //optional: yes
Hotkey := <keycode>; //optional: no, type: literal
Modifiers := <modifier>; //optional: yes, modifier: [SHIFT, CONTROL, ALT]
END_SEC
END_SEC定義タイプの構文の詳細については、次の章を参照してください。 モジュール宣言の構文 説明された。
Toplevel_Tabチェックボックスが トップレベルのライダーを作成する HMI エディタでデフォルトでアクティブになるかどうか。Pageサブモジュールの使用可能な視覚化オブジェクトのリストを定義します。Embeddedサブモジュールの利用可能な視覚化オブジェクトの具体的なリストを定義します。これらのオブジェクトは、他の視覚化イメージに埋め込まれます。プレースホルダー
%PAGE_VISU%ビジュアライゼーション名の代わりに、生成されたビジュアライゼーション イメージをオプションで他のページに埋め込むことができます。Embedded_Proxyモジュールの使用可能な視覚化オブジェクトのリストを定義します。このリストは、次の場合にのみ使用されます。Decoupled-ModulでDecoupled-Slotが挿入され、親モジュール インスタンスと同じ制御下 (つまりプロキシとして) に作成されません。別のモジュールをインポートするモジュールの場合、ビジュアライゼーション名の代わりにプレースホルダーを使用できます。
%NONE%利用される。これにより、インポートされたビジュアライゼーションが非表示になります。この手順は、視覚化イメージのリストと埋め込み (プロキシ) 視覚化イメージの両方に対して可能です。セクション
DefaultEmbeddings: このセクションは、タブに表示される標準の埋め込みを指定するために使用されます。 HMI サブモジュールの部分は事前に設定されているように見えます (セクションと同様)Default_Allocation、 ご参照ください スロットセクション)。必要な標準埋め込みはサブセクションに保存されますEmbedding説明された。要件: 指定された視覚化オブジェクトとプロキシは、このモジュールの可能な埋め込みのリストに含まれている必要があります (上記を参照)。
EmbeddedそしてEmbedded_Proxy)。セクション
Toplevel_Tab_Hotkey: このセクションでは、トップレベル ページのデフォルト設定としてキーボード ショートカットを定義します。キーボード ショートカットは複数回使用することはできません。この設定は、タブのモジュールエディターで行うことができます。 HMI 調整される。
SEC Visu
Toplevel_Tab ;
Page := [VISU_CNC_Machine_1, VISU_CNC_Machine_2];
Embedded := [%PAGE_VISU%];
SEC DefaultEmbeddings
SEC Embedding : No1
VisuName := SubModule_Emb;
Target := '../../TopLevel_2';
END_SEC
SEC Embedding : No2
VisuName := SubModule_Emb_2;
//ProxyVisuName := SubModule_Emb_1;
Target := '';// leave empty for next ancestor
END_SEC
END_SEC
SEC Toplevel_Tab_Hotkey
Hotkey := T;
Modifiers := SHIFT | CONTROL;
END_SEC
END_SECビジュアライゼーション名は、対応するビジュアライゼーション オブジェクトの名前であり、大文字と小文字は区別されません。視覚化オブジェクトは、モジュールの機能ブロックと同じ階層レベルにある必要があります。
すべての視覚化オブジェクトと埋め込み視覚化オブジェクトは、名前付きの VAR_IN_OUT 変数を持つことができます。
instモジュールの関数ブロックまたは基本クラスの型 (変数名の大文字と小文字は関係ありません)。VAR_IN_OUTinst : <MODULE_FB> ;END_VARここで説明した VAR_IN_OUT オプションの代わりに、VAR_INPUT 変数を使用することもできます。この変数は次の要件を満たしている必要があります。
姓:
instタイプ: モジュール機能ブロックが実装するインターフェイス
埋め込みビジュアライゼーション オブジェクトには、次の 2 つの追加変数を含めることもできます (パラメーター名は大文字と小文字が区別されません)。
VAR_INPUTpaVisuFB : POINTER TO POINTER TO AC_Visu_Base ;iOwnFrameIndex : INT ;END_VARこれらの変数の両方が存在するか、どちらも存在しない必要があります。これら 2 つの変数により、埋め込みビジュアライゼーションに、トップレベルのビジュアライゼーションの中央フレームを切り替える機能が与えられます。
paVisuFBへのポインタの配列ですAC_Visu_Base-インスタンス。グローバル視覚化変数についてCURRENTCLIENTID現在のクライアントの正しいインスタンスにアクセスできます。フレームの切り替えは、次の形式の ST アクションを介して発生します。paVisuFB[CURRENTCLIENTID]^.uiFrameIdx := iOwnFrameIndex ;iOwnFrameIndexは、独自のモジュールの視覚化イメージがこの最上位フレーム内に持つインデックスです。 (独自のモジュールが視覚化イメージを定義していない場合、このインデックスは -1 になります。)上記の変数とは別に、インターフェイスには他の VAR_INPUT、VAR_OUTPUT、または VAR_INOUT 変数を含めることはできません。
の
AC_Visu_Base-インスタンスでも機能を提供GetModuleFrameIndex、任意のモジュール インスタンスに使用できます (「IModuleでAC_Module_Base.library)最上位のビジュアライゼーション内のビジュアライゼーション イメージのインデックスを返します (ビジュアライゼーション イメージが存在する場合)。これにより、モジュール インスタンス ツリー内の任意の視覚化イメージにジャンプできるようになります。モジュールのコード内でのナビゲーションを可能にするために、モジュールの環境 (「IModuleでAC_Module_Base.library) メンバーEnvironment.visus、 上記paVisuFBポインタが対応します。
ヒント
変数について CURRENTCLIENTID 使用するには、ライブラリが利用可能である必要があります VisuGlobalClientManager 統合されます (カテゴリ「内部|Visu」)。
最初のビジュアライゼーションがデフォルトとして使用されます。