组态王与汇川中型 PLC(基于 Codesys 平台)通过 OPC DA 协议实现通信,需要搭建完整的 OPC 服务器(服务器)与客户端(组态王)连接链路。以下是详细的实现步骤:
一、系统组成与原理
硬件:汇川中型 PLC(如 AM400 系列)、组态王运行的 PC、以太网交换机
软件:
汇川 PLC 的 Codesys 编程软件(如 InoProShop)
OPC 服务器(推荐 KEPServerEX 或汇川官方 OPC 服务器)
组态王(KingView,需支持 OPC DA 客户端功能)
原理:
汇川 PLC 通过 Codesys 配置通信参数,使数据可被 OPC 服务器访问
OPC 服务器作为中间层,读取 PLC 数据并提供 OPC DA 接口
组态王作为 OPC 客户端,连接 OPC 服务器获取 PLC 数据
二、汇川 PLC(Codesys)配置
启用 PLC 的通信功能
在 InoProShop 中打开 PLC 项目,确保 PLC 的以太网口已配置 IP 地址(如 192.168.1.10),与 PC(组态王)、OPC 服务器在同一网段。
在 Codesys 的 “设备树” 中,添加 “Modbus TCP Server” 或 “EtherNet/IP” 通信模块(根据 OPC 服务器支持的协议选择,推荐 Modbus TCP)。
映射需要通信的数据
在 Codesys 中创建全局变量(如 DB 块中的变量:
DB1.bEnable
、DB1.iSpeed
),并在通信模块中配置变量映射(如 Modbus 保持寄存器地址:40001 对应DB1.iSpeed
)。下载程序到 PLC,确保 PLC 处于运行状态(RUN 模式)。
三、OPC 服务器配置(以 KEPServerEX 为例)
安装与启动 KEPServerEX
安装时勾选 “OPC DA” 服务组件,启动后进入 “配置” 界面。
添加驱动与设备
在 “设备” 菜单中,选择 “新驱动”→ 搜索 “Mitsubishi” 或 “汇川” 相关驱动(若没有专用驱动,选择 “Modbus TCP/IP” 通用驱动)。
右键驱动→“新建设备”,命名设备(如 “HMI_AM400”),配置 PLC 的 IP 地址(192.168.1.10)和端口(Modbus 默认 502)。
添加标签(Tag)
名称:如 “Speed”(与组态王中一致)
地址:Modbus 地址(如 40001,对应 PLC 的
DB1.iSpeed
)数据类型:如 “Int16”
右键设备→“新建标签”,按 PLC 的变量映射配置标签:
点击 “测试连接”,确认标签能正常读取 PLC 数据(显示 “良好” 状态)。
四、组态王(KingView)配置
安装 OPC 客户端组件
安装组态王时,确保勾选 “OPC 支持” 组件,重启软件生效。
添加 OPC 设备
打开组态王工程,进入 “设备组态”→“OPC 服务器”→“新建 OPC 设备”。
在 “OPC 服务器选择” 中,浏览并选择 KEPServerEX 的 OPC 服务器(如 “KEPServerEX.V6”),完成设备添加(命名为 “OPC_HUICHUAN”)。
关联 OPC 标签
名称:如 “PLC_Speed”
类型:I/O 实型(或对应类型)
连接设备:选择 “OPC_HUICHUAN”
寄存器:点击 “浏览”,选择 KEPServerEX 中创建的标签(如 “HMI_AM400.Speed”)
进入 “数据词典”,新建变量:
重复操作添加其他变量(如 “PLC_Enable” 对应布尔型标签)。
测试通信
启动组态王运行系统,查看变量值是否与 PLC 一致(可在 “数据监控” 中观察)。
若数据刷新正常,说明通信成功;若失败,检查变量地址映射和服务器连接状态。
五、常见问题与排查
通信失败
检查 IP 地址是否在同一网段,防火墙是否阻断端口(如 502、135)。
在 KEPServerEX 的 “诊断” 界面查看错误日志(如 “连接超时” 可能是 PLC IP 错误)。
数据读写异常
确认 PLC 变量映射与 OPC 标签地址一致(如 Modbus 地址是否为保持寄存器)。
检查数据类型匹配(如 PLC 中是 UInt16,OPC 和组态王需对应设置)。
OPC 服务器未被发现
确保组态王与 OPC 服务器在同一台电脑(或网络可达),并启动 “OPCENUM” 服务(Windows 服务中确认)。
六、注意事项
OPC 版本:组态王支持 OPC DA 2.0/3.0,需确保服务器版本兼容。
性能优化:高频更新的变量(如速度、温度)建议减少采样周期(如 100ms),非关键变量可增大周期(如 1000ms)。
冗余配置:若需高可靠性,可配置双 OPC 服务器冗余,避免单点故障。
通过以上步骤,可实现组态王与汇川 Codesys PLC 的稳定通信,适用于工业监控、数据采集等场景。核心是确保 OPC 服务器正确映射 PLC 变量,且组态王能正常访问服务器标签。