本文源自ioufev先生的博客《OPC和DCOM配置》(https://www.cnblogs.com/ioufev/p/9365919.html)及「geekc」先生的《OPC工作記錄整理——第二篇(OPC客戶端運行環境配置》(https://blog.csdn.net/u014801367/article/details/43058483),在此表示感謝!!
操作系統:win10專業版, 語言:java 環境:STS
采用的OPC服務器(仿真器):KepServerEx 6
由於采用java,所以必須配置(據說C#和VC不需要配置)
一、服務器端
1.OPC運行庫
KEPServer集成了OPC運行庫,所以不需要單獨安裝。如果單獨安裝,需要的文件包括9個文件:

安裝過程:
對於OpenEnum.exe需要用“OpenEnum.exe /service”命令,其它的采用regsvr32來注冊
2.創建用戶並賦予訪問權限 :計算機管理
創建用戶:
OPCUser(任意合法名字)
123456 (密碼)
添加到DCOM組, 方法:
2.1創建用戶




3.2添加到DCOM組







3.防火牆關於 DCOM 和 OPC 的規則 :高級安全 Windows Defender 防火牆
(1)開放 DCOM 訪問 :DCOM(wmi)啟用135端口(只有一個計算機不需要設置)
(2)創建 OPC 程序規則 :允許程序 OPCEnum
位置:"C:\Windows\SysWOW64\OpcEnum.exe"
(3)添加 OPC 服務器程序的規則:允許程序 KEPServer的server_runtime
位置:"C:\Program Files (x 86) \Kepware\KEPServerEX 6\server_runtime.exe"
3.1配置防火牆規則:開放 DCOM 訪問
打開防火牆

找到(DCOM-In)

右鍵屬性--已啟用

3.2創建 OPC 程序規則 :允許程序 OPCEnum
新建入站規則--程序--找到OpcEnum.exe






3.3添加 OPC 服務器程序的規則:允許程序 KEPServer的server_runtime
新建入站規則--程序--找到server_runtime.exe

4.組件服務:配置 COM 的安全設置
4.1 啟用DCOM
打開組件服務




4.2組件服務:OpcEnum的安全選項

詳細信息






4.3組件服務:KEPServer的安全選項





5.配置本地安全策略 :
本地安全策略 本地策略--網絡訪問--匿名 :啟用


二、客戶端配置(這個博客比較粗,我認為上面就已經完成了配置,但還是根據這個進行了設置,但沒有關閉防火牆)
1、首先是OPC客戶端的用戶名和密碼需要和OPC服務器端的用戶名和密碼相同,而且需要賦予管理員權限,筆者也不是特別清楚這么做的原因是什么,但是如果沒有這么配置的話,根本獲取不到OPC的服務器列表。索性這樣配置比不配置要好。
2、DCOM安全設置,在開始->運行中輸入dcomcnfg,彈出DCOM安全設置窗口。

在屬性->默認屬性中進行如下配置:
在屬性->默認協議中把DCOM協議改為面向連接的TCP/IP協議,如果沒有的話,在下面的“添加”里面進行添加:

在屬性->COM安全中,進行配置:
如上圖所示,分別有四項,訪問權限的編輯限制和編輯默認值,和啟動和激活權限的編輯,這里參見一。
在我的電腦->Distributed Transaction Coordinator->本地DTC的屬性中進行設置:
如此,則完成了第二步的配置。
3、本地安全策略設置
在我的電腦->控制面板->系統和安全->管理工具->本地安全策略中,打開本地策略->安全選項,在網絡訪問:本地帳戶的共享和安全模型,更改為經典-對本地用戶進行身份驗證,不改變其本來身份,這項基本上是默認設置,但是非常重要。

到此,OPC客戶端運行環境配置完畢。如果是OPC服務器的話,還需要在DCOM安全設置中針對具體的OPC服務器進行權限設置,因為網絡上資料很多,筆者在此不做詳細敘述。
