李 鎧 ,雷 蔓 ,尹宗明 ,王 洋 ,劉修福 ,張文昊 ,李 珊
(貴州工程應(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]。畫順序功能圖,只需要搞清楚步(具體做什么)、轉(zhuǎn)移條件和轉(zhuǎn)移方向,其中任意一個(gè)時(shí)刻只有一個(gè)步處于活動(dòng)狀態(tài)[3]。
抓中藥時(shí),往往一次要抓取幾十副中藥,每一副中藥里面一般又有幾十種成分,采用人工稱量的方法抓藥的效率較低。針對(duì)該問(wèn)題,課題組研制了一種中藥自動(dòng)稱量抓藥機(jī),該樣機(jī)以四個(gè)中藥存放斗為例,結(jié)構(gòu)組成如圖1所示。如果中藥成分多,只需要增加中藥存放斗即可,設(shè)計(jì)及編程方法也通用。
圖1 中藥自動(dòng)稱量抓藥機(jī)結(jié)構(gòu)
其控制系統(tǒng)采用觸摸屏及PLC控制,取藥時(shí),先把每種成分的中藥放入對(duì)應(yīng)的中藥存放斗里面,在觸摸屏上輸入需要的中藥成分的重量(不需要的成分重量設(shè)為0即可),按下啟動(dòng)按鈕,減速直流電動(dòng)機(jī)正轉(zhuǎn),驅(qū)動(dòng)絲杠螺母副,帶動(dòng)取藥斗向右運(yùn)動(dòng),達(dá)到最右邊的中藥存放斗對(duì)應(yīng)位置后停止,開始取藥。取藥時(shí)中藥螺旋推動(dòng)電動(dòng)機(jī)轉(zhuǎn)動(dòng),帶動(dòng)螺旋傳送器把中藥推出,落在取藥斗里面,重力傳感器檢測(cè)到該成分的藥達(dá)到設(shè)定值時(shí),中藥螺旋推動(dòng)電動(dòng)機(jī)停止轉(zhuǎn)動(dòng),減速直流電動(dòng)機(jī)反轉(zhuǎn),取藥斗向左移動(dòng)到下一個(gè)中藥存放斗的位置,按此原理取下一成分的中藥。
根據(jù)中藥自動(dòng)稱量抓藥機(jī)的工作原理分析,其控制方式就是控制減速直流電動(dòng)機(jī)正反轉(zhuǎn),以及控制功率較小的中藥螺旋推動(dòng)電動(dòng)機(jī)旋轉(zhuǎn)。
該控制系統(tǒng)有觸摸屏輸入(啟動(dòng)、停止、四種中藥成分對(duì)應(yīng)的重量)、四個(gè)中藥存放斗對(duì)應(yīng)的行程開關(guān)和重力傳感器的模擬量信號(hào)輸入,PLC的資源分配如表1所示,該控制系統(tǒng)的輸入輸出安裝位置如圖2所示。
表1 PLC的資源分配表
圖2 輸入輸出安裝位置
該控制系統(tǒng)的控制對(duì)象是減速直流電動(dòng)機(jī)和中藥螺旋推動(dòng)電動(dòng)機(jī),減速直流電動(dòng)機(jī)采用的是24 V直流供電,中藥螺旋推動(dòng)電動(dòng)機(jī)采用的是5 V直流供電,所以該控制系統(tǒng)需要采用一個(gè)220 V交流電轉(zhuǎn)24 V和5 V的電源。減速直流電動(dòng)機(jī)功率大,需要正反轉(zhuǎn),所以采用兩個(gè)交流接觸器轉(zhuǎn)換控制其正反轉(zhuǎn),KM1對(duì)應(yīng)正轉(zhuǎn),即中藥存放斗右行;KM2對(duì)應(yīng)反轉(zhuǎn),即中藥存放斗左行。中藥螺旋推動(dòng)電動(dòng)機(jī)只需要一個(gè)方向轉(zhuǎn)動(dòng),且功率小,直接用PLC輸出回路控制即可。該中藥自動(dòng)稱量抓藥機(jī)控制系統(tǒng)的主電路圖如圖3所示。
圖3 控制系統(tǒng)的主電路圖
根據(jù)控制要求及I/O點(diǎn)的分配,該系統(tǒng)的控制電路圖如圖4所示,其輸入回路是24 V直流電源,輸出回路是220 V交流電源及5 V直流電源。
圖4 控制電路圖
針對(duì)該控制系統(tǒng),其控制順序如下:開機(jī)等待→觸摸屏輸入中藥成分的重量→啟動(dòng)→正轉(zhuǎn),中藥存放斗右行→中藥存放斗到達(dá)行程開關(guān)D→中藥螺旋推動(dòng)電動(dòng)機(jī)轉(zhuǎn)動(dòng),取行程開關(guān)D處中藥成分→D處中藥成分等于設(shè)定重量→反轉(zhuǎn),中藥存放斗左行→按照上述過(guò)程取下一成分的中藥→……→一副藥取完后左行一段距離→停止取藥進(jìn)入初始等待步。
用SFC編程最為重要的是根據(jù)控制要求畫出順序功能圖[4],該控制系統(tǒng)的順序功能圖如圖5所示。首先要啟用M1.0的特殊功能(PLC運(yùn)行首次掃描接通)[5],使得PLC一運(yùn)行就讓系統(tǒng)處于M2.0步(起始步,雙框線表示),M2.0為等待的步,什么都不做。然后就是回答轉(zhuǎn)移到下一步的條件是什么,下一步是做什么,下一步轉(zhuǎn)向哪等問(wèn)題[6-7]。
圖5 順序功能圖
比如給M2.0的下一步一個(gè)編號(hào)M2.1(編號(hào)名稱可以隨意給,不影響執(zhí)行順序[8]),那么M2.0怎么轉(zhuǎn)移到M2.1呢?那就需要按下啟動(dòng)按鈕(觸摸屏上,控制M10.0),即轉(zhuǎn)移條件是M10.0。M2.1是做什么呢?那就是要向右走,即輸出線圈Q0.0。如此往下分析,搞清楚每一步是做什么,轉(zhuǎn)移條件是什么,轉(zhuǎn)移方向是哪,就能得出該順序功能圖。
在編寫梯形圖程序時(shí),由于有模擬量的采集和運(yùn)算,所以首先要對(duì)模擬量進(jìn)行處理。所采用的重力傳感器量程是0~1 kg,對(duì)應(yīng)0~10 V。在S7-1214C PLC中,0~10 V DC對(duì)應(yīng)0~27 648??紤]到中藥存放斗的自重及傳感器安裝時(shí)的原始誤差,經(jīng)過(guò)試驗(yàn),中藥存放斗里面為空(克重為0)時(shí),PLC采集的數(shù)值是1 498;中藥存放斗里面放置190 g重物時(shí),PLC采集的數(shù)值是6 860,其對(duì)應(yīng)關(guān)系如圖6所示。
圖6 重量與PLC模數(shù)轉(zhuǎn)換后的對(duì)應(yīng)關(guān)系
PLC上電后,需要讀取空的中藥存放斗的值并進(jìn)行儲(chǔ)存,以便減去初始值,計(jì)算中藥的凈重。PLC也要實(shí)時(shí)讀取中藥存放斗的當(dāng)前值,與設(shè)定值比較,判斷各個(gè)成分是否達(dá)到設(shè)定值。本程序比較運(yùn)算采用長(zhǎng)整型的形式,所以模擬量的轉(zhuǎn)換數(shù)值及觸摸屏輸入的數(shù)值都需要轉(zhuǎn)換成長(zhǎng)整型。因此還需要把觸摸屏輸入的、以克為單位的數(shù)值轉(zhuǎn)換成圖6中關(guān)系對(duì)應(yīng)的長(zhǎng)整型數(shù)值。模擬量處理及轉(zhuǎn)換程序如圖7所示。
圖7 模擬量的讀取轉(zhuǎn)換及觸摸屏輸入的轉(zhuǎn)換程序
此程序中,第一行是PLC上電讀取空的中藥存放斗的重量對(duì)應(yīng)的數(shù)值,只讀取一次。第二行是每個(gè)周期都讀取中藥存放斗的重量對(duì)應(yīng)的數(shù)值,用于與設(shè)定值比較判斷。第三行的全部程序是按下啟動(dòng)按鈕(M10.0),執(zhí)行一次把觸摸屏輸入的各種中藥成分的克數(shù)轉(zhuǎn)換成對(duì)應(yīng)的長(zhǎng)整型數(shù)值,用于比較判斷。MD122里面存儲(chǔ)的是含中藥存放斗的重量及設(shè)定的中藥成分的重量,對(duì)應(yīng)最右邊D處的中藥存放斗,MD118、MD114、MD110分別對(duì)應(yīng)C、B、A處在觸摸屏中設(shè)定中藥成分的重量。由于取藥時(shí)中藥存放斗的重量是逐漸增加的,也就是累加的,因此還需要把MD122、MD118、MD114、MD110里面存儲(chǔ)的數(shù)值累加起來(lái),才能用于和實(shí)時(shí)讀取值MD48比較,累加程序如圖8所示。
圖8 累加程序
剩下的梯形圖編程就是對(duì)如圖5所示的順序功能圖編程。順序功能圖編程的步驟是先搭建框架,再編寫每一步做什么。對(duì)于具體的每一步,就是回答誰(shuí)能讓這一步通(一個(gè)或者多個(gè)條件),通了要保持,誰(shuí)能讓這一步斷(一個(gè)或者多個(gè)條件)。例如M2.0這一步,需要PLC一運(yùn)行就進(jìn)入這一初始等待步,最后一步完成后也要進(jìn)入這一初始等待步,這一步通了要保持得住,而這一步斷開的條件是它的下一步通,M2.0步對(duì)應(yīng)的梯形圖程序如圖9所示。
又例如M2.1這一步,其梯形圖程序更加簡(jiǎn)單,M2.1步通的條件是M2.0是活動(dòng)步,且按下了啟動(dòng)鍵(M10.0),這一步通了要保持得住,這一步斷開的條件是它的下一步(M2.2)通,M2.1步對(duì)應(yīng)的梯形圖程序如圖10所示。
圖10 M2.1步對(duì)應(yīng)的梯形圖程序
按照該方法就能把順序功能圖的框架搭建完成,然后就只差編寫每一步的動(dòng)作了,這里要注意避免出現(xiàn)雙線圈問(wèn)題,該合并的要合并。雙線圈的合并如圖11所示,M2.3、M2.5、M2.7、M3.2步都是輸出Q0.1線圈,這里合并輸出,避免出現(xiàn)雙線圈。
圖11 雙線圈的合并
M2.2、M2.4步的內(nèi)容對(duì)應(yīng)的梯形圖如圖12所示,M2.2步中設(shè)有300 ms的定時(shí)器,起到抗干擾作用,能夠避免中藥掉入中藥存放斗的瞬間重力跳動(dòng)帶來(lái)的誤判,按照此方法即可完成梯形圖程序的編寫。
圖12 部分步的內(nèi)容對(duì)應(yīng)的梯形圖程序
由于觸摸屏上面還有一個(gè)停止按鈕,對(duì)應(yīng)的點(diǎn)為M10.1,停止功能可以在順序功能圖中的每一步添加跳轉(zhuǎn)分支,也可以采用復(fù)位所有步的方法。在順序功能圖中的每一步添加跳轉(zhuǎn)分支的方法會(huì)使得SFC順序功能圖和梯形圖程序更加復(fù)雜。為了使程序簡(jiǎn)單,這里采用復(fù)位所有步的方法,但是要注意,復(fù)位后要使起始步處于活動(dòng)狀態(tài),對(duì)應(yīng)的梯形圖程序如圖13所示。
圖13 停止按鈕對(duì)應(yīng)的梯形圖程序
本設(shè)計(jì)采用的觸摸屏是西門子的7寸HMI,觸摸屏里面有兩個(gè)按鈕和四個(gè)輸入框[9-11],如圖14所示,對(duì)應(yīng)的PLC資源如表1所示,圖中標(biāo)注的A、B、C、D與文章所述的行程開關(guān)A、B、C、D對(duì)應(yīng)。
圖14 觸摸屏
該控制系統(tǒng)是在天煌教儀THPFSM-2型網(wǎng)絡(luò)型可編程控制器綜合實(shí)驗(yàn)裝置上驗(yàn)證的,經(jīng)過(guò)樣機(jī)設(shè)計(jì)制作、接線調(diào)試、實(shí)驗(yàn)驗(yàn)證,采用SFC方法設(shè)計(jì)的中藥自動(dòng)稱量抓藥機(jī)的控制系統(tǒng)具備可行性、正確性和可推廣的價(jià)值。該實(shí)驗(yàn)的過(guò)程圖如圖15所示。
圖15 實(shí)驗(yàn)照片
課題組研制了一款中藥自動(dòng)稱量抓藥機(jī),以其控制系統(tǒng)為研究對(duì)象,在機(jī)器控制要求的分析、控制系統(tǒng)主電路設(shè)計(jì)與控制電路設(shè)計(jì)、順序功能圖(SFC)的繪制、模擬量的采集轉(zhuǎn)換、數(shù)據(jù)的轉(zhuǎn)換處理比較、順序功能圖轉(zhuǎn)換為梯形圖程序、觸摸屏的應(yīng)用等方面進(jìn)行了詳細(xì)的分析研究,并開展實(shí)驗(yàn),驗(yàn)證了采用SFC方法設(shè)計(jì)的中藥自動(dòng)稱量抓藥機(jī)控制系統(tǒng)的正確性,該方法具有推廣借鑒的價(jià)值。