□ 嵇海旭 □ 梁秀娟
廣東海洋大學工程學院 廣東湛江 524088
隨著制造領域生產節拍的加快和控制技術的進步,采用機械手取代人工進行貨物輸送的方式已經逐漸成為一種發展趨勢。在機械手臂向傳輸帶進行貨物輸送的控制中,通常采用PLC進行控制。目前,用順序功能流程圖是解決PLC復雜控制設計非常好的一種方法,使順序控制類問題設計變得簡單明了。由于用順序功能流程圖表達的思想通俗易懂,所編的程序一目了然,使設計者很容易掌握,并且不易出錯,所以非常適合初學者對問題的處理。
國際電工委員會(IEC)在1988年公布了“控制系統功能圖的編制”標準(IEC848-1988)以及 “控制系統功能卡的制備”標準(IEC 60848-1988);在 2002年制定了 “連續功能圖表GRAFCET語言規范”標準(IEC 60848-2002)取代了“控制系統功能卡的制備”標準;在2013年制定了 “用于順序功能表圖的GRAFCET規范語言”標準(IEC 60848-2013),取代了“連續功能圖表GRAFCET語言規范”標準。我國在1986年頒布了功能圖的國家標準“電氣制圖功能表圖”(GB6988.6-1986);在1993年制定了 “控制系統功能表圖的繪制”(GB/T 6988.6-1993)取代了 “電氣制圖功能表圖”標準;在2008年制定了“順序功能表圖用GRAFCET規范語言”(GB/T 21654-2008),取代了“控制系統功能表圖的繪制”標準。1993年國際電工委員會(IEC)正式頒布了可編程控制器的國際標準IEC 1131(以后改稱IEC 61131),其中的第三部分“程序控制器第3部分:程序語言”(IEC 1131-3-1993)是關于編程語言的標準,詳細規范了可編程控制器的編程語言及其基本元素。這一標準為可編程控制器軟件技術的發展,乃至整個工業控制軟件技術的發展,起到了舉足輕重的推動作用。它是全世界控制工業第一次制定的有關數字控制軟件技術的編程語言標準。目前關于可編程控制器編程語言的最新標準是 “可編程控制器第3部分:程序設計語言”(IEC 61131-3-2013)。
國際電工委員會在1994年5月公布的IEC可編程序控制器標準(IEC1131)中,順序功能流程圖被確定為PLC位居首位的編程語言[1-2]。筆者以日本三菱公司FX2型PLC為例,闡述用順序功能流程圖實現機械手臂向傳輸帶輸送貨物的復雜控制。
機械手向傳送帶輸送貨物的示意如圖1所示[3]。圖1左邊為傳輸帶,由三相異步電動機驅動,在傳輸帶的右端(E點)設有感知工件存在與否的光敏開關SP1。圖1右邊為由5個電磁閥控制的機械手臂,機械手臂的左、右運動由電磁閥YV1、YV2控制,并設置有左限位開關SQ1和右限位開關SQ2,通電時機械手臂向左或向右移動,斷電時停止向左或向右移動;機械手臂的上、下移動由電磁閥YV3、YV4控制,并設置上限位開關SQ3和下限位開關SQ4,通電時機械手臂上移或下移,斷電時停止上移或下移;抓手由電磁閥YV5控制,通電時抓手動作,將工件抓緊,斷電時抓手松開。

▲圖1 機械手臂及傳輸帶控制示意圖
1)機械手臂的原點位置為機械手臂回到最右上端,抓手為放開狀態。
2)當D點有工件到來時,光敏開關SP0動作,YV4得電并帶動機械手臂下降,直到SQ4動作,YV4斷電停止下降,YV5得電將工件抓緊;延時2 s,YV3得電并帶動機械手臂上升,直到SQ3動作,YV3斷電停止上升。若傳輸帶E點無工件(SP1未動作),YV1得電并帶動機械手臂左移,直到SQ1動作,YV1斷電停止左移;YV4得電并帶動機械手臂下降,直到SQ4動作,YV4斷電停止下降。若傳輸帶電動機停止,YV5斷電放開工件(放置在E點),延時2 s,YV3得電并帶動機械手臂上升,直到SQ3動作,YV3斷電停止上升,YV2得電并帶動機械手臂右移,直到SQ2動作,YV2斷電停止右移,返回到原點。
3)當E點有工件(SP1動作)且機械手臂已經上升到最上方(SQ3動作)時,傳輸帶電動機轉動以運走工件,經過4 s后傳輸帶電動機自動停止。
系統的輸入信號有:啟動、停止按鈕各一個,光敏檢測開關2個,限位開關4個,共8個輸入信號。系統的輸出信號有:電磁閥5個,電動機接觸器1個,共6個輸出點。由于輸入、輸出較少,采用三菱FX2型號PLC能滿足要求。PLC與輸入、輸出信號的外部接線如圖2所示。

▲圖2 PLC外部接線圖
全部輸入元器件都使用常開觸點接入,這樣輸入端接線時不易發生錯誤。當檢測到D點或E點有工件時,其傳感器狀態為ON。
順序功能圖編程是一種比較新的圖形化編程方法,它是用流程圖來表達一個順序控制過程,由步、轉換條件及有向連線組成。
畫順序功能圖最基本的思想是將系統的一個工作周期劃分為若干個順序相連的階段,這些分階段稱為步(Step),并用編程元件(例如內部輔助繼電器M和狀態繼電器S)來代表各步。步是根據輸出量的狀態變化來劃分的,步又分為初始步和工作步。一個控制系統必須有一個初始步表示控制系統的初始狀態,初始步可以沒有具體要完成的動作。在每一工作步中要完成一個或多個特定的動作,使相應的各輸出量保持正確的邏輯輸出狀態,相鄰兩步輸出量的狀態是不同的。步的這種劃分方法使代表各步的編程元件的狀態與各輸出量的狀態之間有著極為簡單的邏輯關系。
步用方框表示,方框內是步的元件號或步的名稱,步與步之間要用有向線段連接。其中從上到下和從左到右的箭頭可以省去不畫,有向線段上的垂直短線和它旁邊的圓圈或方框是該步期間的輸出信號,如需要也可以對輸出元件進行置位或復位。
步與步之間用“有向連線”連接,在有向連線上用一個或多個小短線表示一個或多個轉換條件,當條件得到滿足時,轉換得以實現。當系統正處于某一步時,把該步稱為 “活動步”。 為了確保控制嚴格地按照順序執行,步與步之間必須要有轉換條件分隔。
在順序功能圖中,步與步之間實現轉換應該具備兩個條件,即想激活某步,則該轉換步的前級步必須是“活動步”,并且相應的轉換條件得到滿足。 轉換實現應完成的操作有兩個,即使所有由有向連線與相應轉換條件相連的后續步都變為活動步,并且使所有由有向連線與相應轉換條件相連的前級步都變為不活動步[4-5]。
用順序功能圖實現一個復雜的順序控制,步的劃分非常關鍵,把步劃分完畢,編程僅僅是按部就班而已。例如一順序控制要求為:要求主軸電機啟動前先啟動油泵電機,油泵電機啟動30 s后,主軸電機啟動;主軸電機關閉30 s后,油泵電機才能關閉。步的劃分如圖3(a)所示,順序功能圖如圖3(b)所示,梯形圖如圖3(c)所示。在劃分步時,最重要的依據是步是根據所有輸出量的狀態變化來劃分的,并且相鄰兩步輸出量的狀態是不同的。圖3(a)中,當按下啟動按鈕(連接在PLC的X000輸入端),油泵電機啟動,即有輸出量輸出了,所以在按下按鈕的同時,按輸出量的變化開始劃分為第一步。30 s后,主軸電機啟動,又增加了一個輸出量進來,和剛才只有油泵電機一個輸出量相比是不同的,所以在主軸電機啟動的同時開始劃分為第二步。第二步一直持續到主軸電機停止,因為整個輸出狀態又發生了變化,即第三步從這里開始。

▲圖3 主軸電機與油泵電機按順序啟動
很多初學者在沒有掌握“步”的思想前,一定會很疑惑,既使油泵電機啟動(Y000)在整個過程中始終接通,為何還把它分在三步里?這是事關順序功能圖思想精髓的一個問題,是一個必須要弄懂的問題,否則不利于對問題的理解和把握??梢詮膬蓚€方面來理解這個問題。首先,把一個復雜的順序控制過程分解為很多步后,非常容易編程,它把一個對通盤都要考慮的復雜編程問題變成了只對步的編程,即只對步進行負責,把一個復雜龐大的問題進行了最小化的處理。只要步的編程不錯,整個系統編程就不會錯。其次,把一個復雜的順序控制過程分解為很多步后,在實現的過程中,某個連續輸出的狀態并沒有因為步的劃分而產生差異,變得該連續而不連續,例如Y000在整個過程中并沒有因為劃分了步而產生斷續。誠然,在激活第二步使Y000輸出時,要停止第一步Y000的輸出,在激活第三步使Y000輸出時,要停止第二步中的Y000的輸出,但是Y000在整個的輸出過程中是連續的,并沒有產生間斷。如圖3(c)所示,從M1到M2后要停止M1,從M2到M3后要停止M2;Y000從M1開始時就已經接通,當進行到M2后要停止M1時,也是先接通M2中的Y000才停止M1中的Y000;同理,先接通M3中的Y000才停止M2中的Y000,所以Y000在整個接通過程中沒有產生斷續。
由于自動控制系統應能多次重復執行同一工藝過程,因此在順序功能圖中一般應有步和有向連線組成的閉環[6],即在完成一次工藝過程的全部操作之后,應從最后一步退回初始步,系統停止在初始狀態,如圖3(b)所示。 在順序功能圖中,必須用初始化脈沖將初始步預置為活動步,否則因順序功能圖中沒有活動步系統將無法工作。FX2型PLC是采用初始化脈沖M8002的常開觸點作為轉換條件,將初始步預置為活動步,如圖3(b)所示。
根據控制要求,機械手臂控制和傳輸帶控制可以采用并行分支流程進行設計,其順序功能圖如圖4所示。整個控制程序由機械手臂控制(M1~M10)、傳輸帶控制(M20~M22)由兩個并行的順序功能圖組成,控制過程說明如下。

▲圖4 機械手臂和傳輸帶控制的順序功能圖
1)在初始狀態下,當按動啟動按鈕SB1后,同時激活M1和M20,M1是機械手臂處于原點 (SQ2和SQ3動作)待命狀態,M20是傳輸帶處于待命狀態;當D點有工件時(SP0動作),激活M2,使機械手臂下降;下降到位后(SQ4動作)激活M3,抓緊工件并延時2 s;延時2 s后激活M4,機械手臂上升;上升到位后(SQ3動作),此時若傳輸帶E點無工件(SP1未動作),則激活M5,機械手臂向左移動;左移到位后(SQ1動作),激活M6,機械手臂帶動工件下降;下降到位后(SQ4動作),激活M7,抓手松開并放下工件,延時2 s后,激活M8,機械手臂上升,上升到位后(SQ3動作),激活M9,機械手臂向右移動,右移到位后(SQ2 動作),激活 M10,停止右移,返回原點待命。
2)當傳輸帶上的E點有工件且機械手臂處于上方時,可激活M21,起動傳輸帶電動機工作;延時4 s后激活M22,使傳輸帶電動機停止工作,并激活M20,返回待命狀態。
3)當按下停止按鈕SB2時,要求不要立即停止工作,而是將停止信號記憶下來,待一個循環后才停止工作,并返回到初始狀態。
三菱公司FX2型PLC配有步進指令,又稱STL指令,可用于梯形圖中完成對順序功能圖的轉換,但它不具有通用性,即不是所有型號的PLC都具有步進指令功能。而所有的PLC都具有通用指令,如LD、LDI等命令,可用它們進行編程實現順序功能圖的思想,所取得的效果是完全一樣的。用通用指令編程時,最常用的指令格式是起保停格式,即起動、保持和停止。起動即激活某一步,使這步處于工作狀態;保持即保持這步始終處于接通狀態,從而使這步的所有輸出能夠保持不變,直到下一步;停止即激活某步時,必須使上一步停止。
采用通用指令設計的實現機械手臂及貨物傳輸帶的控制梯形圖如圖5所示。圖5中如果當某一輸出量僅在某一步中為接通狀態 ,在其它步不通時,則可以將它的線圈與對應步的輔助繼電器的線圈并聯;如果某一輸出量在一個工作循環中都是多步接通的,應將代表各有關步的輔助繼電器的常開觸點并聯后,驅動該輸出的線圈。也許有人會認為,既然是并聯,還不如把代表步的輔助軟繼電器去掉,這樣節省編程元件。其實,輔助繼電器M是完全夠用的,多用一些根本不會增加額外的硬件費用,卻可以起到概念清楚、編程規范、梯形圖易讀和查錯等作用,所以建議保留代表步的輔助繼電器。
除了起保停電路外,還可以使用以轉換條件為中心的編程方法,即用SET和RST這對指令來完成對某步的激活并保持,同時使上一步復位停止。

▲圖5 機械手臂和傳輸帶控制的梯形圖
以轉換條件為中心的梯形圖設計如圖6所示,使用這種編程方法時,不能將輸出繼電器的線圈與置位指令和復位指令并聯。例如圖6中M4被置位,同時M3被復位,Y002輸出繼電器的線圈在M4步對應的全部時間內被接通。如果把M4步所對應的Y002、SETM1和RSTM0并聯,那么當M3被復位時,由于M3常開觸點也復位成斷開狀態,則Y002也斷開,使Y002接通的時間僅是一個掃描周期,顯然和設計不符。所以應根據順序功能圖,用代表步的輔助繼電器的常開觸點或它們的并聯電路來驅動輸出繼電器的線圈。
采用機械手向傳輸帶上輸送貨物是一種先進的傳送方式,涉及復雜的控制問題,利用順序功能圖進行機械手臂及貨物傳輸帶的設計,是目前解決此類控制問題很好的一種方法。設計時,把控制過程按輸出量的狀態變化正確地劃分為若干個步,之后按部就班把每步的編程工作做好,就可完成整個編程過程,使復雜問題變得簡單直觀,容易把握。設計好功能圖后,采用通用編程指令和以轉換條件為中心的編程方法具有通用性,可以在很多種類的PLC中進行操作,方便對復雜順序的控制的實現。
[1]許翏,王淑英.電氣控制與PLC應用[M].北京:機械工業出版社,2005.

▲圖6 以轉換條件為中心的梯形圖
[2]廖常初.PLC梯形圖的順序控制設計法與順序功能圖[J].電工技術雜志,2001(10): 51-53.
[3]梅麗鳳.電氣控制與PLC應用技術[M].北京:機械工業出版社,2012.
[4]廖常初.PLC順序控制梯形圖設計方法 [J].電工技術雜志,2001(11):44-48.
[5]廖常初.PLC順序控制梯形圖設計方法 [J].電工技術雜志,2001(12):46-51.
[6]齊傳剛,熊永超,邵娜.PLC的SFC圖在編寫順序控制梯形圖中的應用[J].遼寧工程技術大學學報(自然科學版),2006,25(B06):234-236.