【三菱】PLCのデータレジスタ(D)とは何?いろいろな使い方をラダー図を使って紹介!
三菱のPLCを使用していると必ずといっていいほど、データレジスタ(D)は使用されていますよね。
このデータレジスタ(D)を使うことでデータの数値やタイマー値などを格納することができます。
今回はそもそもデータレジスタ(D)とは何なのか?またいろいろな使い方について紹介していきたいと思います。
⇒PLCやシーケンス制御、電気保全について私が実際使用して学んだものを『電気エンジニアが教える!技術を学べるおすすめ参考書』で紹介しているのでこちらもぜひご覧ください。
データレジスタ(D)とは何?
【データレジスタ(D)】
シーケンサ内の数値データを格納するデバイスのこと
データレジスタで格納する数値は下記のようになっています。
データレジスタ(D)は上記のように16ビットで構成されていて、一般に8ビットを1バイト、16ビット(2バイト)1ワードともいいます。
Qシリーズでは16ビット(1ワード)で扱える数値は『-32768~0~+32767』の範囲となっています。
例えばK157(K=10進数)の10進数の数値をデータレジスタ(D)に格納すると上記のようになります。
また、他にもそのデータが16ビット(1ワード)での取扱い範囲を超える場合は32ビット(2ワード)を使用し、これにより扱える数値は『-2,147,483,648~+2,147,483,647』の範囲となります。
32ビットはD0とD1のデータレジスタ(D)を2個使うことで取扱う数値の範囲を大きくすることができます。
基本となる2進数や10進数など分からない方は下記の記事に詳しく載せているので参考にしてみてください。
ではこれからデータレジスタ(D)にどのようにして格納していくか紹介していきますね。
関連記事:『シーケンサCPUで扱われている2進数や10進数とはどんなもの?使用例などわかりやすく紹介!』
MOVの転送命令を使って格納
【MOV命令とは】
変化するデータを常時読み出す時に使用
MOV命令を使ってデータレジスタに格納する方法が下記になります。
一般的にこのようにMOVの転送命令を使って、データレジスタ(D)に格納します。
次に格納したい数値が大きく、32ビット(2ワード)でなければならない場合は先頭に『D』をつけます。
例えばK50000の場合は16ビット(1ワード)で扱う範囲を超えてしまうので32ビット(2ワード)命令にする必要があります。
そのような時には下記のように格納します。
ここで注意しなければいけないのが32ビット(2ワード)を使用する場合はD0に転送するだけなのでD1も使用していることに気づかずに、他で使用してしまう不具合が発生する時があります。
ですので、先頭に『D』がついている場合は2つのデータレジスタ(D)に格納されているのでよく確認するようにしましょう。
また、32ビットの数値をリセットする場合はK0を格納させますが、この時にも先頭に『D』をつけなければいけないので覚えておいてくださいね。
関連記事:『PLCの転送命令MOV(P)とは?回路に必須!?修理にも役立つ使い方の説明』
データレジスタ(D)の使用例を紹介
・工程ごとにデータを扱う時に使用
・タイマやカウンタの間接指定で使用
使用例として上記2つを順番に紹介していきますね。
工程ごとにデータを扱う時に使用
例えば、生産工場などで、自動で流す場合に加工寸法が違うものが流れると思うので、このような時は工程ごとにデータを移動していかなければなりません。
簡単に説明すると、下記のように送るデータを選択して、転送命令を使って加工寸法をD0から次の工程で使うD1に格納する例です。
【動作説明】
①X0がONとなりK100がD0に格納
②X2がONになるとD0に格納された数値(100)がD1に格納
③D1に転送と同時に転送元のD0に格納されている数値をリセット(0)する
同じようにX1をONにしてK255を選択した時は下記のようになります。
だいぶ略していますが、簡単に言うとこのようにX0とX1でデータを選択しておいて、作業完了でX2をONにすると次の工程で使用するD1に転送していくわけですね。
同時に必ず元のデータ(D0)の数値をリセットしておきます。
関連記事:『三菱】PLCのラダー図で使用するタイマの使い方は?回路例も紹介!また他にも4種類ある!?詳しく説明』
タイマやカウンタの間接指定で使用
タイマやカウンタの間接指定方法は下記のようになります。
間接指定はD10やD20に前述で紹介した転送命令で数値を格納しておき、その格納した数値をカウンタやタイマで使用することができます。
この間接指定は数値をいろいろと変えて格納することができるので、細かく調整したい場合によく使用します。
関連記事:『【三菱】PLCラダー図のカウンタの使い方!実際の回路例も交えてわかりやすく紹介!』
まとめ
●✔データレジスタ(D)
・シーケンサ内の数値データを格納するデバイスのこと(16ビット(1ワード)で構成)
・16ビット(1ワード)で扱える数値
『-32768~0~+32767』の範囲
・32ビット(2ワード)で扱える数値
『-2,147,483,648~+2,147,483,647』の範囲
・データレジスタ(D)に格納する方法
MOV命令を使ってデータレジスタに格納するが、32ビット(2ワード)の場合は先頭に『D』をつける
以上。データレジスタ(D)はラダー図で回路を組み際には使用されていることが多いかと思います。
特にデータを扱う場合は必ずといっていいほど使用しているので、格納できる範囲はしっかり覚えておくといいでしょう。
【独学で取得したい方】
こちらも一緒にチェック↓