趙洪娣
(唐山三友氯堿有限責(zé)任公司,河北 唐山 063305)
自定義功能塊類型在電解槽聯(lián)鎖中的應(yīng)用
趙洪娣
(唐山三友氯堿有限責(zé)任公司,河北 唐山 063305)
在ABBDCS中利用ST語(yǔ)言,設(shè)計(jì)實(shí)現(xiàn)了一種自定義功能塊類型(R230I_P)。在介紹庫(kù)和自定義功能塊類型的基礎(chǔ)上闡述了自定義功能塊類型(R230I_P)的開發(fā)框架依次對(duì)其設(shè)計(jì)實(shí)現(xiàn)過(guò)程調(diào)試環(huán)節(jié)進(jìn)行說(shuō)明并將其投入到生產(chǎn)改造中的效果進(jìn)行檢驗(yàn)。結(jié)果表明,與傳統(tǒng)組態(tài)方式相比大大提高了組態(tài)效率。
自定義功能塊類型;功能塊;電解槽聯(lián)鎖控制;DCS
目前,傳統(tǒng)的DCS系統(tǒng)編程方式是工藝上增加1臺(tái)設(shè)備便要在DCS系統(tǒng)中加入相應(yīng)的控制程序,如果需要增加多臺(tái)相同設(shè)備那么相應(yīng)的控制程序也需要編寫多次,這樣不僅增加了程序的編寫量,而且所用中間變量比較多,錯(cuò)誤檢查不明顯,所需調(diào)試時(shí)間也比較長(zhǎng)。為此,需要在DCS中研究一種新的組態(tài)方式來(lái)克服以上缺點(diǎn)。本文選擇電解槽聯(lián)鎖回路邏輯算法,并在ABBCBM DCS系統(tǒng)中進(jìn)行開發(fā)和應(yīng)用。
1.1庫(kù)的概念
控制編制器項(xiàng)目的3個(gè)主要部件之一是庫(kù),庫(kù)包含類型定義或用來(lái)給予項(xiàng)目額外功能性的類型。在庫(kù)中可以進(jìn)行的類型定義有3個(gè)分類,即數(shù)據(jù)類型、功能塊類型和控制模塊類型,本文只對(duì)功能塊類型進(jìn)行應(yīng)用。
在ABBCBM DCS軟件中,庫(kù)文件夾中有項(xiàng)目所使用的所有程序庫(kù)。將1個(gè)庫(kù)插入到項(xiàng)目,其類型可用于連接到應(yīng)用程序。
在創(chuàng)建項(xiàng)目的時(shí)候,庫(kù)文件夾中包括有系統(tǒng)文件夾和2個(gè)一直連接到項(xiàng)目的庫(kù)——Basic語(yǔ)言庫(kù)和圖標(biāo)庫(kù)。還有許多可以插入的附加庫(kù)。比如用戶自定義庫(kù)。
庫(kù)中包含有類型定義,比如數(shù)據(jù)類型、功能和功能塊類型以及可以在項(xiàng)目中使用的控制模塊類型。這些庫(kù)可用于連接到控制器,因此,可以再一個(gè)控制項(xiàng)目中有多個(gè)庫(kù)。
(1)類型和實(shí)例
常常會(huì)碰到某個(gè)特定的對(duì)象在某個(gè)應(yīng)用程序中被使用許多次的情況。一個(gè)對(duì)象類型被定義,然后每次使用該類型都會(huì)建立一個(gè)該類型的實(shí)例。在大多數(shù)情況下,類型和實(shí)例之間的鏈接被維持。因此,如果在將來(lái)該類型被修改,則該類型的所用實(shí)例均被改變。
例如本文所述公司有電解槽8臺(tái),但它們是相同的控制類型,在控制程序中,可以定義一個(gè)電解槽控制類型(R230I_P),然后只要在程序中需要一個(gè),該類型的新實(shí)例即被建成。
(2)類型名稱和實(shí)例名稱
在說(shuō)明功能塊類型的實(shí)例時(shí),要求給予實(shí)例一個(gè)名稱,見(jiàn)表1。實(shí)例名稱是R1,而它是R230I_P類型的。第二至第八個(gè)實(shí)例是相同類型R230I_P,但是實(shí)例名稱為R2-R8。R1-R8繼承的是R230I_P的特性。所以只要對(duì)R230I_P的一處進(jìn)行更改就可以影響到R1-R8,而不用對(duì)R1-R8進(jìn)行重復(fù)的更改。
(3)功能塊類型
功能塊為編程員提供額外的功能。ABB在標(biāo)準(zhǔn)庫(kù)中提供大量的預(yù)先定義功能塊。例如,在BasicLib庫(kù)中,用于定時(shí)、數(shù)據(jù)轉(zhuǎn)換、計(jì)數(shù)等等的功能塊。當(dāng)某個(gè)庫(kù)被連接到某個(gè)應(yīng)用程序時(shí),該功能塊的實(shí)例就可以在應(yīng)用程序中的程序和控制模塊中建立。
(4)庫(kù)的連接
表1
在一個(gè)項(xiàng)目中可能有許多庫(kù)而在一個(gè)項(xiàng)目中也可能有許多應(yīng)用程序。按照應(yīng)用程序的要求,每個(gè)應(yīng)用程序可能有不同的庫(kù)組連接。為了將某個(gè)庫(kù)連接到一個(gè)應(yīng)用程序,該庫(kù)必須已經(jīng)存在于項(xiàng)目中。
1.2電解槽聯(lián)鎖控制
本文以電解槽聯(lián)鎖控制為例,該控制邏輯把順序控制與PID調(diào)節(jié)結(jié)合起來(lái),當(dāng)電解槽停以后,2個(gè)PID回路經(jīng)過(guò)3個(gè)不同步驟進(jìn)行調(diào)整,每個(gè)步驟時(shí)間不同、PID設(shè)定值不同,并且還要保證在3個(gè)步驟內(nèi),既能保證程序控制,又能讓操作員手動(dòng)干預(yù)PID調(diào)節(jié)。實(shí)現(xiàn)功能見(jiàn)圖1。
圖1 電解槽控制回路邏輯算法
在ABBAC800M DCS系統(tǒng)中,開發(fā)自定義功能塊的基本步驟包括:定義模塊參數(shù)、輸入變量、輸出變量、功能塊;激活語(yǔ)言開發(fā)環(huán)境并編輯語(yǔ)言代碼,生成目標(biāo)代碼并下裝。此自定義功能塊在開發(fā)設(shè)計(jì)時(shí),要以系統(tǒng)自帶的功能模塊為基礎(chǔ),需要使用的系統(tǒng)自帶功能塊為RS功能塊、TON功能塊、TP功能塊,把變量與上述功能塊進(jìn)行連接,從而形成新的自定義功能塊,功能結(jié)構(gòu)見(jiàn)圖2。
2.1結(jié)構(gòu)化正文(ST)
結(jié)構(gòu)化正文(ST)是ABBDCS系統(tǒng)軟件的5種組態(tài)軟件之一,是一種高層次、小型、高度結(jié)構(gòu)化的編程語(yǔ)言,并包含了為分配、功能、功能塊調(diào)用、表達(dá)式、條件語(yǔ)句、重復(fù)操作等等的綜合范圍的結(jié)構(gòu),本文就選擇結(jié)構(gòu)化正文(ST)作為組態(tài)語(yǔ)言來(lái)實(shí)現(xiàn)電解槽聯(lián)鎖的算法。
圖2 自定義功能塊功能結(jié)構(gòu)圖
因?yàn)槠溥壿嫼徒Y(jié)構(gòu)化布局,該程序編寫簡(jiǎn)單并容易讀取。語(yǔ)言的緊湊提供該代碼的優(yōu)秀的概觀并在編輯程序中較少卷動(dòng)。
功能塊以類似的方式向變量說(shuō)明,方法是給予其一個(gè)名稱(實(shí)例名稱),此名稱被用來(lái)在代碼中調(diào)用。在ST編輯程序中,必須在編輯程序的“功能塊”說(shuō)明標(biāo)記中給出名稱和類型。
2.2自定義功能塊的編寫
在項(xiàng)目的庫(kù)目錄下,新建一個(gè)庫(kù)文件,名稱為Customer,在Customer目錄下,新建一個(gè)自定義功能塊類型,彈出新建功能塊設(shè)置對(duì)話框,輸入新建功能塊類型的名字為“R230I_P”,點(diǎn)擊確定按鈕,打開編輯器,進(jìn)入編輯界面開始編程。在電解槽邏輯算法中需要引用許多參數(shù)、系統(tǒng)自帶功能塊,如RS塊、TP塊、電解槽運(yùn)行狀態(tài)等,因此要在參數(shù)列表(見(jiàn)表2)和功能塊列表(見(jiàn)表3),聲明參數(shù)和使用的系統(tǒng)自帶功能塊。功能塊參數(shù)(表2)有2個(gè)方向:In和Out。輸入、輸出參數(shù)用值來(lái)傳遞,在功能塊的執(zhí)行前后分別拷貝每個(gè)變量值。簡(jiǎn)單來(lái)說(shuō),輸入?yún)?shù)在功能塊執(zhí)行之前拷貝變量值到功能塊去執(zhí)行,輸出參數(shù)在功能塊執(zhí)行完畢之后拷貝變量值,傳遞給功能塊外的變量。
表2 參數(shù)列表
表3 功能塊列表
根據(jù)圖2所示,利用ST語(yǔ)言編寫自定義功能塊程序,主要包括:
(1)TP塊的調(diào)用 。調(diào)用格式:功能塊名稱(輸入:=參數(shù)名稱或功能塊名.參數(shù)),如功能塊TP1連接:TP1(IN:=IN1);
(2)RS的調(diào)用。調(diào)用格式:功能塊名稱(設(shè)置:=參數(shù)名稱或功能塊名.參數(shù),復(fù)位:=參數(shù)名稱或功能塊名.參數(shù));如功能塊RS_1連接:RS_1(Set:=TP1. Q,R1:=Ton2.Q)
(3)TON的調(diào)用。調(diào)用格式:功能塊名稱(輸入:=參數(shù)名稱或功能塊名.參數(shù));如功能塊TON1連接:TON1(IN:=RS1.Q);
根據(jù)以上調(diào)用方式,圖2程序代碼如下:
TP1(IN:=IN1);
RS_1(Set:=TP1.Q,
R1:=Ton2.Q);
TON1(IN:=RS1.Q);
RS_2(Set:=TON1.Q,
R1:=Ton2.Q);
TON2(IN:=RS_2.Q);
TP2(IN:=IN1
OUT:=>OUT1);
TP3(IN:=IN1
OUT:=>OUT2);
TP4(IN:=TON1.Q
OUT:=>OUT3);
TP5(IN:=TON1.Q
OUT:=>OUT4);
TP6(IN:=TON2.Q
OUT:=>OUT5);
TP7(IN:=TON2.Q
OUT:=>OUT6)。
2.3自定義功能塊的調(diào)用
選中此次使用的應(yīng)用程序下面的連接庫(kù)文件夾,右擊選擇“連接庫(kù)”;從下拉式明細(xì)表中選擇要連接的庫(kù)“Customer”,然后點(diǎn)擊“OK”。
首先,在應(yīng)用程序編輯器中對(duì)用到的變量、功能塊進(jìn)行聲明,本次改造8臺(tái)電解槽,需要聲明8個(gè)功能塊類型為“R230I_P”的功能塊(R1-R8),聲明表格見(jiàn)表3,并將8臺(tái)電解槽的停止信號(hào)連入功能塊中,以電解槽R1為例,功能塊調(diào)用格式為:
R1(IN:=A2L4,A2L4為第一臺(tái)電解槽的狀態(tài)信號(hào);
OUT1=>OUT1,OUT1~OUT6為中間變量
OUT2=>OUT2,
OUT3=>OUT3,
OUT4=>OUT4,
OUT5=>OUT5,
OUT6=>OUT6)。
對(duì)每臺(tái)電解槽的FICZA-231,F(xiàn)ICZA-232流量進(jìn)行語(yǔ)句編寫,選擇ST編程方式,電解槽I槽FICZA-232I為例,程序段如下。
ifOUT1=1 then
MA_FICZA232I:=0;
SP_FICZA232I:=43;
end_if;
ifOUT3=1 then
MA_FICZA232I:=0;
SP_FICZA232I:=0;
end_if;
ifOUT5=1 then
MA_FICZA232I:=0;
SP_FICZA232I:=43;
end_if;
電解槽I槽FICZA-231I程序段如下:ifOUT2=1 then
MA_FICZA231I:=0;
SP_FICZA231I:=42;
end_if;
ifOUT4=1 then
MA_FICZA231I:=0;
SP_FICZA231I:=42;
end_if;
ifOUT6=1 then
MA_FICZA231I:=0;
SP_FICZA231I:=9;
end_if。
本文詳細(xì)介紹了自定義功能塊在電解槽聯(lián)鎖中的應(yīng)用,以及在ABBAC800M DCS系統(tǒng)中設(shè)計(jì)和實(shí)現(xiàn)的全過(guò)程,并成功應(yīng)用到實(shí)際改造中。結(jié)果表明與傳統(tǒng)組態(tài)方式相比,調(diào)試時(shí)間縮短為原來(lái)的1/8,程序集成化高,減少系統(tǒng)負(fù)荷,大大提高了運(yùn)行速度,系統(tǒng)穩(wěn)定性增加。從此次改造中可以看出,此種組態(tài)方式應(yīng)用于多臺(tái)相同設(shè)備且控制要求相同時(shí),還是非常成功的。
Application of a custom function block type in theelectrolyzer interlock
ZHAOHong-di
(Tangshan Sanyou Chlor-alkaliCo.,Ltd.,Tangshan 063305,China)
The use of ST language in the ABB DCS,to design a custom function block type(R230I_P). Based on introducing the library and custom function block type,firstelaborated the custom function block type(R230I_P)development framework,and then the design and realization process are introduced,and the debugging are explained respectively.Finally,the transformation of inputs into the production,test its effects.The results show that,compared with the traditional configuration way can greatly improve the configuration efficiency.
custom function block type;function block;electrolysisgroove interlocking control;DCS
TM762
B
1009-1785(2015)09-0032-04
2015-03-05