コンパイラは、直接的に物理アドレスが割り付けられていない、個々の変数にメモリエリアを割り付けます。
を選択すると、保持エリアと非保持エリアの割り付け、システム(コンパイラ)用とユーザ用の割り付けを行うことができます。スライダボタンを動かしたり、スライダボタンをダブルクリックして値を入力することによって、メモリエリアの範囲を調整することができます。
設定できるメモリエリアは以下のとおりです:
「フラグワード WR」
「データレジスタ DT」と
「ファイルレジスタ FL」(使用するPLC機種によって表示されない場合があります)
詳細については、アドレスの割り付けを参照してください。
「グローバル変数に従ってシステムエリアを最大化する」により、自動的にシステム(コンパイラ)に最大アドレスエリアを設けることができます。ユーザエリア(ユーザによって入力される変数に割り付けられるエリア)は、明示的なアドレスを持つグローバル変数によって割り付けられるエリアに限定されます。
「グローバル変数に従ってシステムエリアを最大化する」を選択した場合、エディタのボディ内で、明示的なアドレスを使用しないでください。認識されなくなります。
例えば、ボディ内で変数名としてR110とR200を直接使用した場合、WR11とWR20には反映されません。
以下のように、明示的なアドレスをグローバル変数に割り付けることにより、WR11とWR20が認識されるようになります。
電源が切断された場合やRUNからPROGモードへ切り替わったときなどに、非保持エリアの値は消去されますが、保持エリアの値は保持されます。保持エリアの値は、プログラムがPLCにダウンロードされるまで初期化されません。
「明示的なアドレスを持つグローバル変数(保持型)以外のすべての変数を初期化する」のチェックボックスをオンにすると、ユーザが直接アドレスを割り付けた変数は初期化されません。 を選択し、
FP2、FP3、FP-C、およびFP5の場合、ファイルレジスタ(FL)のサイズを「プロジェクト」ペイン上の で設定することができます。
保持エリアのアドレスは、「プロジェクト」ペイン上の を選択し、設定することができます。
コンパイルオプションを変更すると、プロジェクト全体を再コンパイルする必要があります。
グローバル変数リストでアドレスが入力されていない変数は、コンパイラによって自動的にメモリエリアが割り付けられます。
PLC機種によっては、使用できないメモリエリアもあります(灰色で表示されます)。
下表は、クラスとデータ型によって、コンパイラが変数に割り付けるメモリエリアを示しています:
クラス |
データ型 |
メモリエリア |
---|---|---|
VAR、VAR_GLOBAL |
BOOL |
リレーワードWR非保持エリア |
VAR_RETAIN、VAR_GLOBAL_RETAIN |
BOOL |
リレーワードWR保持エリア |
VAR、VAR_GLOBAL |
INT、DINT、WORD、DWORD、TIME、REAL、STRING |
データレジスタDT、非保持型 ファイルレジスタFL、非保持型 |
VAR_RETAIN、VAR_GLOBAL_RETAIN |
INT、DINT、WORD、DWORD、TIME、REAL、STRING |
データレジスタDT、保持型 ファイルレジスタFL、保持型 |
コンパイラは、ループに必要なラベルも自動的に生成します。
システム(コンパイラ)用に予約されるラベルの数は、
の項で指定することができます。「初期値」ボタンを押すと、コンパイラの設定を標準設定に戻すことができます。