OPC DA的DCom配置

目录

一、OPC DA的Dcom配置文档

1.1、OPCDA的DCOM配置PDF文档下载

1.2、DCOM在线参考配置(英文版)

二、配置OPC DA准备内容

2.1、说明

2.2、OPC运行库

三、配置OPC DA操作流程

3.1、创建用户并赋予访问权限

3.2、修改操作系统 Firewall(防火墙)关于 DCOM 和 OPC 的规则

3.3、配置 DCOM 安全

3.4、配置本地安全策略

四、客户端和服务器都配置好DCom后,都重新启动系统,且都切换为OPCUser用户登陆测试

4.1、当客户端和服务器都配置好DCom后,都需要重启系统

4.2、重启系统后,选择OPCUser的账号登陆系统

4.3、直接在OPCUser账号登陆的客户端使用OPC DA程序访问OPCUser账号登陆的服务器即可验证测试

五、注意事项


一、OPC DA的Dcom配置文档

1.1、OPCDA的DCOM配置PDF文档下载

1.2、DCOM在线参考配置(英文版)

二、配置OPC DA准备内容

2.1、说明

  由于 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 运行库安装包。也可使用随本文档一起分发的运行库。 需要注册的运行库的文件列表:

2.2、OPC运行库

①如果安装了KepServer,则不需要单独安装OPC运行库,因为KepServer已经集成了OPC运行库.【KepServer V6软件下载

②如果没有安装KepServer,则需要安装OPC运行库【OPC 常用的运行库下载推荐:安装好 OPC 运行库,将计算机操作系统重新启动,然后再继续后面的配置工作。

三、配置OPC DA操作流程

3.1、创建用户并赋予访问权限

  1. 创建新用户 创建一个新用户,并赋予此用户运行和使用操作系统 DCOM 程序的权限。为了 降低整个系统的安全风险,可以创建一个受限用户,而不是建立管理员级用户。为 操作系统创建新用户需要管理员权限。

注意:

①需要在 OPC 服务器所在 OS 系统与 OPC 客户端所在 OS 系统,创建的用户的用 户名和密码相同。

②由于 Windows 7 系列的 OS 系统 Guests 用户组的权限非常受限,所以新创建的 用户需要是 Users 用户组级别权限,或比 Users 用户组级别更高的权限。推荐使 用 Users 用户组。

2. 赋予用户访问 DCOM 的权限 要想使新创建的用户有使用 DCOM 的权限,需要将用户加入“Distribute COM Users”用户组。

3.2、修改操作系统 Firewall(防火墙)关于 DCOM 和 OPC 的规则

  由于 DCOM 使用操作系统的 135 端口,所以要想不同计算机上面的 OPC 服务器和 OPC 客户端通讯正常,要修改防火墙规则,允许 135 端口的连接。如果 OPC 服务器和 OPC 客户端安装在同一台计算机,不需要修改防火墙规则。下面用 Windows 7 的防火墙 配置过程为示例。

Windows 7 用户:要打开防火墙管理控制台,可以从“开始“->“控制面板”->“管理 工具”->“Windows 防火墙”->“高级设置”,或在“运行”输入“wf.msc”命令。

Windows Server 2008 R2 用户:要打开防火墙管理控制台,可以在“服务器管理工具”, 或在“运行”输入“wf.msc”命令。

1、 开放 DCOM 访问 在默认状态,Windows 防火墙是阻止另一台计算机连接的。如果要允许 OPC 客户端 与 OPC 服务器正常访问,需要放开这个访问规则。

Windows 7 用户:如果“COM+ Network access”或“DCOM”规则不在防火墙的预 定义规则列表中,可自己手动添加两个“PORT”(端口)规则:

①TCP 135

②UDP 135

2、 创建 OPC 程序规则 需要手动添加 OPC 服务器程序的规则。同样也需要添加 OPCEnum 系统服务程 序规则,因为远程的 OPC 客户端计算机就是通过它获得这台计算机上面的 OPC 服 务器名称列表的。 下面我们通过创建 OPCEnum 应用的规则,演示如何创建应用的防火墙规则。 可用同样步骤创建 OPC 服务器的防火墙规则。

3.3、配置 DCOM 安全

为通过网络正常访问 OPC 服务器,需要配置 DCOM 的访问和激活安全属性。 1. 启动“组件服务” 在菜单“开始\运行”,输入:dcomcnfg,点击“确定”按钮,进入“组件服务 管理器”。 如图:

请确认几个属性的设置内容或状态:

在此计算机上启用分布式 COM,此属性处于“选中”状态;

②默认分布式 COM 通信属性栏目下,“默认身份验证级别”,选择的项目是:“连 接”,“默认模拟级别”,选择的项目是:“标识”。

选择“我的电脑属性”属性页面的“默认协议”标签页,如下图:

OpcEnum交互式用户不可选解决办法

3.4、配置本地安全策略

 

四、客户端和服务器都配置好DCom后,都重新启动系统,且都切换为OPCUser用户登陆测试

4.1、当客户端和服务器都配置好DCom后,都需要重启系统

4.2、重启系统后,选择OPCUser的账号登陆系统

4.3、直接在OPCUser账号登陆的客户端使用OPC DA程序访问OPCUser账号登陆的服务器即可验证测试

C#实现OPC客户端通过OPCDA方式与KepServer通讯项目下载

五、注意事项

1. 防火墙运行状态下,可能 OPC 客户端会出现拒绝访问,可能是防火墙阻止程序访 问网络,可以试着修改防火墙设置。调试或测试时,可先将防火墙禁用,排除干扰;

2. 其它防火墙软件配置,可参考 Windows 系统防火墙配置。

3. RPC 服务器不可用 这个错误意味着没能建立与 RPC 服务之间的网络连接。 *如果错误发生在尝试读取远程计算机上边的 OPC 服务器列表时,请检查 OPC 服务器 计算机与 OPC 客户端计算机的防火墙配置,看 OPCEnum 应用是否已经加入例外规则 列表。 *DCOM 所使用的 135 端口,是否已加入防火墙规则。 *如果错误发生在连接 OPC 服务器时,请检查 OPC 服务器计算机的防火墙配置,看 OPC 服务器应用程序是否已加入防火墙的例外规则列表。

4. 拒绝访问 请检查 DCOM的安全配置,包括 OPC 服务器所在计算机与 OPC 客户端所在计算机。

5. “IOPCServerList InterfaceNot Found”错误 请在安装 OPC 运行库分发包或注册 OPC 运行库后,重新启动计算机系统。

 

 

根据提供的引用内容,您提供的代码片段似乎是C语言的代码。根据您的问题,您遇到了编译错误。要解决这个问题,您可以尝试以下几个步骤: 1. 检查代码中是否存在拼写错误或语法错误。编译错误通常是由于代码中的错误导致的。请确保您的代码中没有任何拼写错误,并且所有的语法都是正确的。 2. 检查是否缺少头文件。在C语言中,您需要包含所需的头文件来使用特定的函数和库。请确保您的代码中包含了所需的头文件,并且这些头文件的路径是正确的。 3. 检查是否缺少库文件。有时候,编译错误可能是由于缺少所需的库文件而引起的。请确保您的代码中包含了所需的库文件,并且这些库文件的路径是正确的。 4. 检查编译命令是否正确。编译C语言代码时,您需要使用正确的编译命令来编译代码。请确保您使用的编译命令是正确的,并且所有的参数都是正确的。 以下是一个示例的C语言代码,用于创建和读取共享内存: 创建共享内存: ```c #include <stdio.h> #include <stdlib.h> #include <sys/shm.h> int main(int argc, char* argv[]) { key_t key = ftok(argv[1], 1); if (-1 == key) { perror("ftok err"); return 1; } int shmid = shmget(key, atoi(argv[2]), IPC_CREAT | 0644); if (-1 == shmid) { perror("shmget err"); return 1; } printf("shmid:%d\n", shmid); return 0; } ``` 读取共享内存: ```c #include <stdio.h> #include <stdlib.h> #include <sys/shm.h> int main(int argc, char* argv[]) { int shmid = atoi(argv[1]); if (-1 == shmctl(shmid, IPC_RMID, NULL)) { perror("shmctl err"); return 1; } return 0; } ``` 请注意,这只是一个示例代码,您需要根据您的具体需求进行修改和适应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牛奶咖啡13

我们一起来让这个世界有趣一点…

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值