周旭朋
(安陽(yáng)鋼鐵股份有限公司)
2000 m3級(jí)高爐UDT與功能塊的開(kāi)發(fā)及應(yīng)用*
周旭朋
(安陽(yáng)鋼鐵股份有限公司)
介紹了安鋼2000 m3級(jí)高爐PLC控制系統(tǒng)中用戶定義數(shù)據(jù)類型(UDT)與功能塊的開(kāi)發(fā)與應(yīng)用,對(duì)常規(guī)設(shè)備提供了一種標(biāo)準(zhǔn)的控制方法及手段,大大簡(jiǎn)化了控制程序的開(kāi)發(fā)設(shè)計(jì)過(guò)程,提高了程序的可讀性及可移植性,方便維護(hù),值得在工程設(shè)計(jì)中推廣應(yīng)用。
用戶定義數(shù)據(jù)類型 功能塊 開(kāi)發(fā)與應(yīng)用
隨著PLC控制系統(tǒng)的應(yīng)用越來(lái)越廣泛,PLC控制程序的設(shè)計(jì)與開(kāi)發(fā)也顯得優(yōu)為重要。常規(guī)的PLC控制程序設(shè)計(jì)方法,例如梯形圖順序控制設(shè)計(jì)法,設(shè)計(jì)出來(lái)的程序不但繁瑣冗長(zhǎng),而且不具有可讀性及可移植性。安鋼2000 m3級(jí)高爐中,用戶定義數(shù)據(jù)類型(UDT)與功能塊的開(kāi)發(fā)與應(yīng)用,使控制程序條理清楚,通用性強(qiáng),可方便移植與維護(hù)。
PLC控制程序的設(shè)計(jì)一般包括:變量表、組織塊、功能塊、數(shù)據(jù)塊等邏輯塊的設(shè)計(jì)。變量表用來(lái)定義程序編寫過(guò)程中所用到的變量,這里可以定義變量的名稱、數(shù)據(jù)類型、地址和注釋等。各種邏輯塊用來(lái)編寫控制程序,實(shí)現(xiàn)設(shè)備的邏輯控制,主要由各種不同的指令代碼組成,這些指令代碼可以用梯形圖(LAD)、功能塊圖(FBD)或語(yǔ)句表(STL)等來(lái)表示。變量表常規(guī)的設(shè)計(jì)方法是把所有用到的變量都羅列在變量表中,整個(gè)變量表顯得非常龐雜,不利于分析應(yīng)用。邏輯功能塊常規(guī)的設(shè)計(jì)方法是順序設(shè)計(jì)法,是把所有的功能一個(gè)接一個(gè)用指令代碼寫出來(lái),當(dāng)控制設(shè)備的數(shù)量較少且較簡(jiǎn)單時(shí),這樣的方法還可行。如果是一個(gè)較為復(fù)雜且控制設(shè)備數(shù)量較多的系統(tǒng),這樣的控制程序會(huì)顯得非常冗長(zhǎng),不方便維護(hù)和查找故障。通過(guò)大量探索與實(shí)踐,用戶定義數(shù)據(jù)類型(UDT)與功能塊的應(yīng)用,能方便控制程序的編寫,簡(jiǎn)化設(shè)計(jì)過(guò)程,輕松完成現(xiàn)場(chǎng)各設(shè)備間的邏輯控制,可廣泛應(yīng)用于各種工業(yè)控制現(xiàn)場(chǎng)。
2.1 UDT的概念與設(shè)計(jì)
用戶定義數(shù)據(jù)類型(User-Defined Data Types)簡(jiǎn)稱為UDT,是一種特殊的數(shù)據(jù)結(jié)構(gòu),由基本數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型組成。用戶只需要對(duì)它定義一次,定義好以后可以在用戶程序中作為數(shù)據(jù)類型使用??梢杂盟鼇?lái)產(chǎn)生大量的具有相同數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)塊,用這些數(shù)據(jù)塊來(lái)輸入用于不同目的的實(shí)際數(shù)據(jù)。例如生成用于顏料混合配方的UDT后,可以用它生成用于不同顏色配方的數(shù)據(jù)組合。用戶定義數(shù)據(jù)類型定義好以后,可以在符號(hào)表中為它指定一個(gè)符號(hào)名。使用用戶定義數(shù)據(jù)類型(UDT),在設(shè)計(jì)變量表時(shí)可以大量節(jié)約錄入數(shù)據(jù)的時(shí)間[1]。
UDT可以在邏輯塊(FC、FB、和OB)的變量聲明表中作為基本數(shù)據(jù)類型或復(fù)雜數(shù)據(jù)類型來(lái)使用,或者在數(shù)據(jù)塊(DB)中作為變量的數(shù)據(jù)類型來(lái)使用。同時(shí)可以用UDT定義的變量作為參數(shù)來(lái)傳遞。
設(shè)計(jì)UDT時(shí),用鼠標(biāo)右鍵點(diǎn)擊SIMATIC管理器右邊顯示塊的窗口,在彈出的菜單中執(zhí)行“插入新對(duì)象”—“數(shù)據(jù)類型”命令,生成新的UDT。在生成UDT的元素時(shí),可以設(shè)置它的初始值和加上注釋。2000 m3級(jí)高爐變頻泵的用戶定義數(shù)據(jù)類型見(jiàn)表1。
表1 泵的用戶定義數(shù)據(jù)類型
2.2 UDT的編程應(yīng)用
在設(shè)計(jì)編程變量表時(shí),把UDT用戶定義數(shù)據(jù)類型作為基本的數(shù)據(jù)類型在數(shù)據(jù)塊中使用,定義每個(gè)設(shè)備的變量時(shí),輸入設(shè)備的代碼即可,方便快捷,可以節(jié)約大量的時(shí)間。UDT在安鋼2000 m3級(jí)高爐工程實(shí)例中的應(yīng)用情況見(jiàn)表2。
表2 UDT在數(shù)據(jù)塊中的應(yīng)用
要訪問(wèn)數(shù)據(jù)塊motor中數(shù)據(jù)類型為UDT1的結(jié)構(gòu)M101中的元素 auto,其符號(hào)地址為“motor”.M101.auto。
2.3 自定義功能塊的概念與設(shè)計(jì)
自定義功能塊是邏輯控制塊的一種,由局部變量、邏輯控制程序組成。局部變量由輸入變量(IN)、輸出變量(OUT)、輸入_輸出變量(IN_OUT)、臨時(shí)變量(TEMP)等組成[2]。
1)輸入變量(IN)。由調(diào)用它的塊提供的輸入?yún)?shù)。
2)輸出變量(OUT)。返回給調(diào)用它的塊的輸出參數(shù)。
3)輸入_輸出變量(IN_OUT)。初值由調(diào)用它的塊提供,塊執(zhí)行后返回給調(diào)用它的塊。
4)臨時(shí)變量(TEMP)。暫時(shí)保存在局部數(shù)據(jù)區(qū)中的變量。只是在執(zhí)行塊時(shí)使用臨時(shí)變量,執(zhí)行完后,不再保存其數(shù)值,它可能被別的數(shù)據(jù)覆蓋。
塊的局部變量名必須以字母開(kāi)始,只能由英語(yǔ)字母、數(shù)字和下劃線組成的,不能用漢字,但是在符號(hào)表中定義的共享數(shù)據(jù)的符號(hào)名可以使用其他字符(包括漢字)。
設(shè)計(jì)自定義功能塊時(shí),選中SIMATIC管理器左邊窗口中的“塊”圖標(biāo),用右鍵點(diǎn)擊右邊窗口,執(zhí)行出現(xiàn)的快捷菜單中的“插入新對(duì)象”—“功能塊”,生成一個(gè)新的功能塊。在局部變量表中輸入對(duì)應(yīng)的輸入、輸出變量,在邏輯控制塊中,按常規(guī)控制邏輯輸入控制程序,實(shí)現(xiàn)設(shè)備的基本控制功能。例如泵的啟動(dòng)、停止等。
2.4 自定義功能塊編程應(yīng)用
在工程實(shí)際應(yīng)用中,把控制設(shè)備的常規(guī)通用功能設(shè)計(jì)為功能塊,例如泵的手動(dòng)、自動(dòng)聯(lián)鎖啟動(dòng),閥的手動(dòng)、自動(dòng)聯(lián)鎖開(kāi)關(guān)等設(shè)計(jì)為自定義功能塊。在主程序中進(jìn)行調(diào)用,并賦于外部輸入?yún)?shù),實(shí)現(xiàn)工程中各種通用設(shè)備的控制。安鋼2000 m3級(jí)高爐程序設(shè)計(jì)中,應(yīng)用功能塊進(jìn)行編程使程序主體結(jié)構(gòu)清晰,條理分明,易于理解與維護(hù)。在程序調(diào)試時(shí),只需要調(diào)整功能塊與功能塊的外部參數(shù),不需要對(duì)每個(gè)設(shè)備的控制程序進(jìn)行重復(fù)性的修改工作。圖1為工程實(shí)際應(yīng)用中主程序調(diào)用的一個(gè)變頻泵的控制功能塊。
圖1 變頻泵控制功能塊
圖中motor是一個(gè)輸入_輸出參數(shù),是UDT用戶定義數(shù)據(jù)類型。在輸入?yún)?shù)設(shè)計(jì)時(shí),由HMI設(shè)定的設(shè)備的參數(shù)利用UDT用戶定義數(shù)據(jù)類型來(lái)實(shí)現(xiàn),外部只預(yù)留自動(dòng)聯(lián)鎖啟動(dòng),開(kāi)關(guān)閥的條件以及現(xiàn)場(chǎng)的一部分到位聯(lián)鎖信號(hào),從而簡(jiǎn)化了編程工作量,縮短了程序開(kāi)發(fā)周期。
用戶定義數(shù)據(jù)類型(UDT)與功能塊在安鋼2000 m3級(jí)高爐工程中的應(yīng)用,取得了良好效果,不但簡(jiǎn)化了控制程序的開(kāi)發(fā)設(shè)計(jì)工作,而且也為新工藝的控制程序設(shè)計(jì)提供了一種很好的平臺(tái)。設(shè)計(jì)開(kāi)發(fā)人員在不熟悉工藝的情況下,利用UDT與功能塊把程序的主體架構(gòu)搭建起來(lái),實(shí)現(xiàn)設(shè)備的單體調(diào)試與運(yùn)行。在設(shè)備的聯(lián)動(dòng)調(diào)試時(shí),根據(jù)工藝人員的要求,可以把相應(yīng)的聯(lián)鎖條件加入功能塊的輸入?yún)?shù)中,從而實(shí)現(xiàn)各種設(shè)備之間的聯(lián)鎖關(guān)系。經(jīng)過(guò)大量工程實(shí)例證明,用戶定義數(shù)據(jù)類型(UDT)與功能塊的應(yīng)用,可以在工程中起到事半功倍的效果,值得推廣與應(yīng)用。
隨著PLC廣泛地應(yīng)用在各種機(jī)械設(shè)備和生產(chǎn)過(guò)程的自動(dòng)控制系統(tǒng)中,PLC的可靠性和靈活性顯得優(yōu)為重要,而PLC編程的思路與方法是決定控制程序的可靠性與靈活性的關(guān)鍵。用戶定義數(shù)據(jù)類型(UDT)與功能塊的設(shè)計(jì)與應(yīng)用,為用戶提供了一種良好的編程思路與方法,可以運(yùn)用到各種PLC控制系統(tǒng)中,發(fā)揮PLC控制系統(tǒng)的良好優(yōu)勢(shì)。
[1]廖常初.S7-300/400 PLC應(yīng)用技術(shù).北京:機(jī)械工業(yè)出版社,2008:259-260.
[2]王紅,王艷玲.可編程控制器使用教程.北京:電子工業(yè)出版社,2002:20-22.
DEVELOPMENT AND APPLICATION ON UDT AND FUNCTION BLOCK IN 2000 m3BF
Zhou Xupeng
(Anyang Iron and Steel Stock Co.,Ltd)
The development and application on user-defined data types(UDT)and function block in PLC control system for 2000 m3BF in Anyang Steel are introduced which provide standard control method for common equipments,greatly simplify development and design process of control program and enhance readability of program and shiftability.It is worth of spreading in project deign.
user-defined data types function block development and application
2011—8—16