作用:DECO指令是根据 ON位的位置将位编号读成数值。 指令格式: 源地址可以是 X、Y、M 、S、T、C、D、V、Z、K、H 等元件; 目标地址可以是Y、M 、S、T、C、D、V、Z 元件; 指令说明: ①计算源地址所表示的值(注意参与计算的源地址的位数不能超过n 个) ②若结果为 0,那么就将目标地址置1,其他 2n 位置零;若结果不为0,为某一具体数字如 P,那么就将(目标地址 +P)置 1,其他 2n 位置零; 由于 D0 是数字寄存器,有16 位,假设 D0 的内容如下表: ①参与计算的源地址的具体位由n 确定,本例中 n=3,是 3 位,也就是 b3b2b1 位,即 b2b1b0=( 101) B,如上表红色数字,计算结果为 5。 ②目标地址一共有 2n 位,即从 M0 开始的 8 位, M0→ M7; ③那么将刚才运算的结果 5 编译到目标地址中,即 M( 0+5)→ M5 为 ON, 其他位置零,目标地址以外的地址数据不发生变化,如本例中 M8 不发生变化。 由于 D0 是数字寄存器,有 16 位,假设 D0 的内容如下表: ①参与计算的源地址的具体位由n 确定,本例中 n=3,是 3 位,也就是 b3b2b1 位,即 b3b2b1=( 101) B,如上表红色数字,计算结果为 5。 ②目标地址一共有2n 位,即从 D2 的 b0 位开始的 8 位, b0→b7; ③那么将刚才运算的结果 5 编译到目标地址中,即 b(0+5)→b5 为 ON,其他位置零, 目标地址以外的地址数据不发生变化。如本例中 b8~b15 不发生变化。 由于源地址是位元件,应考虑位元件组合表示的数值。 ①参与计算的源地址的具体位由n 确定,本例中 n=3,是 3 位,也就是 M3M2M1位,即 M3M2M1= (101) B,如上表红色数字,计算结果为 5。 ②目标地址一共有 2n 位,即从 D2 的 b0 位开始的 8 位, b0→b7; ③那么将刚才运算的结果 5 编译到目标地址中,即 b(0+5)→b5 为 ON,其他位置零, 目标地址以外的地址数据不发生变化。 如本例中 b8~b15 不发生变化。 3 个传感器,一个位置检测,一个颜色(深色/ 浅色)检测,一个金属 / 非金属检测。要求区分颜色、金属/ 非金属。分别推入不同仓库中。程序设计如下, 请自行分析(注意:D0 什么时候等于零,什么时候等于 2,什么时候等于 8,什么时候等于 128) |
|