李 鎧 ,雷 蔓 ,尹宗明 ,王 洋 ,劉修福 ,張文昊 ,李 珊
(貴州工程應用技術學院機械工程學院,貴州 畢節 551700)
順序功能圖(Sequential Function Chart, SFC)是解決復雜流程控制系統最為有效的編程方法[1]。順序功能圖編程有三種程序結構,分別是順序結構、選擇結構和并行結構,基本上所有的控制系統都可以由這三種結構組合完成[2]。畫順序功能圖,只需要搞清楚步(具體做什么)、轉移條件和轉移方向,其中任意一個時刻只有一個步處于活動狀態[3]。
抓中藥時,往往一次要抓取幾十副中藥,每一副中藥里面一般又有幾十種成分,采用人工稱量的方法抓藥的效率較低。針對該問題,課題組研制了一種中藥自動稱量抓藥機,該樣機以四個中藥存放斗為例,結構組成如圖1所示。如果中藥成分多,只需要增加中藥存放斗即可,設計及編程方法也通用。

圖1 中藥自動稱量抓藥機結構
其控制系統采用觸摸屏及PLC控制,取藥時,先把每種成分的中藥放入對應的中藥存放斗里面,在觸摸屏上輸入需要的中藥成分的重量(不需要的成分重量設為0即可),按下啟動按鈕,減速直流電動機正轉,驅動絲杠螺母副,帶動取藥斗向右運動,達到最右邊的中藥存放斗對應位置后停止,開始取藥。取藥時中藥螺旋推動電動機轉動,帶動螺旋傳送器把中藥推出,落在取藥斗里面,重力傳感器檢測到該成分的藥達到設定值時,中藥螺旋推動電動機停止轉動,減速直流電動機反轉,取藥斗向左移動到下一個中藥存放斗的位置,按此原理取下一成分的中藥。
根據中藥自動稱量抓藥機的工作原理分析,其控制方式就是控制減速直流電動機正反轉,以及控制功率較小的中藥螺旋推動電動機旋轉。
該控制系統有觸摸屏輸入(啟動、停止、四種中藥成分對應的重量)、四個中藥存放斗對應的行程開關和重力傳感器的模擬量信號輸入,PLC的資源分配如表1所示,該控制系統的輸入輸出安裝位置如圖2所示。

表1 PLC的資源分配表

圖2 輸入輸出安裝位置
該控制系統的控制對象是減速直流電動機和中藥螺旋推動電動機,減速直流電動機采用的是24 V直流供電,中藥螺旋推動電動機采用的是5 V直流供電,所以該控制系統需要采用一個220 V交流電轉24 V和5 V的電源。減速直流電動機功率大,需要正反轉,所以采用兩個交流接觸器轉換控制其正反轉,KM1對應正轉,即中藥存放斗右行;KM2對應反轉,即中藥存放斗左行。中藥螺旋推動電動機只需要一個方向轉動,且功率小,直接用PLC輸出回路控制即可。該中藥自動稱量抓藥機控制系統的主電路圖如圖3所示。

圖3 控制系統的主電路圖
根據控制要求及I/O點的分配,該系統的控制電路圖如圖4所示,其輸入回路是24 V直流電源,輸出回路是220 V交流電源及5 V直流電源。

圖4 控制電路圖
針對該控制系統,其控制順序如下:開機等待→觸摸屏輸入中藥成分的重量→啟動→正轉,中藥存放斗右行→中藥存放斗到達行程開關D→中藥螺旋推動電動機轉動,取行程開關D處中藥成分→D處中藥成分等于設定重量→反轉,中藥存放斗左行→按照上述過程取下一成分的中藥→……→一副藥取完后左行一段距離→停止取藥進入初始等待步。
用SFC編程最為重要的是根據控制要求畫出順序功能圖[4],該控制系統的順序功能圖如圖5所示。首先要啟用M1.0的特殊功能(PLC運行首次掃描接通)[5],使得PLC一運行就讓系統處于M2.0步(起始步,雙框線表示),M2.0為等待的步,什么都不做。然后就是回答轉移到下一步的條件是什么,下一步是做什么,下一步轉向哪等問題[6-7]。

圖5 順序功能圖
比如給M2.0的下一步一個編號M2.1(編號名稱可以隨意給,不影響執行順序[8]),那么M2.0怎么轉移到M2.1呢?那就需要按下啟動按鈕(觸摸屏上,控制M10.0),即轉移條件是M10.0。M2.1是做什么呢?那就是要向右走,即輸出線圈Q0.0。如此往下分析,搞清楚每一步是做什么,轉移條件是什么,轉移方向是哪,就能得出該順序功能圖。
在編寫梯形圖程序時,由于有模擬量的采集和運算,所以首先要對模擬量進行處理。所采用的重力傳感器量程是0~1 kg,對應0~10 V。在S7-1214C PLC中,0~10 V DC對應0~27 648??紤]到中藥存放斗的自重及傳感器安裝時的原始誤差,經過試驗,中藥存放斗里面為空(克重為0)時,PLC采集的數值是1 498;中藥存放斗里面放置190 g重物時,PLC采集的數值是6 860,其對應關系如圖6所示。

圖6 重量與PLC模數轉換后的對應關系
PLC上電后,需要讀取空的中藥存放斗的值并進行儲存,以便減去初始值,計算中藥的凈重。PLC也要實時讀取中藥存放斗的當前值,與設定值比較,判斷各個成分是否達到設定值。本程序比較運算采用長整型的形式,所以模擬量的轉換數值及觸摸屏輸入的數值都需要轉換成長整型。因此還需要把觸摸屏輸入的、以克為單位的數值轉換成圖6中關系對應的長整型數值。模擬量處理及轉換程序如圖7所示。

圖7 模擬量的讀取轉換及觸摸屏輸入的轉換程序
此程序中,第一行是PLC上電讀取空的中藥存放斗的重量對應的數值,只讀取一次。第二行是每個周期都讀取中藥存放斗的重量對應的數值,用于與設定值比較判斷。第三行的全部程序是按下啟動按鈕(M10.0),執行一次把觸摸屏輸入的各種中藥成分的克數轉換成對應的長整型數值,用于比較判斷。MD122里面存儲的是含中藥存放斗的重量及設定的中藥成分的重量,對應最右邊D處的中藥存放斗,MD118、MD114、MD110分別對應C、B、A處在觸摸屏中設定中藥成分的重量。由于取藥時中藥存放斗的重量是逐漸增加的,也就是累加的,因此還需要把MD122、MD118、MD114、MD110里面存儲的數值累加起來,才能用于和實時讀取值MD48比較,累加程序如圖8所示。

圖8 累加程序
剩下的梯形圖編程就是對如圖5所示的順序功能圖編程。順序功能圖編程的步驟是先搭建框架,再編寫每一步做什么。對于具體的每一步,就是回答誰能讓這一步通(一個或者多個條件),通了要保持,誰能讓這一步斷(一個或者多個條件)。例如M2.0這一步,需要PLC一運行就進入這一初始等待步,最后一步完成后也要進入這一初始等待步,這一步通了要保持得住,而這一步斷開的條件是它的下一步通,M2.0步對應的梯形圖程序如圖9所示。
又例如M2.1這一步,其梯形圖程序更加簡單,M2.1步通的條件是M2.0是活動步,且按下了啟動鍵(M10.0),這一步通了要保持得住,這一步斷開的條件是它的下一步(M2.2)通,M2.1步對應的梯形圖程序如圖10所示。

圖10 M2.1步對應的梯形圖程序
按照該方法就能把順序功能圖的框架搭建完成,然后就只差編寫每一步的動作了,這里要注意避免出現雙線圈問題,該合并的要合并。雙線圈的合并如圖11所示,M2.3、M2.5、M2.7、M3.2步都是輸出Q0.1線圈,這里合并輸出,避免出現雙線圈。

圖11 雙線圈的合并
M2.2、M2.4步的內容對應的梯形圖如圖12所示,M2.2步中設有300 ms的定時器,起到抗干擾作用,能夠避免中藥掉入中藥存放斗的瞬間重力跳動帶來的誤判,按照此方法即可完成梯形圖程序的編寫。

圖12 部分步的內容對應的梯形圖程序
由于觸摸屏上面還有一個停止按鈕,對應的點為M10.1,停止功能可以在順序功能圖中的每一步添加跳轉分支,也可以采用復位所有步的方法。在順序功能圖中的每一步添加跳轉分支的方法會使得SFC順序功能圖和梯形圖程序更加復雜。為了使程序簡單,這里采用復位所有步的方法,但是要注意,復位后要使起始步處于活動狀態,對應的梯形圖程序如圖13所示。

圖13 停止按鈕對應的梯形圖程序
本設計采用的觸摸屏是西門子的7寸HMI,觸摸屏里面有兩個按鈕和四個輸入框[9-11],如圖14所示,對應的PLC資源如表1所示,圖中標注的A、B、C、D與文章所述的行程開關A、B、C、D對應。

圖14 觸摸屏
該控制系統是在天煌教儀THPFSM-2型網絡型可編程控制器綜合實驗裝置上驗證的,經過樣機設計制作、接線調試、實驗驗證,采用SFC方法設計的中藥自動稱量抓藥機的控制系統具備可行性、正確性和可推廣的價值。該實驗的過程圖如圖15所示。

圖15 實驗照片
課題組研制了一款中藥自動稱量抓藥機,以其控制系統為研究對象,在機器控制要求的分析、控制系統主電路設計與控制電路設計、順序功能圖(SFC)的繪制、模擬量的采集轉換、數據的轉換處理比較、順序功能圖轉換為梯形圖程序、觸摸屏的應用等方面進行了詳細的分析研究,并開展實驗,驗證了采用SFC方法設計的中藥自動稱量抓藥機控制系統的正確性,該方法具有推廣借鑒的價值。