摘 要:海上石油生產環(huán)境的惡劣性決定了海洋平臺水處理DCS系統(tǒng)工控參數(shù)報警限值的重要性,而海上注采生產工藝的改進以及設備的更新均會導致平臺水處理工藝被檢測工控參數(shù)報警限值的變動。本文運用組態(tài)軟件RSView32的內嵌式開發(fā)語言VBA,結合網絡技術與數(shù)據庫管理技術,研究并實現(xiàn)了平臺水處理DCS系統(tǒng)對工控參數(shù)報警限值的在線管理。系統(tǒng)的長期運行證明了該種方法的可行性和實用性。
關鍵詞:RSView32; DCS; 報警; 數(shù)據管理; ADO
Abstract: The abominable environment of petroleum production on the sea results in the importance of alerting critical value of industrial control parameter in Platform seawater treatment DCS, and improvement of petroleum production process and update of equipment bring to the change of alerting critical value of platform seawater treatment process control system. This paper integrates capabilities of VBA embedded in RSView32 configuration software with Network, RDBMS, to research and realize the on-line management of altering critical value of industrial control parameter in Platform Seawater Treatment DCS. The system’s long-term operation proves that the way of on-line management is feasible and practical.
Key words: RSView32; DCS; Alerting; Data Management; ADO
隨著測控技術的迅速發(fā)展,分布式計算機控制系統(tǒng)(DCS)得到了越來越廣泛的應用,海上平臺石油生產采用計算機監(jiān)控系統(tǒng)實現(xiàn)綜合自動化生產也日趨廣泛。由于海上生產環(huán)境惡劣,設備易腐蝕、易老化,故障發(fā)生率高,因此,DCS系統(tǒng)必須具有強大的故障自診斷與安全保護等功能。當生產中出現(xiàn)不可預見的干擾和故障時,系統(tǒng)能及時做出反應并發(fā)出報警信息,而系統(tǒng)所采集的各工控數(shù)據是診斷與解決故障的基礎。因此,DCS系統(tǒng)內設的與各工控參數(shù)相對應的報警限值對整個石油生產的安全性、可靠性均有著極其重要的作用。此外,科技的發(fā)展必然會促進平臺石油生產工藝的不斷改進以及生產設備的不斷更新,所以各工控參數(shù)的報警限值也必須根據新工藝、新設備以及新的工藝要求作適當修改。因此,DCS系統(tǒng)必須對工控參數(shù)報警限值實現(xiàn)有效的管理。
目前,DCS系統(tǒng)的開發(fā),多采用可靠性高、組態(tài)靈活且易于生成應用程序的組態(tài)軟件來具體實現(xiàn)。在多數(shù)情況下,系統(tǒng)開發(fā)人員根據系統(tǒng)開發(fā)時生產過程的運作情況為各工控參數(shù)設置具體的報警上下限值。當系統(tǒng)中某工控參數(shù)的報警限值需要作修改時,開發(fā)人員通常將DCS系統(tǒng)退回到系統(tǒng)開發(fā)用組態(tài)軟件的編輯狀態(tài),然后再對該工控參數(shù)的報警限值做修改。這樣會使得監(jiān)控系統(tǒng)在某工控參數(shù)報警限值被修改的時間段內不能對工控過程進行實時監(jiān)控,若此時工控過程出現(xiàn)異常情況,將會對生產造成一定程度的影響。因此,實現(xiàn)工控參數(shù)報警限值的在線管理對海洋平臺石油生產的安全運行有著十分重要的意義。
1 平臺水處理DCS系統(tǒng)構成
平臺水處理DCS系統(tǒng)下位機采用兩套A-B公司的SLC500型PLC,一套用作對海水細濾反沖洗子流程的過程控制,另一套用于對其它子流程中壓力、溫度、流量、液位、海水含氧量以及海水濁度的數(shù)據采集和控制閥的開度調節(jié)(如圖1所示)。
上位監(jiān)控計算機負責對水處理工藝的過程監(jiān)控,實現(xiàn)對PLC采集數(shù)據的實時顯示、趨勢描繪以及對整個流程的動態(tài)模擬。數(shù)據管理計算機主要負責對工作人員、設備以及工控數(shù)據信息的管理,并同時實現(xiàn)報表打印和數(shù)據查詢功能,且具有與監(jiān)控計算機相同的對工控過程的監(jiān)控功能。上位監(jiān)控計算機與PLC之間的通訊利用DH+工業(yè)局域網來實現(xiàn),監(jiān)控計算機與數(shù)據管理計算機之間的通訊通過Ethernet以太網來實現(xiàn)。系統(tǒng)上位計算機監(jiān)控系統(tǒng)采用Rockell RSView32組態(tài)軟件開發(fā)而成,數(shù)據管理服務器采用Microsoft SQL Server2000,數(shù)據管理系統(tǒng)采用Microsoft Visual Basic6開發(fā)實現(xiàn)。
2 報警限值在線管理的具體實現(xiàn)
RSView32組態(tài)編程中,Tag是其編程核心,且有兩種數(shù)據源類型,即Device(設備)和Memory(內存)。其數(shù)據源類型為Device的Tag,可被視為一個來自外部設備的數(shù)據,與下位機PLC的一個內存地址單元同步更新,因此,上位機與下位機的數(shù)據通訊是通過Device類型的Tag來實現(xiàn),且每一個被檢測工控參數(shù)都對應一個Device類型的Tag。此外,其數(shù)據源類型為Memory的Tag,可被理解為一個來自計算機內部的數(shù)據,可稱之為變量,而工控參數(shù)報警上下限在線修改就是通過對Memory類型的Tag操作來實現(xiàn)的。
2.1 基本思想
?。?)在RSView32項目管理器的Tag Database中,將各被檢測工控參數(shù)的報警限值設置為Tag(變量)而不是具體的數(shù)值,其Tag類型為Analog (模擬量),其Data Source(數(shù)據源)類型為Memory,其Initial(初始值)設置為當前工藝所要求的限位數(shù)值。
公共變量(Tags)創(chuàng)建如表1所示。PublicTag—返回報警限值需作修改的工控參數(shù)Tag名稱;UpperLimit—返回工控參數(shù)報警上限對應的Tag名稱;LowerLimit—返回工控參數(shù)報警下限對應的Tag名稱。
?。?)利用Microsoft SQL Server2000數(shù)據庫管理器創(chuàng)建報警限值數(shù)據庫AlertingValue,并在操作系統(tǒng)控制面板的ODBC Administrator中配置一個指向AlertingValue數(shù)據庫的DSN。在數(shù)據庫AlertingValue中創(chuàng)建一張名為AlertingTagValue的自由表,用于存儲各工控參數(shù)報警上下限用Tag的當前值及相關屬性,如表2所示。
?。?)利用RSView32的內嵌式語言——VBA和遠程數(shù)據訪問技術ADO對報警限值數(shù)據庫操作,實現(xiàn)對報警限值的查詢、修改以及存儲等管理操作,實現(xiàn)對報警數(shù)據的有效管理。
2.2技術實現(xiàn)與程序設計
?。?)在RSView32項目管理器的Visual Basic Edit中,創(chuàng)建報警上下限在線管理用窗體frmAlertingV,如圖2所示。表3為窗體frmAlertingV中相關控件的屬性.


?。?)在RSView32內為每個設有報警限值的工控參數(shù)設置Touch動作,用于返回工控參數(shù)及其報警限值所對應的Tags名稱:以緩蝕1#加藥罐的“液位顯示” 為例,為其添加“Touch”動作如下:& Set PublicTag “LT-2C2101” ; & Set UpperLimit “H_LT-2C2101”; & Set LowerLimit “H_LT-2C2101”; VbaExec frmAlertingV.Show
?。?)程序設計
a.定義公共變量
Public cn As New ADODB.Connection
Public rs As New ADODB.Recordset
Public Upper As String
Public Lower As String
b.創(chuàng)建與SQL Server數(shù)據庫AlertingValue的聯(lián)結
cn.ConnectionString=”DSN=AlertingValue” _
“;UID=sa;PWD=sa”
cn.Properties(“Prompt”)=adPromptComplete
rs.Open “select TagName from AlertingTagValue”,_
cn,adOpenKeyset,adLockOptimistic,adCmdText
c.獲取并顯示待操作被監(jiān)控參數(shù)當前報警限值
If gTagDb(PublicTag).Value= “LT-2C2101” then
FrmAlertingV.Caption= “緩蝕1#加藥罐液位”+_
“報警上下限在線修改”
Upper= gTagDb(“UpperLimit”).Value
Lower= gTagDb(“LowerLimit”).Value
frmAlertingV.TextBox1.Text =gTagDb(Upper).Value
frmAlertingV.TextBox2.Text=gTagDb(Lower).Value
Else
… …
End if
d.修改報警上下限值并將其存入AlertingValue數(shù)據庫
Upper= gTagDb(“UpperLimit”).Value
Lower= gTagDb(“LowerLimit”).Value
gTagDb(Upper).Value=Val(TextBox3.Text)
TextBox1.Text= gTagDb(Upper).Value
gTagDb(Lower).Value=Val(TextBox4.Text)
TextBox2.Text= gTagDb(Lower).Value
Do While Not rs.EOF
If rs!TagName= Upper then
rs!TagValue=Val(TextBox3.Text)
End if
If rs!TagName= Lower then
Rs!TagName=Val(TextBox4.Text)
End if
rs.Update
rs.MoveNext
Loop
e.各工控參數(shù)報警上下限所對應的Tag均為Memory類型,而Memory類型的Tag被修改后的數(shù)據不能在DCS系統(tǒng)中作永久性存儲。因此,為保證DCS系統(tǒng)重啟動的情況下工控參數(shù)報警上下限最近一次修改的數(shù)值仍然保持有效,則必須在DCS系統(tǒng)重新啟動的同時,使DCS系統(tǒng)再次從AlertingValue數(shù)據庫中獲取各工控參數(shù)報警上下限的數(shù)值。為實現(xiàn)該項功能,程序編寫如下:
Dim cnDcs As New ADODB.Connection
Dim rsDcs As New ADODB.Recordset
cnDcs.ConnectionString=”DSN=AlertingValue” _
“;UID=sa;PWD=sa”
cnDcs.Properties(“Prompt”)=adPromptComplete
rsDcs.Open “select TagName from AlertingTagValue”,_ cn,adOpenKeyset,adLockOptimistic,adCmdText
Do While Not rsDcs.EOF
gTagDb(rsDcs!TagName).Value= rsDcs!TagValue
rsDcs.Update
rsDcs.MoveNext
Loop
cnDcs.Close
f.在RSView32項目管理器的Macro功能模塊中,創(chuàng)建名為StartUp的宏文件,并在該文件中編寫代碼:VbaExec AlertingCriticalValue
g.在RSView32項目管理器的System\startup功能模塊中,設置系統(tǒng)運行的起始(startup)宏文件為StartUp,使得DCS系統(tǒng)運行的同時,執(zhí)行AlertingCriticalValue過程,從AlertingValue數(shù)據庫中獲取工控參數(shù)的報警限值,為系統(tǒng)安全運行提供可靠數(shù)據。
3 結束語
在海洋平臺水處理DCS系統(tǒng)中,利用RSView32組態(tài)軟件的內嵌式語言——VBA,以及網絡技術和數(shù)據庫管理技術,實現(xiàn)了在上位機監(jiān)控系統(tǒng)正常運行的情況下對平臺水處理DCS系統(tǒng)工控參數(shù)報警限值的在線管理,在不增加任何軟硬件成本的前提下, 增強了系統(tǒng)在數(shù)據管理方面的功能,提高了系統(tǒng)功能的可擴展性和可靠性,消除了海上石油生產因工藝改進和設備更新所可能造成的安全隱患,為平臺石油生產的安全運行提供了可靠保障,也為企業(yè)計算機控制系統(tǒng)的建設提供了很好的借鑒作用。
參考文獻
1.Rockwell Automation .RSView32 User’ Guides
2.[美] E.Winemiller, J.Roff, B.Heyman, R.Groom. Visual Basic 6.0數(shù)據庫開發(fā). 清華大學出版社. 1999.9
3.[美] David Jung, Pierre Boutquin, John D.Conley III. Visual Basic 6開發(fā)人員參考手冊. 機械工業(yè)出版社. 2000.1
4.[美]Michael Otey, Paul Conte. SQL Server2000開發(fā)指南. 清華大學出版社. 2002.1
5.劉昌玉,張兆云,劉偉. RSView32和C++ Builder應用軟件的實時信息交換.計算機工程與應用.2001.7 103~106
6.陳增強,趙天航,劉忠信等.基于Windows NT環(huán)境下的工業(yè)鍋爐監(jiān)控系統(tǒng)設計.計算機工程與應用.2000.8 163~165
7.鄒彤.Wincc組態(tài)軟件的編程技巧.化工自動化及儀表. 2001.28(2):63-64
8.王素珍等.Rockwell RSView32 在海洋平臺注水工藝流程監(jiān)控系統(tǒng)中的應用.電氣自動化.2002年第24卷第6期
9.邵山等.自動化報警系統(tǒng)的開發(fā)與應用.電力系統(tǒng)自動化. 2001.1第25卷第2期