1. 程式人生 > >java連線OPC之——Windows7 With SP1 網路OPC的DCOM配置

java連線OPC之——Windows7 With SP1 網路OPC的DCOM配置

 

 

 

 

 

  由於 OPC(OLE for Process Control)建立在 Microsoft 的 COM(COmponent Model)基礎

上,並且 OPC 的遠端通訊依賴 Microsoft 的 DCOM(Distribute COM),安全方面則依賴 Microsof
的 Windows 安全設定。
通過網路相互通訊,OPC Server(OPC 服務端)和 OPC Client(OPC 客戶端)所在的操作
系統,需要設定 DCOM 的安全屬性,下面使用 Windows 7 系統介紹配置過程。
由於 OPC 通訊需要用到 OPC Foundation 提供的動態庫,所以在開始配置前,首先安裝
OPC Foundation 提供的執行分發包,安裝時需要根據作業系統型別,32 位的系統選擇 X86
執行庫安裝包;64 位系統選擇 X64 執行庫安裝包。也可使用隨本文件一起分發的執行庫。

OPC Server (伺服器)執行在 Windows 7  時的 DCOM  配置

 

一、 安裝 OPC 執行庫
OPC 伺服器(OPC Server)和 OPC 客戶端的正常執行需要依賴 OPC 執行庫,如果兩
個元件執行在不同的計算機,那執行計算機上都需要安裝執行庫。如果 OPC 程式執行
在 64 位平臺,請安裝對應版本的執行庫安裝包。

OPC Foundation 的網站(www.opcfoundation.org)提供執行庫分發包下載

 

安裝好 OPC 執行庫,將計算機作業系統重新啟動,然後再繼續後面的配置工作。

二、  建立使用者並賦予訪問許可權

1. 建立新使用者
建立一個新使用者,並賦予此使用者執行和使用作業系統 DCOM 程式的許可權。為了
降低整個系統的安全風險,可以建立一個受限使用者,而不是建立管理員級使用者。為
作業系統建立新使用者需要管理員許可權。
注意:
A、 需要在 OPC 伺服器所在 OS 系統與 OPC 客戶端所在 OS 系統,建立的使用者的用
戶名和密碼相同。
B、 由於 Windows 7 系列的 OS 系統 Guests 使用者組的許可權非常受限,所以新建立的
使用者需要是 Users 使用者組級別許可權,或比 Users 使用者組級別更高的許可權。推薦使
用 Users 使用者組。

 

 

 

 

 

 

 

 

 

三、 修改作業系統 Firewall(防火牆)關於 DCOM 和 OPC 的規則
由於 DCOM 使用作業系統的 135 埠,所以要想不同計算機上面的 OPC 伺服器和
OPC 客戶端通訊正常,要修改防火牆規則,允許 135 埠的連線。如果 OPC 伺服器和
OPC 客戶端安裝在同一臺計算機,不需要修改防火牆規則。下面用 Windows 7 的防火牆
配置過程為示例。

Windows 7 使用者:要開啟防火牆管理控制檯,可以從“開始“->“控制面板”->“管理
工具”->“Windows 防火牆”->“高階設定”,或在“執行”輸入“wf.msc”命令。

1、 開放 DCOM 訪問
在預設狀態,Windows 防火牆是阻止另一臺計算機連線的。如果要允許 OPC 客戶端
與 OPC 伺服器正常訪問,需要放開這個訪問規則。

 

 

 

 

2、 建立 OPC 程式規則
需要手動新增 OPC 伺服器程式的規則。同樣也需要新增 OPCEnum 系統服務程
序規則,因為遠端的 OPC 客戶端計算機就是通過它獲得這臺計算機上面的 OPC 服
務器名稱列表的。
下面我們通過建立 OPCEnum 應用的規則,演示如何建立應用的防火牆規則。
可用同樣步驟建立 OPC 伺服器的防火牆規則。

 

 

注意:    檢視路徑  %SystemRoot%\SysWOW64\ 

 

 

 如下則是實際路徑:

 

 

 

 

 

 同樣步驟,建立 OPC 伺服器應用程式的防火牆訪問規則

四、 配置 DCOM 安全
為通過網路正常訪問 OPC 伺服器,需要配置 DCOM 的訪問和啟用安全屬性。
1. 啟動“元件服務”
在選單“開始\執行”,輸入:dcomcnfg,點選“確定”按鈕,進入“元件服務
管理器”。

 

 

 

 

 

請確認幾個屬性的設定內容或狀態:
在此計算機上啟用分散式 COM,此屬性處於“選中”狀態;
預設分散式 COM 通訊屬性欄目下,“預設身份驗證級別”,選擇的專案是:“連
接”,“預設模擬級別”,選擇的專案是:“標識”。
選擇“我的電腦屬性”屬性頁面的“預設協議”標籤頁

 

 

 

 

這裡一定要新增OPC的使用者。

 

 

 

 

 

 

 

 

 

 

 

 

 

配置 OPCENUM 的安全設定
在“元件服務”左側樹形選單,選擇“元件服務\計算機\我的電腦\DCOM 配置”,
在列表中選擇 opcenum 專案,在滑鼠右鍵彈出的選單,選擇“屬性”專案

 

 

 注意:此處同樣需要新增連線OPC的使用者

五、 配置本地安全策略
1. 啟動“本地安全策略”管理器
在“開始\執行”輸入:secpol.msc,點選“確定”按鈕,啟動“本地安全策略”

2. 修改“網路訪問:將 Everyone 許可權應用於匿名訪問匿名使用者”設定

改“安全設定\本地策略\安全選項”下的“網路訪問:將 Everyone 許可權應用於
匿名訪問匿名使用者”設定,將規則啟用

六、 其它
1. 防火牆執行狀態下,可能 OPC 客戶端會出現拒絕訪問,可能是防火牆阻止程式訪
問網路,可以試著修改防火牆設定。除錯或測試時,可先將防火牆禁用,排除干擾;
2. 其它防火牆軟體配置,可參考 Windows 系統防火牆配置。
3. RPC 伺服器不可用
這個錯誤意味著沒能建立與 RPC 服務之間的網路連線。
*如果錯誤發生在嘗試讀取遠端計算機上邊的 OPC 伺服器列表時,請檢查 OPC 伺服器
計算機與 OPC 客戶端計算機的防火牆配置,看 OPCEnum 應用是否已經加入例外規則
列表。
*DCOM 所使用的 135 埠,是否已加入防火牆規則。
*如果錯誤發生在連線 OPC 伺服器時,請檢查 OPC 伺服器計算機的防火牆配置,看 OPC
伺服器應用程式是否已加入防火牆的例外規則列表。
4. 拒絕訪問
請檢查 DCOM 的安全配置,包括 OPC 伺服器所在計算機與 OPC 客戶端所在計算機。
5. “IOPCServerList Interface Not Found”錯誤
請在安裝 OPC 執行庫分發包或註冊 OPC 執行庫後,重新啟動計算機系統。