ここから本文です

三菱シーケンサのMOV命令について教えてください。機種はFX2Nです。

ken********さん

2008/6/1922:31:00

三菱シーケンサのMOV命令について教えてください。機種はFX2Nです。

MOV K5 K3M690 という命令があります。
この命令の動作はM690・691・692・・・701までに定数の5を代入するのでしょうか?
Mはコイルの為にこのように定数を入力することはできるのでしょうか?
ただ、M690・691・692・・・701がONするだけでしょうか?
どなたか教えていただけないでしょうか
御願いいたします。

閲覧数:
44,604
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

fim********さん

編集あり2008/6/2016:01:11

「K5」はビット(2進数)で考えると、「0000 0000 0000 0101」(*1)
これを右(下位)基準で、K3M690 にかぶせます。

K3M690 は K3は3桁(12ビット)指定なので、
M701,M700,M699,・・・・,M694,M693,M692,M691M690 となり、

上記の「0101」は、M693,M692,M691,M690 にかぶるので、M692 と M690 の2個が「1」つまり「on」になります。

M701~M694 は「0」つまり「off」がかぶるので、全部offとなります。

>「このように定数を入力する」
定数というよりも、2進数のビット列を数値で表したものと考えてください。
「MOV bin:0000 0000 0000 0101 K3M690」と書きたいところなのですが、2進数(バイナリ)表現の記述ができないので「K5」と書いているのです。

ちなみに
MOV K10 K3M690 では、M690 と M693 のみが on となり、
MOV H10 K3M690 では、M694 のみが on となります。

Kは10進数表現で、実体は、「0000 0000 0000 1010」であり
Hは16進数表現で、実体は、「0000 0000 0001 0000」となります。

(*1) ビット表現なので 0(off) と 1(on) しかありません。見やすくするために、4個毎にスペースを入れています。
MOV は16ビット命令なので 16個並びますが、DMOV だと32個並びます。

「K4M690」と Dレジスタ は同じような扱いになります。
MOV K5 K4M690
MOV K3 K4M710
ADD K4M690 K4M710 D2
だと、D2 には、5+3=8 で、「8」がはいります。

MOV K5 D0
MOV K3 D1
ADD D0 D1 D2
と、同じ結果になります。

この回答は投票によってベストアンサーに選ばれました!

このQ&Aで解決しましたか?質問する

閉じる

ベストアンサー以外の回答

1〜1件/1件中

2008/6/2007:48:10

K3M690はM690~M701を12bitのデータレジスタとして扱う表記です。
質問者さんが書かれている通りこの場合M690とM692がONして”5”になります。
余計なことかもしれませんが全bit ONさせたい場合はMOV h0FFF K3M690です。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる