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

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

技成電工課堂
微信公眾號:jcdgkt
|

技成PLC課堂
微信公眾號:jc-plc
|