PID優(yōu)化整定系統(tǒng)中OPC接口的研究與應用
4.2.2 OPC客戶端的實現(xiàn)
客戶端的主要實現(xiàn)方式是OPC自動化接口方式,使用VB編寫應用程序。對于工廠各裝 置回路中pv(實測值)、sv(設定值)、mv(閥門開度)參數(shù)的采集使用同步通訊的方式; 而對于回路控制的自動、手動情況的采集則使用訂閱通訊的方式,即在參數(shù)(控制狀態(tài))發(fā) 生改變時主動通知客戶端程序。 OPC數(shù)據(jù)訪問對象由分層結構組成,它由上而下包括OPC服務器對象(OPCServer)、 組對象(OPCGroup)、項對象(OPCItem),在設計OPC客戶端程序時,基本按照以上順 序進行連接。對于OPC自動化接口方式,OPC基金會專門為它的開發(fā)提供了“自動化包裝器” OPCDAAuto.dll,在編寫程序前,應該首先在VB項目中引用該動態(tài)鏈接庫,這樣才能調(diào)用 OPC自動化規(guī)范中定義的屬性、方法和事件。客戶端程序設計的基本步驟如下:
?。?)在VB工程中添加對OPCDAAuto.dll的引用。
?。?)聲明OPC對象。
(3)連接OPC服務器,創(chuàng)建OPC對象。設計時需要調(diào)用OPC服務器對象的“Connect” 方法,和OPC服務器建立連接。之后,用OPC服務器對象的“OPCGroups”屬性生成一個組 集合,再調(diào)用“Add”方法在OPC組集合中添加新的OPC組。最后,在對OPC服務器進行訪 問前,要使用“OPCItems”屬性生成項集合,并使用“Add”添加新的OPC項。
?。?)讀取數(shù)據(jù)。對于裝置回路PID參數(shù)采集采用同步讀取方式,對于裝置回路的控制 狀態(tài)采集采用訂閱讀取方式;最多可同時讀取16條回路的參數(shù)。
?。?)刪除OPC對象,斷開與服務器的連接。連接著OPC服務器的OPC應用程序,在退 出之前必須斷開與OPC服務器的連接。否則,OPC服務器不知道OPC應用程序的退出,計算 機資源就一直不能被釋放,長此以往,會造成計算機資源枯竭而產(chǎn)生嚴重問題。斷開連接時, 使用“Disconnect”方法;并將OPCItems、OPCGroup和OPCServer都置為Nothing,刪除對象。
4.3 數(shù)據(jù)存儲及導出的實現(xiàn)
為了給后期PID優(yōu)化整定提供大量完整的數(shù)據(jù),在數(shù)據(jù)采集過程中需要將大量數(shù)據(jù)保存 在Access數(shù)據(jù)庫中,以備使用。由于同時讀取多條回路,數(shù)據(jù)量很大,為避免在最后保存數(shù) 據(jù)時由于數(shù)據(jù)量過大而造成時間過慢,甚至是死機現(xiàn)象,設計時采取每讀取30個數(shù)據(jù)自動保 存一次的方法。另外,在把數(shù)據(jù)導出到Excel過程中,由于Excel自身的限制,一張Sheet保存 的數(shù)據(jù)有限,為了避免數(shù)據(jù)溢出,設計成每保存一定數(shù)據(jù)自動生成一張新的Sheet進行存儲。
5、結束語
以OPC為接口通訊方式的數(shù)據(jù)采集模塊是PID優(yōu)化整定系統(tǒng)的基礎,該模塊及整個PID 優(yōu)化整定系統(tǒng)的設計都相對獨立于現(xiàn)場工程師站,使用OPC通訊也只進行讀操作而不進行寫 操作。該設計的好處是,既能使兩臺機器互相沒有影響,又能使客戶端采集到全部DCS數(shù)據(jù)。 鑒于石油化工企業(yè)的重要性,數(shù)據(jù)采集只讀不寫,具有較好的安全性,可以保證原系統(tǒng)數(shù)據(jù) 的安全和純潔,也避免了數(shù)據(jù)錯誤造成的影響,保證了生產(chǎn)的安全。目前,PID優(yōu)化整定系 統(tǒng)經(jīng)過實驗室長期檢驗,已經(jīng)穩(wěn)定的運行于國內(nèi)許多石油化工企業(yè)中,且運行狀況良好。 現(xiàn)在,絕大多數(shù)工控廠商為實現(xiàn)系統(tǒng)的開放性,其DCS都提供了OPC接口。同時,OPC 基金會也在不斷推出新的產(chǎn)品,從OPC DA到OPC XML-DA,再到OPC UA。OPC必然會向 更為廣泛的跨語言、跨平臺、企業(yè)級的方向發(fā)展。
評論