最近這幾天一直研究OPC客戶端遠程連接OPC服務器問題,最開始由於對OPC不熟悉,大家都在摸索着前進,采取比較愚蠢的連接方式,在服務器端安裝Step7 V5.5和Simatic Net 2007連個軟件,在客戶端也安裝了Simatic Net 2007軟件,兩端都設置為"允許",這種方式可以正常讓OPC客戶端連接到OPC服務器端,但Simatic Net 2007是個很耗費內存的軟件,開始我並不知道同事們以這種方式連接的,到了項目后期,才了解到,我的第一反應是這種連接方式肯定不是最好的,必須要換。
經過各方面的資料的查詢,結果是在客戶端只需要配置DCOM就可以遠程連接OPC了,事不宜遲,我就開始根據文檔步驟開始配置DCOM,配置好后,運用各種OPC客戶端都無法連接,我下載了各種Test工具及OPC客戶端DOMO,無一適用,此時我已滿頭大汗,還以為是自己配置有問題,檢查了很多遍還是不行,我開始懷疑不是DCOM配置問題,一直覺得少了什么類庫或組件,我就在網絡上開始各種搜索,各種提問,有個網友向我提供了一個OPC基金會提供的核心組件,我安裝后,以為真的可以解決問題了,沒想到,還是和沒有安裝一樣,仍然連接不上,各種搜索,各種提問,還是沒有得到答案,我關注到能夠正常訪問OPC遠程客戶端的PC注冊表內都有OPC.SimaticNET服務器名稱,而不能訪問的客戶端注冊表內卻沒有,此時我就開始認為DCOM配置沒有問題,類庫也不缺,關鍵在於OPC服務器在客戶端如何成功注冊,正在思考該怎么注冊OPC服務器的時候,我就對着已注冊的PC注冊表發呆,忽然發現可以將注冊表注冊信息導出來,而且可以執行,我高興壞了,馬上拷貝出來放在OPC客戶端執行,沒注冊成功,打開文件,發現文件里什么都沒了,我又去拷貝了一遍,重新執行了一遍,成功了,原來第一遍只是個意外,幸虧沒有放棄,注冊成功后,發現注冊表里終於有了OPC.SimaticNET的名稱了,馬上用客戶端Test了一下,完全沒有問題,找到OPC項目執行,完全沒有問題,至此OPC客戶端連接遠程OPC服務器配置成功。
配置成功后發現,其實就是對新事物的不了解,才讓問題變得非常復雜,其實是非常簡單的配置,只怪自己太年輕,經驗不足啊,好在我有一股韌勁,當所有人都認為這已經不可能實現了,已經放棄的時候,我從來都不願放棄,就算要放棄也非要找出死心的理由,因此對於技術的攻關,都是自己在把握,工作4年有余,遇見過很多技術問題,不都被自己這股韌勁打倒了,到現在還沒有遇見解決不了的問題,也總算彌補了一下工作經驗不多的問題,沒有一個人能把所有問題,技術都爛熟於心,但我們能做的,就是遇見問題的時候,努力利用各種方法得到答案,千辛萬苦,終會苦盡甘來,對於磨難,不拋棄,不放棄,只要堅持,就一定會解決問題。
下面做些配置過程的技術總結:
- 客戶端安裝Step7 V5.5和Simatic Net 2007
- 打開Simatic Net 2007軟件,將權限設為"Allow"
- 在服務器端和客戶端配置DCOM,詳細配置資料網上有很多
- 在客戶端安裝OPC Core Components Redistributable (x86) 101.2核心組件
- 如果不安裝4,也可在服務器端System32下面搜索opc開頭的所有文件在客戶端將這些文件注冊,主要是提供相關類庫支持
- 將服務器端regedit下面的HKEY_CLASSES_ROOT文件夾下的OPC.SimaticNET右鍵導出
- 將導出的文件在客戶端PC上雙擊執行注冊,注冊成功后,會在客戶端注冊表內生成相同名稱的OPC.SimaticNET服務器名稱
- 利用客戶端Test工具進行連接驗證,至此連接成功!