今回はBCDについて話します。BCDデータ式、英語からいうとBinary-coded decimalです。自分はいつもBCDが人間とパソコンもある程度データを”読める”ように作らえたデータ式だと、思います。
では、まずパソコンが8Bitのデータをどんな風に解読するでしょうか?みんなさんも知ってる通り、パソコンが1と0しか見えません。なので、下図のようになります。
結果からいいますと、16+4+2=22です。
BCDは?BCDは人間にもっと読みやすい形で”数字”を変換してくれます。メリットはBCDは一つの数字を4つのBitで表現されてること。こうすると、10進数な考え方でパソコンにも読めるように簡単でデータ変換を行うことができます。
デメリットは、先一つの数字を4つのBitで表現されてることを言いましたが、それってつまり4つのBinaryをすべて使え切ることなく、10-15で表現できません。
これからもう少しBCD変換などを見てみましょう。BCDは4つのBinary(01)を使って10進数の数字(0-9)を表現します。
つまりBCDの中では1つうのBinaryの”重み”が2ですね。
このTableを4つの数字で表すと、
基本がわかれば、DecをCDに表現させるには:
つまり、10進数の12をBCDで表現すると、
13=0001 0011 になります。
もう一度言いますが、BCDはBinary>DEC変化ではありません。
例えば10進数の72なら、
BCD=0111 0010
Binary=0100 1000 になります。
最後に、そのBCDはどこに使えますか?の疑問が出てきますよね。先にいった通り、表示などももちろん使ってるところもありますが、一部のPLC(例えばSiemensのS7 Timer、Counter)はこのBCD を使っています。
S7-Timerの設定値はS5T#1sなどになります。従来のS5 PLCのそのまま引き継ぐようになったものです。このTimerは3つのBCD(12Bit)で時間の設定と2つ例外のBitでTime-Baseの構成になっています。
それはS7-Counterが最大設定が999の理由です。
そのS7-Timerは、また次回で説明させていただきます。
はーい、お疲れ様です。