資源描述:
《三菱PLC功能指令.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、5.2FX系列可編程控制器功能指令概述v程序流程控制功能指令傳送與比較指令v算術(shù)運(yùn)算和邏輯運(yùn)算指令循環(huán)移位與移位指令v數(shù)據(jù)處理指令高速處理指令v外部I/O設(shè)備指令FX系列外部設(shè)備指令v浮點(diǎn)數(shù)運(yùn)算指令方便指令v外圍設(shè)備指令觸點(diǎn)比較指令程序流程控制功能指令分類FNCNO.助記符功能32位指令脈沖指令FX1SFX1NFX2NFXZNC程序流控制00CJ條件跳轉(zhuǎn)—○○○○○01CALL子程序調(diào)用—○○○○○02SRET子程序返回——○○○○03IRET中斷返回——○○○○04EI允許中斷——○○○○05DI禁止中斷——○○○○06FEND主程序結(jié)束——○○○○07WDT監(jiān)控
2、定時(shí)器刷新—○○○○○08FOR循環(huán)開始——○○○○09NEXT循環(huán)結(jié)束——○○○○v條件跳轉(zhuǎn)指令CJv子程序調(diào)用指令CALL與返回指令SRETv中斷返回指令I(lǐng)RET、允許中斷指令EI與禁止中斷指令DIv主程序結(jié)束指令FENDv監(jiān)視定時(shí)器刷新指令WDTv循環(huán)開始指令FOR與循環(huán)結(jié)束指令NEXTvCJ、CJP指令用于跳過順序程序某一部分的場(chǎng)合,以減少掃描時(shí)間。條件跳轉(zhuǎn)指令CJ應(yīng)用說明如圖v子程序調(diào)用指令CALL與返回指令SRETv子程序應(yīng)寫在主程序之后,即子程序的標(biāo)號(hào)應(yīng)寫在指令FEND之后,且子程序必須以SRET指令結(jié)束。中斷返回指令I(lǐng)RET、允許中斷指令EI與禁止中
3、斷指令DIvPLC一般處在禁止中斷狀態(tài)。指令EI~DI之間的程序段為允許中斷區(qū)間,而DI~EI之間為禁止中斷區(qū)間。當(dāng)程序執(zhí)行到允許中斷區(qū)間并且出現(xiàn)中斷請(qǐng)求信號(hào)時(shí),PLC停止執(zhí)行主程序,去執(zhí)行相應(yīng)的中斷子程序,遇到中斷返回指令I(lǐng)RET時(shí)返回?cái)帱c(diǎn)處繼續(xù)執(zhí)行主程序。vvFEND指令表示主程序的結(jié)束,子程序的開始。程序執(zhí)行到FEND指令時(shí),進(jìn)行輸出處理、輸入處理、監(jiān)視定時(shí)器刷新,完成后返回第0步。vFEND指令通常與CJ-P-FEND、CALL-P-SRET和I-IRET結(jié)構(gòu)一起使用(P表示程序指針、I表示中斷指針)。CALL指令的指針及子程序、中斷指針及中斷子程序都應(yīng)放在
4、FEND指令之后。CALL指令調(diào)用的子程序必須以子程序返回指令SRET結(jié)束。中斷子程序必須以中斷返回指令I(lǐng)RET結(jié)束v如果掃描時(shí)間(從第0步到END或FEND)超過100ms,PLC將停止運(yùn)行。在這種情況之下,應(yīng)將WDT指令插到合適的程序步(掃描時(shí)間不超過100ms)中刷新監(jiān)視定時(shí)器。vFOR~NEXT之間的程序重復(fù)執(zhí)行n次(由操作數(shù)指定)后再執(zhí)行NEXT指令后的程序。循環(huán)次數(shù)n的范圍為1~32767。若n的取值范圍為-32767~0,循環(huán)次數(shù)作1處理。vFOR與NEXT總是成對(duì)出現(xiàn),且應(yīng)FOR在前,NEXT在后。FOR~NEXT循環(huán)指令最多可以嵌套5層。v利用CJ
5、指令可以跳出FOR~NEXT循環(huán)體。傳送與比較指令v比較指令CMPv區(qū)間比較指令ZCPv傳送指令MOVv移位傳送指令SMOVv取反傳送指令CMLv塊傳送指令BMOVv多點(diǎn)傳送指令FMOVv數(shù)據(jù)交換指令XCHvBCD變換、BIN變換指令比較指令CMP比較指令CMPvCMP指令有三個(gè)操作數(shù):兩個(gè)源操作數(shù)[S1.]和[S2.],一個(gè)目標(biāo)操作數(shù)[D.],該指令將[S1.]和[S2.]進(jìn)行比較,結(jié)果送到[D.]中。CMP指令使用說明如圖所示。v區(qū)間比較指令ZCPZCP指令是將一個(gè)操作數(shù)[S.]與兩個(gè)操作數(shù)[S1.]和[S2.]形成的區(qū)間比較,且[S1.]不得大于[S2.],結(jié)
6、果送到[D.]中。ZCP指令使用說明如圖5.15所示。傳送指令MOVMOV指令將源操作數(shù)的數(shù)據(jù)傳送到目標(biāo)元件中,即[S.]→[D.]。MOV指令的使用說明如圖所示。當(dāng)X0為ON時(shí),源操作數(shù)[S.]中的數(shù)據(jù)K100傳送到目標(biāo)元件D10中。當(dāng)X0為OFF,指令不執(zhí)行,數(shù)據(jù)保持不變移位傳送指令SMOVv首先將二進(jìn)制的源數(shù)據(jù)(D1)轉(zhuǎn)換成BCD碼,然后將BCD碼移位傳送,實(shí)現(xiàn)數(shù)據(jù)的分配、組合。源數(shù)據(jù)BCD碼右起從第4位(m1=4)開始的2位(m2=2)移送到目標(biāo)D2/的第3位(n=3)和第2位,而D2/的第4和第1兩位BCD碼不變。然后,目標(biāo)D2/中的BCD碼自動(dòng)轉(zhuǎn)換成二進(jìn)
7、制數(shù),即為D2的內(nèi)容。BCD碼值超過9999時(shí)出錯(cuò)。取反傳送指令CMLvCML指令使用說明如圖所示。將源操作數(shù)中的數(shù)據(jù)(自動(dòng)轉(zhuǎn)換成二進(jìn)制數(shù))逐位取反后傳送。塊傳送指令BMOVBMOV指令是從源操作數(shù)指定的元件開始的n個(gè)數(shù)組成的數(shù)據(jù)塊傳送到指定的目標(biāo)。如果元件號(hào)超出允許的元件號(hào)范圍,數(shù)據(jù)僅傳送到允許的范圍內(nèi)。BMOV指令的使用說明如圖所示。多點(diǎn)傳送指令FMOVFMOV指令是將源元件中的數(shù)據(jù)傳送到指定目標(biāo)開始的n個(gè)目標(biāo)元件中,這n個(gè)元件中的數(shù)據(jù)完全相同。FMOV指令使用說明如圖所示數(shù)據(jù)交換指令XCHXCH指令是將兩個(gè)目標(biāo)元件D1和D2的內(nèi)容相互交換。使用說明如圖所示