Skip to main content

演算子:__ 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
153.
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 iCounterarrA 変数はアプリケーションコードで認識されます。変数情報はに保存されます infoCounterinfoA 変数。また、 FB_Velocity 機能ブロックがインスタンス化されます。



データ型:__ SYSTEM.VAR_INFO

名前

データ・タイプ

初期化

説明

ByteAddress

DWORD

0

変数のアドレス

例: 16#072E35EC

注:変数のビットアクセスの場合 <variable name>.<bit index>、ビットを含む変数のアドレスが指定されます。

ByteOffset

DWORD

0

可変アドレスのオフセット(バイト単位)

例: 13936 バイト

注:変数がグローバルの場合、オフセットは領域の先頭を基準にしています。変数が関数またはメソッドのローカル変数である場合、オフセットは現在のスタックフレームを基準にしています。変数が機能ブロック内のローカル変数である場合、オフセットは機能ブロックインスタンスに相対的です。

Area

DINT

0

メモリエリア番号 Area ランタイムシステムで

例: -1

変数がメモリ内でグローバルではなく、インスタンスまたはスタック上で相対的であることを意味します

注:メモリ領域はデバイスに依存します。

BitNr

INT

0

ビット数(バイト単位)

例: 16#00FF バイト

注:変数が いいえ 整数データ型の場合: BitNr = -1 = 16#FFFF

BitSize

INT

0

変数のメモリサイズ(ビット単位)

例: 16 ビット

BitAddress

UDINT

0

変数のビットアドレス

要件:変数は入力メモリ領域にあります I、出力メモリ領域 Q、またはマーカーメモリ領域 M。それ以外の場合、値は未定義です。

TypeClass

TYPE_CLASS

TYPE_BOOL

変数のデータ型クラス

例: TYPE_INTTYPE_ARRAY

注:ユーザー定義のデータ型または機能ブロックインスタンスの場合、 TYPE_USERDEF データ型クラスとして出力されます。

TypeName

STRING(79)

、」

変数の日付型名 STRING(79)

注:ユーザー定義のデータ型の場合、機能ブロック名またはDUT名が出力されます。

例: 'INT''ARRAY'

NumElements

UDINT

0

配列要素の数

要件:変数のデータ型は ARRAY

例: 8

BaseTypeClass

TYPE_CLASS

TYPE_BOOL

配列要素の基本的な基本データ型

要件:変数のデータ型は ARRAY

例: TYPE_INT にとって arrA : ARRAY [1..2,1..2,1..2] OF INT;

ElemBitSize

UDINT

0

配列要素のメモリサイズ(ビット単位)

要件:変数のデータ型は ARRAY

例: 16 のビット arrA : ARRAY [1..2,1..2,1..2] OF INT;

MemoryArea

MEMORY_AREA

MEM_MEMORY

メモリ領域に関する情報

  • MEM_GLOBAL:グローバルメモリ領域

    例:で Area 0

  • MEM_LOCAL:ローカルメモリ領域

    Area -1

  • MEM_MEMORY:マーカーメモリ領域 %M

    例:で 16#10Area 1

  • MEM_INPUT:入力メモリ領域 %I

    例:で 16#04Area 2

  • MEM_OUTPUT:出力メモリ領域 %Q

    例:で 16#08Area 3

  • MEM_RETAIN:メモリ領域を保持

    例:で 16#20Area 0

例: MEM_GLOBAL

注:メモリ領域の構成はデバイスによって異なります。

Symbol

STRING(39)

、」

変数名として STRING(39)

例: 'iCounter''arrA'

Comment

STRING(79)

、」

変数宣言のコメント

例: 'Counts the calls' また 'Stores the A data'