西門子惠州代理商 比較指令有比較(CMP)、區(qū)域比較(ZCP)兩種,CMP的指令代碼為FNC10,ZCP的指令代碼為FNC11,兩者待比較的源操作數(shù)[S·]均為K、 H、KnX、KnY、KnM、KnS、T、C、D、V、Z,其目標(biāo)操作數(shù)[D·]均為Y、M、S。
CMP指令的功能是將源操作數(shù)[S1·]和[S2·]的數(shù)據(jù)進(jìn)行比較,結(jié)果送到目標(biāo)操作元件[D·]中。在圖13-3中,當(dāng)X0為ON時(shí),將十進(jìn)制數(shù)100與計(jì)數(shù)器C2的當(dāng)前值比較,比較結(jié)果送到M0~M2中,若100>C2的當(dāng)前值時(shí),M0為ON,若100=C2的當(dāng)前值時(shí),M1為ON, 若100<C2的當(dāng)前值時(shí),M2為ON。當(dāng)X0為OFF時(shí),不進(jìn)行比較,M0~M2的狀態(tài)保持不變。
ZCP指令的功能是將一個(gè)源操作數(shù)[S·]的數(shù)值與另兩個(gè)源操作數(shù)[S1·]和[S2·]的數(shù)據(jù)進(jìn)行比較,結(jié)果送到目標(biāo)操作元件[D·]中,源數(shù)據(jù)[S1·]不能大于[S2·]。在圖13-4中,當(dāng)X1為ON時(shí),執(zhí)行ZCP指令,將T2的當(dāng)前值與10和150比較,比較結(jié)果送到M0~M2中,若10>T2的當(dāng)前值時(shí),M0為ON,若10≤T2的當(dāng)前值≤150時(shí),M1為ON,若150<T2的當(dāng)前值時(shí),M2為ON。當(dāng)X1為OFF時(shí),ZCP指令不執(zhí)行,M0~M2的狀態(tài)保持不變 加1指令INC和減1指令DEC的操作數(shù)均可取KnY、KnM、KnS、T、C、D、V、,它們不影響零標(biāo)志、借位標(biāo)志和進(jìn)位標(biāo)志。INC的指令代碼為FNC24,DEC的指令代碼為FNC25。INC指令的功能是將的目標(biāo)操作元件[D·]中二進(jìn)制數(shù)自動(dòng)加1,DEC指令的功能是將的目標(biāo)操作元件[D·]中二進(jìn)制數(shù)自動(dòng)減1,
如圖13-5所示,當(dāng)X0每次由OFF變?yōu)?span style="box-sizing: border-box; margin: 0px;">ON時(shí),D20中的數(shù)自動(dòng)增加1,當(dāng)X1每次由OFF變?yōu)?span style="box-sizing: border-box; margin: 0px;">ON時(shí),D21中的數(shù)自動(dòng)減1。 若用連續(xù)執(zhí)行型加1指令INC或連續(xù)執(zhí)行型減1指令DEC,當(dāng)條件成立時(shí),在每個(gè)掃描周期內(nèi)的目標(biāo)操作元件[D·]中數(shù)據(jù)要自動(dòng)加1或自動(dòng)減1。16位數(shù)據(jù)運(yùn)算時(shí),+32767再加1就變?yōu)?span style="box-sizing: border-box; margin: 0px;">-32768,-32768再減1就變?yōu)?span style="box-sizing: border-box; margin: 0px;">+32767。32位數(shù)據(jù)運(yùn)算時(shí),+2147483647再加1就變?yōu)?span style="box-sizing: border-box; margin: 0px;">-2147483648,-2147483648再減1就變?yōu)?span style="box-sizing: border-box; margin: 0px;">+2147483647
|