これはDM(データメモリ)でのみ機能します。オムロンPLCには多くのメモリ領域があります。CIOは通常、入力/出力ビットにのみ使用されます。W(作業)は作業メモリビットを格納するために使用され(RAMを考えてください)、H(ホールド)は電力が失われた場合に値を保持する必要があるビットを格納するために使用されます(ハードドライブ、ビットデータを考えてください)。DMとEMは、主にWORDデータを保持するために使用され、電源が失われた場合にも保存されます。もちろん、これに関する厳格なルールはありません。多くの状況では、たとえば、必要に応じて、Wビットの代わりにCIOビットを使用できますが、それぞれに、それらを差別化し、より多くのものにする特定の固有の機能があります。特定の目的に適しています。
この場合、@記号はポインタのように機能します。命令[MOV#1 D300]を使用した場合、16進データ[x0001]をメモリ位置D300に移動します。明確にするために、#1(2番目の引数)は値x0001の16進(シンボル#)定数です。上記の例のように、D300に値[x0100](= 10進数で256)が含まれていて、命令[MOV#1 @ D300]を使用した場合、値[x0001]をD300に移動しませんが、 D300に含まれるアドレス(この場合はD256)。
@記号は、2進数または16進数形式のポインターに使用されることに注意してください。D300 = [x0100]の場合、@ D300へのMOV命令は、データをD256(hex 0100)に移動します。*修飾子を使用して[MOV#1 * D300]を実行することもできます。これにより、D300に格納されている0100がBCD値として扱われます。つまり、D256を指す代わりに、D100を指します。
ポインタを使用すると、たとえば、さまざまな条件で一連のさまざまな場所に値を送信する場合などに、MOV命令を変更する必要がなくなります。メモリの移動を別のアドレスにリダイレクトする場合は、D300に保存されているアドレス値を更新するだけです。
@記号は、ニーモニックで他のことを意味する場合があることに注意してください。たとえば、@ LDは、差動UP接点を意味します。