解答:西门子S7-200 PLC的寄存器中地址越高,字节位越低。如在输入寄存器中IW0 的 IB0 是高字节,IB1是低字节,因此必须将IW0 中的格雷码值左循环8 次,将高、低位字节调换一次位置得到正确排序的格雷码值存入VW0中。如图2所示:
图2 字循环左移8次
而且,由于接入12位输出的单圈**型编码器,需屏蔽掉IW0字内的I1.4—I1.7,将需要的格雷码数据存入VW2中。如图3所示:
图3 逻辑与运算
在实际应用中,为了计算编码器转过的角度或位置,需使用格雷码指令GRAY_BIN_W功能块将格雷码解码为字类型的标准二进制码,对应放到VW4中。如图4所示:
图4 格雷码转换