シーケンサ

ビットデバイスで数値をつくる方法-K2X003の使い方

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)の見方を
説明する目的ですので割愛させてください。

 →PLCの2進化10進数(BCDコード)とは

3.使い方の例

使い方の例は
前項で紹介したデジタルスイッチや
7セグメント表示器でなどで
数値を扱いたいとき以外でもあります。

この命令では1キーワードで
4~32のビットデバイスを指定
できるわけです。

ラダー図上で例えば

[MOV H0B40 K4M380]
と書けば
(*Hは16進数を示します)

この一行でM380~M395までの
デバイスの0,1(ONかOFF)を
書くことが可能です。

(MOV命令については
以下を参考ください
→準備中です)

このように、1行で
作ることが可能になります。

他にも考え方次第で
プログラムを簡易化することが
可能になりますね。

4.まとめ

K2X003のような
ビットデバイスの桁数指定は
1キーワードで複数の処理を
一気にできることから

数値処理に限らず、アイデア1つで
ラダープログラムを簡素化でき
間違いを防ぐこともできます。

ぜひ、使えるようになってくださいね。

当方では初心者向の
シーケンス制御の教材も
扱っていますので

興味があれば
以下の画像をクリックして
ご確認ください。

●リレーシーケンス教材に
 ついては以下の画像をクリック

リレーシーケンス教材リレーシーケンス教材について


●シーケンサ教材に
 ついては以下の画像をクリック

PLC(シーケンサ)教材PLC(シーケンサ)教材について