三菱plc編程經典100例,三菱plc梯形圖100實例詳解
什么是子程序?
我們以三菱PLC為例,學習一下什么是子程序。
LD M0 TO K0 K17 H0 K1 TO K0 K17 H2 K1 FROM K0 K0 D0 K1 ;選擇ad輸入通道1 ;啟動輸入通道1的ad轉換 ;把通道1的當前值存入寄存器d0 LD M2 TO K0 K17 H1 K1 TO K0 K17 H3 K1 FROM K0 K0 D2 K1 。
一套程序可以分為主程序區,還有子程序區,中斷程序區等等,主程序區的程序是無時無刻都會掃描執行的,而子程序還有中斷程序就必須觸發某些條件,子程序才會執行。
那么問題來了,為什么不在主程序里面,加一個常開觸點,觸點閉合時就執行相應的程序段,這樣不是也能夠達到一樣的效果么?為什么要出現子程序這樣的東西呢?
第100個掃描周期里執行INC D200,D200=100了,然后執行SFWR指令,D0=100,將D200的值賦值給D100,因此D100=100了。執行CMP指令,D200=100,M0為OFF,M1為ON了。第101個掃描周期里因為M1為ON,所以不執行INC D200,D
第一、 由于PLC的掃描周期,PLC運行的速度,也就是掃描周期,受到I/O數量、通訊、還有程序的大小限制。單獨談論程序大小,掃描的程序越多,掃描周期越長。下面我們拿三菱FX3U-16MT這款plc做了測試。
如上圖,監控PLC的2個特殊寄存器,D8011是掃描程序的最短時間,D8012是掃描程序的最長時間,底下是程序的步數,沒有寫程序時,掃描周期平均需要5ms,隨著程序增加,掃描周期不斷變長;到16000步時,平均的掃描周期達到了25ms。所以,我們調用了子程序,程序需要執行時就調用,三菱plc梯形圖100實例詳解,不需要執行時就不調用,減少掃描周期和程序步數。
第二、節約編程的時間,假如一個子程序多次被調用,那么我們寫成一個子程序,需要用時直接一條子程序調用指令就可以搞定,這樣能省去編程的步驟,節約時間。
1、三菱PLC的高速計數器 高速計數器是PLC的編程軟元件,相對于普通計數器,高速計數器用于頻率高于機內掃描頻率的機外 脈沖計數。由于計數信號頻率高,計數以中斷方式進行,計數器的當前值等于設定值時,計數器的輸出接點立 。
由此可見減少掃描程序的必要性,下面我們來看一下,子程序的具體使用方法。
這段程序分為主程序區和P0子程序兩個部分,從程序第一行開始到FEND指令,這些都是主程序,FEND是主程序的結束標志。左邊的P0編號到SRET子程序結束指令,這是每一段完整的子程序必有的內容。
子程序的調用除了普通的用法,還可以多層嵌套,如下圖:
通過X001調用子程序P11,運行P11時,通過觸發X2按鈕,調用P12子程序。這樣的寫法最多支持5層的嵌套。
那么,子程序一般用在哪里呢?
比如下面一條傳送帶,有很多個工藝,假如其中有一些工藝有些人需要,有一些人不需要,那么,就可以采用子程序的用法,在需要時我們就調用相應的工藝程序,不需要時,就不調用。
比如下面的一個分檢機構,通過前面的感應器區分大中小部件,然后把部件放到相應的箱子里面,這時候我們也可以使用子程序調用,分別把大中小部件分別寫一段子程序。檢測到對應的部件時就調用相應的子程序。
版權聲明:本站文章均來源于網絡,如有侵權請聯系刪除!