三菱PLC,實(shí)例講解子程序如何調(diào)用!
吳翠萍
發(fā)布于2020-05-28 11:55
41
2
標(biāo)簽:三菱PLC,PLC子程序
【點(diǎn)擊領(lǐng)取】三菱案例 | 西門子案例 | 電工手冊(cè) | 工具箱 軟件
【點(diǎn)擊獲取】三菱PLC例程117個(gè)|西門子PLC例程777個(gè)
【點(diǎn)擊下載】2020新電工仿真軟件
我們以三菱PLC為例,學(xué)習(xí)一下什么是子程序。
一套程序可以分為主程序區(qū),還有子程序區(qū),中斷程序區(qū)等等,主程序區(qū)的程序是無時(shí)無刻都會(huì)掃描執(zhí)行的,而子程序還有中斷程序就必須觸發(fā)某些條件,子程序才會(huì)執(zhí)行。
那么問題來了,為什么不在主程序里面,加一個(gè)常開觸點(diǎn),觸點(diǎn)閉合時(shí)就執(zhí)行相應(yīng)的程序段,這樣不是也能夠達(dá)到一樣的效果么?為什么要出現(xiàn)子程序這樣的東西呢?
那是由于PLC的掃描周期引起的,PLC運(yùn)行的速度,也就是掃描周期,受到I/O數(shù)量、通訊、還有程序的大小限制。單獨(dú)談?wù)摮绦虼笮?,掃描的程序越多,掃描周期越長。下面我們拿三菱FX3U-16MT這款plc做了測試。
如上圖,監(jiān)控PLC的2個(gè)特殊寄存器,D8011是掃描程序的短時(shí)間,D8012是掃描程序的長時(shí)間,底下是程序的步數(shù),沒有寫程序時(shí),掃描周期平均需要5ms,隨著程序增加,掃描周期不斷變長;到16000步時(shí),平均的掃描周期達(dá)到了25ms。由此可見減少掃描程序的必要性,下面我們來看一下,子程序的具體使用方法。
這段程序分為主程序區(qū)和P0子程序兩個(gè)部分,從程序行開始到FEND指令,這些都是主程序,F(xiàn)END是主程序的結(jié)束標(biāo)志。左邊的P0編號(hào)到SRET子程序結(jié)束指令,這是每一段完整的子程序必有的內(nèi)容。
該程序中,當(dāng)M2常開觸點(diǎn)觸發(fā)CALL
P0指令時(shí),P0子程序區(qū)的程序才能夠執(zhí)行,這時(shí)可以觸發(fā)M1常開觸點(diǎn),Y4線圈會(huì)導(dǎo)通;這時(shí)有一個(gè)需要非常注意的點(diǎn),在觸發(fā)Y4的時(shí)候,斷開M2,也就是停下P0子程序的運(yùn)行,Y4會(huì)保持輸出的狀態(tài),就算這時(shí)M1斷開了,Y4也保持輸出。除非再次觸發(fā)P0子程序檢測到M1斷開了,Y4才會(huì)斷開。
子程序的調(diào)用除了普通的用法,還可以多層嵌套,如下圖:
通過X001調(diào)用子程序P11,運(yùn)行P11時(shí),通過觸發(fā)X2按鈕,調(diào)用P12子程序。這樣的寫法多支持5層的嵌套。
那么,子程序一般用在哪里呢?
比如下面一條傳送帶,有很多個(gè)工藝,假如其中有一些工藝有些人需要,有一些人不需要,那么,就可以采用子程序的用法,在需要時(shí)我們就調(diào)用相應(yīng)的工藝程序,不需要時(shí),就不調(diào)用
比如下面的一個(gè)分檢機(jī)構(gòu),通過前面的感應(yīng)器區(qū)分大中小部件,然后把部件放到相應(yīng)的箱子里面,這時(shí)候我們也可以使用子程序調(diào)用,分別把大中小部件分別寫一段子程序。檢測到對(duì)應(yīng)的部件時(shí)就調(diào)用相應(yīng)的子程序。
再比如下面這個(gè)項(xiàng)目,按下按鈕第1、2、3下分別執(zhí)行不同的控制,我們可以調(diào)用不同的子程序進(jìn)行控制,這題目里面還有用到的知識(shí)點(diǎn)還有左循環(huán)指令,計(jì)數(shù)器、位組合元件等用法。(技成培訓(xùn)原創(chuàng),作者:陳育鑫,未經(jīng)授權(quán)不得轉(zhuǎn)載,違者必究?。?/strong>

技成培訓(xùn)
微信公眾號(hào):jcpeixun
|

技成電工課堂
微信公眾號(hào):jcdgkt
|

技成PLC課堂
微信公眾號(hào):jc-plc
|