三菱PLC QシリーズでのMOV(P)命令ついてまとめてみました。
きしゃネコ
ども、きしゃネコです
- MOV(P)命令とはどんな命令か MOV(P)命令の使い方
もくじ
MOV(P)命令とは
ビットデータ転送命令になります。
元になるデータを指定先のデバイスへそのまま代入する制御です。
すでに別のプログラミング言語をかじっている場合は、C言語やJAVAなどの代入演算子と同じと考えると解りやすいと思います。
難しく考えず、Aの箱からBの箱へ同じものをコピーするイメージです。
MOV(P)で使用できるデータは16ビットデータなので、扱えるデータの範囲は
-32768〜32767になります。
なので、範囲を超えないように注意が必要です。
さらに大きい32ビットデータを転送するDMOV(P)命令もありますが、使用方法はMOV(P)と同じになります。
DMOV(P)は、デバイスの使用範囲がダブルワードになります。
MOVとMOVPの違いは?
転送する制御動作は同じですが、実行される場面が違ってきます。
- MOV命令は、命令実行する条件が成立している間、繰り返し命令が実行されます。
- MOVP命令は、命令実行する条件が成立した時に、一度だけ命令が実行されます。
きしゃネコ
命令の最後についている「P」はパルス命令の意味だよ
「P」の有無で命令実行のしかたが変わるので注意しよう
MOV(P)の使い方
基本的な命令はこんな感じになります。
|----| |----[ MOV(P) 転送元> 転送先> ]--|
条件
転送元は、定数かデバイスを指定することができます。
転送先は、デバイスのみ指定することができます。
使用例
定数を指定デバイスに転送する
デバイス「D1」の中身を「1234」にしたい場合の例になります。
数値(1234)の前にある「K」は、10進数の定数の意味になります。
条件である「M1」がONすると、定数「1234」がデバイス「D1」に転送されます。
MOV命令の場合、条件が成立している間(例の場合M1がONの間)転送する処理が繰り返し実行されています。
MOVP命令の場合も、プログラムはMOVと同じになります。
「MOV」の部分を「MOVP」に変わっているだけです。
制御動作もMOVと同じく、条件である「M1」がONすると、定数「1234」がデバイス「D1」に転送されます。
MOVP命令の場合、条件が成立した時に一度だけ転送する処理が実行されます。
指定デバイスの内容を、指定デバイスに転送する
転送元が定数の場合と違いデバイスになっているだけで定数の転送とほとんど同じです。
デバイス「D1」の中身とデバイス「D2」へ転送したい場合の例になります。
条件である「M1」がONすると
デバイス「D1」の中身がデバイス「D2」に転送されます。
MOV命令の場合、条件が成立している間(例の場合M1がONの間)転送する処理が繰り返し実行されています。
MOVP命令の場合も、プログラムはMOVと同じです。
「MOV」が「MOVP」に変わるだけです。
制御動作もMOVと同じく、条件である「M1」がONすると、デバイス「D1」の中身がデバイス「D2」に転送されます。
MOVP命令の場合、条件が成立した時に一度だけ転送する処理が実行されます。
まとめ
MOV(P)命令のデータ転送命令はPLCプログラムの中でも基本の命令になります。
応用的な使用方法もありけど、まずはデータ転送する命令として覚えておいたほうが良いです。
以上、おわり!
きしゃネコ