シーケンサ

DECO命令(デコード)について【4項】で解説

このページでは
三菱電機のPLCである
FXシーケンサの応用命令の
DECO命令について説明します。

DECO命令は
工程歩進プログラムを
作るときに使い勝手の
いい応用命令です。

1.DECO命令の概要

DECO命令のDECOは
デコードのことです。

デコードの意味は以下に
なります。

「ある一定の規則に従って
別の形式に変換された
データを元に戻すこと。」

シーケンサのDECO命令は

あるルール(規則)に従って
ワードデバイスをビットデバイスに

または
ビットデバイスをワードデバイスに
変換します。

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

例えば
ワードデバイスをビットデバイス
なら

ワードデバイスである
データレジスタD0の値が1のときは
ビットデバイスであるM1がON

D0が2のときはM2がON
D0が3のときはM3がON

という感じにです。

ワードデバイスの値が
ビットデバイスのON/OFFに
変換されていますね
(デコードされている)

これがある規則に
従って行うのが
DECO命令です。

次項からその規則と
規則にもとずいて変換された
例を元に説明をします。

2.データレジスタをビットデバイスに変換

[DECO D0 M0 K4]

上記の記述が
DECO命令の基本形です。

D0はワードデバイス
(以下データレジスタと書く)

M0はビットデバイス
(以下内部リレーと書く)

では規則(ルール)を説明
していきます。

①K4がどこまで変換かを決める

K4は定数で10進数4を示します。

このKは1~8まで指定できます。

このKはどこまでを変換するか
を指定する定数です。

データレジスタD0は16ビットです。

下図のように16個の箱があり
その中に0か1が入ります。

データレジスタ:16ビットデータレジスタ:16ビット

Kで何ビットまでを変換するか
指定するのです。

K4なら下図のように
4ビットまでが変換対象です。

Kは1~8までなので
1ビットから8ビットまでが
指定できます。

指定されてないビットの
データは無視されます。

ワードデバイスの指定:DECO命令ワードデバイスの指定:DECO命令

次にビットデバイスの
変換がどこまでかです。

[DECO D0 M0 K4]

ここでのM0は
先頭のデバイスを
書いています。

M0~何番までを
指定するかもK4で
決めます。

それは2の4乗個(Kの数値)に
なります。

2の4乗ですので16個です。
(2×2×2×2=16)

M0~M15までを
指定することもなります。

Kは1~8なので
2~256個までを
指定できます。

では、次項で
どういった規則で
変換するかを説明します。

②変換の規則

M0~M15のビットデバイスは
ON/OFFしかありません。

まず規則の1つは
変換によって
M0~M16のデバイスは
1デバイスしかONになりません。

M0とM5の2つがONすることは
ありません。

では、どのデバイスがON
するかですが

データレジスタを
10進数に変換したときの数値、
その数番目のデバイスがONします。

(2進数、10進数の変換等については
 以下をクリックして参考ください。
→PLC(シーケンサ)で扱う数値/進数について)

データレジスタが3なら
M2がON,

データレジスタが10なら
M9がON

この規則(ルール)ですので
ビットデバイスは1つしか
ONしようがありません。

データレジスタの数値が0

指定されたビットデバイスは
1つはONします。

変換元のデータレジスタが0の
場合は先頭のデバイスがON
します。

[DECO D0 M0 K4]

この例ならM0がONします。

以下に三菱電機のマニュアルの
一部を貼っておきます。

DECO命令:三菱電機のマニュアルから抜粋DECO命令:三菱電機のマニュアルから抜粋
規則のまとめ

[DECO D0 M0 K4]


定数Kの数値で
変換範囲が決まる

2のK乗の数

16ビットのデータレジスタは
この数のビットまでを

ビットデバイスは記述した
デバイス番号を先頭に
この数分のデバイスが対象
になる


ビットデバイスは1つしか
ONしない。

データレジスタの10進数に
変換時の数値

先頭のビットデバイス番号から
この数値番目がだけがONする


データレジスタの10進数に
変換時の数値が0の時は
先頭のデバイス番号がONする

DECO命令を使うメリット

例えば
M0~M63までを1つしか
ONさせてはいけないプログラム
があるとします。

個別に書くと
プログラムミスもありそうですが
DECO命令ではそれがありません。

それにONさせるデバイスは
データレジスタで決めれるので
データレジスタの数値の変動を

工夫すればデータレジスタで
ビットデバイスを制御できます

3.ビットデバイスをデータレジスタに変換

前項とは逆で
ビットデバイスをワードデバイスへの
変換です。

これは基本的に前項と同じです。

ですので、
簡易に説明していきます。

[DECO M0 D0 K3]

上記記述を例に説明します。

ここでも定数Kの数値で
変換範囲が決まります。

ビットデバイスはM0を先頭に
3個分でM0~M2までを指定します。

下図のようにM0~M2までの箱が
あり、
そのデバイス番号がONしていれば
1が入ります。

ビットデバイスの指定:DECO命令ビットデバイスの指定:DECO命令

データレジスタD0は
16ビットの内、使うビット数の指定に
なります。

ここも前項と同じで
2のK乗個を指定します。

2の3乗で8です。

ここでは下図のように
8ビットまでで
あとは無視で0になります。

ワードデバイスの指定:DECO命令ワードデバイスの指定:DECO命令

ここから先の
考え方は前項と同じです。

ただ、ワードデバイスと
ビットデバイスが
入れ替わっているだけです。

下のビットデバイスは
3ビットと考えます。

10進数に変換した時の
数値、

その数値番目の
データレジスタのビットだけが
1になる

ビットデバイスが全てOFFで
全ての箱が0の場合は
データレジスタの1ビット目に
1が入る。

ひっくり返っただけで
同じですね。

4.DECO命令がOFFの時の状態とDECOP命令

DECO命令は下のラダー図の
ように駆動接点があって
動作させます。

DECO命令のラダー図例DECO命令のラダー図例

上のラダー図ではX000が
駆動接点ですが
X0000がOFFになった時の

M0~のON/OFF状態は
OFFまでの状態を維持します。

DECO命令にはDECOP命令もあります。

この命令は
DECO命令とPLS命令が組み合わせた
ものです。

PLS命令については
以下を

DECOPがONした1周期だけ
DECO命令を実行します。

DECOP命令とタイムチャートDECOP命令とタイムチャート

5.まとめ

DECO命令は
変換元の変化に応じて
変換先のデバイスの
箱(ビット)の内

1つだけがON(1が入る)
する命令です。

この規則をどうつかう
かになりますが

工程歩進、ステップ制御で
使われているのをよく見ますね。

[DECO D0 M0 K3]

D0:1➡M1がON
D0:1+1➡M2がON(M1はOFF)



このような感じで

データレジスタの値を1増やすことで
順番に内部リレーをONさせて
いけるので ステップ制御と
相性がいいのです。

当方ではこのページにも関連する
初心者向のシーケンス制御の教材も
扱っていますので

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

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

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


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

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