2. AVEVA与PLC建立Modbus TCP数据连接
Modbus TCP 通信链路与寄存器映射
AVEVA 监控项目通过 Modbus TCP 驱动与 PLC 模拟器建立连接,核心是确定IP 地址、端口、从站号、寄存器地址四个参数,并将读取到的保持寄存器值映射到画面标签。Modbus TCP 默认端口为 502,保持寄存器使用功能码 03(读保持寄存器),地址从 0 开始编号。
配置 Modbus TCP 驱动与标签
在 AVEVA 开发环境中,驱动配置与标签定义是建立通信的关键。以下为具体操作路径与参数设置。
1. 添加 Modbus TCP 驱动
- 在项目树中右键
通信→添加驱动,选择Modbus TCP。 - 驱动名称设为
ModbusTCP_1,启用状态保持默认。
2. 配置设备连接参数
| 参数 | 值 | 说明 |
|---|---|---|
| IP 地址 | 127.0.0.1 | 本机回环地址,指向 PLC 模拟器 |
| 端口 | 502 | Modbus TCP 标准端口 |
| 从站号 | 1 | 模拟器默认从站地址 |
| 超时 | 3000 ms | 单次请求等待时间 |
| 重试次数 | 2 | 超时后重试次数 |
3. 定义标签
在驱动下新建标签,关键属性如下:
- 标签名:
Tag_HR0 - 寄存器类型:
保持寄存器 (Holding Register) - 地址:
40001(对应 Modbus 地址 0) - 数据类型:
UINT16 - 扫描周期:
1000 ms
地址换算提示:Modbus 协议地址从 0 开始,而传统 PLC 地址从 1 开始。40001 对应协议地址 0,40002 对应地址 1,以此类推。AVEVA 驱动通常支持直接填写 40001 格式,也可填写 0 格式,需与驱动文档一致。
PLC 模拟器准备与通信验证
使用 Modbus 从站模拟器(如 Modbus Slave、ModbusPal 或 Python 脚本)在本机 502 端口启动服务,并设置保持寄存器 HR0 的值为 1234(示例值)。
模拟器关键设置:
- 连接方式:Modbus TCP
- 监听端口:502
- 从站地址:1
- 寄存器区:Holding Register,地址 0 写入 1234
验证步骤:
- 启动模拟器,确认监听状态正常。
- 在 AVEVA 中激活项目运行,观察驱动状态是否为
已连接。 - 打开画面,查看绑定
Tag_HR0的显示控件是否显示1234。 - 在模拟器中修改 HR0 的值为 5678,观察画面是否在 1 秒内更新为
5678。
常见问题:若驱动显示“连接失败”,优先检查模拟器是否已启动、端口 502 是否被占用、防火墙是否拦截。若显示“通信超时”,检查从站号和寄存器地址是否正确。若画面值不更新,检查标签扫描周期是否过短或过长,以及控件绑定是否正确。
通信状态判读与结果确认
通过以下三个层面确认通信正常:
- 驱动层:驱动状态显示“已连接”,无错误计数增长。
- 标签层:标签质量戳为“良好”,时间戳持续刷新。
- 画面层:显示控件数值与模拟器寄存器值一致,修改后能实时跟随。
若以上三层均满足,则 Modbus TCP 数据连接建立成功,可进入后续趋势曲线与历史记录配置。