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