1. 工业自动化通讯系统概述
在现代化工业生产中,PLC(可编程逻辑控制器)与变频器的通讯控制已成为自动化系统的核心组成部分。西门子S7-1200系列PLC凭借其出色的性能和可靠性,在中小型自动化项目中广泛应用。而G120变频器作为西门子驱动产品线的重要成员,其与PLC的高效通讯直接关系到整个控制系统的稳定性和精确度。
Modbus RTU作为一种成熟的串行通讯协议,在工业现场总线中占据重要地位。它采用主从式架构,通过RS485物理层实现设备间的数据交换,具有协议简单、兼容性强、成本低廉等优势。在PLC与变频器的通讯场景中,Modbus RTU协议能够稳定传输控制指令和状态数据,满足大多数工业应用的需求。
2. 系统架构设计与硬件连接
2.1 硬件选型与接口配置
西门子S7-1200 PLC需要配备CM 1241 RS485通讯模块才能实现Modbus RTU通讯。该模块提供标准的RS485接口,支持最高115.2kbps的通讯速率。G120变频器则需配置CU250S-2控制单元,其内置Modbus RTU从站功能,无需额外硬件即可接入通讯网络。
硬件连接时需注意:
- 使用双绞屏蔽电缆(如西门子6XV1830-0EH10)
- 终端电阻设置:网络两端设备需启用120Ω终端电阻
- 接线极性:A+对A+,B-对B-,严禁反接
- 屏蔽层单端接地,避免地环路干扰
2.2 网络拓扑结构设计
典型的系统架构包含三个层级:
- 控制层:S7-1200 PLC作为Modbus主站
- 驱动层:G120变频器作为Modbus从站
- 人机交互层:触摸屏(如KTP700 Basic)通过PROFINET与PLC通讯
重要提示:当系统中有多个G120变频器时,每个从站必须设置唯一的站地址(1-247),且通讯参数(波特率、数据位、停止位、校验方式)必须完全一致。
3. Modbus RTU通讯参数配置
3.1 PLC端通讯组态
在TIA Portal中配置CM 1241模块的步骤如下:
- 硬件组态中添加CM 1241模块
- 设置通讯参数:
- 波特率:通常选择9600或19200bps
- 数据位:8位
- 停止位:1位
- 校验方式:偶校验(Even)
- 创建Modbus主站指令块MB_MASTER的背景数据块
关键参数配置示例:
pascal复制// Modbus通讯参数结构体
STRUCT
MB_MODE : INT := 0; // 0=RTU模式
MB_ADDR : INT := 3; // 从站地址
MB_BAUD : INT := 19200; // 波特率
MB_PARITY : INT := 2; // 2=偶校验
END_STRUCT
3.2 G120变频器参数设置
通过BOP-2面板或STARTER软件设置以下关键参数:
- P2021[0]:Modbus从站地址(如3)
- P2022:波特率(需与PLC设置一致)
- P2023:数据格式(通常设为8E1)
- P2041:Modbus报文超时时间(建议500ms)
4. 通讯程序设计详解
4.1 PLC侧Modbus功能块编程
S7-1200使用MB_MASTER功能块实现Modbus通讯,典型程序结构:
pascal复制// 主循环OB中调用MB_MASTER
"MB_MASTER_DB".REQ := "通讯触发";
"MB_MASTER_DB".MB_ADDR := 3; // 从站地址
"MB_MASTER_DB".MB_FC := 16#03; // 功能码03-读保持寄存器
"MB_MASTER_DB".MB_DATA_ADDR := 16#2000; // 起始地址
"MB_MASTER_DB".MB_DATA_LEN := 8; // 读取字数
"MB_MASTER_DB".DATA_PTR := P#DB1.DBX0.0 BYTE 16; // 数据存放区
IF "MB_MASTER_DB".DONE THEN
"通讯完成" := TRUE;
"MB_MASTER_DB".REQ := FALSE;
END_IF;
4.2 G120变频器Modbus地址映射
G120变频器的关键参数对应Modbus地址:
- 转速设定值:16#2000 (r2090)
- 实际转速:16#2001 (r0021)
- 输出电流:16#2002 (r0027)
- 故障代码:16#2003 (r0947)
- 控制字1:16#2004 (r2050)
5. PID控制实现方案
5.1 PLC侧PID算法实现
使用S7-1200内置的PID_Compact指令块:
- 在OB30循环中断中调用(建议周期100ms)
- 配置PID参数:
- 比例增益(P):0.5-2.0
- 积分时间(Ti):5-20s
- 微分时间(Td):0-5s
- 将PID输出映射到Modbus写入指令
5.2 触摸屏HMI设计要点
- 创建主要监控画面:
- 转速设定/实际值显示(量程0-1500rpm)
- 电流/电压实时趋势图
- PID参数调整界面(带权限控制)
- 报警管理:
- 变频器故障状态显示
- 历史报警记录查询
- 操作按钮:
- 启动/停止控制
- 手动/自动切换
- 参数保存功能
6. 系统调试与故障排查
6.1 通讯测试步骤
- 使用Modscan32测试工具验证G120响应
- 检查物理层信号:
- RS485 A/B线间电压:2-6V(空闲时)
- 信号波形无畸变
- 监控PLC通讯错误代码:
- 16#8181:从站无响应
- 16#8182:校验错误
- 16#8183:从站忙
6.2 常见问题解决方案
| 故障现象 | 可能原因 | 解决措施 |
|---|---|---|
| 通讯超时 | 波特率不匹配 | 检查P2022与PLC设置 |
| 数据错误 | 地址偏移错误 | G120地址需+40001转换 |
| 偶发中断 | 终端电阻未接 | 启用两端120Ω电阻 |
| 干扰严重 | 屏蔽层未接地 | 单端可靠接地 |
7. 系统优化与高级功能
7.1 通讯性能提升技巧
- 合理设置轮询周期:
- 关键参数(如转速):100ms
- 次要参数(如温度):1s
- 使用批量读取:
- 单次读取不超过32个字
- 合并相邻地址的请求
- 错误处理机制:
- 三次重试逻辑
- 故障时自动降级运行
7.2 安全功能集成
- 急停连锁:
- 硬线接入G120端子
- 通过Modbus监控状态
- 安全扭矩关断(STO):
- 配置G120安全参数
- HMI安全权限管理
- 数据备份:
- 定期保存PID参数
- 变频器参数导出功能
在实际项目中,我们发现当通讯距离超过50米时,建议增加RS485中继器。曾有一个案例,由于电机电缆与通讯线平行敷设导致干扰,通过改用双层屏蔽电缆并保持30cm间距解决了问题。对于关键应用,可以考虑采用PROFIBUS DP通讯替代Modbus RTU以获得更高的可靠性。
