雷 蔓
(貴州工程應(yīng)用技術(shù)學(xué)院機(jī)械工程學(xué)院,貴州 畢節(jié) 551700)
順序功能圖(Sequential Function Chart, SFC)是解決復(fù)雜流程控制系統(tǒng)最為有效的編程方法[1]。順序功能圖編程有三種程序結(jié)構(gòu),分別是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和并行結(jié)構(gòu),基本上所有的控制系統(tǒng)都可以由這三種結(jié)構(gòu)組合完成[2]。畫(huà)順序功能圖,只需要搞清楚步(具體做什么)、轉(zhuǎn)移條件和轉(zhuǎn)移方向,其中,任意一個(gè)時(shí)刻只能有一個(gè)步處于活動(dòng)狀態(tài)[3-6]。
本研究的對(duì)象是自動(dòng)蓋章機(jī)的控制系統(tǒng),該機(jī)器結(jié)構(gòu)如圖1所示??刂茖?duì)象有驅(qū)動(dòng)絲杠螺母左右運(yùn)動(dòng)的步進(jìn)電動(dòng)機(jī)、控制雙桿氣缸伸縮上下運(yùn)動(dòng)的氣動(dòng)電磁換向閥。其輸入信號(hào)有用于紙張檢測(cè)的光電傳感器、檢測(cè)滾珠絲杠原點(diǎn)的行程開(kāi)關(guān)。
圖1 自動(dòng)蓋章機(jī)結(jié)構(gòu)
該控制系統(tǒng)采用三菱FX1s-10MT型PLC作為控制核心,氣缸的驅(qū)動(dòng)氣泵采用小型穩(wěn)壓氣泵,均置于機(jī)器內(nèi)部。
該自動(dòng)蓋章機(jī)工作原理如下:先控制印章下行蘸取印泥,然后上行、右行,再下行蓋章,最后上行、左行回到原點(diǎn)。運(yùn)動(dòng)步驟如圖2所示。
圖2 自動(dòng)蓋章機(jī)運(yùn)動(dòng)步驟及I/O點(diǎn)布置
該控制系統(tǒng)的輸入信號(hào)有紙張傳感器、絲杠原點(diǎn)行程開(kāi)關(guān),輸出信號(hào)有步進(jìn)電動(dòng)機(jī)脈沖、步進(jìn)電動(dòng)機(jī)方向控制、雙桿氣缸換向電磁閥。雙桿氣缸換向電磁閥得電會(huì)伸長(zhǎng),失電則會(huì)在彈簧作用力下回原位,氣缸縮回,控制得電與失電只需要一個(gè)點(diǎn),氣動(dòng)回路如圖3所示。PLC的I/O資源分配如表1所示。
表1 PLC的I/O資源分配表
圖3 氣動(dòng)回路
根據(jù)工作原理、控制要求及I/O點(diǎn)的分配,該系統(tǒng)的控制電路圖如圖4所示,其輸入回路是PLC內(nèi)部24 V直流電源,輸出回路是外部24 V直流電源。紙張傳感器采用的是NPN型漫反射常開(kāi)式紅外光電傳感器E3F-DS10C4,絲杠原點(diǎn)行程開(kāi)關(guān)采用微動(dòng)式行程開(kāi)關(guān)。
圖4 控制電路圖
針對(duì)該控制系統(tǒng),步進(jìn)電機(jī)和絲杠螺母負(fù)責(zé)左右運(yùn)動(dòng),雙桿氣缸負(fù)責(zé)上下運(yùn)動(dòng)。其控制順序就是開(kāi)機(jī)回原點(diǎn)→紙張傳感器有信號(hào)(上升沿)→下行→上行→右行→下行→上行→左行(回原點(diǎn)),完成一次蓋章。
使用SFC編程,最為重要的就是根據(jù)控制要求畫(huà)出順序功能圖[7],該控制系統(tǒng)的順序功能圖如圖5所示。首先要使用M8002的特殊功能(PLC運(yùn)行首次掃描接通)[8],使PLC一運(yùn)行就讓系統(tǒng)處于S0步(起始步,雙框線表示),S0為等待的步,需要讓滾珠絲杠回原點(diǎn)。然后就需要回答轉(zhuǎn)移到下一步的條件是什么,下一步做什么,下一步轉(zhuǎn)向哪三個(gè)問(wèn)題。
圖5 順序功能圖
三菱FX系列PLC中,有專門(mén)的順序功能圖編程元件和編程模塊[9]。S0至S9為起始步,S10至S19有特殊作用,一般不用,S20以上就是普通的順序功能圖的步。
比如,給S0的下一步一個(gè)編號(hào)為S20(編號(hào)名稱可以隨意給,不影響執(zhí)行順序[8]),那么S0如何轉(zhuǎn)移到S20呢,那就需要滾珠絲杠回到原點(diǎn)并且紙張傳感器有信號(hào)(上升沿),即轉(zhuǎn)移條件是X1通,并且有X0上升沿。
S20是做什么呢?是控制印章向下運(yùn)動(dòng),即輸出線圈Y2,由于氣缸下行和蘸取印泥需要時(shí)間,所以輸出Y2需要保持一定的時(shí)間,這里用(T0 K20)保持2 s,S20這一步的轉(zhuǎn)移條件就是T0時(shí)間到。
S21是做什么呢?是控制印章向上運(yùn)動(dòng),即不輸出線圈Y2(順序功能圖任意一個(gè)時(shí)間點(diǎn)只有一個(gè)步處于活動(dòng)狀態(tài),S20跳到S21后,由于S21沒(méi)有Y2線圈輸出,所以Y2線圈不會(huì)有輸出),由于氣缸上行需要時(shí)間,所以需要停留一定的時(shí)間,這里用(T1 K20)保持2 s,S21這一步的轉(zhuǎn)移條件就是T1時(shí)間到。
根據(jù)機(jī)器的工作原理向下分析,搞清楚每一步是做什么,轉(zhuǎn)移條件是什么,轉(zhuǎn)移方向是哪,就能得出如圖5所示的順序功能圖。
在三菱FX系列PLC編程軟件GX Developer中,可以采用直接編寫(xiě)SFC圖的形式完成控制程序的編寫(xiě),編寫(xiě)完的SFC圖可以直接轉(zhuǎn)換成梯形圖的形式[10]。在新建工程時(shí),點(diǎn)擊SFC,就進(jìn)入了GX Developer的SFC編程模塊,SFC編程模塊是按照程序塊的形式來(lái)組織程序的。一般第一個(gè)程序塊要設(shè)置成梯形圖的編程方法,便于用M8002置位S0,使PLC一運(yùn)行就進(jìn)入SFC程序的起始步,后面的塊則根據(jù)需要設(shè)置為SFC塊或者梯形圖塊。
在SFC塊之前的梯形圖塊程序如圖6所示。此程序的功能就是使得PLC一運(yùn)行就把S0步激活,并且把相應(yīng)的定時(shí)器、輔助繼電器和順序繼電器復(fù)位。因?yàn)橛械脑骷赑LC掉電后再來(lái)電會(huì)保持不變,有可能導(dǎo)致順序功能圖有兩個(gè)及以上的步處于活動(dòng)狀態(tài),使程序錯(cuò)亂,所以需要全部復(fù)位。
圖6 部分梯形圖程序
根據(jù)繪制的順序功能圖,在三菱FX系列PLC編程軟件GX Developer中,也可以使用指令的形式直接編寫(xiě)SFC程序。每一步都用STL開(kāi)始,緊接著編寫(xiě)這一步的動(dòng)作,然后編寫(xiě)這一步的轉(zhuǎn)移條件。如果是從上到下轉(zhuǎn)移,就用SET指令;如果是跳轉(zhuǎn),就用線圈輸出。每個(gè)順序功能圖編寫(xiě)完后,需要用RET指令表示結(jié)束。
樣機(jī)(圖1)制作后,進(jìn)行控制系統(tǒng)接線調(diào)試試驗(yàn),該程序能夠完成機(jī)器的預(yù)訂功能,驗(yàn)證了SFC編程方法的正確性。
該控制系統(tǒng)的設(shè)計(jì)以本團(tuán)隊(duì)研制的自動(dòng)蓋章機(jī)的控制系統(tǒng)為研究對(duì)象,對(duì)機(jī)器控制要求的分析、氣壓驅(qū)動(dòng)回路設(shè)計(jì)、控制電路設(shè)計(jì)、順序功能圖(SFC)繪制、順序功能圖轉(zhuǎn)換為梯形圖程序等方面進(jìn)行了分析研究,并用實(shí)驗(yàn)驗(yàn)證的方法證明了采用SFC方法設(shè)計(jì)自動(dòng)蓋章機(jī)控制系統(tǒng)的正確性,該方法具有推廣借鑒的價(jià)值。