- 艾寶物聯IOBOV? ─ 工業無線測控專家
1、 數據傳送指令
數據傳送指令包括MOV(傳送)、SMOV(BCD碼移位傳送)、CML(取反傳送)、BMOV(數據塊傳送)、FMOV(多點傳送)、XCH(數據交換)。這里主要介紹MOV(傳送)指令。
傳送指令MOV將源操作數據傳送到指定目標,其指令代碼為FNC12,源操作數[S·]可取所有的數據類型,即K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z,其目標操作數[D·]為KnY、KnM、KnS、 T、C、D、V、Z。
如圖1所示,,當X0為ON時,執行連續執行型指令,數據100被自動轉換成二進制數且傳送給D10,當X0變為OFF時,不執行指令,但數據保持不變;當X1為ON時,T0當前值被讀出且傳送給D20;當X2為ON時,數據100傳送給D30,定時器T20的設定值被間接指定為10秒,當M0閉合時,T20開始計時;MOV(P)為脈沖執行型指令,當X5由OFF變為ON時指令執行一次,(D10)的數據傳送給(D12),其它時刻不執行,當X5變為OFF時,指令不執行,但數據也不會發生變化;X3為ON時,(D1、D0)的數據傳送給(D11、D10),當X4為ON時,將(C235)的當前值傳送給(D21、D20)。注意:運算結果以32位輸出的應用指令、32位二進制立即數及32位高速計數器當前值等數據的傳送,必須使用(D)MOV或(D)MOV(P)指令。
如圖2所示,可用MOV指令等效實現由X0~X3對Y0~Y3的順序控制。
2、比較指令
比較指令有比較(CMP)、區域比較(ZCP)兩種,CMP的指令代碼為FNC10,ZCP的指令代碼為FNC11,兩者待比較的源操作數[S·]均為K、 H、KnX、KnY、KnM、KnS、T、C、D、V、Z,其目標操作數[D·]均為Y、M、S。
CMP指令的功能是將源操作數[S1·]和[S2·]的數據進行比較,結果送到目標操作元件[D·]中。在圖3中,當X0為ON時,將十進制數100與計數器C2的當前值比較,比較結果送到M0~M2中,若100>C2的當前值時,M0為ON,若100=C2的當前值時,M1為ON,
若100<C2的當前值時,M2為ON。當X0為OFF時,不進行比較,M0~M2的狀態保持不變。
ZCP指令的功能是將一個源操作數[S·]的數值與另兩個源操作數[S1·]和[S2·]的數據進行比較,結果送到目標操作元件[D·]中,源數據[S1·]不能大于[S2·]。在圖4中,當X1為ON時,執行ZCP指令,將T2的當前值與10和150比較,比較結果送到M0~M2中,若10>T2的當前值時,M0為ON,若10≤T2的當前值≤150時,M1為ON,若150<T2的當前值時,M2為ON。當X1為OFF時,ZCP指令不執行,M0~M2的狀態保持不變。
3、加1指令和減1指令
加1指令INC和減1指令DEC的操作數均可取KnY、KnM、KnS、T、C、D、V、,它們不影響零標志、借位標志和進位標志。INC的指令代碼為FNC24,DEC的指令代碼為FNC25。INC指令的功能是將指定的目標操作元件[D·]中二進制數自動加1,DEC指令的功能是將指定的目標操作元件[D·]中二進制數自動減1,
如圖5所示,當X0每次由OFF變為ON時,D20中的數自動增加1,當X1每次由OFF變為ON時,D21中的數自動減1。
若用連續執行型加1指令INC或連續執行型減1指令DEC,當條件成立時,在每個掃描周期內指定的目標操作元件[D·]中數據要自動加1或自動減1。16位數據運算時,+32767再加1就變為-32768,-32768再減1就變為+32767。32位數據運算時,+2147483647再加1就變為-2147483648,-2147483648再減1就變為+2147483647。