シーケンサCPUでは,すべての情報をONとOFF,あるいは1と0の状態により記憶し,処理しています。したがって数値演算も,この1と0で処理した数値,すなわち2進数(Binary number …バイナリ・BIN)で処理しています。


一方,私たちの日常生活では,10進数がわかりやすく最もよく使われています。

 

そこでシーケンサに数値を指令するとき,あるいはシーケンサの数値情報を読む(モニタ)ときには,10進数から2進数へ,あるいは2進数から10進数への変換が必要になります。

 

そのためにプログラミングツールにはその変換機能が持たせてあります。

 

またプログラムの命令の中にも変換機能を持つものが用意されています。


ここでは,10進数と2進数,16進数,2進化10進数(BCD)の表現と,その関係について説明します。

 

10進数 Decimal


・10進数とは,“0~9の10種類の記号を使って,順序と大きさ(量)を表す数”とい
えます。
そして,0~9まで数が進むと“10”と桁上りをし,さらに進むことになります。
・たとえば,10進数「153」を桁と,“桁の重み”という角度から見てみます。

・MELSEC-Qのシーケンサでは,10進定数であることを表現するとき「K」をつけます。

 

 

2進数 Binary…BIN


・2進数とは“0と1の2種類の記号を使って順序と大きさを表す数”といえます。

 

そして,0,1と数が進むと“10”と桁上りをし,さらに進むことになります。なお,0,1の1桁をビットといいます。

 

 

・たとえば,つぎの2進数は10進数でいくつになるか考えてみます。
“10011101”
10進数で桁番号と桁の重みを考えたように,右からビット番号とビットの重みを付けてみます。

 

 

10進数を見たときと同じように,各ビットのコードと重みの積の和を考えてみます。
=1×128+0×64+0×32+1×16+1×8+1×4+0×2+1×1
=128+16+8+4+1
=157
すなわち,2進数は“コードが1の,ビットの重みを加算したもの”が10進数になるということです。

 

16進数 Hexadecimal


・16進数も,10進数,2進数と同じように考えると,“0~9,A~Fの16種類の記号を使って順序と大きさを表す数”といえます。

 

そして,0,1,2…D,E,Fと数が進むと“10”と桁上りをし,さらに進みます。

 

 

・16進数の1桁は,2進数の4ビットに相当します。
・MELSEC-Qのシーケンサでは,16進定数であることを表現するとき「H」をつけます。
・16進数は,以下のデバイス番号に使っています。
・入出力(X,Y)
・ファンクション入出力(FX,FY)
・リンクリレー(B)
・リンクレジスタ(W)
・リンク用特殊リレー(SB)
・リンク用特殊レジスタ (SW)
・リンクダイレクトデバイス (Jn\X, Jn\Y, Jn\B, Jn\SB, Jn\W, Jn\SW)