【中級編】PLC(シーケンサ)でデータレジスタDのデータ処理

PLC、シーケンサには入力デバイスXや出力デバイスYなどのビットが存在し、四則演算するためにビットデータを集めて10進数表示したりします。

四則演算するためにビットデータを16ビット集めて10進数表示できるものを三菱電機製PLCではデータレジスタDと言います。

デバイスについて以前紹介しました『PLC(シーケンサ)のデバイスとは』にて、詳細は説明しておりますが、ビットがXやY、Mなどで、ビットの集まりがデータレジスタDやWなどとなります。

ビットの集まりがデータレジスタということで、データレジスタもビットとして扱うことができ、逆にビットもデータレジスタとして扱うことが可能です。

PLC Qシリーズ 参考記述
データレジスタのビット表現 D0.0  (D0のデータレジスタの0ビット目をビットとして扱う)
ビットのデータレジスタ表現 K4M0 (M0~M15をデータレジスタとして扱う)

上記のようなことが可能となりますので参考にして下さい。

www.niwakafa.com

今回はデータレジスタの処理方法を紹介したいと思います。

広告

【目次】

データレジスタ D

f:id:vv_6ong_3ka_cp:20170924135132p:plain

引用:三菱電機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"という命令が主に使用します。

MOV:1つのデータレジスタに対して1つの数値を格納
FMOV:複数のデータレジスタに対して1つの数値を格納
BMOV:複数のデータレジスタに対して複数のデータレジスタを格納

数値格納動画

f:id:vv_6ong_3ka_cp:20170924174105p:plain

上記の画像ではデータレジスタに"MOV"、"FMOV"、"BMOV"と命令を使用しており、画像の下部でモニタしております。

PLCでソフトを作成する際は、必ず使うので参考にしてみて下さい。


www.niwakafa.com

www.niwakafa.com

www.niwakafa.com