インターフェイスを使ったダイアログの呼び出し
ダイアログと呼ばれる視覚化のインターフェースを定義できます。
視覚化タイプを使用して、このための視覚化を作成します ダイアログ ダイアログのインターフェースを宣言します。ユーザー入力を使用してプライマリビジュアライゼーションのビジュアライゼーションを参照し、パラメータをインターフェイスに転送します。
ビジュアライゼーションを統合ビジュアライゼーションと呼ぶ場合、渡されるパラメーターは基本データ型の変数でなければなりません。ビジュアライゼーションがとして呼ばれる場合 CODESYS TargetVisu または CODESYS WebVisuその場合、パラメータにはカスタムデータ型を使用することもできます。
主な手順
ビジュアライゼーションのビジュアライゼーションタイプをダイアログに設定します。
ダイアログのインターフェイスエディタで変数を宣言します。
ダイアログにはインターフェースがあります。ダイアログを呼び出すときにパラメータを転送できます。
ダイアログの要素を構成し、インターフェース変数を使用します。
ダイアログの開き方を構成するために、別のビジュアライゼーション(通常はメインビジュアライゼーション)の要素を選択します。
の中に プロパティをクリックします 構成、設定。
The 入力構成 ダイアログが開きます。
選択する ダイアログを開く 選択した入力アクションのリスト。
から1つを選択します ダイアログ リストボックス。
選択したダイアログにインターフェースがある場合、インターフェース変数は以下のとおりです。
転送パラメータをのインターフェイス変数に割り当てます 価値 桁。
の中に アップデート
と
結果の場合のパラメーター リストから、パラメーターを更新する結果を選択します。オプションを有効にする ダイアログモーダルを開く。クリック わかった ダイアログを終了します。
ダイアログオープニングが設定されます。
ヒント
ダイアログを同時に複数回実行するには、ダイアログの複数のインスタンスが必要です。これらは、アプリケーションをダウンロードするときに、視覚化デバイスにすでにダウンロードされている必要があります。この目的のために、Visualization Managerでダウンロードするインスタンスの数を設定します(視覚化 タブ)。
注記
サンプルプロジェクト: ダイアログボックス
例
以下に、の実装例を示します。 visMain ビジュアライゼーションと visChangeUserLevel ダイアログ。
visMain
visMain 視覚化タイプ | 名前 | 要素のプロパティ | 説明 |
|---|---|---|---|
| ユーザーレベル | : | プレースホルダー付きの出力 |
: | の割り当て | ||
|
| : | |
: | ユーザーがクリックすると ヒント:クリック [設定] に保存されている設定を表示するには 入力コンフィギュレーション ダイアログ → ダイアログを開く 入力アクション。 |
ザの [ダイアログを開く] 「ユーザーレベルを変更」ボタンに入力アクションが実装されました。その結果、ダイアログが開きます (OnMouseClick))。
ダイアログ |
リストボックスには、ダイアログとして設定されたプロジェクト全体のビジュアライゼーションがすべて自動的に表示されます。 |
|
|
| タイトルの文字列の転送。 |
|
|
| Level0のパスワードとしての文字列の転送。 |
|
|
| Level1のパスワードとしての文字列の転送。 |
|
|
| Level2のパスワードとしての文字列の転送。 |
|
|
| Level3のパスワードとしての文字列の転送。 |
|
|
| Level4のパスワードとしての文字列の転送。 |
|
|
| Level5のパスワードとしての文字列の転送。 |
|
|
| Level6のパスワードとしての文字列の転送。 |
|
|
| Level7のパスワードとしての文字列の転送。 |
|
|
| ユーザーが指定したレベルの変数の転送。 |
|
|
| パスワードの変数を渡します。 |
と
結果の場合のパラメーター」使用 | 価値 | |
|---|---|---|
| わかった | ビジュアライゼーションユーザーがボタンをクリックすると、ダイアログが開き、「OK」という結果が返されます。 |
| その結果、有効になり、ダイアログ外での入力はできません。 |
visChangeUserLevelこのダイアログには、レベルを選択してパスワードを入力するための要素があります。
パスワードが一致すれば、 OK ボタンは有効になっています。これで、ユーザーはダイアログを閉じることができます。レベルの入力も適用されます。

ダイアログのインターフェースの宣言 visChangeUserLevel:
VAR_INPUT
sItfTitle: STRING; // titel of the dialog box
sItfLevel0: STRING; //password level 0
sItfLevel1: STRING; //password level 1
sItfLevel2: STRING; //password level 2
sItfLevel3: STRING; //password level 3
sItfLevel4: STRING; //password level 4
sItfLevel5: STRING; //password level 5
sItfLevel6: STRING; //password level 6
sItfLevel7: STRING; //password level 7
END_VAR
VAR_IN_OUT
iItfLevel: INT; // user input: level
sItfPwd: STRING; //user input: password
END_VAR タイプ | 名前 | 要素のプロパティ | 説明 |
|---|---|---|---|
|
| 静的ID: | このプロパティは、背景が灰色でタイトルバーが空白の青い空白のダイアログの画像を要素に割り当てます。この画像は、に含まれています。 ビジュアルダイアログ ライブラリ。 |
|
| : | テキスト変数のプレースホルダー付きの出力 |
: | インターフェイス変数の割り当て | ||
|
| 変数: | インターフェイス変数の割り当て |
列の数: | |||
ラジオボタンの注文: 左から右へ | 画面 | ||
:[0]ビス[7] :<n> | 0から7までの数字が付いた8つのラジオボタンのラベル | ||
|
| : | テキスト変数のプレースホルダー付きの出力 |
: | インターフェイス変数の割り当て | ||
: | の中に 入力構成 ダイアログ、 テキスト入力 に選択されています 入力方式 リストボックスとオプション テキスト出力変数を使用する がアクティブになります。 | ||
|
| : | ラベル |
|
| : | ラベル |
|
| : | ラベル |
: : | 状態に依存する色でのディスプレイの構成。色を切り替えることができます。 | ||
: | パスワードとユーザー入力が一致しない場合、式は次のようになります。 | ||
: | パスワードとユーザー入力が一致しない場合、式は次のようになります。 パスワードが一致すると、ボタンが有効になります。 | ||
: | ユーザーがクリックした場合 わかった ボタン、次に | ||
|
| : | ラベル |
: | 画面 | ||
: | ユーザーがクリックした場合 キャンセル ボタン、次に |
と
結果の場合のパラメーター」
| OK | ビジュアライゼーションユーザーがボタンをクリックすると、ダイアログが開き、「OK」という結果が返されます。 |
と
結果の場合のパラメーター」
| [キャンセル] | ビジュアライゼーションユーザーがボタンをクリックすると、ダイアログが開き、「キャンセル」という結果が返されます。 |
PLC_PRG:PROGRAM PLC_PRG
VAR
iLevel: INT;
sPwd : STRING;
END_VAR 
ボタンをクリックすると、ダイアログが開き、入力が可能になります。指定されたテキストが保存されたテキストと一致する場合、 わかった 有効になっています:

クリックした後 わかった、選択が適用されます。

ヒント
この例は、複数の戻り値の手順を示しています。ただし、ダイアログのローカル変数を使用すると、パスワードをより簡単に返すことができます。
プログラムによるパラメータへのアクセス
ビジュアライゼーションのインターフェースで宣言された変数は、構造変数として自動的に使用できます。それらはによって識別されます <name of visualization>_VISU_STRUCT。したがって、ダイアログとして表示されるビジュアライゼーションのインターフェイス変数にアクセスできます。通常、ユーザー入力によって呼び出される関数のアプリケーションコードで構造を使用します。
パラメータとしてポインタを渡す
複雑なデータ構造を渡すために、タイプのインターフェース変数にフラグを立てることができます VAR_IN_OUT プラグマ属性を使用 VAR_IN_OUT_AS_POINTER ポインタまたはそれへの参照をパラメータとして渡します。
ユーザーデータオブジェクトを宣言します(
DUT)。ダイアログのインターフェイスエディタで、インターフェイス変数を宣言します(
VAR_IN_OUT)属性を割り当てることにより、データオブジェクトへの参照として'VAR_IN_OUT_AS_POINTER'変数に。ユーザーインターフェイスをプログラムします。ビジュアライゼーションでダイアログを使用するか、ビジュアライゼーション要素の入力構成でダイアログを割り当てます。その後、参照データへのアクセスが可能になります。
FUNCTION_BLOCK ControlFB
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
bOk : BOOL := TRUE;
nCounter : INT;
nValue : INT;
END_VAR
nCounter := nCounter + 1;
によるインターフェイス変数の宣言 VAR_IN_OUT_AS_POINTER

ユーザーインターフェイス:ダイアログが開きます:

