1. 项目概述与硬件配置
在工业自动化控制领域,多设备间的稳定通讯一直是现场调试的难点。最近完成了一个三菱FX3U PLC同时控制两台台达DTA7272C1温控器的项目,通过MODBUS RTU协议实现了温度设定、探头型号配置和实时温度读取功能。这个方案特别适合需要多点温度监控的生产线,比如塑料挤出机、烘箱等设备。
1.1 核心硬件选型
主控制器:
- 三菱FX3U-32MT/ES-A PLC
- FX3U-485BD通讯扩展板(原装)
特别提醒:市面上有很多国产兼容485扩展板,价格虽然便宜但通讯稳定性差,在工业现场容易出现数据丢包问题。原装板卡虽然贵一些,但长期运行更可靠。
温控设备:
- 台达DTA7272C1温控器 ×2
- 通讯地址分别设置为1和2
- 支持PT100、K型热电偶等多种探头
- 双路继电器输出(加热/冷却控制)
HMI人机界面(二选一):
- 昆仑通态TPC7062KD触摸屏
- 威纶通TK6071IP触摸屏
1.2 系统拓扑结构
code复制FX3U PLC ←RS485→ [温控器1] ←RS485→ [温控器2]
↑
│
触摸屏(通过PLC编程口连接)
这种菊花链拓扑结构布线简单,最大支持32个设备并联。实际项目中通讯距离超过10米时,需要在最远端的温控器上安装120Ω终端电阻。
2. 硬件连接与参数设置
2.1 485通讯接线规范
FX3U-485BD板的接线端子定义如下:
| 端子标记 | 连接目标 | 线缆颜色建议 |
|---|---|---|
| SDA | 温控器A+ | 棕色 |
| SDB | 温控器A- | 蓝色 |
| RDA | 温控器B+ | 橙色 |
| RDB | 温控器B- | 白色 |
| SG | 屏蔽层接地 | 黄绿双色线 |
实际接线时发现:如果通讯不稳定,尝试将SDA与RDA短接、SDB与RDB短接,这种接法在多数场景下也能正常工作。
2.2 温控器参数配置
每台温控器需要设置以下关键参数:
-
通讯参数组(Sn)
- Sn-01:设备地址(1号机设1,2号机设2)
- Sn-02:波特率(3=9600bps)
- Sn-03:数据格式(3=8N1 RTU模式)
- Sn-04:通讯超时(3=3秒)
-
温度控制参数组(Pn)
- Pn-01:输入类型(根据实际探头型号设置)
- Pn-02:控制方式(1=PID控制)
- Pn-03:设定值上限(根据工艺要求设置)
配置完成后,长按SET键3秒保存参数。建议先用PC通过台达温控器调试软件验证通讯是否正常,再连接PLC。
3. PLC程序设计详解
3.1 通讯初始化
ladder复制// 通讯端口初始化
MOV H0C96 D8120 // 9600bps,8N1,无校验
MOV K2 M8161 // 16位数据模式
MOV K1 M8162 // MODBUS RTU模式
这段代码的作用是:
- D8120寄存器设置通讯格式:0C96换算成二进制是1100 1001 0110,对应9600bps、8位数据、无校验、1位停止位
- M8161置2表示使用16位数据处理模式
- M8162置1启用MODBUS协议转换功能
3.2 温度读取程序
ladder复制// 读取1号温控器当前温度
LD M8000 // 运行常ON触点
RS D100 K8 D200 K5 // 发送8字节到D100,接收5字节到D200
发送帧解析(存储在D100-D103):
code复制D100: 01 // 设备地址
D101: 03 // 功能码(读保持寄存器)
D102: 00 00 // 起始地址(温度PV值地址)
D103: 00 01 // 读取寄存器数量
D104: CRC低字节 // 自动计算
D105: CRC高字节 // 自动计算
接收数据存储在D200-D202:
code复制D200: 01 // 返回地址
D201: 03 // 功能码
D202: 02 // 数据字节数
D203: 温度值高字节
D204: 温度值低字节
3.3 温度设定程序
ladder复制// 设定1号温控器目标温度
LD X0 // 设定触发信号
RS D300 K8 D400 K5 // 发送设定命令
发送帧结构(D300-D303):
code复制D300: 01 // 设备地址
D301: 06 // 功能码(写单个寄存器)
D302: 00 01 // 目标地址(设定值SV地址)
D303: 设定值高字节
D304: 设定值低字节
D305: CRC低字节
D306: CRC高字节
4. 双机轮询策略实现
4.1 状态机设计
使用三菱PLC的步进指令实现状态轮询:
ladder复制STL S0
// 初始化状态
MOV K0 D0 // 清空轮询计数器
SET S1
STL S1
// 读取1号机温度
CALL P100 // 执行读取程序
T0 K20 // 200ms延时
SET S2
STL S2
// 读取2号机温度
CALL P101
T1 K20
SET S1
4.2 异常处理机制
-
超时检测:
- 每次发送后启动500ms定时器
- 超时未收到响应则重试(最多3次)
- 连续3次失败触发报警
-
数据校验:
- 检查返回的设备地址是否匹配
- 验证CRC校验码
- 确认功能码是否正确(无错误码)
5. 触摸屏界面设计要点
5.1 昆仑通态屏配置
-
设备窗口添加"MODBUS RTU"驱动
-
变量连接设置:
- 4x0001 → 温控器1设定值
- 4x0002 → 温控器1当前值
- 4x1001 → 温控器2设定值
- 4x1002 → 温控器2当前值
-
画面组态:
- 添加温度趋势图(双曲线显示)
- 设置参数修改权限密码
5.2 威纶通屏配置
-
通讯参数设置:
- 波特率:9600
- 数据位:8
- 停止位:1
- 校验:无
-
地址映射表:
- RW-00001 → 温控器1设定值
- RW-00002 → 温控器1PV值
- RW-00101 → 温控器2设定值
- RW-00102 → 温控器2PV值
6. 现场调试经验分享
6.1 常见故障排查
-
通讯完全无响应:
- 检查终端电阻是否安装
- 确认A+、A-线序没有接反
- 测量485线路电压(A-B应有2-6V压差)
-
数据偶尔出错:
- 增加通讯间隔时间(建议≥200ms)
- 检查接地是否良好(屏蔽层单端接地)
- 远离变频器等干扰源
-
温控器显示----:
- 检查探头类型参数设置
- 确认探头接线正确
- 检查输入信号是否超量程
6.2 性能优化技巧
-
通讯效率提升:
- 使用批量读取功能(功能码0x03)
- 合并温度读取和状态监控请求
- 合理设置轮询周期(非关键参数可降低频率)
-
系统稳定性增强:
- 添加看门狗定时器复位机制
- 关键参数做掉电保存
- 重要控制回路添加硬件互锁
-
维护便利性改进:
- 在触摸屏添加通讯测试页面
- 记录通讯错误次数到历史数据
- 设置参数一键恢复功能
7. 项目扩展应用
7.1 多温区控制系统
通过增加温控器数量,可以构建多温区控制系统。例如在挤出机应用中:
- 第1区:进料段(150℃)
- 第2区:压缩段(180℃)
- 第3区:计量段(200℃)
- 第4区:模头(210℃)
每个温区独立PID控制,PLC协调各温区升温时序。
7.2 温度曲线控制
利用PLC的RAMP指令实现:
-
在触摸屏设置温度曲线段:
- 目标温度
- 升温速率(℃/min)
- 保持时间
-
PLC程序实现:
ladder复制LD M100 RAMP D100 D200 D300 // D100:当前温度 // D200:目标温度 // D300:变化速率
7.3 与上位机集成
通过FX3U的编程口连接上位机,实现:
- 温度数据记录到数据库
- 生成生产报表
- 远程参数修改
使用协议转换器可接入SCADA系统,如:
- 三菱MC协议转OPC UA
- MODBUS RTU转TCP
这个方案经过三个月连续运行测试,在环境温度0-50℃范围内通讯稳定可靠。实际应用中可根据需要调整温控器数量,最多支持32台设备并联。对于更大型系统,建议改用FX5U系列PLC,其内置的以太网端口更适合多设备通讯场景。