.NET程序連接OPC Server時出錯 對 COM 組件的調用返回了錯誤 HRESULT E_FAIL

最近在給鹿華系統做升級,爲了實時性和穩定性,程序直接從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真強大


低級錯誤最致命,一定要多注意

發佈了33 篇原創文章 · 獲贊 38 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章