當(dāng)前位置: 首頁 > 工業(yè)電氣產(chǎn)品 > 端子與連接器 > 線路板連接器
發(fā)布日期:2022-04-17 點(diǎn)擊率:59 品牌:DOW
近段時間,遇到不少人都被OPCClient與OPCServer之間的通訊搞得頭大,通過幾次遠(yuǎn)程協(xié)助后,總結(jié)了OPCClient和OPCServer在Windows上運(yùn)行方式的恩怨,希望對各位有用。
目前市場上的OPCClient和OPCServer軟件在Windows上的運(yùn)行方式有Windows桌面程序和WindowsNT服務(wù)。本來也沒啥。但由于OPCCLient是一個廠家的軟件,而OPCServer是另外一個廠家的軟件,由于軟件的多樣性,也就導(dǎo)致了如下一些現(xiàn)象:
1.OPCCLient連接目標(biāo)OPCServer,發(fā)現(xiàn)無法連接,但在OPCServer計算機(jī)上明明看見OPCServer進(jìn)程已經(jīng)啟動。
2.OPCCLient連接目標(biāo)OPCServer,能連接,也能看見測點(diǎn),但無法獲取到數(shù)據(jù)。
經(jīng)過多次現(xiàn)場的積累后,發(fā)現(xiàn)此類問題多出現(xiàn)在OPCClient和OPCServer軟件在Windows上的運(yùn)行方式不同導(dǎo)致的。也就是說,OPCClient和OPCServer軟件的運(yùn)行方式不一樣。譬如,OPCCLient是WindowsNT服務(wù)方式,而OPCServer是桌面程序方式(多是組態(tài)軟件的OPCServer都是桌面程序方式吧!!)。而當(dāng)OPCCLient是Windows桌面程序方式,OPCServer時WindowsNT服務(wù)時,發(fā)現(xiàn)上面的現(xiàn)象基本不出現(xiàn)。這是為什么呢?
原因如下:
OPCClient和OPCServer都是基于DCOM的應(yīng)用,DCOM的特點(diǎn)是OPCServer無需先運(yùn)行或啟動,等待OPCCLient請求時,由操作系統(tǒng)在將OPCServer拽起來。這種機(jī)制的好處就是隨用隨啟。但這種機(jī)制如果處理不好吧,就會導(dǎo)致一些問題。當(dāng)OPCCLient是WindowsNT服務(wù)時,OPCServer被拽起來后,是運(yùn)行在System這個系統(tǒng)賬戶下面的。相對于Windows的桌面用戶來說,是另外一個隔離開的空間。因此當(dāng)桌面運(yùn)行類型的OPCServer被WindowsNT服務(wù)方式的OPCCLient拽起來后,被運(yùn)行在System這個系統(tǒng)賬戶的空間。而如果這個OPCServer程序又做了全局唯一進(jìn)程運(yùn)行的限制或與數(shù)據(jù)庫只允許一個TCP連接時,上述的兩種現(xiàn)象基本就會出現(xiàn)。這就是這段時間好幾個朋友遇到的OPC通訊故障現(xiàn)象。
如果讓自己開發(fā)的OPC程序兼容性更好呢?
1.當(dāng)開發(fā)OPCCLient程序時,最好使用Windows桌面程序方式,這種方式可兼容OPCServer程序運(yùn)行在Windows桌面程序方式和WindowsNT服務(wù)方式。
2.當(dāng)開發(fā)OPCServer程序時,最好使用WindowsNT服務(wù)方式,這種方式可兼容OPCClient程序運(yùn)行在Windows桌面程序方式和WindowsNT服務(wù)方式。
如果很不幸遇到了WindowsNT服務(wù)的OPCClient去采集Windows桌面程序的OPCServer(加上OPCServer本身的全局唯一限制),那么你可以去WindowsNT服務(wù)的管理器中將WindowsNT服務(wù)的OPCClient更改為指定的系統(tǒng)用戶運(yùn)行,大多數(shù)情況下可以解決問題。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV