シーケンサ

PLC(シーケンサ)で扱う数値/進数について

私たちは日常生活で数字を
数えるとき

0、1、2、3、4、5、6、7、8、9

と10数えた次に桁が1桁あがり
10となる10進数を使っています。

PLCの数字では
10進数以外の進数も使って数字を
書いてあるので、戸惑う方も
多いと思います。

(PLCについては
以下のページを参考ください。
 →PLCとは何か)

このページではPLCの中でも
最も使われいる三菱電機の
シーケンサで使われている
進数について紹介します。

シーケンサを想定して書いていますが
他社のPLCでも役に立ちます。

それは、PLCなどのコンピューターは
共通して0,1の2進数で計算されるからです。
(2進数の説明も後述しています)

まずは、ビットが何かから
説明していきます。

すぐに進数の説明を見たい方は
目次から移動してください。

1.ビットとは(bit)

パソコンなどコンピュータに
関わると32ビットとか
64ビットといったキーワードを
見ることがあると思います。

ビットはコンピューターが
扱う情報の単位です。

1ビットが最小で
0と1の2通りの状態を
表現できます。

コンピューターは
この0、1が複数組み合わさって
複雑な状態を表現しています。

例えば
0、1、0、0
こういったビットが4つあれば
組み合わせが8通りあるので
その分、表現できることも増えます。

これは4ビットといいます。

人間の感情を例にすると
喜ぶ(0)と怒る(1)の2通りの感情しかない
ことはないですよね。

何万通りの複雑な感情が
あると思います。

コンピューターも、0と1が
何万とおりも複雑に組み合わって
表現しているのです。

2.バイトとは(byte)

パソコンに関わると
ビットと同様にバイトと
いうキーワードを聞くことが
あると思います。

1バイトは8ビットのことです。

1バイトは2の8乗どおり、

256通りの値(状態)を
表すことができます。

3.10進数(DECIMAL NUMBER)

私たちが日常使う数値は
10進数です。

11つ目で1つ桁が上がります。

0、1、2、3、4、5、6、7、8、9
の次の11つ目で1桁あがり
次の桁が1になり
1の桁は9から0に戻り10になります。

99の次は100で3桁目に桁が
あがり、1と2桁は0に戻ります。

シーケンサのFXシリーズで
10進数の定数はKと書かれます。

ラダープログラム中で
K10と書かれていたら
10進数の10という数値になります。

(ラダープログラムについては
以下のサイトを参考ください。
 →ラダー図とは)

その他だとデバイスの番号も
10進数で書かれます

内部リレーMなら
M1,M2,M3,M4.M5,M6,M7,M8.M9,M10
といったようにですね

(内部リレーについては
以下のサイトを参考ください。
 →内部リレについて)

4.2進数(BINARY NUMBER)

シーケンサの内部では数値は
2進数で扱われます。

10進数でシーケンサに入力しても
内部で2進数に変換、
10進数でシーケンサから出力しても
内部では2進数から10進数に変換されています。

2進数はシーケンサの数値を
考えていく上で大事なので
1つ1つ考えていきましょう。

1つ1つ考えていきましょう

0、1 と数えたとき10進数なら
次は2ですね。

2進数の場合は3つ目は桁が1つ
上がるので、10になります。

次の4つ目は、1桁目がまだ0なので
11になります。

5つ目は、1桁目は1なので
2桁目に上がります。

2桁目も1なので3桁目に上がり
100になります。

6つ目は、1桁目は0なので
1桁目に数字が入るので
101になります。

10進数に慣れた私達にとっては
かなり違和感がありますよね。

2進数では、このように
すぐに桁が上がっていきます。

下表に2進数と10進数の
対比を載せましたので

この説明で理解ができない場合は
この表を見ながらゆっくり
考えてみてください。
分かる思います。

難しくはありません、
2進数に慣れていないだけです。

10進数と2進数の変換表10進数と2進数の変換表

2進数を10進数にする

シーケンサで数値を扱うと
2進数は本当によく見ることに
なります。

GXWorksなどのプログラミング
ソフト内でも2進数で表示する画面は
あります。

(GXWorksについては
以下のサイトを参考ください。
 →GXWorks2でラダー図を作成する)

慣れるために2進数を10進数に
していきましょう。

2進数を10進数にする方法は
まずは下図を見てください。

2進数を10進数にする方法2進数を10進数にする方法

8ビットで考えてみます。

2の〇乗の〇を見ると
ビット数から1を引いた値に
なっています。

そして、各ビットで1が入っている
ビットの2の〇乗を足し算することで
2進数を10進数に変換できます。

シーケンサの
ワードデバイスは
2進数16ビットで数値を
扱います。

(ワードデバイスについては
以下のページを参考ください。
 →ビットデバイスとワードデバイス)

2進数に慣れていきましょう

5.16進数(HEXADECIMAL NUMBER)

16進数は17つ目で1つ桁が
上がります。

0、1、2、3、4、5、6、7、8、9
10、A、B、C、D、E、F

で16つで 次の17つ目で
1桁あがり、10となります。

16進数では10以上はA,Bと
アルファベットになります。

10進数と16進数の変換表10進数と16進数の変換表

上表が10進数と16進数の
対比表です。

10進数の16が16進数の10に
なります。

この場合、この10が
10進数なのか16進数なのか
わらりずらいですね。

シーケンサのFXシリーズで
16進数の定数はHと書かれます。

ラダープログラム中で
H10と書かれていたら
16進数の10という数値になります。

なぜ16進数なのか

なぜ16進数を扱うかというと
まずは2進数だと桁がすぐに
上がるので使い勝手が
悪い時があります。

では、普段使う10進数でも
良さそうなものですが
16進数の方が便利なのです。

下表を見てください。

2進数と16進数の関係2進数と16進数の関係

この表のように
16進数の1桁は4ビットで
表現できるのです。

16進数のFは2進数だと1111
16進数のFFは2進数だと1111 1111
16進数のFFFは2進数だと1111 1111 1111

分かりやすいわけです。

6.まとめ

私達は日常生活で
10進数で慣れているので
2進数や16進数には違和感しか
ないと思います。

でもシーケンサを使い
数値を扱う場合は
この考え方は必要になりますので
慣れていきましょう。

当方では初心者向の
シーケンス制御教材もありますので
興味があれば以下の画像をクリックして
ご確認ください。

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

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


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

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