演算子:__ VARINFO
演算子は、IEC61131-3規格の拡張です。
演算子は、変数に関する情報を生成します。データ型の変数にデータ構造として情報を保存できます __SYSTEM.VAR_INFO
。
宣言の構文
<name of the info variable> : __SYSTEM.VAR_INFO; // Data structure for info variable
呼び出しの構文
<name of the info variable> := __VARINFO( <variable name> ); // Call of the operator
FUNCTION_BLOCK FB_Velocity VAR_INPUT rVelocity: REAL := 1.2; END_VAR VAR_OUTPUT END_VAR VAR infoVelocity: __SYSTEM.VAR_INFO; //Info of Velocity END_VAR infoVelocity := __VARINFO(rVelocity); // Gets the info of Velocity locally
PROGRAM PLC_PRG VAR iCounter : INT := 0; // Counts the calls infoCounter : __SYSTEM.VAR_INFO; //Info of Counter arrA : ARRAY [1..2, 1..2, 1..2] OF INT := [0, 1, 2, 3, 4, 5, 6, 7]; // Stores the A data infoA : __SYSTEM.VAR_INFO; //Info of A fbVel : FB_Velocity; END_VAR iCounter := iCounter + 1; infoCounter := __VARINFO(iCounter); infoA := __VARINFO(arrA); fbVel();
The iCounter
と arrA
変数はアプリケーションコードで認識されます。変数情報はに保存されます infoCounter
と infoA
変数。また、 FB_Velocity
機能ブロックがインスタンス化されます。
データ型:__ SYSTEM.VAR_INFO
名前 | データ・タイプ | 初期化 | 説明 |
---|---|---|---|
|
| 0 | 変数のアドレス 例: 注:変数のビットアクセスの場合 |
|
| 0 | 可変アドレスのオフセット(バイト単位) 例: 注:変数がグローバルの場合、オフセットは領域の先頭を基準にしています。変数が関数またはメソッドのローカル変数である場合、オフセットは現在のスタックフレームを基準にしています。変数が機能ブロック内のローカル変数である場合、オフセットは機能ブロックインスタンスに相対的です。 |
|
| 0 | メモリエリア番号 例: 変数がメモリ内でグローバルではなく、インスタンスまたはスタック上で相対的であることを意味します 注:メモリ領域はデバイスに依存します。 |
|
| 0 | ビット数(バイト単位) 例: 注:変数が いいえ 整数データ型の場合: |
|
| 0 | 変数のメモリサイズ(ビット単位) 例: |
|
| 0 | 変数のビットアドレス 要件:変数は入力メモリ領域にあります |
|
|
| 変数のデータ型クラス 例: 注:ユーザー定義のデータ型または機能ブロックインスタンスの場合、 |
|
| 、」 | 変数の日付型名 注:ユーザー定義のデータ型の場合、機能ブロック名またはDUT名が出力されます。 例: |
|
| 0 | 配列要素の数 要件:変数のデータ型は 例: |
|
|
| 配列要素の基本的な基本データ型 要件:変数のデータ型は 例: |
|
| 0 | 配列要素のメモリサイズ(ビット単位) 要件:変数のデータ型は 例: |
|
|
| メモリ領域に関する情報
例: 注:メモリ領域の構成はデバイスによって異なります。 |
|
| 、」 | 変数名として 例: |
|
| 、」 | 変数宣言のコメント 例: |