戚陽楊捷
(云南民族大學,云南昆明650500)
隨著微型處理器、信息技術和工業(yè)自動化技術的迅猛發(fā)展,使用計算機進行工業(yè)自動化控制已經(jīng)覆蓋了幾乎所有的工業(yè)領域?,F(xiàn)代社會,工業(yè)制造對市場的快速反應提出了更高的要求??删幊踢壿嬁刂破鳎≒LC)作為一種專門針對工業(yè)環(huán)境應運而生的數(shù)字運算操作系統(tǒng),其具有的高穩(wěn)定性、高可靠性、價格便宜、應用靈活方便、功能多樣、操作維護容易等優(yōu)點使其得到了飛速發(fā)展。在現(xiàn)場總線技術和以太網(wǎng)技術也同步發(fā)展的背景下,PLC應用的范圍變得愈加廣泛。
本文結(jié)合梯形圖語言和西門子公司推出的GRAPH編程方法,為PLC編程設計者介紹兩種方便、快捷、有效的程序設計方法。
順序控制是指預先設定工藝生產(chǎn)流程順序,按照不同的時間順序、邏輯順序或條件控制順序使各個機構(gòu)有序地按照預先設定的順序依次進行工作。不同品牌和類型的PLC所使用的編程語言也有細微的差異,梯形圖(LAD)是一種在各類型PLC上使用最多的編程語言,是最易上手、使用最廣泛的PLC語言之一?;谔菪螆D的順序控制設計方法有以轉(zhuǎn)換為中心、起保停和置位復位等分類。順序控制設計必須保證其連貫性,不同的設計方法所適用的編程設計環(huán)境不同,在不同的工業(yè)環(huán)境下,不同的設計方法所展現(xiàn)出的設計功能、難易度、直觀性和程序量都有所不同。在特定的狀況下選擇適合的順序控制設計思路和方法是PLC程序設計者需要注意的重要問題。
LAD是一種圖形編程語言,它采用基于電路圖的表示法,程序以一個或多個程序段表示。程序段在梯級源位置的左側(cè)包含一個電源線,二進制信號以觸點的形式排列在梯級上。在梯級上元素的順序排列構(gòu)成串聯(lián),在并行分支上的排列構(gòu)成并聯(lián)。復雜函數(shù)用函數(shù)塊表示。
圖1顯示了一個具有兩個常開觸點、一個常閉觸點和一個線圈的LAD程序段(程序段1)。

圖1 LAD編程示例
LAD程序是由在程序段電源線上串聯(lián)或并聯(lián)的各個元素組成的,必須給多數(shù)程序元素提供變量,至少有一個梯級是從電源線引出的。程序段編程從梯級左邊緣位置開始,可以通過使用多個梯級和分支去延伸電源線。
起保停電路是在典型圖中使用比較廣泛的一種梯形圖順序控制設計方法。它的設計思路如下:如程序段1所示,在給入輸入信號時常開觸點I0.1動作,隨之輸出線圈Q0.1得電,同時使輸出線圈“自鎖”或“自保持”,輸入線圈I0.1常開觸點失去作用。當“停止”信號來到時,輸入線圈I0.2動作,則輸出線圈Q0.1失電停止動作。
此次以洗衣機為例的順序控制設計的思路是使用PLC的輸出信號去控制繼電器組,從而達到控制電器的目的。通過對電機“正反轉(zhuǎn)”“注水”和“排水”進行控制,使電機的繼電器線圈分別受PLC的輸出信號控制。洗衣機順序控制流程如圖2所示。

圖2 順序控制流程圖
針對上面的流程圖使用博途V15軟件對PLC進行正確的配置組態(tài)后,在主程序塊中按照順序控制流程設計了以起保停為邏輯思想的LAD程序。
如圖3所示,使用I0.1為啟動按鈕;I0.2為洗滌注水后的高水位監(jiān)測點,監(jiān)測洗衣機是否注滿水;使用I0.3作為洗滌后排水是否排凈的低水位監(jiān)測點;使用I0.5為漂洗過程的高水位監(jiān)測點;使用I0.4作為漂洗后排水的低水位監(jiān)測點。

圖3 起保停順序控制設計
GRAPH是一種可創(chuàng)建順序控制設計系統(tǒng)的圖形式編程語言。合理使用順序控制程序,編程者可以更加快捷和清晰直觀地對順序控制邏輯進行編程??梢允褂肎ARPH將順序控制過程分解為多個步,設計者在每一個步都設計好所需執(zhí)行的程序功能,再將設計好的每一個步合理組織分配到順序控制程序當中;在每一個步中定義好要執(zhí)行的動作,并設計好當前步與下一步之間的轉(zhuǎn)換條件。
基于GARPH的順控系統(tǒng)可以對整個過程進行合理的控制,并附加條件對其進行限制。順序控制系統(tǒng)的整體復雜性由自動化任務決定。GARPH順序控制系統(tǒng)至少包含3個塊:
(1)GRAPH函數(shù)塊:可以在GRAPH函數(shù)塊中,定義一個或多個順控程序的單步和順序控制的步轉(zhuǎn)換條件。
(2)背景數(shù)據(jù)塊:順序控制系統(tǒng)的數(shù)據(jù)和參數(shù)都包含在背景數(shù)據(jù)塊內(nèi)??梢苑峙浔尘皵?shù)據(jù)塊給GARPH函數(shù)塊,并且可以由系統(tǒng)自動去生成。
(3)調(diào)用代碼塊:要在一個循環(huán)中去執(zhí)行GARPH函數(shù)塊,就必須在較高級代碼塊中去調(diào)用這個函數(shù)塊,這個函數(shù)塊可以是一個函數(shù)(FC)、組織塊(OB)或者其他函數(shù)塊(FB)。一般將GRAPH函數(shù)塊作為一個單背景調(diào)用。
GRAPH函數(shù)塊中,可以按照順序控制程序的格式去編寫程序。順序控制程序不僅可以處理很多個獨立的任務,還可以把一個復雜的任務分解成兩個或者多個順序控制程序。如果順序控制程序要完成多個獨立任務,那么這些順序控制程序在程序流程中需并行處理。如果要使用多個順序控制程序把一個復雜的任務分解成許多更小的部分,就必須把相關的順序控制程序和程序跳轉(zhuǎn)相聯(lián)結(jié)。
可以把程序劃分為順序控制程序的各個步。在比較簡單的情況下,每個步可以以線性的方式按順序逐個處理,但也可以用選擇型分支或者并行分支去創(chuàng)建一些結(jié)構(gòu)更為復雜的順序控制程序。程序會始終從我們定義為初始步的那一步開始進行,一個順序控制程序可以含有一個或者多個初始步。初始步可以在順序控制程序中的任意位置。
激活某一步時,將執(zhí)行當前步中的動作;若有需要也可同時去激活多個步,比如在一些并行分支中。同時會相應地去檢查下一步的轉(zhuǎn)換條件:若滿足所有需要的轉(zhuǎn)換條件且沒有未處理的監(jiān)控錯誤,轉(zhuǎn)換條件將立刻轉(zhuǎn)換到下一步,這個步將轉(zhuǎn)換成活動步。結(jié)束順序控制程序時,我們使用跳轉(zhuǎn)或按順序結(jié)尾。跳轉(zhuǎn)到的目標可以是同一順序控制程序中的任意一步,也可以是其他順序控制程序中的任意一步,這樣有利于順序控制程序的循環(huán)執(zhí)行。
可以使用跳轉(zhuǎn),從GRAPH函數(shù)塊里的任何一步開始繼續(xù)程序的執(zhí)行。跳轉(zhuǎn)能夠插入到分支、并行分支或選擇分支的結(jié)尾,從而去激活順序控制程序中的循環(huán)處理。在順序控制程序中,跳轉(zhuǎn)和跳轉(zhuǎn)的目標應使用箭頭來表示。在這里,需要去指定跳轉(zhuǎn)目標返回跳轉(zhuǎn)的條件和返回的目標步,應該避免從轉(zhuǎn)換條件去跳轉(zhuǎn)到直接的前導步。若需要執(zhí)行這類跳轉(zhuǎn),可以去插入一個沒有任何轉(zhuǎn)換條件的空步。
可以運用步將冗雜的自動化任務分解成各個明確的子任務,并通過步中的動作去完成,然后讓各個步加入到順序控制程序中,如此一來每步都能在程序流中去按指定的順序執(zhí)行。每步都應該分配一個獨有的編號和名稱,每當激活一個步時就執(zhí)行這一步中的動作。因此,當前步應該是初始步,或者必須達到該步前面應有的轉(zhuǎn)換條件。還可以運用事件型的動作去調(diào)用一個步。在此之外,還可以通過對步中的監(jiān)控條件和互鎖條件進行合理編程,任意選擇一個開始執(zhí)行順序控制程序的步。因此,初始步可以由任意一步指定。
如圖4所示,使用GARPH順序控制設計方法將圖2中的順序控制流程分為7步——啟動洗滌注水、洗滌轉(zhuǎn)動、洗滌排水、漂洗注水、漂洗轉(zhuǎn)動、漂洗排水、脫水。將每一步的動作寫入每一步的對應動作程序,同時將轉(zhuǎn)換條件也寫入每一步對應的Trans中,具體的輸入/輸出線圈可與起保停的輸入/輸出線圈對應。
針對基于LAD的起保停順序控制設計方法和GARPH順序控制設計方法進行比較,我們清晰地了解到,這兩種順序控制設計方法分別具有以下特點:
(1)基于LAD的起保停順序控制設計方法在PLC的設計方法中屬于較為基礎的設計方法,大部分順序控制系統(tǒng)的設計都可以采用此類方法,其適合初學者學習,學習難度較低,相對較容易理解;但設計時語句較多、程序較長,在大型冗雜的項目中設計較為困難。

圖4 GARPH順序控制設計
(2)基于GARPH的設計方法是一種有針對性的順序控制設計方法,其按照步與步之間的轉(zhuǎn)換,每一步所要執(zhí)行的動作進行順序控制設計,邏輯性較強,響應速度更快,語句使用得較少,同樣的邏輯功能下所需要的程序長度較短。在對大型項目進行順序控制設計時可以將較為復雜的任務分解成多個小型且較為簡單的任務去完成,更加適用于冗雜型的項目任務。該方法在合理規(guī)劃程序流程圖后更容易進行設計,但目前在不同PLC之間還不能精準地實現(xiàn)功能轉(zhuǎn)換。
綜上,我們在項目實際進行時,至少要掌握兩種及以上的順序控制設計方法,才能根據(jù)不同的項目類別、復雜程度和不同的響應速度要求進行合理的程序設計。選擇合理的順序控制程序設計方法會使項目的完成得到更好的助力。