- 三菱FX3系列PLC功能指令應(yīng)用全解
- 李金城編著
- 1256字
- 2024-01-19 15:51:43
2.3 子程序調(diào)用
2.3.1 子程序調(diào)用指令CALL,SRET
1.指令格式
FNC 01:CALL 【P】 子程序調(diào)用 程序步:3
FNC 02:SRET 子程序返回 程序步:1
CALL指令可用軟元件如表2-5所示。
表2-5 CALL指令可用軟元件

指令梯形圖如圖2-26、圖2-27所示。

圖2-26 CALL指令梯形圖

圖2-27 SRET指令梯形圖
CALL指令操作數(shù)內(nèi)容及取值如表2-6所示。
表2-6 CALL指令操作數(shù)內(nèi)容及取值

注:由于P63為CJ(FNC 00)專用(END跳轉(zhuǎn)),所以不可以作為CALL(FNC 01)指令的指針使用。
解讀(CALL):當(dāng)驅(qū)動條件成立時,調(diào)用程序入口地址標(biāo)號為Pn的子程序,即轉(zhuǎn)移到標(biāo)號為Pn的子程序去執(zhí)行。
解讀(SRET):在子程序中,執(zhí)行到子程序返回指令SRET時,立即返回到主程序調(diào)用指令的下一行繼續(xù)往下執(zhí)行。
2.指令應(yīng)用
1)指令執(zhí)行流程
調(diào)用子程序也是一種程序轉(zhuǎn)移操作,和CJ指令不同是,CJ指令是在主程序區(qū)中進(jìn)行轉(zhuǎn)移,而調(diào)用子程序則是轉(zhuǎn)移到副程序區(qū)進(jìn)行操作,CJ指令轉(zhuǎn)移后不產(chǎn)生斷點,無須再回到CJ指令的下一行程序,而調(diào)用子程序在完成子程序的運行后,還必須回到調(diào)用子程序指令,并從下一行繼續(xù)往下運行。而它們的相同之處是程序轉(zhuǎn)移入口地址都用分支標(biāo)號P來表示調(diào)用子程序的程序流程圖,如圖2-28所示。

圖2-28 調(diào)用子程序程序流程圖
調(diào)用子程序指令可以嵌套使用。三菱FX系列PLC在子程序內(nèi)的調(diào)用子程序指令CALL最多允許使用四次,也就是說一個用戶程序最多允許進(jìn)行五層嵌套。圖2-29表示了一個二次調(diào)用子程序的流程圖。

圖2-29 二次調(diào)用子程序流程圖
2)指針P的使用
指針P的標(biāo)號不能重復(fù)使用,也不能與CJ指令共用同一個標(biāo)號,但一個標(biāo)號可以供多個調(diào)用子程序指令調(diào)用。需要注意的是不可以使用指針P63。
子程序必須放在副程序區(qū),在主程序結(jié)束指令FEND后面,子程序必須以子程序返回指令SRET結(jié)束。
3)脈沖執(zhí)行型
調(diào)用子程序指令CALL有連續(xù)執(zhí)行型和脈沖執(zhí)行型兩種方式。當(dāng)為連續(xù)執(zhí)行型CALL時,在每個掃描周期都會被執(zhí)行。而當(dāng)為脈沖執(zhí)行型CALLP時,僅在驅(qū)動條件的上升沿出現(xiàn)時執(zhí)行一次,用CALLP指令也可以執(zhí)行程序初始化,且比CJ指令還要方便,如圖2-30所示。

圖2-30 CALLP指令應(yīng)用
4)子程序調(diào)用
子程序可以在主程序中調(diào)用,也可以在中斷服務(wù)程序中調(diào)用,還可以在其他子程序中調(diào)用,其調(diào)用執(zhí)行過程都是相同的。
3.子程序內(nèi)軟元件使用
1)定時器T的使用
由于一般的定時器只能在線圈被驅(qū)動時計時,因此,如果用于僅在某種條件下才驅(qū)動線圈的子程序中,則不能進(jìn)行計時。因此,F(xiàn)X系列PLC規(guī)定了在子程序里使用專用的子程序用定時器T192~T199,該定時器在線圈被驅(qū)動時或是執(zhí)行END指令時進(jìn)行計時,如果達(dá)到設(shè)定值,在線圈被驅(qū)動或執(zhí)行END指令時相應(yīng)觸點動作。
在子程序內(nèi)使用1ms定時器(T246~T249)時,到達(dá)設(shè)定值后,輸出觸點會在最初驅(qū)動線圈指令時(執(zhí)行子程序時)動作,請務(wù)必注意。
2)軟元件狀態(tài)
子程序在調(diào)用時,其中各軟元件的狀態(tài)受程序執(zhí)行的控制。但當(dāng)調(diào)用結(jié)束后,其軟元件會保持最后一次調(diào)用時的狀態(tài)不變。如果這些軟元件狀態(tài)沒有受到其他程序的控制,就會長期保持不變,哪怕是驅(qū)動條件發(fā)生了改變,軟元件的狀態(tài)也不會改變。
如果在程序中對定時器、計數(shù)器執(zhí)行RST指令,定時器和計數(shù)器的復(fù)位狀態(tài)也會保持。因此,對這些軟元件編程時,可以在子程序結(jié)束后的主程序中復(fù)位,或是在子程序中進(jìn)行復(fù)位。
- 創(chuàng)客智能電子制作
- 工程制圖與AutoCAD
- 面向目標(biāo)跟蹤的雷達(dá)資源管理方法
- 產(chǎn)品包裝檢測與評價
- 冷板式液冷
- 核電材料老化與延壽
- 行業(yè)專網(wǎng)規(guī)劃設(shè)計手冊
- 微孔晶體的配合物模板導(dǎo)向合成
- 工業(yè)產(chǎn)品材料與構(gòu)造
- 工程圖學(xué)習(xí)題集
- 工業(yè)軟件百問
- 智能產(chǎn)品設(shè)計與開發(fā)
- 生產(chǎn)現(xiàn)場的數(shù)字孿生方法、技術(shù)與應(yīng)用
- 《中國制造2025》重點領(lǐng)域技術(shù)創(chuàng)新綠皮書:技術(shù)路線圖(2017)
- 產(chǎn)品數(shù)據(jù)管理原理與應(yīng)用:基于Teamcenter平臺(第2版)