OPC通訊配置詳解參考模板_第1頁
OPC通訊配置詳解參考模板_第2頁
OPC通訊配置詳解參考模板_第3頁
OPC通訊配置詳解參考模板_第4頁
OPC通訊配置詳解參考模板_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、OPC通訊協議解析1 / 101 通訊步驟1.1 第一問OPC Client和OPC Server之間通訊誰是主動的?答:當然是OPC Client。1.2 第二問OPC Client第一次動作做了什么?答:從大多數OPC Client行為來看,一是自動遍歷本機已注冊的OPC Server列表名稱,二是等待用戶定義預訪問的OPC Server的信息。1.3 第三問OPC Client第二次動作做了什么?答:OPC Client的第一步動作會產生分支,訪問本地OPC Server的這個分支就不再說了。要分析的是網絡方式訪問OPC Server這個分支。第二個動作是根據用戶指定的IP地址或計算機名

2、去查詢遠程計算機上已注冊的OPC Server列表名稱。從這步開始就比較復雜了。1.4 第四問OPC Client是用什么協議去和遠程計算機交流的?答:用的是TCP/IP這個協議。OPC Client用TCP/IP 135端口去打開遠程計算機的那一扇門。簡單解釋下:在Windows操作系統中,135端口主要用于使用PRC協議并提供DCOM(分布式組件對象模型)服務,通過RPC可以保證在一臺計算機上運行的程序可以順利地執行遠程計算機上的代碼。使用DCOM可以通過網絡直接進行通信,能夠跨包括HTTP協議在內的多種網絡傳輸。多年來,135端口一直被人利用。1.5 第五問OPC Client去訪問遠程

3、計算機的TCP135這扇門時,第一道關卡是誰?答:網絡安全防火墻是第一關卡,網絡安全放火墻中,如果不允許遠程計算機的TCP 135端口,那么連接就被掐斷了。后續的通訊就無法進行。要想能向下進行,網絡安全防火墻必須允許對TCP 135這扇門的訪問。這里需要在防火墻中將135端口例外操作。1.6 第六問各系統的安全策略有什么不同?答:(一)Windows 2000的安全策略:支持來訪者以自己的身份進行驗證,且不拒絕來賓用戶從網絡中訪問,來賓用戶默認啟用。(二)Windows XP和Windows 2003的安全策略:支持來訪者以自己的身份進行驗證或將所有來訪者都看成是來賓訪問,默認將所有來訪者都看

4、成來賓訪問。且默認拒絕Guest用戶從網絡訪問本機。來賓用戶默認禁用。(三)Windows 7的安全策略:支持來訪者以自己的身份進行驗證或將所有來訪者都看成是來賓訪問(經典-對本地用戶進行身份驗證,不改變其本來身份),默認支持來訪者以自己的身份進行驗證。且默認拒絕Guest用戶從網絡訪問本機(拒絕從網絡訪問這臺計算機)。來賓用戶默認禁用。(四)Windows 2008的安全策略:支持來訪者以自己的身份進行驗證或將所有來訪者都看成是來賓訪問,默認支持來訪者以自己的身份進行驗證。來賓用戶默認禁用。配置OPC Client和OPC Server之間的網絡通訊,先得看看對應的操作系統。選好安全審核機制

5、再說。舉例說明:例1:OPC Client和OPC Server都在Windows 2000操作系統上來舉個例子:由于操行系統都是Windows 2000,那么安全策略都是來訪者以自己的身份進行驗證(自己指OPC Server)。這里的以來訪者以自己的身份進行驗證是什么意思?就是指OPC Client去敲OPC Server的135這扇門時,會告知OPC Client的登錄用戶名是誰,我的登錄密碼是多少。OPC Server所在的操作系統通過來訪者告知的用戶名和密碼去自己的用戶列表中去查找是否也存在這個用

6、戶,密碼是否正確。如果用戶名和密碼正確,則進入下一步工作。例2: OPC Client和OPC Server都在Windows XP操作系統上來舉個例子:由于操行系統都是Windows XP,那么默認的安全策略都是將所有來訪者都看成是來賓訪問。(對本地用戶進行身份驗證,其身份為來賓。)且默認拒絕Guest用戶從網絡訪問本機。這里的將所有來訪者都看成是來賓訪問是什么意思?就是指OPC Client去敲OPC Server的135這扇門時,會告知,我的登錄用戶名是誰,我的登錄密碼是多少。OPC Server所在的操作系

7、統卻不管你是誰,所有來訪者一視同仁,都是來賓,而且按照規定,來賓都拒絕掉。這下可好,后面二者之間的通訊也不用繼續了。上面的(一)這種情況工作還能繼續往下做,(二)這種情況就完全不行了,啥都不管了。因此(二)這種情況是需要修改安全策略的,一種是將安全策略修改為來訪者以自己的身份進行驗證;另外一種是將“拒絕從網絡中訪問此計算機”規則中的來賓用戶給去掉,從用戶管理中將來賓用戶啟用,且密碼為空。(僅來賓-對本地用戶進行身份驗證,其身份為來賓)1.7 第七問網絡防火墻允許進入,操作系統的安全審核也通過了,終于可以訪問OPC Server了吧?答:還得問一問DCOM的安全配置同不同意。運行“組件服務”檢查

8、一下。DCOM的“訪問權限”默認只有Sell和System,需要添加指定用戶或者允許所有人,需要注意的是,“本地訪問”與“遠程訪問”都需要選擇“允許”。DCOM的“啟動和激活權限”默認只有“Administrator”和“System”,需要添加指定用戶或者允許所有人,需要注意的是,“本地訪問”與“遠程訪問”,“本地激活”和“遠程激活”都需要選擇“允許”。 1.8 總結1.8.1 小結1經過上面的一些處理過程,我們在這里可以總結一下都做了些什么?(一)配置防火墻,允許訪問OPC Server所在計算機的TCP 135端口。(二)配置操作系統的安全策略,使得可以接受遠程計算機

9、的rpc請求,可配置為按照來訪者身份驗證模式或來賓模式。(直接選擇以本地身份驗證)(三)配置操作系統的用戶管理。來訪者身份驗證模式需在OPC Server所在計算機中添加來訪者的用戶名和密碼;來賓模式需要啟用Guest用戶。(四)配置計算機全局的DCOM安全配置,使之允許遠程訪問,已經遠程啟動和激活。 以上4步基本已將OPC Server這端的訪問權限配置得差不多。但在實際操作過程中,還需要檢查如下一些內容:(一)OPC庫文件是否安裝注冊?OPC庫文件沒有正確的安裝注冊,OPC Server是無法工作的。而現在的不少OPC Server安裝時并

10、不會自動安裝OPC庫文件。(二)OPC server是否注冊?OPC Server未注冊,是無法訪問的,OPC Server必須正確注冊。而現在的不少OPC Server安裝后也不會自動注冊,需要手動在程序界面上提供的功能按鈕進行注冊。(三)OPC server的主程序是否存在?有的時候OPC Server注冊了,但主程序可能被誤刪除或改名了,這個操作系統可不會告訴你。只能自己檢查一下或重新注冊一遍。(四)OPC Server的主程序與其他程序是否有依賴關系?因為OPC Server只是軟件對外提供數據的一種標準接口,它本身也是通過從其他的軟件

11、獲取數據,常見的如組態軟件,實時數據庫等,而現在的一些OPC Server啟動時會檢查依賴的程序是否啟動,如未啟動,要么退出,要么啥都提供不了,也不會告訴OPC Client出了啥問題。(五)OPC Server在DCOM環境中自己的配置信息,OPC Server在DCOM的環境中的配置信息如下圖。如OPC Server是NT服務方式啟動,那么“標識”這一欄就為系統帳戶,不推薦使用“下列用戶”。如OPC Server是COM方式注冊,那么“標識”這一欄默認為“交互式用戶”或“啟動用戶”(各家OPC Server注冊時處理方法

12、不太一樣),最好都使用?!敖换ナ接脩簟?,不推薦使用“啟動用戶”和“下列用戶”。具體原因后期再說。(OPC Server是NT服務方式啟動,標識這欄為“系統賬戶(僅用于服務)”)(OPC Server是COM方式注冊,標識這欄為“交互式用戶”)1.8.2 小結2到了這一步,可能絕大部分人都會覺得這完成沒有問題了。OPC Server都連接上了,增加個OPC組還不是輕而易舉的事情嗎?而實際上,OPC的組是一個大有深意的設計。OPC的組是用來給OPC Client靈活定義數據采集方式的一個方法,如希望對OPC Server中測點,一些測點的采樣頻率是1秒,一些測點的采樣

13、頻率是5秒,一些測點數據變化即采集,一些測點數據變化超過量程多少才采集等等。而且還定義了數據采集的兩種模式,Synchronous I/O(同步)和Asynchronous I/O(異步)。對同步和異步進行一個簡單的說明: 同步模式:OPC Client向OPC Server要5000個測點的數據,必須等到OPC Server將5000個測點的數據都返回后才做后面的事情。異步模式:OPC Client向OPC Server要5000個測點的數據,OPC Client告訴OPCServer:“我為你留了一個

14、通道,我要的這5000個點,只要任何點有變化,你就立馬按照預定的周期告訴我”,于是OPC Server就按照預定的周期將數據發生變化的測點通過OPC Client預留的通道告知OPC Client。異步模式中,就會發生OPC Server反向連接OPC Client的情況,那么就會再次發生前面9個問題的所有事情。這也是很多時候OPC Server配置完成了,但OPC的通訊還是不正常的緣故。因為現在的絕大多數OPC Client默認都是采用異步方式與OPC Server進行通訊,這就要求OPC Client

15、所在計算機的網絡防火墻、操作系統的安全策略,DCOM的全局安全配置也需要配置正確。某OPC Client客戶端添加OPC組時的屬性配置。此處給各位留下一個問題:既然異步方式增加了對OPC Client端的配置要求,那為何大家默認不使用同步模式呢? 1.8.3 小結3到了這一步,還問這樣的問題,估計有人會很憤怒了,“這種弱爆了的問題還要問嗎?”,其實不然,在很多實際的案例中,就遇到了OPC的通訊配置問題解決了。但卻看不到測點,一般會有如下幾種原因:(一)OPC Server真的沒有測點。(二)仔細閱讀第10問中的檢測要點的第4條。OPC Serv

16、er中的測點來自于組態軟件或實時數據庫,當組態軟件和實時數據庫未啟動或OPC Server啟動在組態軟件和實時數據庫之前時,OPC Server中很可能就沒有測點。如何解決?重啟一下就好了嘛。2 OPC Client/OPC Server2.1 問題現象目前市場上的OPC Client與OPC Server軟件在Windows上的運行方式有Windows桌面程序和Windows NT服務。本來也沒啥。但由于OPC Client 是一個廠家的軟件,而OPC Server是另一家的軟件,正因為軟件的多樣性,也就導致了如下一些現像:1:OPC Client 連接目標OPC Ser

17、ver,發現無法連接,但在OPC Serve計算機上明明看見OPC Serve進程已經啟動。2:OPC Client連接目標OPC Server,能連接,也能看見測試點,但無法獲取到數據。經過多次現場的積累后,發現此類問題多出現在OPC Client和OPC Server軟件在Windows上運行方式不同導致的。也就是說,OPC Client和OPC Server軟件的運行方式不一樣。譬如:OPC Client是Windows桌面程序方式,OPC Server是Windows NT服務時,發現上面的現象基本不出現。這是為什么呢?2.2 問題解決原因如下:OPC Client和OPC Serve

18、r都是基于DCOM的應用,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:當開發O

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論