データレジスタとは数値を格納する箱みたいなものです。
プログラミングでいえば変数みたいなものでしょうか?
データレジスタを使用することで様々な回路を組むことができます。
データレジスタとタイマーを組み合わせて、タイマーをタッチパネルから変更できるようにしたり、
計算したデータをデータレジスタに格納したりすることができます。
今ご紹介した使い方は一例で、もっともっと活用できますので、
ぜひデータレジスタとはどういう物かを覚えてください!
データレジスタにはどんなものがあるの?
データレジスタには3種類あります。
- 一般用:電源OFF時やシーケンサのRUN→STOP時にデータがクリアされるもの
- 保持用:電源OFF時やRUN→STOP時もデータが保持されるもの。
- 特殊用:事前に機能が決められているもの。
1、一般用は主に計算する途中や、一時的にデータを避難させておくのに使用します。
2、保持用は主にデータを保持しておく目的で使用します。タイマーの設定値や、
サーボモーターの移動する位置、速度などのパラメーターなどに使用します。
3、特殊用は主に特殊ユニットや、シーケンサ内であらかじめ使用する用途が決まっているものになります。
データレジスタ(ワードデバイス)1つあたり-32768~+32767の範囲の数字を扱うことができます。
1つのワードデバイスは16個のビットの集まりで成り立っています。
1.2.4.8.16.32・・・・という風に各ビットの位置がONするとその分数字が足されていきます。
また-を扱う時にはすべてのビットがONしている状態が-1で15bit目から逆にOFFしていくことでマイナスの数値が増えていきます。

D0の1bit目がONしているので1
D1では2bit目がONしているから2
D2では1bit目と2bit目がONしているので3となります。
また一つのワードですと-32768~+32767までしか扱えませんが、ダブルワードといって、
ワードデバイスを2個分使用することで-2147483648~2147483647まで数値を扱うことが可能となります。
それぞれ扱える値が変わるので注意して使用してください。
また、ダブルワードとワードを扱うときの注意点として、ワードで使用している領域と、ダブルワードで使用する領域がかぶってしまうと意図した数値にならない状態になります。
なので使い分けはきちんと行うようにするか、もしくはシングルワードであっても、2個分開けて使用しましょう。
例えばD0だけ使用するが、次はD2から使用し始めるなど、あらかじめプログラムを組む際に決まり事を作っておいたり、デバイスリストを作成しておくのもおすすめです。
データレジスタの使用例
タイマーの設定時間として使用する
通常のタイマーであれば
(T0 K10)
と記述するとONする条件になってから
1秒後にONする回路になりますが、データレジスタでタイマーの設定時間として使用する場合
(T0 D0)
というように記述します。
これだけですとD0に数字が入力されませんので、条件が整い次第ONします。

M1がONするとT0がすぐにONする
ですのでタッチパネルで数値を設定できるようにするか、
シーケンサで回路を作成してD0に数値を入れてあげます。
数値をD0に入れてあげる時にはMov命令という物を使います。

これでD0に10が入ります。

M0がONしたことで、MOV命令が実行され、D0に10という数値が入力されている状態。

M1がONするとT0が10カウントしてからONするという状態になります。
計算に使用する
データレジスタは計算するときにも使用します。
三菱のFXシリーズには足し算、引き算、割り算、掛け算(四則演算)などの計算が使用可能です。
出た答えや途中の式を格納しておくのにもデータレジスタは使用されています。
- 足し算:ADD命令
- 引き算:SUB命令
- 掛け算:MUL命令
- 割り算:DIV命令


M0をONすることで順番に計算されています。
D0は1+2=3になるのでD0には3が入力されています。
D1は2-1=1なのでD1には1が入力されている。
D2は2×2=4なのでD2は4が格納されます。
掛け算の答えの部分はダブルワードとなります。
D4は4÷2=2になります。
割り算の場合には2ワード消費して、D5にはあまりの数が格納されるようになっています。
掛け算と割り算については答えの部分は2ワード消費されることに注意してください。
QシリーズではADD=+ SUB=- MUL=* DIV=/ でも同様の結果になります。
データの保存
デバイスをデータの保存に使用することもできます。
例えば、ボタンを押すだけで、瞬時に別のワークを搬送するデータに書き換えたり、
1日毎の装置の生産個数を残したりすることもできます。
データレジスタを使いこなそう!
データレジスタは大変便利で、今回ご紹介した物以外にも
様々な使いかたができます。
大変便利ではありますが、ワードとダブルワードの領域がかぶっていると、
予想外なことが発生したりします。
あらかじめデータレジスタの使用する領域を決めておき、
それからプログムを作成することで領域がかぶることなく作成できます。
あとはワードとして使用するときでも、次のワードを飛ばして使用することで、
後でダブルワードにした際にも領域がかぶることなく使用できます。
プログラム上で使いながら慣れていきましょう!