DUT (重複した要素をもつDUT)

メモリの占有:

同じデータ型(BOOLWORDINTDWORDDINTREAL、同じ文字列長のSTRING)のすべての要素は、各々要素毎にまとめられ、共通の開始アドレスから割り付けられます。配列Arrayも、この共通の開始アドレスに割り付けられます。

開始アドレスは、次のように適用されます。DUTが、BOOL型またはARRAY OF BOOL型の要素からなる場合、ビット用に予約されたメモリエリアに割り付けられます。他のデータ型の場合は、16ビットワード用に予約されたメモリエリアに割り付けられます。

初期状態の曖昧さを回避するために以下の初期化が実行されます:

データ型

初期値

BOOL

FALSE

WORDINTUINTDWORDDINTUDINT

0

REAL

0.0

STRING

‘' (空の文字列)

注記
  • 文字列サイズが格納される先頭ワードは、データ型に指定されている文字列数に初期化されます。その他の文字列用エリアは、ゼロに初期化されます。

  • すべてのSTRING (文字列)型変数の要素は、宣言の最後に配置される必要があります。

  • 使用するデータ型によって、メモリエリアがどのように占有されるか、注意してください。

  • 特に、STRING (文字列)型を使用する場合、それらのメモリエリアが、他の要素によって上書きされることに注意してください。

  • 文字列命令を使用する前に、最大文字列長と現在の文字列長が有効であることを確認してください。

  • DUTは、重複した要素を持つDUTの変数として使用することはできません。

例1:

BOOL型の要素を持たないDUT "DUTwithoutBOOLs":

重複した要素を持つDUTが占有するメモリ:

16-bit word area

       

DT100

WORD1

DWORD1

INT1

DINT1

REAL1

STRING1

DT101

WORD2

INT2

DT102

DWORD2

DINT2

DT103

STRING2

注記

変数STRING1と変数STRING2は、長さが同じで、宣言の最後になければなりません。

BOOL型の要素を持つDUT DUTwithBOOLs (ユーザーがアドレスを定義しない場合):

重複した要素を持つDUTが占有するメモリ:

Bit area

           

WR10

Bool14

Bools[04]

WORD1

DWORD1

INT1

DINT1

REAL1

STRING1

WR11

WORD2

INT2

WR12

DWORD2

DINT2

WR13

注記

変数STRING1は、宣言の最後に配置される必要があります。

配列を含むDUT:

重複した要素を持つDUTが占有するメモリ:

16-bit word area

     

DT100

String1_Max

String_Parts[1,1]

String1

StringS[1]

DT101

String1_Act

String_Parts[1,2]

DT102

String1_Char12

String_Parts[1,3]

DT103

String1_Char34

String_Parts[1,4]

DT104

String2_Max

String_Parts[2,1]

String2

StringS[2]

DT105

String2_Act

String_Parts[2,2]

DT106

String2_Char12

String_Parts[2,3]

DT107

String2_Char34

String_Parts[2,4]

注記

変数String1String2、およびStringsは、長さが同じで、宣言の最後になければなりません。

重複した共通DUTは、あらかじめ「FP tool library」内に定義されています。

関連トピック

最終修正日: 2020-11-20このページに関するフィードバックお問い合わせ窓口