1. 西门子S7-200SMART与三菱变频器通讯方案概述
在工业自动化控制系统中,PLC与变频器的通讯是实现设备联动控制的核心技术。西门子S7-200SMART作为一款经济型PLC,通过MODBUS RTU协议与三菱变频器建立通讯,可以实现对变频器的启停、频率给定、运行状态监控等功能。这种方案在风机水泵控制、传送带调速、机床主轴控制等场景中具有广泛应用价值。
关键提示:MODBUS RTU通讯的稳定性取决于波特率、数据位、停止位等参数的匹配程度,实际项目中需确保双方设备参数完全一致。
2. 硬件连接与配置
2.1 硬件接口准备
西门子S7-200SMART CPU模块自带RS485接口(端口0),采用DB9母头连接器,引脚定义如下:
| 引脚号 | 信号名称 | 三菱变频器对应端子 |
|---|---|---|
| 3 | B(+) | SDA |
| 8 | A(-) | SDB |
| 5 | GND | 接地端子 |
实际接线时需使用双绞屏蔽电缆,屏蔽层单端接地(通常在PLC侧接地)。通讯距离超过50米时,建议增加RS485中继器。
2.2 三菱变频器参数设置
以三菱FR-E700系列为例,需要设置的参数包括:
code复制Pr.117 - 站号:1(默认)
Pr.118 - 波特率:19200(需与PLC一致)
Pr.119 - 停止位:1(需与PLC一致)
Pr.120 - 奇偶校验:2(偶校验)
Pr.121 - 通讯重试次数:3
Pr.122 - 通讯校验时间:9999(无超时)
Pr.123 - 等待时间设置:0
Pr.124 - CR/LF选择:0
操作心得:变频器参数修改后必须断电重启才能生效,这是新手常忽略的关键步骤。
3. PLC程序开发
3.1 MODBUS RTU主站库配置
西门子S7-200SMART使用MODBUS RTU协议需要调用库指令:
- 在STEP 7-Micro/WIN SMART中导入"MBUS_CTRL"和"MBUS_MSG"指令
- 建立初始化程序段:
STL复制LD SM0.1
CALL MBUS_CTRL, 1, 19200, 0, 1000, M0.0, MB1
参数说明:
- 19200:波特率
- 0:偶校验(1为奇校验,2为无校验)
- 1000:超时时间(ms)
- M0.0:就绪标志位
- MB1:错误代码
3.2 读写功能实现
读取变频器运行频率(地址0002H)的示例程序:
STL复制LD M0.0
EU
CALL MBUS_MSG, 1, 0, 1, 2, &VB100, 2, M0.1, MB2
参数解析:
- 1:读保持寄存器功能码
- 0:从站地址
- 1:起始地址(实际地址=0002H-1)
- 2:读取寄存器数量
- &VB100:数据存储区首地址
- M0.1:完成标志
- MB2:错误代码
写入运行频率(50Hz对应十六进制1388):
STL复制LD M0.0
EU
MOVW 16#1388, VW200
CALL MBUS_MSG, 1, 0, 6, 2, &VB200, 2, M0.2, MB3
4. 通讯调试技巧
4.1 常见问题排查表
| 故障现象 | 可能原因 | 解决方案 |
|---|---|---|
| 通讯超时 | 波特率不匹配 | 检查双方通讯参数设置 |
| 数据错误 | 接线极性反接 | 交换A/B线 |
| 偶发通讯中断 | 终端电阻未接 | 在末端设备加120Ω终端电阻 |
| 只能读不能写 | 变频器写保护使能 | 检查Pr.77参数是否为0 |
| 返回错误代码3 | 从站地址错误 | 确认变频器站号设置 |
4.2 调试工具推荐
- MODBUS Poll:用于模拟主站测试通讯
- 串口调试助手:监控原始数据帧
- 三菱FR Configurator:变频器参数配置工具
实测发现,当通讯间隔小于100ms时容易出现数据拥堵,建议:
- 设置轮询间隔≥200ms
- 重要参数采用心跳包机制(每5次轮询读取一次)
- 非关键参数可适当降低读取频率
5. 高级应用扩展
5.1 多变频器组网控制
通过站号区分多个变频器,程序示例:
STL复制// 轮询站号1的变频器
LD SM0.5
EU
MOVB 1, VB10
CALL MBUS_MSG, 1, VB10, 3, 0, &VB100, 10, M0.3, MB4
// 轮询站号2的变频器
LD M0.3
EU
MOVB 2, VB10
CALL MBUS_MSG, 1, VB10, 3, 0, &VB110, 10, M0.4, MB5
5.2 故障安全处理机制
- 通讯超时处理程序:
STL复制LD M0.0
A M0.1
TON T37, 2000 // 2秒超时定时器
LD T37
= M10.0 // 超时标志位
- 数据校验算法(CRC16)实现:
STL复制// 计算CRC16的子程序
MOVW 16#FFFF, LW0
FOR LW2, 1, 8
XORB *AR1, LW0
FOR LW4, 1, 8
SRW LW0, 1
LD SM1.1 // 检测移位出的位
XORW 16#A001, LW0
NEXT
INCB AR1
NEXT
6. 实际项目经验分享
在多个纺织机械项目中验证,以下参数组合稳定性最佳:
- 波特率:19200bps
- 数据格式:8位数据位、1位停止位、偶校验
- 轮询间隔:300ms
- 超时设置:1500ms
- 重试次数:3次
特别提醒:三菱变频器的参数地址需要注意:
- 频率给定:0002H(实际填写1)
- 运行命令:0000H(bit0=启动,bit1=正转/反转)
- 输出频率:0009H(只读)
遇到通讯干扰时,可尝试以下措施:
- 在PLC侧并联100Ω电阻
- 变频器侧串接磁环
- 将通讯电缆与动力线间距保持≥30cm
- 降低波特率至9600测试
通过实际测试,这套方案在200米距离内可稳定通讯,满足大多数工业现场需求。对于更复杂场景,建议采用PROFIBUS-DP或以太通讯方案。
