三菱plc的解码指令(也叫译码指令)deco与编码指令enco也是三菱plc的常用功能指令。下面介绍这两个指令及简单应用。这两个指令听起来高大上,其实很好理解,很好掌握。先用通俗语言解释一下。当然少了术语听起来不专业。
解码指令deco:由源操作数组成的二进制数的数值(这个数值指十进制数),是几则目标操作数第几位on(动作)。
基本操作形式
当驱动条件成立时,原操作数s的数值,使目标操作数d的相应位数置位(on)。n是取值范围。下面介绍两个操作数及常数n的的取值。
s:位元件的x,y,m,s。字元件t,c,d,v,z。
d:位元件y,m,s。字元件t,c,d。
n:常数k,h。当终址为字元件时1≤n≤4。当终址为位元件时1≤n≤8。
例1 ,说明指令deco x0 y0k3执行功能。分析:k3表示源址为三位位元件x2,x1,x0组成的输入编码。y0表示译码输出控制为y0~y7八个位元件。执行功能:(x2 x1 x0)=km则以y0开始的第几位置on。假设x0,x1,x2组成的二进制数是101,则对应的十进制数是5,则y5输出。
从这里可以看出x0,x1,x2可以组合出000——到111的七种组合二进制数。那么它对应的目标操作数则有八个数,y0——y7。就是说源操作数有n个时,则终址则位2的n次方。上式k取3,则目标操作数有8个,y0——y7。
例2,说明指令deco x0 d0 k4执行功能。
分析:k4表示源址是四位位元件x3,x2,x1,x0组成的输入编码。d0表示d0中的b0~b15十六个二进制位。上面已经说明当终址为字元件时n的取值为≤4。这是和终址的存储位是16位决定的。假设(x4,x3,x2,x1)的二进制数为1111,则对应的十进制数是15。则d0中b15位置on。
应用举例:八个彩灯要求每3秒亮一盏,轮流亮灭。
在以后的篇幅里介绍与译码指令相反的指令编码指令。