1. 项目概述与硬件选型
在工业自动化控制系统中,PLC与温控器的通讯是实现精确温度控制的关键环节。这次项目中,我们使用台达DVP-ES2系列PLC作为主站,通过RS485总线与欧姆龙E5CC温控器建立Modbus通讯,实现温度设定值写入和实际温度值读取功能。整套系统还配备了昆仑通态TPC7022NI触摸屏作为人机交互界面,形成完整的温度监控解决方案。
1.1 硬件配置详解
核心设备清单:
- 主控制器:台达DVP-24ES2 PLC
- 特点:内置RS485通讯口,支持标准Modbus RTU协议
- 优势:性价比高,编程环境友好,适合中小型控制系统
- 温控器:欧姆龙E5CC
- 温度范围:-1999~9999℃(根据型号不同)
- 通讯协议:Modbus RTU,默认地址1
- 输入类型:支持热电偶、RTD等多种传感器
- HMI:昆仑通态TPC7022NI
- 7寸触摸屏,支持多种PLC通讯协议
- 附带威纶通触摸屏的温控器参数设置说明
提示:在实际采购时,建议确认E5CC的具体型号后缀(如E5CC-QX2ASM-800),不同型号的输入类型和输出方式可能有差异。
1.2 通讯架构设计
系统采用典型的Modbus主从架构:
code复制[触摸屏(TPC7022NI)] ←RS232→ [PLC(DVP-24ES2)] ←RS485→ [温控器(E5CC)]
- 触摸屏与PLC之间使用RS232通讯(默认COM1口)
- PLC与温控器之间使用RS485通讯(默认COM2口)
- 通讯参数统一设置为:9600bps,8数据位,无校验,1停止位(初始默认值)
2. 硬件连接与参数设置
2.1 电气接线规范
RS485接线要点:
- 使用屏蔽双绞线(建议AWG22-18)
- PLC端接线:
- 台达DVP-24ES2的COM2口:
- 485+ → S+(端子8)
- 485- → S-(端子9)
- 台达DVP-24ES2的COM2口:
- 温控器端接线:
- E5CC的通讯端子:
- 485+ → 端子5(S+)
- 485- → 端子6(S-)
- E5CC的通讯端子:
- 终端电阻:
- 在总线最远端的设备上接入120Ω终端电阻
- E5CC可通过内置DIP开关启用终端电阻
注意:确保所有设备的485极性一致(+对+,-对-),反接会导致通讯失败。屏蔽层应在PLC端单点接地。
2.2 温控器参数配置
通过E5CC前面板设置以下关键参数(以默认地址1为例):
| 参数代码 | 参数名称 | 设定值 | 说明 |
|---|---|---|---|
| CtL | 通讯地址 | 1 | Modbus从站地址 |
| bAud | 波特率 | 3 | 对应9600bps |
| bPS | 校验方式 | 0 | 无校验 |
| inF | 输入类型 | 根据实际传感器选择 | 如K型热电偶设为21 |
| Sn | 小数点位置 | 1 | 显示1位小数 |
设置步骤:
- 长按"Mode"键3秒进入参数设置模式
- 使用"▲/▼"键找到目标参数代码
- 按"Mode"键进入参数值修改
- 使用"▲/▼"调整数值,再次按"Mode"确认
- 长按"Mode"退出设置模式
3. PLC程序设计详解
3.1 通讯初始化设置
在台达PLC编程软件WPLSoft中,需要先配置COM2口的通讯参数:
ladder复制// 通讯参数设置程序(通常放在第一个扫描周期执行)
MOV K2 D1120 // 设置COM2为Modbus RTU主站模式
MOV K9600 D1121 // 波特率9600bps
MOV K0 D1122 // 无校验
MOV K1 D1123 // 1位停止位
关键寄存器说明:
- D1120:通讯协议选择
- 0:标准Modbus从站
- 1:ASCII模式
- 2:RTU模式(本项目选择)
- D1121:波特率设置
- 4:2400bps
- 5:4800bps
- 6:9600bps(常用)
- 7:19200bps
3.2 温度设定功能实现
使用MODWR指令写入设定值(SV):
structuredtext复制// 温度设定程序(示例为设定100.0℃)
VAR
iSetTemp: INT := 1000; // 实际值放大10倍(E5CC内部处理)
iResult: INT;
BEGIN
iResult := MODWR(1, 16#0001, 1, iSetTemp);
IF iResult <> 0 THEN
// 错误处理
SET M0; // 置位错误标志位
MOV iResult D100; // 存储错误代码
ELSE
RST M0; // 复位错误标志
END_IF;
END.
关键点说明:
- E5CC的温度寄存器值实际是放大10倍的整数(100.0℃→1000)
- MODWR参数:
- 从站地址:1(与温控器设置一致)
- 寄存器地址:16#0001(设定值SV的Modbus地址)
- 寄存器数量:1
- 写入值:iSetTemp
3.3 温度读取功能实现
使用MODRD指令读取实际值(PV):
structuredtext复制// 温度读取程序
VAR
wPV: WORD;
iReadResult: INT;
rActualTemp: REAL;
BEGIN
iReadResult := MODRD(1, 16#0002, 1, ADR(wPV));
IF iReadResult = 0 THEN
// 转换温度值(原始值为放大10倍的整数)
rActualTemp := WORD_TO_REAL(wPV) / 10.0;
// 存储到D200供HMI显示
MOV REAL_TO_WORD(rActualTemp) D200;
ELSE
// 错误处理
SET M1;
MOV iReadResult D101;
END_IF;
END.
数据转换说明:
- 读取的原始值存储在wPV中(WORD类型)
- 先转换为REAL类型,再除以10得到实际温度值
- 最终结果存入D200供触摸屏显示
4. 触摸屏界面设计要点
4.1 昆仑通态TPC7022NI配置
-
新建工程时选择正确的PLC型号:台达DVP系列
-
通讯参数设置:
- 接口类型:RS232
- 波特率:与PLC COM1口设置一致(默认9600bps)
- 站号:通常为1(与PLC的HMI站号对应)
-
关键控件设计:
- 数值输入框:
- 地址:对应PLC的D寄存器(如D150用于设定值)
- 格式:浮点数,1位小数
- 数值显示框:
- 地址:D200(实际温度值)
- 报警设置:可配置超温报警颜色变化
- 按钮控件:
- "写入设定值"按钮:触发PLC的设定值写入程序
- 数值输入框:
4.2 威纶通触摸屏备用方案
对于使用威纶通触摸屏的用户,需注意:
- 通讯驱动选择:Delta DVP系列(Modbus RTU)
- 寄存器地址映射:
- 台达PLC的D寄存器对应Modbus的4x寄存器
- 例如D200 → 4200(Modbus地址)
5. 调试技巧与故障排查
5.1 常见问题速查表
| 故障现象 | 可能原因 | 解决方案 |
|---|---|---|
| 通讯完全无响应 | 1. 接线错误(极性反接) 2. 波特率不匹配 3. 从站地址错误 |
1. 检查485+/-接线 2. 确认所有设备波特率一致 3. 核对温控器CtL参数 |
| 能读取但不能写入 | 1. 寄存器地址错误 2. 写入值格式不正确 |
1. 确认SV地址为16#0001 2. 检查是否放大了10倍 |
| 数据跳动或不稳定 | 1. 终端电阻未启用 2. 电磁干扰 |
1. 启用末端设备的终端电阻 2. 检查屏蔽层接地 |
| 触摸屏无法连接PLC | 1. COM口选择错误 2. 站号不匹配 |
1. 确认使用COM1口 2. 检查HMI和PLC的站号设置 |
5.2 高级调试技巧
-
使用Modbus调试工具:
- 推荐软件:ModScan(主站模拟)、ModSim(从站模拟)
- 可先通过PC直接连接温控器,验证基本通讯是否正常
-
台达PLC通讯监控:
- 特殊寄存器D1129:COM2通讯错误计数
- 当通讯异常时,该值会递增
-
温控器状态检查:
- 查看E5CC的"COMM"指示灯状态:
- 常亮:通讯正常
- 闪烁:正在通讯
- 熄灭:通讯异常
- 查看E5CC的"COMM"指示灯状态:
-
信号质量检测:
- 使用示波器测量RS485信号:
- 正常波形应清晰,无严重畸变
- AB线间差分电压:2-6V(空闲时>200mV)
- 使用示波器测量RS485信号:
6. 系统优化建议
- 通讯超时处理:
ladder复制// 示例:超时3秒无响应则报错
TMR T0 K300 // 3秒定时器
LD M8000 // 运行常ON
OUT T0
LD T0
SET M10 // 通讯超时标志
-
数据滤波处理:
- 在PLC中实现移动平均滤波:
structuredtext复制// 5点移动平均滤波 VAR arrTemp: ARRAY[0..4] OF REAL; rSum: REAL := 0.0; iIndex: INT := 0; BEGIN arrTemp[iIndex] := rActualTemp; iIndex := (iIndex + 1) MOD 5; rSum := 0.0; FOR i := 0 TO 4 DO rSum := rSum + arrTemp[i]; END_FOR; rFilteredTemp := rSum / 5.0; END. -
温度控制逻辑增强:
- 增加PID控制功能(可在PLC或温控器端实现)
- 设置温度变化速率限制(℃/min)
- 多段温度曲线控制
-
安全保护措施:
- 超温紧急停止功能
- 传感器断线检测
- 通讯中断时的安全值保持
在实际项目中,我们还需要考虑电缆长度的影响——RS485总线理论上可达1200米,但实际应用中建议:
- 9600bps时不超过500米
- 19200bps时不超过300米
- 超过100米时建议使用屏蔽双绞线并做好接地
对于多设备组网的情况,需要注意:
- 每个设备的地址必须唯一
- 总线上设备总数一般不超过32个
- 合理规划终端电阻的位置
通过这个项目,我们发现台达PLC与欧姆龙温控器的组合在性价比和稳定性方面表现优异。特别是在食品烘干设备上连续运行6个月后,系统仍然保持稳定的通讯性能,温度控制精度达到±0.5℃。对于需要更高精度的场合,建议:
- 使用PT100传感器代替热电偶
- 增加温度校准功能
- 考虑使用E5CC的高精度模式(需在参数中启用)