羅 勇,季誠昌,李培波,孫以澤
(東華大學(xué) 機(jī)械工程學(xué)院,上海 201620)
傳統(tǒng)的網(wǎng)版印花主要是人工印花,這種方式存在勞動強(qiáng)度大,工作效率低下等問題,因此各公司競相研發(fā)自動化網(wǎng)版印刷機(jī),本文主要針對學(xué)校研發(fā)的倍速鏈網(wǎng)版印花機(jī)的控制系統(tǒng)進(jìn)行研究。
在倍速鏈網(wǎng)版印刷機(jī)的控制系統(tǒng)規(guī)劃、設(shè)計(jì)與實(shí)現(xiàn)中,由于其自動化水平要求高,因此其控制流程的設(shè)計(jì)表達(dá)是一個很重要的環(huán)節(jié),有效的設(shè)計(jì)表達(dá)不僅可以簡化系統(tǒng)的復(fù)雜度、促進(jìn)系統(tǒng)的快速實(shí)現(xiàn)、充分體現(xiàn)系統(tǒng)體系結(jié)構(gòu)思想,而且可以通過這種形式主義的表達(dá)方式來驗(yàn)證控制流程的合理性,排除控制系統(tǒng)設(shè)計(jì)中的各種錯誤。
有限狀態(tài)機(jī)(Finite State Machine,F(xiàn)SM)又稱為有限自動機(jī),是一種具有離散輸入輸出系統(tǒng)的數(shù)學(xué)模型,適用于多任務(wù)系統(tǒng),可以清楚的刻畫系統(tǒng)的現(xiàn)有狀態(tài)及其狀態(tài)的轉(zhuǎn)換關(guān)系,清楚地模擬機(jī)器加工的工藝流程。
我們可以依據(jù)有限狀態(tài)機(jī)理論對倍速鏈印刷機(jī)控制系統(tǒng)進(jìn)行狀態(tài)分析,設(shè)計(jì)倍速鏈網(wǎng)版印刷機(jī)的有限狀態(tài)機(jī)轉(zhuǎn)移模型,并由此設(shè)計(jì)出其控制流程,以實(shí)現(xiàn)機(jī)器運(yùn)行自動化。
有限狀態(tài)機(jī)作為一個描述離散型事件狀態(tài)關(guān)系的抽象數(shù)學(xué)模型,它可以模擬世界上大多數(shù)事件的運(yùn)行過程[1~3]。
有限狀態(tài)機(jī)的四要素:狀態(tài)(state)、轉(zhuǎn)移(transition)、事件(events)、動作(action)[4,5]。狀態(tài)指的是運(yùn)行過程中所處的某一階段;轉(zhuǎn)移指的是從一個狀態(tài)轉(zhuǎn)移到另外一個狀態(tài)的過程;動作指的是在狀態(tài)轉(zhuǎn)移時所做的操作;事件指的是觸發(fā)狀態(tài)轉(zhuǎn)移過程的條件,可以來自內(nèi)部也可以來自外部。有限狀態(tài)機(jī)每時每刻都處于某個狀態(tài)下,這個狀態(tài)被稱為當(dāng)前狀態(tài)或者源狀態(tài)和現(xiàn)態(tài),當(dāng)前狀態(tài)在轉(zhuǎn)移條件的觸發(fā)下,可完成一系列動作轉(zhuǎn)移到下一個狀態(tài),這一狀態(tài)被稱為目標(biāo)狀態(tài)或者次態(tài)。
通常,有限狀態(tài)機(jī)的表達(dá)方式主要有三種,數(shù)學(xué)表達(dá)式、狀態(tài)轉(zhuǎn)移圖和狀態(tài)轉(zhuǎn)移矩陣。下文將對以上三種方式進(jìn)行分析。
其中:
1)S={S0,S1,S2,…,Sn}是狀態(tài)機(jī)的狀態(tài)集合,包含著有限個元素,每個元素都是其狀態(tài),系統(tǒng)在運(yùn)行過程中處于某一確定的狀態(tài)Si;
4)S0∈S表示的是初始狀態(tài),即機(jī)器開機(jī)時的狀態(tài);
狀態(tài)機(jī)數(shù)學(xué)函數(shù)表達(dá)的方式可能不是那么的直觀[6,7],所以通常我們會畫出狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移圖,如圖1所示的狀態(tài)機(jī)其表達(dá)式為(S,,f,S0,Z)其狀態(tài)集合為S={S0,S1,S2,S3}轉(zhuǎn)移條件集合為={a,b}函數(shù)映射關(guān)系式為f(S0,a}=S1,f(S0,b}=S2,f(S1,b}=S2,f(S2,a}=S1,f(S2,b}=S3,f(S1,a}=S3,箭頭的起點(diǎn)表示的是現(xiàn)態(tài),箭頭指向的是次態(tài),一個沒有起始的箭頭指向初始狀態(tài),即S0,終止?fàn)顟B(tài)由雙圓圈表示,即圖中的S3。
圖1 狀態(tài)機(jī)轉(zhuǎn)移圖
倍速鏈網(wǎng)版印花機(jī)是一個多任務(wù)模型,在其運(yùn)行過程中,需要同時完成定位、移載、印花、烘干等功能,因此我們可以將控制系統(tǒng)分為一個主系統(tǒng)和幾個子系統(tǒng),其中子系統(tǒng)有定位控制系統(tǒng)、移載控制系統(tǒng)、印花控制系統(tǒng)、烘干機(jī)控制系統(tǒng),各子系統(tǒng)完成各自對應(yīng)的功能。定位控制系統(tǒng)主要負(fù)責(zé)承印臺的升降和承印板的定位夾緊功能,印花控制系統(tǒng)主要是負(fù)責(zé)印刷頭部分刮刀、網(wǎng)版的運(yùn)動和視覺對位平臺的控制,移載控制系統(tǒng)主要負(fù)責(zé)倍速鏈的速度調(diào)節(jié)和一個移載功能,烘干機(jī)控制系統(tǒng)主要負(fù)責(zé)在完成印刷后對其進(jìn)行一個烘干作用。主系統(tǒng)負(fù)責(zé)管理調(diào)用各子系統(tǒng),如圖2所示。
圖2 主系統(tǒng)和子系統(tǒng)
一般來說在一個機(jī)器的運(yùn)行過程中,每個動作的完成都不是瞬間完成的,是一個連續(xù)性的動作,也就說說其狀態(tài)應(yīng)該包括進(jìn)行時和完成時。一個機(jī)器的狀態(tài)通常主要包括:stopping停止中,stopped停止,aborting中止中,aborted中止,resetting重置中,idle空閑,starting啟動中,execute執(zhí)行,suspending暫停中,suspended暫停,unsuspending取消暫停中,holding持有中,held持有,unholding clearing解除清算,completing完成中,complete完成。在倍速鏈網(wǎng)版印花的狀態(tài)劃分中,我們主要有以下幾個狀態(tài):idle空閑、starting啟動、execute工作中,completing完成中、complete完成、reseting復(fù)位中、stopped暫停、stopping暫停中、clearing清除中、aborting中止中,abort中止。
在建立系統(tǒng)狀態(tài)機(jī)時,我們可以在主系統(tǒng)和各子系統(tǒng)里面各建立一個狀態(tài)機(jī)。我們的主控系統(tǒng)和子系統(tǒng)的狀態(tài)機(jī)狀態(tài)轉(zhuǎn)移圖相同,如圖3所示。
圖3 狀態(tài)轉(zhuǎn)移圖
由圖3我們可以分析其主控系統(tǒng)的大致方案如下:在機(jī)器上電前,機(jī)器應(yīng)該處于idle狀態(tài),即空閑狀態(tài),按下開機(jī)觸摸屏上的開機(jī)按鈕后,機(jī)器進(jìn)行初始化;然后機(jī)器開始正常的印刷過程,印花完成后復(fù)位然后處于空閑狀態(tài);當(dāng)機(jī)器運(yùn)行過程中出現(xiàn)故障或者人為地發(fā)送abort指令后,它會往中止?fàn)顟B(tài)跳轉(zhuǎn),經(jīng)歷個中止中狀態(tài)到達(dá)中止?fàn)顟B(tài),機(jī)頭上會有警報(bào)燈亮起,人處理完故障后可以通clear指令將故障信號清除,系統(tǒng)到達(dá)暫停狀態(tài),暫停狀態(tài)下通過reset指令可以讓其復(fù)位;當(dāng)機(jī)器處于正常中運(yùn)行中也可以根據(jù)需要人為地通過stop指令讓機(jī)器暫停,機(jī)器從運(yùn)行狀態(tài)到暫停中狀態(tài),最后暫停動作完成,進(jìn)入暫停狀態(tài),此時發(fā)布reset指令的話,機(jī)器會再次進(jìn)行復(fù)位到達(dá)空閑狀態(tài)。當(dāng)機(jī)器處于idle、starting、execute、completing、complete、reseting可以接受stop指令;當(dāng)機(jī)器處于idle、starting、execute、completing、complete、reseting、stopped、stopping、clearing狀態(tài)時,機(jī)器可以接受abort指令。
子系統(tǒng)以主系統(tǒng)的進(jìn)行時的狀態(tài)作為自己的轉(zhuǎn)移條件,即主系統(tǒng)在staring、stopping、reseting、completing、aborting、clearing等狀態(tài)時,通過狀態(tài)管理函數(shù)將使得子系統(tǒng)的狀態(tài)也發(fā)生相應(yīng)的轉(zhuǎn)移,表現(xiàn)出一個主從關(guān)系。但是主系統(tǒng)里面的狀態(tài)機(jī)主要是描述整個機(jī)器運(yùn)行的一個狀態(tài),子系統(tǒng)里面的狀態(tài)機(jī)則是通常要涉及到具體的工藝動作,比如在烘干機(jī)系統(tǒng)里面,故障停止的表現(xiàn)動作為,烘干機(jī)內(nèi)部的溫控器停止加熱,但是烘干機(jī)內(nèi)部的風(fēng)扇繼續(xù)運(yùn)行;烘干機(jī)暫停時,溫控器和風(fēng)扇都會停止。
前文提到的狀態(tài)是我們按進(jìn)行時和完成時劃分的,我們將一個動作劃分為完成時和進(jìn)行時主要是考慮到一個時序關(guān)系,各部分工作能夠協(xié)調(diào)完成。比如當(dāng)我們的主系統(tǒng)收到一個start開始指令時,當(dāng)主系統(tǒng)處于starting時,下面的子系統(tǒng)也開始相應(yīng)的動作,如果等starting動作已經(jīng)完成子系統(tǒng)才開始相應(yīng)的動作,可能會造成一定的誤差,整個系統(tǒng)的運(yùn)行時間也會相應(yīng)地增加。而進(jìn)行時和完成時屬于一個互斥關(guān)系,不會同時存在。
在我們的具體分析中我們可以根據(jù)正則表達(dá)式將其簡化,將幾個小狀態(tài)看成一個大狀態(tài)[8,9]。我們將reseting復(fù)位中與idle空閑看成一個大狀態(tài),我們將其命名為復(fù)位;starting開始中與execute運(yùn)行看成一個狀態(tài),我們將其命名為運(yùn)行;completing完成中和complete完成看成一個狀態(tài),我們將其命名為完成;將aborting停止中和aborted停止看成一個狀態(tài),我們將其命名為故障停止;將stopping暫停中和stopped暫??闯梢粋€狀態(tài),我們將其命名為暫停。根據(jù)第三章中的簡化理論,我們將狀態(tài)機(jī)簡化成圖4所示。
圖4 狀態(tài)圖
經(jīng)過簡化后的模型減少了進(jìn)行中的狀態(tài),這使得我們后面的分析更為簡單,有助于我們的理解分析。
下面我們對簡化的狀態(tài)機(jī)模型進(jìn)行仿真分析。我們使用MATLAB軟件里面的stateflow模塊對其狀態(tài)機(jī)進(jìn)行仿真分析。Stateflow是MATLAB里專門用來對狀態(tài)進(jìn)行仿真的,主要是得到狀態(tài)機(jī)的一個時序關(guān)系圖。我們以數(shù)字量輸入表示事件的輸入,我們的指令事件有start指令,complete指令,reset指令,stop指令,abort指令,我們以數(shù)字量輸入u=[1,2,3,4,5]依次表示上述的指令。我們的狀態(tài)有5個,我們以數(shù)字量輸出y=[0,1,2,3,4]依次表示復(fù)位、運(yùn)行、完成、故障、暫停狀態(tài)這5個狀態(tài)。根據(jù)分析我們在MATLAB里面建立的有限狀態(tài)機(jī)模型如圖5所示。
圖5 模型圖
接下來我們要建立整個狀態(tài)機(jī)的輸入輸出模型,將整個狀態(tài)機(jī)看成一個黑盒對其進(jìn)行輸入,如圖6是我們的輸入輸出模型,在輸入時我們simulink的In功能模塊,其功能是能將外部數(shù)據(jù)導(dǎo)入為我們的輸入,末端采用scope模塊進(jìn)行數(shù)據(jù)采樣。我們將輸入的數(shù)據(jù)設(shè)置為隨時間變化的數(shù)組,可以按我們的需求對其進(jìn)行輸入,將其與我們的狀態(tài)機(jī)模型的輸入口u連接,輸出y則是在0,1,2,3,4這5個數(shù)中變化的,將輸出y與Scope的輸入口連接,將我們的輸出顯示出來。
圖6 仿真連接圖
我們以u=[1 2 3 4 5 3 3]作為我們的輸入,我們預(yù)期此狀態(tài)機(jī)的功能是,第一步系統(tǒng)收到start指令到達(dá)運(yùn)行狀態(tài);第二步收到complete指令到達(dá)完成狀態(tài);第三步收到reset指令,重新回到復(fù)位狀態(tài);第四步收到stop指令到達(dá)暫停狀態(tài);第五步,系統(tǒng)故障到達(dá)故障中止?fàn)顟B(tài);第六步,收到reset指令,清除故障信號到達(dá)暫停狀態(tài);最后一步再次收到reset指令,回到復(fù)位狀態(tài)。根據(jù)上面的分析我們得到的輸出y=[0 1 2 0 4 5 4 0]。
如圖7是我們的輸入波形圖,圖3.4是我們的輸出波形圖,橫坐標(biāo)為時間,縱坐標(biāo)為幅值。從我們得到的示波器波形圖觀察,我們可以得知u=[1 2 3 4 5 3 3],y=[0 1 2 0 4 5 4 0],我們發(fā)現(xiàn)結(jié)果與我們要求的一樣。因此也可以證明此狀態(tài)機(jī)模型應(yīng)用在我們的倍速鏈印花機(jī)上
時可以實(shí)現(xiàn)我們的功能要求。
圖7 輸入波形
圖8 輸出波形
為實(shí)現(xiàn)倍速鏈網(wǎng)版印花機(jī)的自動化過程,我們將有限狀態(tài)機(jī)模型引入到其控制系統(tǒng)研究中,將機(jī)器的運(yùn)行過程劃分為幾個狀態(tài)。我們將狀態(tài)機(jī)進(jìn)行進(jìn)一步簡化,并通過stateflow建立起狀態(tài)機(jī)模型后對其進(jìn)行仿真,結(jié)果表明其狀態(tài)機(jī)能夠?qū)崿F(xiàn)我們的要求。有限狀態(tài)機(jī)思想的應(yīng)用也使得控制系統(tǒng)更加簡單明了,程序易懂,程序結(jié)清晰,有助于程序的調(diào)試和維護(hù),自動化程度高,穩(wěn)定性好,大大地提高了工作效率。