轉帖|其它|編輯:莫成敏|2019-08-07 10:23:27.790|閱讀 3996 次
概述:但是,相信很多人都被OPC Client與OPC Server之間的通訊弄得頭疼不已吧。本篇文章總結了OPC Client和OPC Server在Windows上運行方式的恩怨,以及通訊故障的原因。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
OPC Server是一套利用微軟的COM/DCOM技術實現工業自動化資料獲取的架構。OPC Server提供OPC接口,它將與之相連的物理設備(PLC)的信息值通過接口返回到客戶端應用程序。也就是說,客戶端通過這些接口,可以獲得與OPC Server連接的物理設備的信息。
OPC Client通過端接OPC Server 提供的接口,可以取得與 OPC Server 相連的硬件裝置的信息,而無須了解這些硬件裝置的細節信息。
但是,相信很多人都被OPC Client與OPC Server之間的通訊弄得頭疼不已吧,通過幾次遠程協助后,總結了OPC Client和OPC Server在Windows上運行方式的恩怨,希望對大家有所幫助。
目前市場上的OPC Client和OPC Server軟件在Windows上的運行方式主要有兩種:Windows 桌面程序和Windows NT服務。由于OPC CLient和OPC Server不是同一個廠家的軟件,又由于軟件的多樣性,導致使用時出現這些現象:
1、OPC CLient連接目標OPC Server時無法連接,但在OPC Server計算機上明明看見OPC Server進程已經啟動。
2、OPC CLient連接目標OPC Server時,雖然能連接,也能看見測點,但無法獲取到數據。
多次現場測驗后發現,這些問題是OPC Client和OPC Server軟件在Windows上的運行方式不同導致的。也就是說,OPC CLient運行Windows NT服務方式,而OPC Server運行桌面程序方式。但是當OPC CLient是Windows 桌面程序方式,OPC Server是Windows NT服務時,基本不會出現上述現象。這是為什么呢?
原因是這樣的:
OPC Client和OPC Server都是基于DCOM的應用,其特點是OPC Server無需先運行或啟動,等待OPC CLient請求時,操作系統會直接將OPC Server拽起來。這種可以隨用隨啟的機制,非常實用。
但這種機制處理不好,會導致一些問題。當OPC CLient是Windows NT服務時,OPC Server被拽起來后,是運行在System這個系統賬戶下面的。相對于Windows的桌面用戶來說,是另外一個隔離開的空間。因此當桌面運行類型的OPC Server被Windows NT服務方式的OPC CLient拽起來后,被運行在System這個系統賬戶的空間。而如果這個OPC Server程序又做了全局唯一進程運行的限制或與數據庫只允許一個TCP連接時,上述的兩種現象基本就會出現。這就是大家經常會遇到的OPC通訊故障現象。
如果讓自己開發的OPC程序兼容性更好呢?
1、當開發OPC CLient程序時,最好使用Windows桌面程序方式,這種方式可兼容OPC Server程序運行在Windows桌面程序方式和Windows NT服務方式。
2、當開發OPC Server程序時,最好使用Windows NT服務方式,這種方式可兼容OPC Client程序運行在Windows桌面程序方式和Windows NT服務方式。
如果很不幸遇到了Windows NT服務的OPC Client去采集Windows 桌面程序的OPC Server(加上OPC Server本身的全局唯一限制),那么你可以去Windows NT服務的管理器中將Windows NT服務的OPC Client更改為指定的系統用戶運行,大多數情況下可以解決問題。
希望這篇文章能幫您解決問題~喜歡OPC Server的朋友不妨下載免費版來體驗一下~
想要購買OPC Server正版授權,或了解更多產品信息請點擊
掃描關注慧聚IT微信公眾號,及時獲取最新動態及最新資訊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: