OPC服務器的研究及其在CAN總線系統中的實現
注冊表是客戶和組件程序共同訪問的信息倉庫,通常情況下,當組件程序被安裝到計算機上之后,必須通過某種途徑把它的信息注冊到注冊表中,然后客戶程序才能根據注冊表中的信息對組件程序進行操作。
根據COM規范,組件程序可分為自注冊組件程序和非自注冊組件程序。OPC基金會提供的組件都是自注冊組件。對于非自注冊組件程序,其注冊過程與組件程序沒有直接關系,必須單獨進行注冊信息的配置,比如,可以編寫一個注冊表文件,然后在RegEdit中引入。
對于DLL形式的進程內自注冊組件,Windows系統提供了RegSvr32.exe注冊工具進行組件注冊和注銷。組件程序本身必須包含DllRegisterServer和DllUnregisterServer兩個注冊表入口函數。注冊和注銷的格式分別為:
RegSvr32系統路徑>
RegSvr32/u系統路徑>
對于EXE形式的進程外自注冊組件,COM規范規定,必須支持兩個命令行參數/RegServer和/UnregServer(大小寫無關,并且“/”可以用“-”代替),以便完成注冊和注銷操作。注冊和注銷的格式分別為:
系統路徑>/RegServer
系統路徑>/UnregServer
OPC服務器經過調試之后,還需要利用OPC客戶程序對它的主要功能進行測試。
本文開發的OPC服務器是針對華控公司的CAN通訊卡編寫的,用于從華控的CAN通訊卡和RSM智能模塊組成的現場通訊網絡中讀取信息。
3.1系統組成
系統主要由上位機,CAN通訊卡,OPC客戶端,OPC服務器,RSM智能模塊,通訊媒體等組成。如圖2所示。

圖2系統構成
①上位機的軟、硬件配置:MicrosoftWindows98/2000或WindowsNT操作系統;32M以上內存、1G以上可用硬盤空間、SVGA顯示卡。
②CAN通訊卡選用華控公司的HK-CAN30B,它是一種將CAN通訊協議與PC機PCI總線標準相連接的非智能CAN插卡,通過該卡可對工業現場具有CAN通訊接口的儀表和控制設備進行監控。
③CAN現場設備選用華控的RSM智能模塊,每個模塊都是在一個嵌入式實時多任務的內核管理下周期性工作,按組態要求定時地向上發送和取得數據。
④通訊媒體可以選用雙絞線、帶屏蔽雙絞線等。
⑤客戶端選用力控公司的力控2.6監控組態軟件。力控2.6支持OPC技術。它作為OPC客戶端,充分利用了OPC服務器的強大性能,為工程人員提供了方便高效的數據訪問能力。在力控中可以同時掛接任意多個OPC服務器,每個OPC服務器都可以當作一個外部設備進行定義、增加或刪除。
3.2OPC服務器與客戶端的連接
3.2.1定義OPC設備
首先在力控導航器窗口中選擇“實時數據庫”中的“I/O設備驅動”并展開,出現“OPC”設備。雙擊“OPC(Client)”,出現I/O設備定義對話框。在“設備名稱”中定義邏輯設備的名稱(由用戶隨意定義),不妨定義為“OPC”,在“數據更新周期”中指定采集周期,填寫故障后恢復查詢的周期和最長時間,然后單擊“下一步”,出現OPC設備定義對話框。
力控會自動搜索計算機系統中已經安裝的所有OPC服務器。如果OPC服務器編寫無誤并且注冊正確,則點擊下拉框“OPC服務器”時會列出已經安裝的所有OPC服務器的名稱,選擇要使用的OPC服務器,這里選擇本文設計的服務器“OPC.Server.1”。
選擇“Server類型”,是“當地(local)”還是“遠程(remote)”。在“數據訪問方式”中選擇“緩沖區”或“外設”方式,對于“緩沖區”方式,OPC客戶程序將通過OPC服務器的緩沖區讀取數據;對于“外設”方式,OPC客戶程序將通過OPC服務器直接從設備讀取數據。從設備直接讀取數據速度會慢一些,一般只有在故障診斷或極特殊的情況下才會使用。在“死區百分比”中輸入一個百分值,表示過程數據值的變化不超出這個比例將不對其進行數據更新。單擊“確定”就完成了OPC設備的定義。
3.2.2對OPC數據項進行數據連接
啟動力控的數據庫組態程序DBMan。首先在點組態中創建所要用的變量,不妨設為gg1。展開“數據連接”項,已經建立的OPC設備就排列在其中。雙擊我們剛才建立的OPC設備“OPC”,則出現“數據連接”對話框。選擇要連接的點參數gg1后,單擊“增加”按鈕,出現“數據項組態”對話框。
如果OPC服務器支持“瀏覽”功能,雙擊右上側列表框中的“Root”,列表框會自動列出它提供的數據區;如果OPC服務器不支持“瀏覽”功能,其數據項的描述需要用戶根據OPC服務器的資料說明,在“數據項”輸入框內手工填寫。選擇“數據類型”和“讀寫權限”,在“訪問路徑”中輸入數據的訪問路徑(這一項不是必需的,需要填寫的,可以參考所使用的OPC服務器的手冊),這里不用填寫。
最后單擊“確定”按鈕,就生成了一個數據項的數據連接,如圖3所示,從而實現了與現場實際信息的連接。

圖3力控數據連接結果
在系統運行時,力控和服務器建立連接,自動完成和OPC服務器之間的數據交換。
4結束語
本文設計的OPC數據訪問服務器符合OPC規范,實現了對數據的實時讀寫,具有實用價值。總之,有了OPC規范,控制系統軟件可以高效、穩定地對硬件設備進行數據存取,系統應用軟件之間也可以靈活地進行信息交互,極大地提高了控制系統的互操作性和適應性。
評論