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 運行庫後,重新啟動計算機系統。
Windows7 With SP1 網絡 OPC 的 DCOM