電子開(kāi)發(fā)網(wǎng)

電子開(kāi)發(fā)網(wǎng)電子設(shè)計(jì) | 電子開(kāi)發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開(kāi)發(fā)網(wǎng) >> 電子開(kāi)發(fā) >> 其他PLC >> 三菱PLC編程入門(mén)實(shí)例 >> 正文

三菱plc子程序調(diào)用,三菱FX PLC學(xué)習(xí)之子程序調(diào)用與循環(huán),CALL和SRET、FOR

作者:佚名    文章來(lái)源:網(wǎng)絡(luò)整理    點(diǎn)擊數(shù):    更新時(shí)間:2025/2/3

上次,我們學(xué)習(xí)了程序流程轉(zhuǎn)移中的條件跳轉(zhuǎn)CJ,這次,我們接著向子程序調(diào)用CALL和FOR循環(huán)發(fā)起進(jìn)攻吧!

 

顯然,子程序調(diào)用CALL和FOR循環(huán)和條件跳轉(zhuǎn)CJ一樣,都是PLC程序中用于流程轉(zhuǎn)移的,所以,上次所學(xué)的程序區(qū)、主程序結(jié)束指令FEND等知識(shí)點(diǎn)可不要丟喲~在這里我也不再贅述了,這是為了給讀者們省時(shí)間,可不是我想偷懶。那么,我們開(kāi)始這次的學(xué)習(xí)吧!

 

一、子程序調(diào)用(CALL、SRET)

所謂子程序,顧名思義,它是程序的孩子,啊呸,它是區(qū)別于主程序而存在的獨(dú)立程序段,只能呆在副程序區(qū)的可憐瓜娃子。就像我之前說(shuō)的,你媽媽叫你打醬油,有蘋(píng)果就順便買(mǎi)幾個(gè),這里的打醬油是主程序,買(mǎi)蘋(píng)果是子程序。醬油是必須要打的,但蘋(píng)果買(mǎi)不買(mǎi)取決于你CALL不CALL,如果你想把買(mǎi)蘋(píng)果的錢(qián)拿去買(mǎi)辣條,此時(shí)買(mǎi)蘋(píng)果這個(gè)子程序就不會(huì)被驅(qū)動(dòng)(CALL),不過(guò),你媽媽會(huì)不會(huì)賞你一個(gè)鞋餅就另說(shuō)了。

 

調(diào)用子程序和條件跳轉(zhuǎn)一樣,都是PLC的瞬移特異功能,但CJ主要是在主程序區(qū)蹦跶,怎么跳轉(zhuǎn),都逃不過(guò)主程序區(qū)這五指山,但調(diào)用子程序就不一樣了,它一跳就直接跳到副程序區(qū)去了,就跟孫猴子的筋斗云似的。那么,這個(gè)筋斗云怎么用呢?我們接著往下看。

1、子程序調(diào)用指令CALL、SRET

三菱子程序調(diào)用指令CALL、SRET 

要想在PLC梯形圖中跳出主程序這個(gè)牢籠,召喚子程序,就必須要用到子程序調(diào)用指令CALL,而且還要捎帶上CALL的媳婦SRET。

和CJ不一樣的是,子程序調(diào)用指令CALL必須要和子程序返回指令SRET成對(duì)使用。但又和CJ指令一樣,CALL的適用軟元件也是分支指針P0~P127,且P63不能用于CALL。所以,在編程時(shí)要注意分支指針P的使用,同一標(biāo)號(hào)的P不能同時(shí)被CJ指令和CALL指令共用,例如CALL P5中的P5就不能用于CJ P5

 

從編程手冊(cè)中可以看到,CALL指令僅用于16位,且具有連續(xù)執(zhí)行型和脈沖執(zhí)行型兩種。連續(xù)執(zhí)行型和脈沖執(zhí)行型的區(qū)別于CJ差不多,在此不再贅述。

SRET指令和FEND指令一樣無(wú)驅(qū)動(dòng)條件,僅用于子程序的返回。在子程序中,執(zhí)行到子程序返回指令SRET時(shí),立即返回到主程序調(diào)用指令的下一行繼續(xù)往下執(zhí)行。

 

如上圖所示,當(dāng)驅(qū)動(dòng)條件X0接通(X0=ON),執(zhí)行CALL P5,程序跳轉(zhuǎn)到副程序區(qū)中子程序的入口地址P5處往下執(zhí)行,執(zhí)行到SRET指令時(shí),立即返回到主程序區(qū)CALL P5的下一行繼續(xù)往下執(zhí)行。

所以,我們?cè)谑褂肅ALL指令時(shí),千萬(wàn)不要忘了它的媳婦SRET指令哦,所謂“寧拆十座廟 ,不毀一樁婚”,可不要做了那棒打鴛鴦的壞人。

2、子程序嵌套

子程序嵌套,是指子程序中再應(yīng)用子程序調(diào)用指令去調(diào)用其他子程序,所謂“三十六計(jì)計(jì)中計(jì)”,一環(huán)扣一環(huán),一套嵌一套。當(dāng)然,這個(gè)再次調(diào)用的過(guò)程類同于主程序調(diào)用子程序的過(guò)程。

 

如上圖所示就是2層嵌套的程序流程圖,當(dāng)驅(qū)動(dòng)條件X0接通,調(diào)用子程序1,在執(zhí)行子程序1的過(guò)程中,驅(qū)動(dòng)條件X1接通,調(diào)用子程序2,執(zhí)行完子程序2后,返回到子程序1中調(diào)用指令CALL P6的下一行繼續(xù)執(zhí)行完子程序1,直到執(zhí)行到子程序1的返回指令后返回到主程序中調(diào)用指令CALL P5的下一行繼續(xù)往下執(zhí)行。

這就好比你打醬油,途中去買(mǎi)蘋(píng)果,買(mǎi)蘋(píng)果的途中看到辣條忍不住,然后跑去買(mǎi)辣條,賣(mài)完辣條再去買(mǎi)蘋(píng)果,最后才去買(mǎi)醬油,最后回家。這里打醬油是主程序,買(mǎi)蘋(píng)果是子程序1,買(mǎi)辣條是子程序2。

 


在三菱PLC2N中,調(diào)用子程序的嵌套層數(shù),對(duì)主程序而言最多有5層,顯然,對(duì)子程序而言就要少一層,就是4層。如上圖的子程序嵌套流程圖,子程序2中還可以有3,3中有4,4中有5,5中就不能有6了。

 

3、子程序的軟元件使用

按理來(lái)說(shuō),主程序和子程序的軟元件是通用的,也就是說(shuō),三菱PLC2N中的軟元件,可以用于主程序,也可用于子程序,但有一個(gè)比較特殊,那就是定時(shí)器。

所有定時(shí)器均可用于主程序,但子程序要用定時(shí)器的話,就沒(méi)這么簡(jiǎn)單了,它只能是T192~T199、T246~T249這10個(gè)。

另外,在子程序調(diào)用過(guò)程中被驅(qū)動(dòng)的軟元件,其狀態(tài)在子程序調(diào)用結(jié)束后,會(huì)保持在最后一次調(diào)用時(shí)候的狀態(tài)不變。哪怕這些軟元件的驅(qū)動(dòng)條件在子程序調(diào)用結(jié)束后發(fā)生了改變,軟元件的狀態(tài)也不會(huì)發(fā)生改變。

4、子程序應(yīng)用什么時(shí)候才會(huì)用到子程序呢?顯然,子程序是區(qū)別于主程序的獨(dú)立程序段,這里的獨(dú)立,其實(shí)就很明顯的突出的子程序的作用,那就是把功能模塊化,不同的子程序互相獨(dú)立,各自有著不同的功能,為主程序提供不同的服務(wù)。

所以,當(dāng)系統(tǒng)規(guī)模很大、控制要求復(fù)雜時(shí),可以把程序分為一塊一塊的子程序,使程序簡(jiǎn)化;另外,當(dāng)某個(gè)功能需要多次執(zhí)行時(shí),也可以編成子程序,需要時(shí)直接調(diào)用,清晰方便,是主程序簡(jiǎn)單化。

 

子程序調(diào)用的實(shí)際應(yīng)用,在這里我就不舉例了,因?yàn)檫@和主程序區(qū)別也不大,只不過(guò)是功能模塊化而言。打敗了子程序調(diào)用后,我們乘勝追擊,繼續(xù)進(jìn)攻PLC的FOR循環(huán)吧!

二、循環(huán)

PLC的循環(huán)也是程序流程轉(zhuǎn)移的一種,對(duì)應(yīng)的指令為FOR、NEXT。

 

和子程序調(diào)用指令一樣,循環(huán)指令FOR和NEXT也是成對(duì)出現(xiàn)的,但不同的是,F(xiàn)OR指令和NEXT指令都沒(méi)有驅(qū)動(dòng)條件。在子程序調(diào)用指令CALL、SRET中,CALL指令是需要驅(qū)動(dòng)條件的,條件跳轉(zhuǎn)指令CJ 也需驅(qū)動(dòng)條件。

從編程手冊(cè)中,我們可以看到,F(xiàn)OR指令僅用于16位,且只有連續(xù)執(zhí)行型。這是顯然的,因?yàn)樗鼪](méi)有驅(qū)動(dòng)條件,哪來(lái)的脈沖執(zhí)行型?

所謂FOR循環(huán),指的是重復(fù),在程序中,PLC掃描到FOR-NEXT指令時(shí),對(duì)FOR-NEXT指令之間的程序重復(fù)執(zhí)行n次。如下圖所示,程序掃描到FOR K5時(shí),在FOR K5NEXT指令之間的程序2重復(fù)執(zhí)行5次,然后再退出循環(huán)繼續(xù)往下執(zhí)行。

 

雖然FOR指令的適用軟元件有很多,但最常用的是常數(shù)K,也就是用常數(shù)K指定程序重復(fù)執(zhí)行的次數(shù)。循環(huán)指令的應(yīng)用相對(duì)簡(jiǎn)單,但有幾點(diǎn)還是需要我們注意的。

1、循環(huán)嵌套從上文中我們知道了子程序可以嵌套,同樣的,循環(huán)指令也可以嵌套,而且最多也是5層。如下圖所示為5層循環(huán)嵌套,如下圖所示。

 

如上圖所示,若這5層循環(huán)中,每層循環(huán)的次數(shù)均為10,顯然,所有循環(huán)全部執(zhí)行完時(shí),第五層循環(huán)被執(zhí)行了100000次,第4層執(zhí)行了10000次,依次類推,第1層被執(zhí)行了10次。這就跟剝洋蔥似的,“一層一層剝開(kāi)我的心~”咳咳,抱歉,一不小心就唱起來(lái)了,回歸正題。

所以,我們?cè)趹?yīng)用循環(huán)嵌套時(shí),一定要注意所嵌循環(huán)的次數(shù),因?yàn)檠h(huán)次數(shù)過(guò)多會(huì)造成程序運(yùn)算時(shí)間過(guò)長(zhǎng),使PLC的響應(yīng)變慢,甚至超時(shí)。

另外,循環(huán)是可以并立嵌套的,如下圖所示。此時(shí)兩個(gè)并立的循環(huán)為一層,也就是說(shuō),下圖為2層的循環(huán)嵌套。

 

2、循環(huán)指令使用循環(huán)指令使用在使用時(shí)要注意以下幾點(diǎn):

(1)循環(huán)指令FOR必須要和NEXT指令成對(duì)使用,缺一不可,同生共死;

 

(2)FOR指令和NEXT指令的順序不能顛倒;

(3)FOR指令和NEXT指令必須同時(shí)存在同一程序區(qū),F(xiàn)OR指令在主程序區(qū),對(duì)應(yīng)NEXT指令也必須在主程序區(qū),不能寫(xiě)在副程序區(qū)。

關(guān)于循環(huán)指令的實(shí)際應(yīng)用,這里我也不列舉了,因?yàn)槲依哿恕5覀冎懒怂淖饔茫芸炊绦蛞簿涂梢粤恕?/P>

那么,這次的學(xué)習(xí)分享就到這里啦,共勉!

Tags:子程序,子程序調(diào)用,三菱plc  
責(zé)任編輯:admin
相關(guān)文章列表
三菱Q系列PLC 以太網(wǎng)通信設(shè)置方法 組態(tài)王以太網(wǎng)通信設(shè)置
運(yùn)動(dòng)控制系統(tǒng)解析 —— 三菱PLC單軸運(yùn)動(dòng)控制
三菱plc有哪些編程指令?詳細(xì)介紹
西門(mén)子S7-200 SMART 模擬量概述及自建庫(kù)文件,西門(mén)子PLC子程序創(chuàng)
三菱FX3U系列—時(shí)鐘指令_三菱trd指令
三菱PLC實(shí)現(xiàn)設(shè)備累計(jì)運(yùn)行時(shí)間_時(shí)間指令HOUR三菱計(jì)時(shí)長(zhǎng)程序怎么用
三菱PLC基本指令編程經(jīng)典案例!
三菱FX3U的MODBUS通信篇,三菱PLC的MODBUS通訊
三菱PLC 6行程序?qū)崿F(xiàn)8電機(jī)順序啟動(dòng)逆序停止梯形圖程序,SFTR和SFT
三菱FX3U PLC模擬量編程 FX3U-4AD模塊進(jìn)行恒溫PID控制,三菱PLC的
三菱FX3U PLC 塑料擠出機(jī)加熱溫度PID控制程序帶詳細(xì)注釋
PLC實(shí)現(xiàn)冒泡排序,三菱PLC冒泡排序
西門(mén)子S7-200SMART PLC如何實(shí)現(xiàn)星三角降壓?jiǎn)?dòng)多次調(diào)用?子程序編
西門(mén)子PLC子程序?qū)嵗琒7-200 SMART PLC帶參數(shù)子程序應(yīng)用實(shí)例
三菱FX2N PLC編程實(shí)戰(zhàn):從基本邏輯到高級(jí)應(yīng)用
三菱PLC控制步進(jìn)電機(jī)的實(shí)例(圖與程序) FX1S-14MT控制步進(jìn)電機(jī)實(shí)例
三菱PLC控制器實(shí)現(xiàn)步進(jìn)電機(jī)正反轉(zhuǎn)和調(diào)速控制,DECOP和ZRST
三菱PLC控制步進(jìn)電機(jī)驅(qū)動(dòng)刀具位移的絕對(duì)位置定位指令代碼及實(shí)例
三菱PLC脈沖輸出指令PLSY詳解
三菱PLC控制實(shí)例——步進(jìn)電機(jī)控制,步距角和脈沖數(shù)
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
推薦文章
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁(yè)面
下到頁(yè)底
晶體管查詢
中国女人一级毛片| 97无码免费人妻超级碰碰夜夜| 女人与大拘交口述| 中文字幕三级久久久久久| 年轻的妈妈在完整有限中字第4| 中文字幕在线永久| 女人把腿给男人桶视频app| 一区二区三区在线视频播放| 大香伊蕉在人线国产75视频| h在线观看视频免费网站| 在线免费看黄网站| 97视频资源总站| 国产精品免费综合一区视频| 69av在线视频| 国产成人无码av| 蜜桃成熟之蜜桃仙子| 国产在线观看精品香蕉v区| 色多多视频免费网站下载| 国产一级免费片| 精品一区二区三区免费视频 | 草草久久久无码国产专区| 国产乱在线观看完整版视频| 精品四虎免费观看国产高清午夜| 军人野外吮她的花蒂无码视频 | 亚洲色图15p| 欧美三级韩国三级日本播放| 亚洲乱码无码永久不卡在线| 日本男人操女人| 久久AV无码精品人妻出轨| 好爽…又高潮了毛片免费看| japanese中文字幕| 国产精品妇女一二三区| 黑人巨茎大战俄罗斯美女| 国产呻吟久久久久久久92| 精品无人区无码乱码毛片国产| 免费黄网站在线看| 欧美激情一区二区三区中文字幕 | 欧美精品亚洲一区二区在线播放| 亚洲成人黄色网| 日本肉漫在线观看| 中文字幕无码不卡在线|