テンプレートとしての視覚化要素の構成と乗算
次の方法でデータ配列を表示するテーブルを作成することもできます。構造化変数によって記述される少なくとも1つのプロパティを持つ単一の要素を乗算します。これを行うには、単一の要素を「テンプレート」として構成し、コマンドを使用して乗算します。
あなたは使用することができます
配列データをビジュアライゼーションに表示するコマンド。このコマンドは、テンプレート要素を乗算して、配列コンポーネントごとに同じタイプの要素を作成します。ビジュアライゼーションの新しい要素のレイアウトは、行または列として1次元、またはテーブルとして2次元です。これを行うには、該当する要素を視覚化エディターにドラッグします。次に、配列変数を使用して要素のプロパティを構成し、インデックスアクセスプレースホルダーを指定します $FIRSTDIM$
コンポーネントアクセスとして。多次元配列を宣言した場合は、2番目のインデックスアクセスプレースホルダーを使用できます $SECONDDDIM$
追加の次元のために。通常の値を使用して、残りのプロパティを通常どおりに構成します。目的は、有効なテンプレート要素を作成することです。次に、を実行します テンプレート要素のコマンド。これで、同じ名前のダイアログが開きます。そこで、作成する要素の数とそれらを配置する場所を詳細に定義します。
乗算後、ビジュアライゼーションには、プレースホルダーを使用してインデックス付けされたものと同じ要素が多数含まれます。そうすることで、 Visu要素を乗算します ダイアログが考慮されます。プレースホルダーで事前設定されたプロパティのすべての新しい要素は、正確なインデックスに置き換えられています。残りのプロパティは、変更なしで適用およびコピーされています。
たとえば、9つのボタンを3x3テーブルとしてレイアウトできます。これらはすべて同じサイズまたは同じ色ですが、ラベルが異なります。ラベルは文字列配列(9つのコンポーネント)として宣言され、値として テキスト->文章 財産。
配列変数の宣言
例:
asText: ARRAY[1..3, 1..3] OF STRING;
該当する要素タイプの要素
インデックスアクセスプレースホルダーを持つ配列変数を使用した、該当する要素の少なくとも1つのプロパティの構成
例: テキスト、 文章 財産:
PLC_PRG.asText[$FIRSTDIM$, $SECONDDIM$]
これは、変数を値として許可するすべてのプロパティで可能です(たとえば、「アニメーション」または「入力」カテゴリのプロパティもあります。配列とインデックスアクセスプレースホルダーを使用して要素に複数のプロパティを構成するには、すべての配列が同じである必要があります同じ次元の構造。宣言は互換性がなければなりません。
インデックスアクセスプレースホルダーのない通常の値で変化しない(したがって、生成されたすべての要素で同じ)プロパティの構成
例:
sButtonTip : STRING := 'This element is created by multiplication'
テキスト、 ツールチップ 財産:
%s
テキスト変数、 ツールチップ変数 財産:
sButtonTip
ヒント
プレースホルダーは引き続き使用できます %
のプロパティの変数値のテキスト表示には通常どおり テキスト。
乗算できる視覚化要素:
矩形
角丸長方形
楕円
ライン
ポリゴン
ポリライン
ベジェ曲線
画像
フレーム
ボタン
パイ
スピンボックス
テキストフィールド
チェックボックス
イメージスイッチャー
ランプ
ディップスイッチ
電源スイッチ
プッシュスイッチ
プッシュスイッチLED
ロッカースイッチ
ロータリースイッチ
テンプレートとしてのランプとボタンの構成と乗算
新しい標準プロジェクトを作成します。
A CODESYS Control Win デバイスとして構成されています。 The
MainTask
呼び出しPLC_PRG
。実装言語はSTです。の
PLC_PRG
プログラムコードで、基本データ型の配列変数を宣言しますSTRING
。PROGRAM PLC_PRG VAR axLampIsOn: ARRAY[1..2,1..3] OF BOOL; // For lamp, property 'variable' and button, user input asButtonText: ARRAY[1..2,1..3] OF STRING := // Output text for button, property 'text variables''text variable' [ '1A Lamp', '2A Lamp', '1B Lamp', '2B Lamp', '1C Lamp', '2C Lamp' ]; END_VAR
デバイスツリーでアプリケーションを選択し、をクリックします
。の中に 視覚化を追加 ダイアログで、名前を指定します
VisuMain
をクリックします 追加 ダイアログを閉じます。ドラッグ ランプ からの要素 視覚化ツールボックス 視覚化を表示します。
固定プロパティ値を構成します。
の値フィールドをダブルクリックします 変数 財産。
ラインエディタが開きます。
クリック
シンボル。
入力アシスタントが開きます。
配列変数を選択します
PLC_PRG.axLampIsOn
変数ツリーから。たとえば、「
[f
"。SmartCodingをアクティブ化した場合(オプション ダイアログ、 SmartCoding カテゴリー、 入力時にすぐにコンポーネントを一覧表示 オプション)の場合、現在の変数リストがプレースホルダーとともに表示されます。
プレースホルダーを選択します
$FIRSTDIM$
最初の次元については、選択を確認します。たとえば、「
,s
"。変数リストが再び表示されます。
プレースホルダーを選択します
$SECONDDIM$
2番目の次元については、選択を確認します。閉じ括弧で文字列を完成させます。
PLC_PRG.axLampIsOn[$FIRSTDIM$, $SECONDDIM$]
ランプはテンプレートとして構成されています。
クリック
。The Visu要素を乗算します ダイアログが開きます。デフォルト値は、配列宣言から派生しています。
要素の総数、 水平 =
2
要素の総数、 垂直 =
3
新しい要素間の距離を宣言します。
要素間のオフセット、 水平 =
3
要素間のオフセット、 垂直 =
3
詳細設定を確認してください。
クリック わかった 設定を確認します。
新しい要素が視覚化エディタに表示されます。すべてのプロパティは正確なインデックスで構成され、配列変数にはインデックスが付けられます。
の中に 視覚化ツールボックス、 の中に 共通のコントロール カテゴリ、ドラッグ ボタン 視覚化エディタへの要素。
The プロパティ 要素のビューが開きます。
固定プロパティ値を構成します。
の値を構成します テキスト変数->テキスト変数 財産。
PLC_PRG.asButtonText[$FIRSTDIM$, $SECONDDIM$]
の値を構成します 入力構成->トグル->変数 財産。
PLC_PRG.axLampIsOn[$FIRSTDIM$, $SECONDDIM$]
ボタンはテンプレートとして構成されています。
クリック
。The Visu要素を乗算します ダイアログが開きます。デフォルト値は、配列宣言から派生しています。
要素の総数、 水平 =
2
要素の総数、 垂直 =
3
新しい要素間の距離を宣言します。
要素間のオフセット、 水平 =
3
要素間のオフセット、 垂直 =
3
詳細設定を確認してください。
クリック わかった 設定を確認します。
新しい要素が視覚化エディタに表示されます。すべてのプロパティは正確なインデックスで構成され、配列変数にはインデックスが付けられます。
アプリケーションをビルド、起動、ダウンロードします。
実行時の視覚化:
2次元以上の配列変数
3つ以上のディメンションを持つ配列変数を使用してテンプレート要素を構成することもできますが、プレースホルダーを割り当てることができるのは最大2つのディメンションのみです。追加のディメンションでは、インデックスが固定されています。
宣言
PROGRAM PLC_PRG VAR asText: ARRAY[1..2, 1..3, 1..6, 1..2] OF STRING; END_VAR
を構成します テキスト変数、 ツールチップ変数 テンプレート要素のプロパティ:
PLC_PRG.asText[2, $FIRSTDIM$, $SECONDDIM$, 2]
テーブル内の1次元配列のレイアウト
インデックスアクセスプレースホルダーを使用して、1次元配列でテンプレート要素を構成できます。 $FIRSTDIM$
。作成する新しい要素の数が5を超える場合は、表形式のレイアウトが Visu要素を乗算します ダイアログ。新しい要素のレイアウトは、可能な限り2次式です。
PROGRAM PLC_PRG VAR asText: ARRAY[1..100] OF STRING; END_VAR
のデフォルト設定 Visu要素を乗算します ダイアログでは、10x10フィールドに100個の新しい要素をレイアウトできます。