この記事では
・三菱PLCのデータレジスタがそもそもなんなのか知りたい方
・三菱PLCでデータレジスタに数字を格納する方法を知りたい方
・設備の回路内でデータレジスタが使われているが意味がよく分からない方
におすすめです!
\ あわせて読みたい /
初心者向けおすすめシーケンス制御初心者におすすめの通信教育3選
初心者向けA接点とB接点って何が違うの?
Pick Upおすすめシーケンス制御勉強用のおすすめ参考書&問題集
初心者向け自己保持回路ってどんなもの?
Pick Upおすすめ第2種電気工事士2022年最新おすすめテキスト
初心者向けPLCってなんなの?リレーシーケンスと何がちがうの?
初心者向けおすすめ機械保全の検定に合格したい!おすすめのテキストは?
三菱PLCのデータレジスタとは?
ここでは三菱PLCのデータレジスタが一体なんなのかを紹介していきたいと思います。
データレジスタのイメージを掴んでもらうため、小難しい命令は抜きにして、
まずは図を見ながら「あー、なんとなく分かったかも」くらいのレベルまで到達しましょう。
三菱PLCのデータレジスタは数字を入れておく箱のようなもの
三菱PLCでのデータレジスタはデータを入れておく箱のようなものです。
下図はデータレジスタに10という数字を入れる時のイメージ図です。

三菱PLC内ではそのままの数字を使って制御や演算することは少なく、このデータレジスタに数字を格納してから、例えば足し算や掛け算をしたり、時間や個数の確認をすることが多いです。

データレジスタに数字を入れた方が色々と便利なんだと思っておけばいいんだね!
データの大きさによって箱の大きさを変える必要がある
データレジスタは1つの箱に格納できる数字の大きさが決まっています。
具体的には「‐32768~+32767」の範囲です。
これがなんの数字かというと16ビット(1ワード)で扱うことができる数字の範囲です。
上限よりも大きい数字(+32767より大きい場合)や、下限よりも小さい数字(‐32767より小さい場合)は箱をもう一つ追加する必要が出てきます。
下図では「70000」という数字をデータレジスタに格納している様子を表した図です。

データレジスタを二つ使うことで、入れられる数字の範囲は-2,147,483,648~+2,147,483,647まで大きく広がります。

2つにしたら急に範囲がめちゃくちゃ広がったね!
三菱PLCでデータレジスタにMOV命令で数字を格納する方法
三菱PLCでMOV命令というものを使ってデータレジスタに数字を格納してみます。
データレジスタに数字を格納するには3通りの方法がありますので、一つづつ紹介していきますね。
・小さな数字(※)を1つデータレジスタに格納する方法
・大きな数字(※)を2つデータレジスタに格納する方法
・データレジスタAから別のデータレジスタBに格納する方法
※数字:定数K→任意の10進数、定数H→任意の16進数
小さな数字をデータレジスタに格納する方法
三菱PLCでデータレジスタに数字を格納するためにはMOV命令を使用します。
さっきの図でいうところの10を箱に入れるための矢印の部分がちょうどMOV命令となります。

ラダー回路でこれを表現すると下記のようになります。

X1は入力信号です。たとえば押しボタンスイッチでもいいですし、センサーの入力信号でも構いません。
右の方にあるのはMOV命令(正確にはデータ転送命令)というものです。
MOV:転送命令 を表します。
K10:定数(10進数)の10 を表します。
D100:データレジスタの100番 を表します。
シミュレーションモード(またはモニターモード)を起動するとD100の右下に青色の文字で0が表示されます。

この0がデータレジスタD100に格納されている数字です。
ここでX1をONにすると、

MOV命令によって整数の10(K10)がD100に格納され、D100の右下の数字が0から10になりました。
X0をOFFにしてもD100に格納された数字は10のままです。
これが最も基本的なデータレジスタに数字を格納する方法です。
大きな数字をデータレジスタに格納する方法
三菱PLCでデータレジスタに大きな数字を格納するためにはDMOV命令を使用します。
さっきの図でいうところの70000を箱に入れるための矢印の部分がちょうどDMOV命令となります。

ラダー回路でこれを表現すると下記のようになります。

X1は入力信号です。押しボタンスイッチでもいいですし、センサーの入力信号でも構いません。
右の方にあるのはDMOV命令(正確にはデータ転送命令)というものです。
DMOV:転送命令 を表します。
K70000:定数(10進数)の70000 を表します。
D100:データレジスタの100番 を表します。
シミュレーションモード(またはモニターモード)を起動するとD100の右下に青色の文字で0が表示されます。

この0がデータレジスタD100に格納されている数字です。
ここでX1をONにすると、

MOV命令によって整数の10(K10)がD100に格納され、D100の右下の数字が0から70000になりました。
X0をOFFにしてもD100に格納された数字は10のままです。
またデータレジスタD1を使った場合はD2が自動で二つ目のデータレジスタとして使用されます。
(D100だったらD101、D1234だったらD1235が使われます)
回路上ではD2という文字は見えないですが、このDMOV命令によって使用される領域となるので、他の命令等でD2に書き込みをしないよう、注意しましょう。
これが大きな数字をデータレジスタに数字を格納する方法です。
データレジスタレジスタAから他のデータレジスタBに数字を書き込む方法
三菱PLCでデータレジスタから別のデータレジスタに数字を格納するためにはMOVもしくはDMOV命令を使用します。
下図は青色のD100に格納されている10という数字を緑色のD200に転送する時のイメージ図です

データレジスタにAから別のデータレジスタBに数字を書き込むには下記のように回路を構成します。

X2の行の部分がデータレジスタA(D100)からデータレジスタB(D200)へデータを書き込む命令になります。
現状は2行目のD100の右下に10と数字が表示されています。D200の右下の数字は0になっていますね?
この状態からX2をONにすると

D100に入っていた数字10がD200にも格納されたことが分かるかと思います。
X2をOFFしてもD200の中の数字はそのままになります。
D100の数字をD200にコピーしているイメージのほうが近いかもしれません。
MOV命令を使うときに注意すること
結論からいうとMOV命令は使いずらいのでMOVP命令を使うようにした方が良いです。
MOVもしくはDMOVの後にそのまま”P”を入れると使えます。
理由として、MOV命令は正しくは「連続実行型転送命令」と言って「スキャンの度に命令を実行する」タイプの命令です。
一つのデータレジスタに対して複数個のMOV命令を使用すると、どのタイミングでどちらの命令が動いてその数字が書き込まれたか非常に分かりにくいです。
一方、MOVP命令は「1スキャン実行型転送命令」と言って「1スキャンだけ命令を実行して後は何もしない」命令なんですね。
ここの違いを分かっていないとデバックの際にハマることがあるので注意しましょう。
もちろん、MOV命令が便利なこともありますから、使い分けできるのが一番いいですが。
三菱PLCでデータレジスタに数字を格納するMOV命令の使用方法まとめ
この記事では
・データレジスタは数字を格納しておく箱のようなもの
・大きい数字を入れるには大き目の箱が必要
・小さな数字をレジスタに数字を格納する方法
・大きな数字をレジスタに数字を格納する方法
・データレジスタAから別のデータレジスタBに数字を格納する方法
方法を紹介しました。

今回も最後までお読みいただきありがとうございました!
\ あわせて読みたい /
初心者向けおすすめシーケンス制御初心者におすすめの通信教育3選
初心者向けA接点とB接点って何が違うの?
Pick Upおすすめシーケンス制御勉強用のおすすめ参考書&問題集
初心者向け自己保持回路ってどんなもの?
Pick Upおすすめ第2種電気工事士2022年最新おすすめテキスト
初心者向けPLCってなんなの?リレーシーケンスと何がちがうの?
初心者向けおすすめ機械保全の検定に合格したい!おすすめのテキストは?

シーケンス制御 の勉強サポート!お気軽にフォロー・DMください。保有資格:職業訓練指導員免許(機械、電気、メカトロニクス科)特級技能士(機械)1級技能士(電気)!最近はRPAに興味があって勉強中!自己紹介ページはこちら→鈴さんの自己紹介
コメント