濟南達索機電科技有限公司
地 址:濟南市天橋區無(wú)影山中路153號香港國際
電 話(huà):0531-85554311
傳 真:0531-85554537
QQ:1149156245
微 信:18663708113
WhatsApp:18663708113
Email:jndassaw@163.com
免責聲明:達索機電非本網(wǎng)站所推薦制造商的授權經(jīng)銷(xiāo)商,本網(wǎng)站上推薦制造商品牌名稱(chēng)及商標歸其權屬人所有。
OPC技術(shù)提供了一種互聯(lián)、可靠、安全的通信平臺。然而,OPC技術(shù)依賴(lài)于DCOM架構,包括Windows安全和防火墻設置、訪(fǎng)問(wèn)控制列表、Server認證等。本文給出了OPC DCOM配置過(guò)程中最常發(fā)生的5個(gè)問(wèn)題、導致原因及解決方法。
1 不能瀏覽遠程計算機的OPC Server
瀏覽是指OPC Client應用程序能夠察看到安裝在遠程計算機上的OPC Server。OPC Client執行一次瀏覽操作實(shí)際是連接到駐留在遠程計算機上的OPCEnum映像,并檢索出可訪(fǎng)問(wèn)OPC Server列表。這包括了每個(gè)OPC Server的ProgID(用戶(hù)接口名字)和GUID(Global unique identifier,全局唯一標識符),如圖1所示。OPC Client并不真正直接連接到OPC Server。
因此,瀏覽出的列表與OPC Server的狀態(tài)無(wú)關(guān),或者說(shuō)與OPC Server的可操作與否無(wú)關(guān),瀏覽OPC Server失敗的直接原因是不能獲得與遠程計算機上的OPCEnum通信所需的參數,造成這個(gè)問(wèn)題可能有如下原因。
1.1 OPCEnum沒(méi)有安裝
OPC基金會(huì )負責創(chuàng )建和維護OPCEnum。OPC基金會(huì )的成員能夠從OPC基金會(huì )直接免費獲得OPCEnum。
1.2 OPCEnum被禁止
即使OPCEnum被安裝在遠程的計算機上,它也必須能夠被執行,否則通信將會(huì )失敗。
1.3 匿名訪(fǎng)問(wèn)權限沒(méi)有被設置
OPCEnum需要匿名訪(fǎng)問(wèn)權限才能正常的工作。因此需要在Windows COM缺省安全中添加匿名訪(fǎng)問(wèn)權限。
2 不能連接遠程計算機的OPC Server
能夠瀏覽遠程計算機的OPC Server和連接遠程計算機的OPC Server是無(wú)關(guān)的。即使遠程計算機沒(méi)有安裝OPCEnum,也可以連接遠程計算機的OPC Server。在這種情況下,只要知道遠程計算機上要連接的OPC Server的GUID。導致不能連接遠程計算機的OPC Server可能有如下原因。
2.1 OPC Server被禁止
如果OPC Server被設置以Windows服務(wù)的方式運行是不能夠禁止的,故需要檢查一下OPC Server是否被禁止。
2.2 用戶(hù)身份認證的問(wèn)題
認證是驗證用戶(hù)身份的流程。Windows系統會(huì )比較用戶(hù)名和密碼,如果是操作系統不能識別的用戶(hù),就會(huì )拒絕訪(fǎng)問(wèn)從而不能與OPC Server建立連接。下面兩種情況可能導致用戶(hù)身份認證失?。?/p>
l 用戶(hù)的賬戶(hù)在遠程的計算機上并不存在;
l 關(guān)閉Simple File Sharing(簡(jiǎn)單文件共享)會(huì )去掉遠程訪(fǎng)問(wèn)計算機的用戶(hù)名和密碼,導致用戶(hù)不能被正確的認證。
2.3 訪(fǎng)問(wèn)控制列表問(wèn)題
當認證了一個(gè)來(lái)訪(fǎng)問(wèn)的用戶(hù)賬戶(hù)后,系統將檢查用戶(hù)賬戶(hù)是否有啟動(dòng)或者訪(fǎng)問(wèn)OPC Server的權限,這是利用ACL(訪(fǎng)問(wèn)控制列表)來(lái)完成的。每個(gè)應用程序的ACL包括了用戶(hù)賬戶(hù)的信息,操作權限等。因此,可能由于賬戶(hù)在A(yíng)CL中沒(méi)有相應的操作權限而被操作系統拒絕訪(fǎng)問(wèn)。
3 所有的Item顯示為Bad
當與一個(gè)OPC Server建立連接時(shí),必須能夠識別遠程計算機的賬戶(hù)并且給予它適當的訪(fǎng)問(wèn)權限。這就需要與OPC Server建立同步的通信連接,而且能夠輪詢(xún)到OPC Server的數據。如果所有的OPC Server項的數據屬性指示為bad quality,可能是由于下面兩個(gè)原因引起的。
3.1 在OPC Server里的數據實(shí)際就是bad
即OPC Server沒(méi)有正確的獲得數據,這時(shí)需要檢查一下OPC Server和數據源之間的通信。
3.2 回調失敗
由于OPC Client采用訂閱的方式來(lái)更新,故可能由于回調失敗導致所有的Item顯示為Bad。
4 OPC Server所在計算機的CPU利用率高
4.1 OPC Client使用同步讀時(shí)的問(wèn)題
在這種情況下,OPC Client沒(méi)有使用優(yōu)化的讀取方式,使得OPC Server花費更多的計算機CPU周期處理OPC通信,可以考慮采用異步或訂閱的方式改進(jìn)。
4.2 OPC Client使用異步讀時(shí)的問(wèn)題
在這種情況下,可能是由于OPC Server本身沒(méi)有優(yōu)化使得對OPC通信的響應慢。
4.3 OPC Client使用讀設備的問(wèn)題:
在這種情況下,OPC Client不斷地通過(guò)OPC Server與設備進(jìn)行直接的數據交換,這會(huì )明顯的減慢OPC Server。如果是這種情況,可把所有的讀設備改成讀Cache。
5.OPC Client不接收更新的數據
由于安全配置的問(wèn)題會(huì )導致OPC Client不能接收更新的數據。OPC支持基于時(shí)間“subscription(訂閱)”機制,當數據發(fā)生了變化時(shí),OPC Server會(huì )通過(guò)異步回調把訂閱的數據更新,同時(shí)發(fā)送更新的數據到OPC Client。在此過(guò)程中OPC Client不知道OPC Server將會(huì )在什么時(shí)候發(fā)送數據,如果不能正確配置安全屬性,數據的更新就會(huì )失敗。在OPC Client應用程序指示為“Bad.”若發(fā)現從OPC Server中取得的數據不更新,可以嘗試用同步的方式從OPC Server讀數據。若此時(shí)數據讀到了,那么可以確定是異步回調失敗導致,這可能是由下面的原因造成:
5.1防火墻
如果OPC Client在計算機防火墻之外,則從OPC Server發(fā)出的回調請求可能被防火墻阻塞,到達OPC Client可能失敗,此時(shí)應關(guān)閉防火墻。
5.2身份認證失敗
當回調到達OPC Client所在的計算機后,操作系統會(huì )試圖認證這個(gè)用戶(hù)的賬號和密碼,與存在的列表進(jìn)行比較,如果組合與列表不一樣Windows會(huì )拒絕訪(fǎng)問(wèn),原因如下:
5.2.1用戶(hù)名和密碼的組合
在回調的情況,可能出現OPC Client和OPC Server所在的兩臺計算機上的用戶(hù)和密碼不匹配導致身份認證失敗,必須保證在兩臺計算機的用戶(hù)名和密碼組合一致。
5.2.2 Guest
在Windows XP或者后期的版本,當使用工作組,缺省的情況下會(huì )把遠程的用戶(hù)賬號強制為本地的Guest用戶(hù)。這是由Simple File Sharing完成的,這種缺省的設置使得的認證不能正常工作。因此,需要關(guān)閉這個(gè)項。
5.2.3 OPC Server身份識別的問(wèn)題
回調要對OPC Server作身份認證,這個(gè)身份認證由OPC Server的身份認證的設置管理。
OPC Server以交互的用戶(hù)認證,這個(gè)賬戶(hù)是當前登陸此計算機且駐留在OPC Server的計算機上,也就是必須有賬戶(hù)登陸,否則不能啟動(dòng)OPC Server,當此用戶(hù)注銷(xiāo)時(shí),OPC Server就會(huì )關(guān)閉,即使是計算機的重新啟動(dòng),也會(huì )造成OPC Server的短暫的關(guān)閉。
OPC Server以訪(fǎng)問(wèn)的用戶(hù)認證,操作系統會(huì )為每個(gè)訪(fǎng)問(wèn)的用戶(hù)創(chuàng )建一個(gè)實(shí)例,這樣會(huì )有三個(gè)問(wèn)題出現,若OPC Server只允許一個(gè)用戶(hù)訪(fǎng)問(wèn)時(shí),當系統中已經(jīng)有了一個(gè)實(shí)例,再有其它用戶(hù)就無(wú)法訪(fǎng)問(wèn)。若是OPC Server允許多個(gè)用戶(hù)訪(fǎng)問(wèn)時(shí),那么帶來(lái)的問(wèn)題是隨著(zhù)不同用戶(hù)的訪(fǎng)問(wèn),就會(huì )打開(kāi)多個(gè)實(shí)例,這樣就會(huì )占用更多的計算機的資源。另外的一個(gè)問(wèn)題是硬件的搶占,如串口,當一個(gè)使用了,其它的用戶(hù)就無(wú)法再使用。
OPC Server以指定的用戶(hù)賬戶(hù)認證,這種情況需要在OPC Server的計算機上存在著(zhù)要指定的賬戶(hù),而且對于OPC Client必須知道此用戶(hù)。否則無(wú)法訪(fǎng)問(wèn)。
OPC Server以操作系統賬戶(hù)認證,對于工作組還是域,系統賬戶(hù)都能被識別,也不需要有用戶(hù)登陸。但OPC server必須以服務(wù)的方式啟動(dòng)。
5.3訪(fǎng)問(wèn)控制列表的問(wèn)題
當Windows認證用戶(hù)賬號初始化了回調,接下來(lái)就會(huì )檢查OPC Client的賬戶(hù)的訪(fǎng)問(wèn)控制列表里的訪(fǎng)問(wèn)權限,必須確保OPC Client的賬戶(hù)可以被訪(fǎng)問(wèn)。
濟南達索機電科技有限公司
地 址:濟南市天橋區無(wú)影山中路153號香港國際
電 話(huà):0531-85554311
傳 真:0531-85554537
QQ:1149156245
微 信:18663708113
WhatsApp:18663708113
Email:jndassaw@163.com
免責聲明:達索機電非本網(wǎng)站所推薦制造商的授權經(jīng)銷(xiāo)商,本網(wǎng)站上推薦制造商品牌名稱(chēng)及商標歸其權屬人所有。
濟南達索機電科技有限公司 魯ICP備14030587號-1免責聲明:達索機電非本網(wǎng)站所推薦制造商的授權經(jīng)銷(xiāo)商,本網(wǎng)站上推薦制造商品牌名稱(chēng)及商標歸其權屬人所有。