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