西門子s7-200 plc的寄存器中地址越高,字節(jié)位越低。如在輸入寄存器中iw0 的
ib0 是高字節(jié),ib1是低字節(jié),因此必須將iw0 中的格雷碼值左循環(huán)8 次,將高、低位字節(jié)調(diào)換一次位置得到正確排序的格雷碼值存入vw0中。如圖1所示:
圖1 字循環(huán)左移8次
而且,由于接入12位輸出的單圈絕對(duì)型編碼器,需屏蔽掉iw0字內(nèi)的i1.4—i1.7,將需要的格雷碼數(shù)據(jù)存入vw2中。如圖2所示:
圖2 邏輯與運(yùn)算
在實(shí)際應(yīng)用中,為了計(jì)算編碼器轉(zhuǎn)過的角度或位置,需使用格雷碼指令gray_bin_w功能塊將格雷碼解碼為字類型的標(biāo)準(zhǔn)二進(jìn)制碼,對(duì)應(yīng)放到vw4中。如圖3所示:
圖3 格雷碼轉(zhuǎn)換