抖音粉丝群1
『7x24小时有问必答』

西门子  S7-1200 PLC  与  组态王 (KingView)  进行  OPC UA  通信,是实现国产上位机软件与西门子高端 PLC 安全、稳定数据交互的常用方案。相比于传统的  OPC DA  (依赖 DCOM 配置,极易出错且仅限 Windows) 或  S7 协议驱动  (明文传输,安全性低),OPC UA  提供了更好的跨平台能力、防火墙穿透性和数据加密功能。以下是详细的配置指南、原理说明及常见问题排查。

---

一、前置条件与版本要求

在开始之前,请确保您的软硬件环境满足以下最低要求:
组件
最低版本要求
说明
S7-1200 CPU固件 V4.4 或更高
必须支持原生 OPC UA Server 功能。
TIA PortalV16 或更高
用于组态 PLC 的 OPC UA 接口。
组态王 (KingView)6.55 SP2 或  6.60  及以上

•  6.55 SP2:需安装专门的 "OPC UA 客户端驱动" 补丁或选件。

•  6.60+:通常原生集成或内置了更完善的 OPC UA 驱动支持。

注:老版本 (如 6.53, 6.55 原版) 可能不支持 OPC UA,仅支持 OPC DA。
操作系统
Windows 7/10/11 (64位)
推荐 64 位系统以获得更好的稳定性。

二、核心原理:变量映射机制

与直接读取 DB 块地址不同,OPC UA 通信基于  “服务器接口 (Server Interface)”
PLC 端:必须在 TIA Portal 中显式创建一个“OPC UA 服务器接口”,并将需要暴露的变量(Tag)映射到该接口中。组态王端:只能看到并访问这个“接口”中的变量,无法直接访问 PLC 内部未映射的变量。安全性:这种机制天然隔离了内部逻辑,提高了系统安全性。

三、详细配置步骤

第一步:在 TIA Portal 中组态 S7-1200 (Server 端)

启用 OPC UA 服务
打开项目,选中 CPU。
进入  属性 (Properties)  ->  常规 (General)  ->  OPC UA
勾选  启用 OPC UA 服务器 (Enable OPC UA server)
确认许可证状态(通常显示为“已激活”)。
安全策略:建议生产环境选择  Basic256Sha256  (签名+加密),调试阶段可选  None  (无安全) 以排除证书问题。
创建服务器接口 (关键步骤)
在项目树左侧,展开  OPC UA  ->  服务器接口 (Server interfaces)
右键 ->  添加新对象,命名为例如  Interface_KingView
在右侧表格中,从 PLC 变量表拖拽需要通信的变量(如  Motor_Run,  Tank_Level)到此接口表中。
注意:可以重命名接口中的变量别名,组态王将看到这个别名作为节点 ID 的一部分。
编译与下载
执行“编译硬件和软件”。
下载项目到 PLC。
记录 IP 地址:记下 PLC 的 IP 地址(例如  192.168.1.10),OPC UA 默认端口为  4840
处理证书 (首次连接必备)
下载后,PLC 会生成自签名证书。
当组态王首次尝试连接时,PLC 会拒绝连接(因为不信任组态王的证书)。
解决方法:在 TIA Portal 中  在线 (Go Online)  连接 PLC;进入  在线与诊断  ->  功能  ->  OPC UA  ->  管理证书;在  客户端证书  列表中,找到组态王所在电脑的证书(通常显示为 Unknown 或计算机名);选中它,点击  信任 (Trust)  按钮。

第二步:在组态王 (KingView) 中组态 (Client 端)

假设使用组态王 6.60 或已安装 OPC UA 驱动的 6.55 SP2
定义设备
打开组态王工程,进入  设备 (Devices)  ->  新建...
在驱动列表中寻找  OPC UA  类别。路径通常为:OPC UA  ->  OPC UA Client  (或者具体厂商名称如  Siemens OPC UA,视驱动版本而定,通用 OPC UA 驱动最常用)。
如果找不到 OPC UA 驱动,说明版本过低或未安装补丁,需联系亚控科技获取 "KingView OPC UA Client Driver"。
配置连接参数
逻辑名称:自定义,如  PLC_S71200URL / 端点地址:输入PLC的地址。格式:opc.tcp://192.168.1.10:4840;

注意:必须是  opc.tcp:// 开头,端口默认为 4840,若在 PLC 修改过则相应调整。安全策略 (Security Policy):必须与 PLC 端设置完全一致(如  Basic256Sha256  或  None)。消息安全模式 (Message Security Mode):通常对应为  Sign & Encrypt  (若策略非 None) 或  None用户身份验证:通常选择  Anonymous  (匿名),除非在 PLC 端配置了特定用户名密码。
证书信任 (组态王侧)
首次连接时,组态王可能会弹出对话框提示“服务器证书不受信任”。
点击  信任  或  接受,将 PLC 的证书添加到组态王的受信任存储区。
注:组态王的证书存储位置通常在安装目录下的  Opccerts  或系统证书管理器中。
添加变量 (Tag)
在设备定义完成后,进入  数据库 (Database)  ->  数据词典
新建变量,连接设备选择刚才定义的  PLC_S71200
关键点:变量名 (Item Name) 的填写。
(1)OPC UA 的变量名是层级结构的节点路径 (NodeID)。
(2)格式通常为:ns=<索引>;s=<接口名>.<变量名>  或直接浏览选择。
(3)推荐方法:在变量定义界面,点击  浏览 (Browse)  按钮(如果有)。点击浏览后,软件会连接 PLC 并列出所有可用的节点;展开 Objects  ->  Server  -> (自定义接口) -> 找到你在 TIA Portal 中创建的  Interface_KingView;勾选需要的变量,系统会自动填入正确的 NodeID 字符串。
手动填写示例:如果无法浏览,需手动输入。通常格式类似:

ns=3;s=Interface_KingView.Motor_Run

(注:ns=3  中的索引  3  取决于 PLC 的命名空间索引,不同固件可能不同,强烈建议使用“浏览”功能自动获取)
测试连接
在组态王主界面或设备窗口查看连接状态。
如果状态显示“就绪”或“运行”,且变量值能随 PLC 变化,则通信成功。

---

四、常见问题与排查 (Troubleshooting)

问题现象
可能原因
解决方案
找不到 OPC UA 驱动
组态王版本过低或未安装补丁。
升级至 6.60+ 或联系亚控科技获取 OPC UA 驱动补丁包。
连接失败 / 超时
1. IP/端口错误。

2. 防火墙拦截。

3. 安全策略不匹配。
1. Ping PLC IP。

2. 关闭 Windows 防火墙或放行 4840 端口。

3. 确保组态王与 PLC 的安全策略 (Policy) 完全一致 (大小写敏感)。
认证失败 / 拒绝连接
证书未互信。
1. 在 TIA Portal 在线状态下,信任组态王电脑的证书。

2. 在组态王侧信任 PLC 的证书。
浏览不到变量 / 变量为空
1. PLC 未创建“服务器接口”。

2. 接口中未添加变量。

3. 命名空间索引 (Namespace Index) 错误。
1. 检查 TIA Portal 中是否已建立 Server Interface 并映射变量。

2. 重新编译下载 PLC。

3. 务必使用“浏览”功能获取准确的 NodeID,不要盲目手动输入。
数据质量 Bad
变量路径错误或类型不匹配。
检查变量 NodeID 是否精确匹配 PLC 接口中的名称(包括大小写)。

五、OPC UA vs 传统方式 (在组态王应用中)

特性
OPC DA (传统)
S7 协议驱动
OPC UA (推荐)
配置难度极高 (需配置 DCOM,易受系统更新影响)
低 (直接填 IP 和 DB 号)
中 (需配置接口和证书,但一次配置长期稳定)
稳定性
差 (经常无故断开,需重启服务)
极高 (基于 TCP,抗干扰强)
安全性
低 (明文,依赖 Windows 账户)
低 (明文,无加密)
高 (支持 AES 加密,证书认证)
防火墙
困难 (动态端口)
容易 (固定端口)
容易 (单端口 4840)
跨平台
仅限 Windows
仅限支持 S7 协议的设备
支持 (Linux, Android, Cloud 等)
数据结构
扁平化
扁平化
支持层级结构/UDT

六、最佳实践建议

统一命名:在 TIA Portal 的 Server Interface 中,使用英文命名变量,避免中文乱码问题(虽然 OPC UA 支持 Unicode,但老旧系统或特定驱动可能对中文支持不佳)。分组管理:如果变量很多,可以在 TIA Portal 中创建多个 Server Interface(例如按功能分:Interface_Monitor,  Interface_Control),便于组态王中分类管理。证书备份:配置成功后,备份 PLC 和组态王电脑上的证书文件。如果重装系统,需重新导入证书,否则通信会中断。性能优化:OPC UA 支持订阅 (Subscription) 机制,只有数据变化时才上报。在组态王中尽量开启“按变化上报”或设置合理的扫描周期,不要设置为 0ms,以免占用过多 PLC 资源。驱动选择:如果组态王自带的通用 OPC UA 驱动兼容性不好,可以咨询亚控科技是否有针对  Siemens S7-1200 OPC UA  的专用驱动包,专用驱动通常在 NodeID 解析上更智能。
通过以上步骤,您可以实现组态王与 S7-1200 之间现代化、高安全性的 OPC UA 通信,摆脱 DCOM 配置的噩梦。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码