シーケンス制御講座

ビットデバイスについて

シーケンス制御講座 中級編 コラム ビットデバイスについて

PLCのメーカーによって、ビットデバイスの長さや書き方が違うと思います。例えばキーエンスの場合「MR30215」の次は「MR30300」となります、なぜ「MR30216」ではないのでしょうか?ビットデバイスの仕組みが少しわかれば、この辺りの疑問も解決できるかもしれません。

作成日:2025年07月08日
更新日:2025年07月08日


なぜデバイス番号のながいPLCがあるの?

このサイトでは基本的に三菱製のPLCを使用しています。内部リレーを例にすると、三菱PLCの場合、「M0」から始まり「M99」、「M100」、「M1000」のようにたくさんあり自由に使用できます。それでは三菱以外のPLCはどうでしょうか?例えばキーエンス製のPLCも三菱と同じように内部リレーなどがあります。キーエンス製は「MR0」から始まっていますが桁数がすごく大きいような気がします。(キーエンス製のPLCは基本的に使いやすいPLCなので、設定を変更すれば三菱と同じような入力「X」、出力「Y」、内部リレー「M」のように表示させることも可能です。)

これはキーエンスのコメント画面の一部ですが、例えば「M30205」のようにとても大きな桁数です。しかしこの番号の数のデバイスがそのまま使用できるわけではありません。「M30205」だからといっても、この時点で3万個以上のデバイス数があるわけではありません。

この長いデバイス番号の仕組みは次のようになっています。

このような感じで下二桁はビットを表します。例えば三菱のデータレジスタは16個のビットで構成されています。このチャンネルと呼ばれる部分をデータレジスタだとすると、「D302」の中のビットの5ビット目を指定しています。

このチャンネルという考え方は三菱PLCにはありませんが、オムロンPLCで使われる表現です。キーエンスも基本的は同じ考え方なので今回例にしました。キーエンスPLCではビットデバイスがチャンネルによってまとめられています。

そのため「M30205」というのは「M302」のなかの5ビットめという意味にになります。桁数が多いからといってそのままのデバイス数が使えるわけではなく、「MR30115」の次は「MR30200」となります。「MR30150」等という番号は存在しません。アルファベットを使わない16進数で表現している感じになります。

三菱は扱いやすくしているだけ

三菱以外のPLCのデバイス番号は、ビットの集合のアドレスとビットの位置を表しているため三菱に比べて長いです。三菱PLCになれていると、この長さを覚えるのが大変です。

ではなぜ三菱のデバイス番号は短いのでしょうか?これは予想ですが単純に読みやすく表示していると思います。キーエンスにも三菱と同じように10進数表示する機能があります。単純に表示が変わるだけで、使用しているデバイスは同じです。

三菱も同じように10進数表示しているだけで、内部では16進数で処理していると思います。それは入出力デバイスは0~Fまでの16進数ですし、リンクデバイスも16進数で扱うからです。さらに三菱QCPUは標準で8kの内部リレー容量ですが、実際はM8191まで使用できます。これは0からカウントすると8192個です。16で割ると512となります。これにより最終デバイスは511の15ビットとなり、これはオムロンのWデバイスと同じ値になります。

三菱PLCの内部リレーを他社のPLCのように表現するとこんなイメージになります。このように、三菱PLCは実際は16進数扱いなのですが、分かりやすく10進数扱いにしていると思います。

オムロンはビットとワードの区別があまりない?

オムロンPLCもチャンネル+ビットの表示方式です。オムロンPLCの場合チャンネルとビットの間に[.](ドット)が入っています。これによってチャンネルとビットの区切りがよくわかります。

三菱PLCは内部リレーのようなビットは「M」、数値を扱う場合はデータレジスタの「D」を使います。これは数値を使う場合は専用のデバイスが準備されています。キーエンスも近い部分があります。しかしオムロンの場合は全てのデバイスが同じように扱えてしまいます。つまりタイマーなどの特殊なデバイスをのぞいては、基本的にチャンネル+ビットで表します。同じ種類のデバイスでも数値の保存に使用したりビットとして使用するなど自由に使えます。そのためあらかじめ数値で使うかビットで使うかを決めておかないと後で混乱します。

例えば「W302」をビットで扱いたい場合は「W302.02」のようにビットの位置まで記述します。「W302」を三菱のデータレジスタのようにワードデバイスとして扱いたいのであれば「W302」と記述します。オムロンPLCの場合はこのように扱うため、三菱PLCのような、内部リレーは「M」、数値を扱う時は「D」を使う、みたいな区切りはありません。

三菱のデータレジスタもビットで使える

ここまでの解説が理解できれば、ここは簡単です。データレジスタをビットで扱えるのは簡単に理解できると思います。データレジスタは16個のビットで構成されています。ビットの指定方法さえわかればビットで使えます。

ここはオムロンと同じです。上記はデータレジスタD100の5番目のビット(右から6個目)を指定しています。ただしデータレジスタは基本的に数値を保存するために用意されているデバイスです。普通に数値用に使うことをおすすめします。何かの演算中に内部のビットの一部をON/OFFさせたい場合、上記の書き方でコイルとして書けばON/OFFできます。

逆に内部リレー「M」を何個か使って数値を扱うこともできます。

これは「M0」~「M15」までの16個のビットを使ってデータレジスタのように扱っています。そして”0”を転送しているので、この命令を実行すると「M0」~「M15」までの16個ビットをまとめてOFFできます。

例えは「K4M0」と指定することでデータレジスタの代わりに「M0」~「M15」でデータレジスタと同じように使用することができます。



図解入門 よくわかる最新 シーケンス制御と回路図の基本はKindle版(電子書籍)です。単行本ご希望の方は、フォーマットで単行本を選択してください。または、トップページよりご購入ください。

Copyright (C) 2010 シーケンス制御講座, All rights reserved.