郝蘭英
摘要:可編程控制器的開發(fā)人員開發(fā)了若干編程元件以及功能圖表,實現(xiàn)對順序控制系統(tǒng)的更有效控制和編寫。本文主要從程序編寫方面淺談施耐德UNITY Pro SFC編寫經(jīng)驗及編寫注意事項。
關(guān)鍵詞:可編程控制器;順序控制;功能圖
中圖分類號:TP273 文獻標(biāo)識碼:A 文章編號:1007-9416(2018)09-0079-03
1 引言
在工業(yè)應(yīng)用現(xiàn)場有許多控制系統(tǒng)都需要嚴(yán)格按照事先設(shè)計好的常規(guī)順序進行進一步加工,并且加工工藝受到系統(tǒng)狀態(tài)或時間等內(nèi)在或外界因素影響的信號作用,有序的開展加工流程,而這種系統(tǒng)由于具有鮮明的順序性特點,因此被稱之為順序控制系統(tǒng),或步進控制系統(tǒng)。對于該系統(tǒng)的定義較多,最普遍的定義認(rèn)為,順序控制系統(tǒng)分為若干個子系統(tǒng),分別執(zhí)行獨立的動作,并且動作的實施要具有明確的順序性,從而保證系統(tǒng)的正常運行。順序控制系統(tǒng)廣泛的應(yīng)用在如機械行業(yè)自動循環(huán)過程等領(lǐng)域內(nèi),對推動現(xiàn)代化工業(yè)發(fā)展具有積極作用。
順序控制設(shè)計法是專門用來控制順序控制系統(tǒng)的方法,這種方法的特點是相對簡便,即使是初學(xué)者也能很快的掌握,并且其內(nèi)容豐富,能夠極大的提升經(jīng)驗豐富的控制人員的設(shè)計效率。同時,對于程序進行調(diào)試、調(diào)整更加簡便。PLC控制系統(tǒng)的程序員,開發(fā)了如SFC(Sequential Function Chart)等專門用于順序控制系統(tǒng)的功能表圖、編程元件,其中順序功能圖作為一種全新的圖形編程語言,能夠按照事先設(shè)定好的程序執(zhí)行,這也是國際電工委員會標(biāo)準(zhǔn)推薦的最主要的編程語言[1]。SFC程序可以很直觀體現(xiàn)設(shè)備的動作順序,可對復(fù)雜的過程或操作由頂?shù)降椎剡M行輔助開發(fā)。SFC允許一個復(fù)雜的問題逐層地分解為步和較小的能夠被詳細分析的順序。因此,SFC在PLC程序設(shè)計中,具有其他語言所無法替代的突出作用,使得SFC設(shè)計方法成為了PLC控制系統(tǒng)所采用的最主要編程方法。有些PLC配備順序功能圖語言,有些PLC沒有配備順序功能圖語言,但不同品牌的PLC的SFC的編程大同小異[2]。下面我就針對在現(xiàn)場遇到的一些問題淺談一下施耐德UNITY Pro SFC的編寫經(jīng)驗和注意事項。
2 UNITY Pro SFC的程序編寫
2.1 編程環(huán)境:Unity Pro 11.0
首先要根據(jù)設(shè)備的動作工藝將其拆分幾個SFC。在程序新建段,選擇SFC,如圖1所示。語言:下拉菜單,選擇SFC。保護:根據(jù)程序重要性,選擇是否為“不可讀寫”。條件:為BOOL變量,用來決定該SFC是否啟用,現(xiàn)場用。名稱:可用中文命名。但必須進行向應(yīng)的設(shè)定:選擇工具——然后選擇項目設(shè)置——然后選擇變量——最后在屬性標(biāo)簽字符集設(shè)置屬性值unicode”,如圖2所示。
2.2 程序編寫
SFC包含步驟、宏步(嵌入式子步)、轉(zhuǎn)換(轉(zhuǎn)換條件)、跳轉(zhuǎn)、鏈路、替代分支、替代結(jié)點、并行分支、并行結(jié)點。具體的含義可以參考一下UNITYPro的幫助參看。下面簡單介紹一下如何使用編寫。
首先,在空白SFC的段中,點擊工具欄中SFC要素,進行添加。畫成如圖3所示的SFC流程圖,但是流程圖中必須有初始步,雙擊步S_3_1,在步屬性中勾選,如圖3所示。在圖3中MS_3_8是宏步,雙擊可以繼續(xù)添加一個SFC流程圖,進行嵌套。具體情況可根據(jù)設(shè)備的復(fù)雜程度來設(shè)計。
然后,就是進行步內(nèi)容的添加,也就是按照工藝進行每一步的執(zhí)行動作。雙擊步,在步屬性設(shè)定動作,如圖4所示。需要說明的是動作是按順序執(zhí)行的,動作順序需要按照加工工藝進行添加。限制器中常用有:N--當(dāng)前步執(zhí)行;R/S--復(fù)位和置位,多用來表示該動作需要跨步進行;D--延時執(zhí)行該動作。時間格式為:T#3S,或者為TIME變量。動作區(qū)域里可以用變量,如果復(fù)雜邏輯就需用動作段來進行編寫。
如果在當(dāng)前步完成后,需要設(shè)定轉(zhuǎn)換條件,可以為變量(接近開關(guān))或者段,如圖5所示。如果動作段或者轉(zhuǎn)換段編寫完后,需要修改,可以在程序》任務(wù)中找到,如圖6所示。
最后,通過以上就可以簡單做一個SFC程序。但是在實際運行中還要考慮運行退出的問題。
2.3 現(xiàn)場經(jīng)驗
下面以一實際現(xiàn)場為例,在該現(xiàn)場應(yīng)用了INITCHART功能塊如圖7所示。相對于用于序列控制的所有功能和功能塊,INITCHART具有最高優(yōu)先級,可以將該SFC所有步復(fù)位。但是需要注意:其中S置位動作和段里的輸出點不能復(fù)位,需要單獨復(fù)位。
INITCHART功能塊的輸入輸出參數(shù)描述如表1所示。
在現(xiàn)場中替代分支和并行分支使用也很大,下面我就簡單分享一下在該現(xiàn)場幫助很大的替代分支和并行分支。運行肯定會有多工位運行或者有選擇的工位運行,該現(xiàn)場則分為左、右,如圖8所示。
圖8中最上面和最下面的水平連線為一組,中間的兩條水平連線為一組,正常情況下都應(yīng)該都像中間的兩條水平連線一樣,并行開始并行結(jié)束或替代開始替代結(jié)束。實際應(yīng)用中左和右的選擇是隨時切換,用替代分支結(jié)束來替換并行結(jié)束這樣就可以簡化程序,在下一個工位前判斷完成位就可以了。用替代分支還需打開多令牌行為,如圖9所示,選擇工具—然后選擇項目設(shè)置—然后選擇程序—然后選擇語言—最后選擇SFC多令牌。
但是需要注意的是:并行分支結(jié)束:需要所有分支都要進行完畢,建議在動作步下面再建一個空白步,否則在當(dāng)前分支完成后,等待其他分支完成時,其輸出動作還在繼續(xù)。替代分支結(jié)束,并不是上面所有的步結(jié)束,其另外一個并行分支還在繼續(xù),如果條件滿足會繼續(xù)執(zhí)行,一定要做好互鎖條件,當(dāng)前SFC完成后,用INICHART退出SFC。
3 結(jié)語
順序功能圖(SFC)是一種圖形化語言,可以在一個程序內(nèi)按照時間順序?qū)幼鬟M行編輯描述,這些動作可以作為獨立的編程對象。SFC的編程有固定的方法和步驟可以遵循,整個過程清晰、直觀,可以大大減少編程的工作量,大大提高了編程效率。所以對于比較復(fù)雜的步進順控過程應(yīng)優(yōu)先選用SFC編程。本文簡單談了談施耐德UNITY Pro SFC的編寫,總結(jié)了一些編寫經(jīng)驗及編寫注意事項,比如:現(xiàn)場應(yīng)用 INITCHART功能塊及分支使用注意事項。
參考文獻
[1]侍壽永.西門子S7-200 SMART PLC編程及應(yīng)用教程[M].機械工業(yè)出版社,2016.
[2]趙曉明,鄭淵.三菱PLC控制技術(shù)應(yīng)用[M].中國電力出版社,2014.