发布于 2011-09-20 15:09:40
8楼
好的,给你一个十二位的程序:
L P#50.0
T MD 100
L IW 0 //接格雷编码器
AW W#16#FF0F //对高四位进行屏蔽
T MW [MD 100] //将12位有效数据存入MW50
L 11 //12位数据循环11次
M001: T MW 40
ITD
L MD 100
+D
T MD 104 //左位的地址
L L#1
-D
T MD 108 //右位的地址
X M [MD 104]
X M [MD 108]
= M [MD 108]
L MW 40
LOOP M001
L MW 50
CAW //将ACCU1中的高低字节的数据进行交换
T MW 8
编码器的低位接IB0高位接IB1,MW8为编码输出,因为S7中一个字的存储是数据高位在字的低位,数据低位存在字的高位,所以IW的数据最后要用CAW转一下。在仿真中通过,正常使用。
学如逆水行舟,不进则退