工业自动化领域中,PLC与变频器的通讯集成是最常见的应用场景之一。西门子S7-200 SMART作为经济型PLC的代表,与三菱E740变频器的组合在中小型自动化项目中具有典型性。这个项目要解决的核心问题是:如何通过标准通讯协议实现PLC对变频器的精确控制。
在实际产线上,这种组合常出现在输送带控制、风机调速、泵类设备等场景。相比传统的硬接线控制方式,通讯控制可以节省大量IO点,同时实现更丰富的监控功能。我曾在一个食品包装线项目中,用这套方案替代了原有的继电器控制,故障率降低了60%。
S7-200 SMART CPU本体自带RS485接口(端口0),与E740的PU接口通过屏蔽双绞线连接。接线时要注意:
重要提示:通电状态下插拔通讯线可能损坏端口,务必在断电状态下操作
E740支持Modbus RTU协议,而S7-200 SMART需要通过库指令实现Modbus主站功能。协议参数必须严格匹配:
STL复制LD SM0.1
MOVB 3, VB1000 // 波特率:3对应9600bps
MOVB 1, VB1001 // 校验:1对应偶校验
MOVB 0, VB1002 // 端口:0表示CPU本体RS485
MOVB 1, VB1003 // 超时:1秒
CALL MBUS_CTRL, VB1000, VB1004
STL复制// 读取输出频率(40001H)
LD M0.0
EU
MOVB 1, VB2000 // 从站地址
MOVW 16#4000, VW2001 // 寄存器地址
MOVB 1, VB2003 // 读1个字
MOVD &VB200, VD2004 // 数据存储区指针
CALL MBUS_MSG, VB2000, VB2008
E740的关键参数对应Modbus寄存器地址:
典型控制逻辑:
通过操作面板设置以下参数:
code复制Pr.117 = 1 // 站地址(与PLC程序一致)
Pr.118 = 96 // 波特率(96对应9600bps)
Pr.119 = 1 // 校验方式(1为偶校验)
Pr.120 = 1 // 通讯等待时间
Pr.121 = 9999 // 通讯超时设置
Pr.122 = 9999 // 通讯校验时间
Pr.338 = 1 // 通讯启动指令有效
Pr.339 = 1 // 通讯频率指令有效
当通讯异常时检查:
现象1:PLC报6号错误代码
现象2:变频器显示E.PUE
现象3:通讯时断时续
通讯周期优化:
数据滤波处理:
STL复制// 对读取的频率值进行滑动平均滤波
MOVW VW200, VW300 // 新采样值
-I VW302, 4, VW302 // 减去最早的值
MOVW VW300, VW306 // 存入队列
+I VW302, VW300, VW302 // 累加
/I 4, VW302 // 求平均
这套方案在多个现场应用中表现出色,最长的已经无故障运行超过2年。关键是要做好线路防护和参数备份,每次设备维护后建议重新校验通讯参数。对于需要更高实时性的场合,可以考虑改用PROFIBUS通讯模块(需额外成本),但在大多数变频控制场景中,Modbus RTU已经完全够用。