目的:達(dá)到二進(jìn)制狀態(tài)讀取與輸出
將端口000.07-000.11作為5位2進(jìn)制輸入接口(000.00為低)
首先要讀取000ch的數(shù)據(jù),但000ch中的.00-.06和.12位不能讀取。所以不能用mov直接傳送數(shù)據(jù)
應(yīng)該使用xfrb(多位傳送)傳送000字中的7-11位。
xfrb #05(取5位)00(目標(biāo)首位)07(源首位)000(源字) d1(目標(biāo)字)
這樣就能得到7-11位的狀態(tài)。
可是剛好,現(xiàn)在的狀態(tài)是剛好相反的,也就是說外部數(shù)據(jù)為 0 時(shí)(0000)得到的是15(ffff)
只能再次進(jìn)行-bcd運(yùn)算,
15-(0 (外部數(shù)據(jù))=0000(外部數(shù)據(jù)狀態(tài))=1111(plc接收到的狀態(tài))=ffff(內(nèi)部數(shù)據(jù)狀態(tài))=15(內(nèi)部bcd))=0(運(yùn)算結(jié)果)
這樣就得到了和外部數(shù)據(jù)一樣的結(jié)果。可以開始下一步進(jìn)行數(shù)據(jù)的bin輸出處理
如輸出到100ch的07-11位
那么就是:xfrb#04 00 07 d1 100
輸出完成