トップレベルのテンプレート
トップレベル テンプレートは、生成されたビジュアライゼーションの開始ページのテンプレートです。これには、ユーザー固有のページと別のページに切り替えるためのタブのプレースホルダーとしてフレームが含まれています。オプションで、ページに移動するためのボタンと、ステータスとアドレスの行があります。トップレベルのテンプレートは、 視覚化ジェネレーター。
図書館 AC_ModuleBase
、これは の標準インストールの一部です。 CODESYS Application Composer 3 つのトップレベルのテンプレートが含まれています。 AC.GenVisu_Toplevel_Template
、AC.Toplevel_Vertical_Template、および AC.Toplevel_3S_Vertical_Template
。

AC_Toplevel_3S_Vertical_Template

準備されたテンプレートの他に、ユーザー定義のトップレベル テンプレートを作成することもできます。

(1): ナビゲーション: 上/戻る/進む
(2): ページを表示するフレーム
(3): トップレベルのページに直接移動するためのタブ
(4): ステータス行
(5): アドレス行: 表示されているモジュールインスタンスのインスタンスパス
視覚化テンプレートの要素は、要素名によって識別されます。以下のリストでは、要素の名前が括弧内に書かれています。
[Frame]
: ビジュアライゼーション ページを表示するメイン フレーム。最良の結果を得るには、フレームのスケール タイプを「等方性」に設定する必要があります。[Tab_Template_1]
、[Tab_Template_2]
: すべてのタブの外観と配置に使用される 2 つの要素。 Tab_Template_1 は、最初のタブの位置とすべてのタブの外観を定義します。 Tab_Template_2 の位置から、タブの配置 (水平または垂直) とタブ間の間隔が計算されます。表示されているページの階層がタブで表されるインスタンスの下にある場合にアラームの色が設定されます。要素がボタンの場合、ボタンの状態変数も設定されます。要素がフレームの場合、アラームの色は使用されません。この代わりに、タブが選択されている場合、スイッチ フレーム変数は「1」に設定されます (デフォルトは 0)。
[Up]
、[Back]
、[Forward]
: ボタンまたはフレームのナビゲーション用の要素。要素のタイプはボタンまたはフレームです。フレームの場合、フレームには 3 つのビジュアライゼーションが次の順序で含まれている必要があります: ニュートラル、押された、非アクティブ化。[Address]
: 表示されているモジュールインスタンスのインスタンスパスを出力するテキストフィールドです。[Status]
: グローバル文字列変数の内容を表示するテキストフィールドac.g_stVisuStatusBar
ライブラリ AC_ModuleBase から。この変数は、変数の状態を表示するために独自のモジュール実装で使用できます。
他のすべての要素は、視覚化ジェネレーターによって特に処理されません。生成のために、テンプレート視覚化はコピーをコピーし、そのコピーを変更します。オリジナルは変更されていません。
前述の視覚化要素を除き、視覚化ジェネレーターは手動で変更された要素を変更しないように努めます。最初の視覚化生成時に、記述された視覚化テンプレートがコピーされます。このコピーは、ユーザーによって削除されない限り、将来の世代の実行でのみ変更され、再コピーされません。これは、以前に実行されたジェネレーターのトップレベルのビジュアライゼーションを、コピーされませんが、あたかも新しいビジュアライゼーション テンプレートであるかのように扱うことによって行われます (元のテンプレートは決して変更されません)。したがって、追加のタブがある場合、これらのタブは既存のタブに追加されます。ユーザーが手動で追加したボタンやタブなどがその位置を維持できるように、他のすべてのプロパティと要素は可能な限り触れられません。
ヒント
ナビゲーション ボタンなどを削除すると、それらのボタンが失われます。これらを生成するには、トップレベルの VISU を削除して再生成する必要があります。
タブの配置
タブは左から右に水平に、または垂直に上から下に整列されます。テンプレート要素の相対位置 Tab_Template_1
そして Tab_Template_2
配置を定義します。要素の垂直方向の距離が水平方向の距離より大きい場合、要素は水平方向に配置され、それ以外の場合は垂直方向に配置されます。
垂直方向の配置の場合、すべてのタブは同じ幅になります。これは、すべてのタブ名を表示できる最小幅です。水平配置の場合、各タブはその名前を表示できる最小幅を取得します。どちらの場合も、タブの高さは最初のテンプレートの高さに設定されます(Tab_Template_1
)。
配置には、最初のテンプレートがコピーされ、各タブに適応されます。
配置は最初のテンプレートの位置から開始されます。2 つのタブ間の距離は、2 つのテンプレート間の水平方向または垂直方向の距離によって決まります。この距離は負の値にすることもできます。その場合、次のタブが前方にあるため、次のタブが前のタブと重なり、その上にペイントされます。垂直方向の配置の場合、すべてのタブを収容するのに十分な下方向のスペースがない場合、生成はエラーで中止されます。タブの 2 番目の列は作成されません。水平方向の配置の場合、次のタブがビジュアリゼーション内で水平方向に収まらなくなると、新しい行が作成されます。行の最初のタブでこれが発生すると、生成はエラーで中止されます。
タブ用の十分なスペースがない場合があります。水平配置の場合、新しい行に折り返すときにこれが発生します。垂直方向に配置する場合、タブの幅がテンプレート内でタブに提供されているスペースよりも大きい場合にこの問題が発生します。このような場合、より多くのスペースを作成しようとします。この要素の自動配置により、タブを配置するには 4 つのケースが考えられます。
タブの水平方向の配置: すべてのタブが完全にフレームの上にある必要があります
タブの水平方向の配置: すべてのタブが完全にフレームの下にある必要があります
タブの垂直方向の配置: すべてのタブがフレームの左側に完全に配置されている必要があります
タブの垂直方向の配置: すべてのタブがフレームの右側に完全に配置されている必要があります
タブの配置が上記の制限と一致しない場合、エラー メッセージが作成されます。
タブに十分なスペースがない場合は、それに応じてフレームが縮小されます。タブとフレームの間のすべての要素が移動されます。要素の位置は、最初のタブ テンプレートの外側の制限の完全に外側にない場合、「タブとフレームの間」と解釈されます (以下の水平方向の配置の例を参照)。
フレームのサイズを変更すると負の値になる場合、ビジュアライゼーションの作成は中止されます。

