最近在給鹿華系統做升級,爲了實時性和穩定性,程序直接從DCS取數,程序是.NET開發的,調用OPC的DLL是OPCDAAuto.dll
系統裝的是Windows Server 2003 R2,配置好DCOM,初次嘗試成功連接OPCServer,程序10秒取數一次,在運行30小時後就再也連不上OPCServer了 錯誤如下
對 COM 組件的調用返回了錯誤 HRESULT E_FAIL
嘗試用OPC Client連接,報錯 有一個程序正在連接。。。。。。
剛開始懷疑是有人動過工控機,百度了很多都說是配置問題,然後又重新配置DCOM,又重裝系統,都不行 還是同樣錯誤
排除客戶端問題,懷疑是OPCServer,讓信息中心幫忙重啓OPCServer,重啓之後連上了
OPCServer沒人動過,也沒人敢動,問題肯定還是出在客戶端,然後我又重新檢查了一下源碼,Debug走了幾次,終於找到原因
代碼有一行註釋被放開了,每次取數都new了一個對象連接OPCServer
天吶,如果按20秒連接一次,就連接了五千多次,OPCServer居然沒掛,OPC真強大
低級錯誤最致命,一定要多注意