1. 项目概述
在工业自动化控制系统中,PLC与温控器的通讯是实现精确温度控制的关键环节。本文将详细介绍台达DVP ES系列PLC与欧姆龙E5CC温控器通过485通讯的完整实现方案,包含硬件连接、参数配置、程序编写以及触摸屏集成的全流程。
2. 硬件准备与接线
2.1 设备选型说明
本次项目使用的核心设备包括:
- 台达DVP-ES系列PLC(推荐型号DVP20ES200T)
- 欧姆龙E5CC系列温控器(推荐E5CC-QX2ASM-800)
- 昆仑通态TPC7062K触摸屏
- 威纶通MT8071iE触摸屏
选择这些型号的主要考虑因素:
- 通讯接口兼容性:都支持标准RS485通讯
- 性能匹配:满足常规工业温度控制需求
- 市场普及度:配件和资料容易获取
2.2 485通讯接线详解
正确的硬件连接是通讯成功的基础,接线时需特别注意:
-
线缆选择:
- 使用双绞屏蔽线(如RVSP 2×1.0mm²)
- 屏蔽层单端接地(通常在PLC侧接地)
-
接线步骤:
- PLC的485+(A+)端子 → 温控器的485+(A+)端子
- PLC的485-(B-)端子 → 温控器的485-(B-)端子
- 两端设备的FG端子连接至同一接地排
重要提示:接线前务必断电操作,避免短路损坏设备接口。建议使用压接端子确保连接可靠。
- 终端电阻设置:
- 当通讯距离超过50米时,需在末端设备加装120Ω终端电阻
- 欧姆龙E5CC可通过内置跳线设置终端电阻
3. 通讯参数配置
3.1 欧姆龙E5CC温控器设置
进入温控器参数设置模式(长按MODE键3秒):
-
通讯参数设置路径:
- 菜单层级:INIT → COMMUNICATION
- 关键参数设置:
- 通讯协议:Modbus RTU(代码C052=2)
- 站号:1(代码C051=1)
- 波特率:9600bps(代码C053=3)
- 数据位:8位(代码C054=0)
- 停止位:1位(代码C055=0)
- 校验方式:偶校验(代码C056=1)
-
温度相关参数:
- 输入类型:根据实际探头类型设置(如K型热电偶)
- 控制方式:PID控制(推荐)
3.2 台达PLC通讯设置
使用WPLSoft编程软件进行设置:
-
通讯参数配置:
- 打开"PLC参数"设置窗口
- 选择"通讯设置"选项卡
- 设置参数与温控器保持一致:
- 通讯协议:Modbus RTU
- 波特率:9600bps
- 数据位:8位
- 停止位:1位
- 校验位:偶校验
-
特殊寄存器设置:
- D8120:通讯格式寄存器
- 设置值:H87(对应9600bps,8,N,1)
- D8121:站号设置(主站通常设为0)
- D8120:通讯格式寄存器
4. PLC程序开发
4.1 通讯初始化程序
assembly复制// 通讯初始化
MOV H87 D8120 // 设置通讯格式:9600bps,8,E,1
MOV K0 D8121 // 设置PLC站号为0(主站)
MOV K100 D8129 // 设置通讯超时为100ms
程序说明:
- H87是十六进制数,对应二进制10000111,各位含义:
- bit0-2:110→9600bps
- bit3:0→8数据位
- bit4:0→无校验
- bit5:1→1停止位
- D8129设置合理的超时时间,避免通讯卡死
4.2 温度读写功能实现
4.2.1 温度设定程序
assembly复制// 温度设定程序
LD M100 // 温度设定触发信号
MOV D100 D120 // 设定值传送
CALL P_SEND // 调用发送子程序
// 发送子程序
P_SEND:
MOV K6 D123 // 功能码06(写单个寄存器)
MOV K1 D124 // 目标站号1(温控器)
MOV K2000 D125 // 目标寄存器地址2000(设定值地址)
MOV D120 D126 // 要写入的数据
SET M8122 // 触发发送
RET
4.2.2 实际温度读取程序
assembly复制// 温度读取程序
LD M102 // 读取触发信号
CALL P_READ // 调用读取子程序
// 读取子程序
P_READ:
MOV K3 D123 // 功能码03(读保持寄存器)
MOV K1 D124 // 目标站号1
MOV K1000 D125 // 起始地址1000(PV值地址)
MOV K1 D126 // 读取1个寄存器
SET M8122 // 触发发送
4.2.3 数据接收处理
assembly复制// 接收中断处理
LD M8123 // 接收完成标志
MOV D127 D102 // 将接收数据存入显示寄存器
RST M8123 // 复位接收标志
5. 触摸屏配置
5.1 昆仑通态触摸屏配置
-
通讯参数设置:
- 设备类型:Delta DVP
- 接口类型:RS485 2W
- 波特率:9600bps
- 站号:0(与PLC一致)
-
画面元素配置:
- 数值显示元件:关联PLC的D102(实际温度)
- 数值输入元件:关联PLC的D100(设定温度)
- 按钮元件:关联M100(设定触发)
-
脚本程序示例:
vb复制'温度设定按钮脚本
Sub Button1_Click()
If Device.WriteBit("M100",1) Then
MsgBox "设定指令已发送"
Else
MsgBox "通讯错误"
End If
End Sub
5.2 威纶通触摸屏配置
-
设备连接设置:
- 新增设备→Delta→DVP系列
- 通讯端口:COM2(RS485)
- 波特率:9600bps
- 数据格式:8,E,1
-
画面设计要点:
- 使用"数值显示"元件显示PV值
- 使用"数值输入"元件设置SV值
- 添加通讯状态指示灯
-
宏指令应用:
lua复制-- 温度设定宏
function SetTemperature()
local setValue = GetData("LW-100") -- 读取设定值
WriteDevice("D100", setValue) -- 写入PLC
SetBit("M100", ON) -- 触发设定
end
6. 调试与故障排除
6.1 常见问题解决方案
| 故障现象 | 可能原因 | 解决方法 |
|---|---|---|
| 通讯超时 | 接线错误 | 检查A+/B-是否接反 |
| 数据错误 | 参数不匹配 | 确认波特率、校验方式一致 |
| 偶发通讯中断 | 干扰严重 | 检查屏蔽层接地,加磁环 |
| 无法写入 | 地址错误 | 确认温控器寄存器地址 |
6.2 调试技巧
-
分段测试法:
- 先测试PLC与PC通讯
- 再测试PLC与温控器通讯
- 最后测试触摸屏联调
-
信号监测:
- 使用串口调试助手监控数据帧
- 检查发送和接收的原始数据
-
指示灯观察:
- PLC的COM灯应规律闪烁
- 温控器的COMM灯应有响应
7. 系统优化建议
-
通讯性能优化:
- 合理设置轮询间隔(建议500ms以上)
- 重要参数使用主动上报方式
-
安全防护措施:
- 添加温度上下限报警
- 设置通讯超时处理程序
-
扩展功能:
- 增加温度曲线记录
- 实现多段温度控制
在实际项目中,我们发现以下经验特别重要:
- 接线完成后先用万用表测量A+与B-之间的电阻(约120Ω)
- 首次调试建议降低波特率至4800bps提高稳定性
- 温控器的滤波参数需要根据实际工况调整
