OPC server的開發相對OPC client 更加困難,OPC server 的開發主要應用COM技術,主要應用書籍為潘愛民寫的《COM入門和應用》,大量的技術有很大的可重用性,在開發完一個程序后,基本上所有的東東都可以被重用,並且重新發布。
開發方式有三種:
1。簡單的:就是應用已經有的如DDE to OPC 或串口 to OPC,modbus to OPC等軟件把您的設備變成相關的OPC服務器。方法簡單實用,費用合理快速,讓你馬上搭上OPC的快車。主要缺陷:你的設備必需是標准設備或更標准設備相容。這種方式比較適合產品多的廠家快速的轉型,或提供OPC相關產品。
2.。一般的:應用第三方的開發包開發,這種方式相對來說減少了開發的難度,而且第三方有相應的技術支持,開發商專業做這種產品,產品有一定的穩定性。這種方式對開發包有依賴性,並且OPC服務器的穩定性依賴第三方的開發水平。本方法適於老板要求你馬上開發出OPC產品是^_^,或者入門者使用。國內相關的開發包有華富慧通的和拓林的開發包。
國外的可參考:http://www.opcconnect.com/source.php上面的還可以,不過現在發現也有死鏈接,不過他的提示確實不錯。
3。有難度的:應用COM開發。這種開發方式是最可以學習到東西的。但需要有一定的基礎,而且需要對英文有一定的認識度。主要涉及的知識有一下幾點。
-
有一定的C/C++編程經驗----代碼是一定要寫的
-
能應用VC開發環境------沒有屠龍刀怎么能行了
-
掌握一定的COM知識-----進階的東東
-
閱讀相關OPC開發文檔-----葵花寶典
-
開發-------------自己殺的豬肉才好吃
-
Hash表相關內容,主要用於大量節點時查詢-----殺人於無形
基本就按照這個學習思路,對於前兩項有太多的介紹了,在此不說了。
COM技術學習可參考VChelp http://www.vckbase.com/的COM內容,其他網站都是隨便說說而已 。書籍可以看潘愛民的《COM原理和應用》,《COM本質論》等書籍。
OPC文檔可以看Data Access Custom Interface 和 OPC Common Definitions and Interfaces。
源碼可以參考lightopc 和 GE的源碼,如果沒有后面那個可以給我發email,好像網上不提供下載
了。
opc server源碼下載 http://download.gongkong.com/file/2004/9/21/opccode.zip
GE的程序寫得很好,結構清晰,但就是太老了,好在我們尊老愛幼。
lightOPC的程序相對太多了,感覺結構不是太好,有點亂,也可能是我沒有深入把。
hash的東東我還沒接觸,不過數據結構都學過,快速定位。現在的內存這么大,實現大一點hash
表,就可以了,當然一個不錯的hash函數是不可少的。這是開發過程中要考慮的。
至於開發是不是一定要用MFC和ATL就看你自己了,不用也可以,用也可以。感覺差別不是太大,如果不會就不用在學了,因為這兩項並非那么容易掌握的。但COM必需要了解的。
對於這三種方法沒有優劣之分,只有看你的需求如何。你付出的時間越多,相應的付出的Money越少,越靈活,學到的內容越多,這就是社會規律。在工控領域就是選擇最適合的。
我現在在讀源碼開始開發自己的OPC Server,希望能更同仁討論。