データレジスタのビットを使う
シーケンス制御講座
データレジスタは16個のビットで構成されています。これらのビットを個別にON/OFFしたり、接点として使うことができます。普段は数値を保存する場所として使いますが、ここでは三菱QCPUを対象にビットを直接操作する方法を解説します。
作成日:2023年04月01日
更新日:2026年05月24日
データレジスタの構成
データレジスタの中身は16個のビットで構成されています。このビットのON/OFFの組み合わせで数値を表現しています。

このように16個のビットがデータレジスタの中にあります。ビット3(右から4番目)とビット4(右から5番目)がONすると、この組み合わせは"24"という数値を表します。

つまりデータレジスタ「D0」の内部ビットが上記のようにONしていると、「D0」の値は"24"となります。これがデータレジスタの構造です。
ビットでの指定方法
普段データレジスタを使う際は、MOV命令などで外部から数値を転送することが多いと思います。今回はデータレジスタ内のビットを直接ON/OFFする方法を解説します。
内部ビットを指定するには、データレジスタ名の後ろに「.(ドット)」とビット番号を書きます。ビット番号は0〜F(16進数)で指定します。
ビット指定の書き方
D0の0ビット目(最下位ビット)→ D0.0
D0の3ビット目 → D0.3
D0の15ビット目(最上位ビット)→ D0.F
ビット3と4を直接ONする場合のラダー回路は次のようになります。

ただしコイルで記述する場合は注意が必要です。「X0」がONのときはビット3と4がONしますが、「X0」がOFFのときはビット3と4がOFFします。これはMOV命令で「D0」に数値を転送している場合、「X0」がOFFだからといって「D0」の値に影響がないわけではありません。「X0」がOFFの状態で「D0」に"8"をMOV命令で転送しても、コイルによってビット3がOFFされるため"8"という値を正しく保持できません。
MOV命令と一緒に使いたい場合や「X0」がOFFのときに何もしたくない場合は、SET命令を使います。

SET命令を使えば「X0」がONのときだけビットを操作でき、OFFのときは何も変化しません。
次に接点としての使い方です。コイルと同じ記法で接点として使用できます。

これでデータレジスタのビットを接点として使うことができます。
実際の使い方
外部機器に数値データを出力する際、相手機器が5ビットで受け付ける場合があります。通常のMOV命令で直接出力すると8ビット分出力されてしまい、出力点数が無駄になります。そのため内部リレーを経由して出力するのが従来のやり方でしたが、データレジスタのビットを接点として使えば、内部リレーを使わずに直接出力できます。

この手法は5ビットや3ビットなど中途半端なビット数の出力に有効です。4ビットや8ビットのようにきりのいいビット数であればMOV命令でシンプルに記述できます。状況に応じて使い分けてください。
よくある質問(FAQ)
図解入門 よくわかる最新 シーケンス制御と回路図の基本はKindle版(電子書籍)です。単行本ご希望の方は、フォーマットで単行本を選択してください。または、トップページよりご購入ください。




