PLCでビットデバイスは内部リレーなどの
ことで、0と1、ONとOFFの
2つの状態を作れる1ビットのデバイスです。
(PLCについては
以下のページを参考ください。
→PLCとは何か)
PLCは数値も扱えます。
数値はワードデバイスという
16ビットのデバイスで
2進数で扱えます。
そのあたりのことは
以下のページで説明していますので
ご参考ください。
このページではPLCの数値処理で
多々使われるビットデバイスで
数値を示す、ワードデータ扱いにする
方法について解説します。
デバイス記号や命令語は
三菱電機のPLCであるシーケンサ
にものを使っています。
ある程度シーケンサやシーケンス制御の基本が
分かった方が対象になります。
以下のサイトで、これらの基本講座も
まとめていますので
理解が追い付かない場合は参考ください。
●シーケンス制御講座
→0から始めるためのシーケンス制御講座
●シーケンサ講座
→初心者のためのシーケンサ講座
1.K2X000の記号(応用命令)、数値プログラムでよくみますね
K2X000
例えばこのような記号をラダー図で
見ることはあります。
(ラダー図については
以下のページを参考ください。
→ラダー図とは/a>)
私は初心者の頃は、何のことか
わかりませんでした。
ラダー図はリレーシーケンスの
シーケンス図のようなものなので
シーケンス図が読めれば
みていけます。
この記号は知っていないと
わかりません。
K2X000 のKは10進数を示します。
つまり10進数の2ということです。
シーケンサの世界では
私達が日常使う10進数だけでは
なく2進数など他の進数も
使います。
ですので、Kと書いて
何進数か示すのです。
(進数等については
以下のページを参考ください。
→PLC(シーケンサ)で扱う数値/進数について)
X000は入力リレーのデバイス番号です
K2X000 が何を示すか結論から
いうと、
X000,X001,X002,X003,
X004,X005,X006,X007の
入力リレーの番号を示します。
K〇の〇は桁指定をするものです。
1で4つ分のビットデバイス
(4ビット指定)を意味します。
この例は2だったので8つの
ビットデバイスを意味しました。
では、K2X000のX000の意味は
このデバイス番号から始まって
8つ目のデバイス番号までを
意味しています。
(先頭のデバイス番号指定)
Kは2に限らず1~8と
あります。
8なら32ビットになりますね。
ビットデバイスはXに限らず
出力リレーYの時も、内部リレーのMの
時もあります。
(内部リレーについては
以下のページを参考ください。
→内部リレーやタイマーについて)
このページのタイトルは
ビットデバイスで数値を表す
ですが、
なぜ、この応用命令が
数値を表すことになるのかを
説明していきます。
2.BCDコードとは
シーケンサは内部で数値データは
データレジスタDなどの
ワードデバイスで16ビットで
格納されます。
それとは別に2進化10進数と
いって、10進数の1桁だけを
4ビットで示すこともします。
前項でK1ならビットデバイス
4つを示すと書きました。
つまり4ビット分です
4ビットなので1桁です
K2なら8ビットで2桁
K4なら16ビットで4桁です
例えば、K2なら10進数の33は
BCDコードでは
0 0 1 1 0 0 1 1 の8ビット使って
こうなります。
これは10進数の3が2進数では
0011(11)だからです。
33は2進数なら100001ですが
BCDコードは1桁ずつなので
10の桁の3の0011 で
1の桁の3の0011 で
あわせて
0 0 1 1 0 0 1 1となるのです。
データレジスタを使わずに
BCDコードにする理由の1つは
デジタルスイッチや7セグメント表示器
で使いやすいからです。
ここまででBCDコードについて
分かりにくかった場合は
以下のページでは、詳細に
書いていますので そちらを参考ください。
このページでは
ビットデバイスの桁指定をする
応用命令(例:K2X011)の見方を
説明する目的ですので割愛させてください。
3.使い方の例
使い方の例は
前項で紹介したデジタルスイッチや
7セグメント表示器でなどで
数値を扱いたいとき以外でもあります。
この命令では1キーワードで
4~32のビットデバイスを指定
できるわけです。
ラダー図上で例えば
[MOV H0B40 K4M380]
と書けば
(*Hは16進数を示します)
この一行でM380~M395までの
デバイスの0,1(ONかOFF)を
書くことが可能です。
(MOV命令については
以下を参考ください
→準備中です)
このように、1行で
作ることが可能になります。
他にも考え方次第で
プログラムを簡易化することが
可能になりますね。
4.まとめ
K2X003のような
ビットデバイスの桁数指定は
1キーワードで複数の処理を
一気にできることから
数値処理に限らず、アイデア1つで
ラダープログラムを簡素化でき
間違いを防ぐこともできます。
ぜひ、使えるようになってくださいね。
当方では初心者向の
シーケンス制御の教材も
扱っていますので
興味があれば
以下の画像をクリックして
ご確認ください。
●リレーシーケンス教材に
ついては以下の画像をクリック
●シーケンサ教材に
ついては以下の画像をクリック