简介:《WinCC-OPC服务器配置详细方法》是一份面向西门子 WinCC 用户、自动化工程师及 PLC 系统集成人员的配置文档,解决 OPC 服务器与客户端在不同用户权限和账户环境下无法通信的问题。资源仅含 1 个 doc 文档,压缩包大小 29KB,内容以 Windows 2000/XP 下的 DCOM 配置为主线,逐一说明如何在组件服务中定位 OPCServer.WinCC、OPCHDAServers.WinCC 和 OPCServerAE.WinCC,并完成访问权限、启动权限的添加与保存。文档还特别提示了非管理员登录、跨账户访问等常见场景,适合需要自行搭建 OPC 通道、排查 DCOM 连接失败的工程师按步骤操作。目前已有 2617 人学习下载,作为工业现场通信调试的简明参考,具有实用价值。
1. WinCC OPC 服务器配置:一份 07 年的老文档,为什么现在还有人翻它
做上位机对接的工程师基本都撞过这堵墙:WinCC 这边要往 MES 或第三方系统送实时数据,OPC 几乎是绕不开的通道。而 OPC 走的是 DCOM,Windows 的账户和权限一变,连接就静悄悄黑掉。这份《WinCC-OPC服务器配置详细方法》是 2007 年流出来的三页文档,讲透了核心问题:客户机和服务器登录用户不是管理员,或者两端用了不同账户时,DCOM 权限该怎么改才能让 OPC 通。适合刚接手 WinCC 与外部系统数据交换、被 0x80070005 这类报错卡住的人。文档很老,但信息密度不低,我照着它把一台 Windows Server 2003 配通了,至今还在用。
2. 先分清 DCOM、OPC 条目和账户模型:配置前必须立住的三件事
2.1 OPC 数据交换为什么绕不开 DCOM
OPC 本质上是一组 COM 接口。WinCC OPC 服务器把实时数据库、历史数据库、报警事件数据包装成 COM 对象,OPC 客户端引用这些接口来读写数据。同一台机器内跨进程调用 COM 对象没问题,可一旦客户端和服务器分布在两台机器上,调用就得穿过网络,这时候 Windows 把 COM 调用包装成 DCOM(分布式 COM),底层走 RPC,并带上了身份验证、授权检查、模拟身份这些安全机制。
这就是为什么很多人觉得 OPC 连接“玄学”:明明两边都有数据,客户端却枚举不到服务器,或者一连就报“拒绝访问”。因为问题根本不在 OPC 软件本身,而在于 DCOM 的安全性模型——它要检查调用方有没有权限启动这个 COM 对象、有没有权限访问这个 COM 对象的接口、以及客户端传来的身份凭据能不能通过远程服务器的验证。安装 WinCC 时,安装程序会把本机默认的 DCOM 配置写对,所以管理员账户在本机跑 OPC 客户端通常没问题。但一旦换非管理员账户登录,或者客户端机器用另一个账户访问服务器,默认配置就不够用了,必须手工改。
2.2 三个注册条目别选错:OPCServer.WinCC / OPCHDAServers.WinCC / OPCServerAE.WinCC
dcomcnfg 的 DCOM 配置列表里,WinCC OPC 服务器占了三个条目,很多人第一次进去就懵了。这三个不是同一个东西,配置时选错条目,权限改了等于白改。
| 注册条目 | 类型 | 数据内容 | 常见误配 |
|---|---|---|---|
| OPCServer.WinCC | OPC DA(实时数据) | 当前过程值、变量读写 | 最常用,多数人只配这个 |
| OPCHDAServers.WinCC | OPC HDA(历史数据) | 归档的历史过程值 | 客户端是历史数据读取时,漏配这个 |
| OPCServerAE.WinCC | OPC A&E(报警与事件) | 报警消息、事件订阅 | 做报警集采时漏配,报错还不容易想到 |
判断依据很简单:客户端是用 OPC DA、OPC HDA 还是 OPC A&E 接口。我一般建议一次把三个条目都按同样规则配置掉,省得后面换接口又连不上,再回头排查到底哪个没配。文档正文里给出的顺序也是先确认条目,再右键属性,这一步千万别跳过。另外注意,在 64 位系统上列表中可能同时出现带 (32-bit) 或不带的条目,后面第 4 章会单独讲。
2.3 先决条件:两端账户怎么建才不白配
文档在第 2.1 节开头列了个先决条件,原话大意是:在 OPC 客户机计算机的用户管理器中创建 WinCC OPC 服务器用于运行的用户账户,反过来在 OPC 服务器计算机上建立客户机的用户账户。这段话看着绕,实际意思是:DCOM 远程调用时,客户机要把自己的身份告诉服务器,服务器要以这个身份去验证授权,所以两端必须都有对应账户。
常见做法是建一个专用账户,比如名字叫 opcuser,同时建在客户机和服务器上,密码必须设成一样。这个密码一致性特别关键——DCOM 握手走的是 NTLM 或 Kerberos 身份验证,本地同名账户密码不一致时,验证直接失败,客户端只看到“拒绝访问”,日志里查半天也看不出端倪。我在现场吃过这个亏,两台机器账户名相同但密码不同,客户端上怎么测都失败,后来把密码同步才通。所以配权限之前,先把账户建好、密码对好,这一步不用 DCOM 界面里的任何操作,但价值最高。
3. 完整 DCOM 配置流程:从 dcomcnfg 到五个用户组
3.1 打开组件服务并定位目标条目
文档里写的是从“开始”菜单选“运行”,输入 dcomcnfg.exe,然后打开“分布式 COM 属性”对
本文还有配套的精品资源,点击获取