PLC、シーケンサには入力デバイスXや出力デバイスYなどのビットが存在し、四則演算するためにビットデータを集めて10進数表示したりします。
四則演算するためにビットデータを16ビット集めて10進数表示できるものを三菱電機製PLCではデータレジスタDと言います。
デバイスについて以前紹介しました『PLC(シーケンサ)のデバイスとは』にて、詳細は説明しておりますが、ビットがXやY、Mなどで、ビットの集まりがデータレジスタDやWなどとなります。
ビットの集まりがデータレジスタということで、データレジスタもビットとして扱うことができ、逆にビットもデータレジスタとして扱うことが可能です。
PLC Qシリーズ 参考記述
データレジスタのビット表現 D0.0 (D0のデータレジスタの0ビット目をビットとして扱う)
ビットのデータレジスタ表現 K4M0 (M0~M15をデータレジスタとして扱う)
上記のようなことが可能となりますので参考にして下さい。
今回はデータレジスタの処理方法を紹介したいと思います。
広告
【目次】
データレジスタ D
引用:三菱電機Qシリーズ取扱説明書
データレジスタDとは、16ビットの集まりであり数値データ -32768~32768を格納することができます。
最上位ビットが符号であり、符号なしにすれば0~65535まで数値を格納することができます。
三菱電機製PLCでは演算処理で符号無しで比較演算処理をするためには、iQ-RシリーズのようなGX Works3でプログラムを処理する必要があります。
GX Works3のST言語もしくは『 <_U 』のような処理を行う必要がありますので、GX Works2でプログラムする場合は全て符号付きで考えなければなりません。
bitの集合体
先ほどから話している通り、データレジスタは値を格納できますが、その正体はbitの集まりです。16bitか32bitで扱える数値範囲が変わりますが、bitのON,OFFで数値を判断します。
例えば、0bitがONしたら1、1bitがONしたら2となります。つまり、2の?bit乗となります。それらを足し合わせたのがデータレジスタの値になります。
具体例として、222(10進数)だと
0bit:OFF(0)
1bit:ON(2)
2bit:ON(4)
3bit:ON(8)
4bit:ON(16)
5bit:OFF(0)
6bit:ON(64)
7bit:ON(128)
数値を全て合計すると222となります。
数値格納
プログラムでは基本的に"MOV"、"FMOV"、"BMOV"という命令が主に使用します。
FMOV:複数のデータレジスタに対して1つの数値を格納
BMOV:複数のデータレジスタに対して複数のデータレジスタを格納
数値格納動画
上記の画像ではデータレジスタに"MOV"、"FMOV"、"BMOV"と命令を使用しており、画像の下部でモニタしております。
PLCでソフトを作成する際は、必ず使うので参考にしてみて下さい。