1.系统配置
1.1软件
安装STEP 7-MicroWIN SMART(标配Modbus RTU协议库)软件的PC机,本应用测试使用S7-200Smart PLC编程软件STEP 7-MicroWIN SMART版本为V2.8。本测试Modbus RTU通信引入奇校验控制变频器频率、启停和运行故障监测,增加通信可靠性。
1.2硬件
⑴西门子S7-200 Smart PLC型号:ST30,货号:6ES7288-1ST30-0AA1;
⑵西门子V20变频器型号:6SL3210-5BE15-5UV0,0.55kW;
⑶异步电动机一台(自选,电机功率不得大于变频器驱动功率。可不选,参考变频器运行状态,但报A922故障后变频器停机);
⑷用于Modbus RTU通信的9针通信公头串口。
2.硬件接线
2.1西门子V20变频器供电接线
三相V20变频器动力电硬件接线端子主要包括:
⑴变频器进线:L1、L2/N、L3和PE(单相变频器则为L1、L2/N和PE,需接入单相电测试)需接入三相电才能测试;
⑵电机接线:U、V、W和PE;
⑶Modbus RTU通信接线:参见连接宏Cn011设置,通讯端子P+和N-。

2.2 V20变频与门子S7-200Smart PLC接线
西门子S7-200 Smart与单台V20变频器RS485接口硬件如下:

西门子PLC Modbus RTU通信与多台V20变频器硬件接线如下,连接接口定义如下表所示:
|
西门子S7-200 Smart |
V20变频器 |
说明 |
|
端子 |
名称 |
功能 |
|
3 |
P+ |
RS485+ |
|
8 |
N- |
RS485- |
|
2(或 5) |
0V |
基准值 |
RS485 Modbus RTU通讯最多设置31台从站,必须在位于总线一端装置的总线端子(P+, N-)之间连接一个120R的总线终端电阻,在位于总线另一端的装置的总线端子之间连接一个终端网络。终端网络由10V与P+端子间的1.5k电阻、P+与N-端子间的120R电阻以及N-与0V端子间的470R电阻组成,终端网络货号:6SL3255-0VC00-0HA0。主站PLC支持RS485 通信,其0V接引脚2(24V 返回)或接引脚5(5V返回),此外注意保持主站和最后一个中断网络不能断电,否则通信网络将发生异常(PLC通信端子2/5端必须与变频器0V作等位连接,否则 Modbus RTU 通信易受干扰)。

3.V20变频器设置
3.1 V20变频器连接宏-Cn011介绍
V20变频器USS通信连接宏-Cn011设置及其参数介绍如下图和下表:

连接宏-Cn011参数设置:

注意事项:
⑴V20变频器在出厂首次设置Cn011后,上述参数自动设置(Modbus TRU通讯协议,波特率9600bps,Modbus地址1,通讯超时1s,偶校验,1个停止位(偶校验和1个停止位首次设置为一致,后续更改需注意));
⑵调试变频器时,连接宏设置为一次性设置。在更改上次的连接宏设置前,务必执行以下操作:
①重新进行快速调试操作并更改连接宏和重启V20变频器;
②对变频器设置通常需要获取专家模式权限,专家访问权限P0003=3设置方法如下:
按“
”键选择参数P0003,按“
”键进入In000,按“
”或“
”键选择3,再次按按“”键确认设置。按“
”键返回参数P0003。
③对变频器进行工厂复位(P0010=30,P0970=1),连接宏Cn010和Cn011中所涉及的通讯参数P2010、P2011、P2021及P2023无法通过工厂复位来自动复位。如有必要,请手动复位这些参数。更改连接宏Cn010和Cn011中的参数P2023后,须对变频器重新上电。在此过程中,请在变频器断电后等待数秒,确保LED灯熄灭或显示屏空白后方可再次接通电源;
⑶使用Cn011宏指令设置后,V20变频器在PLC通信测试故障(数值3),检查变频器P2034值为0(无检验),改为P2034=2如上图为偶校验。P2035值为2(两个停止位),改为P2035=1如上图为1个停止位(与200Smart PLC一致,仅支持1个停止位)。P2014该宏指令下默认100,用于变频器通信中断监测,保证通信控制安全。建议设为P2014=1500或更大(多台V20变频器Modbus RTU通信P2014值可能达到9000),否则易报F72(特别是设备上电运行时)故障。
⑷多台变频器Modbus RTU通信时需按顺序配置地址P2021[0]依次设置1、2、3、…、32,需要配置“RS485终端电阻”和“RS485终端网络”,规格如前所述。
3.2 V20变频器连接宏-Cn011设置
V20变频器默认为首次设置步骤如下,Modbus RTU连接宏-Cn011设置,进入-Cn000方式如下图所示:

在进入-Cn000(说明:连接宏前无“-”表示可设置的连接宏,有“-”表示当前选定的连接宏)后,按照如下图所示方法将Cn011设置为当前选定的连接宏-Cn011,按OK确认即“Cn011”显示“-Cn011”,常按M返回到运行界面,此时指示灯绿色常亮。

此外,V20变频器设置宏指令成功后,上图指示灯应有绿色闪烁(调试模式)变为绿色常亮(准备就绪)状态。

3.3 V20变频器电机参数设置
V20 变频器电机主要参数设置如下(表中“●”表明此参数的值必须按照电机铭牌数据进行设置):

注意事项:
⑴P0100为客户设备电源供电频率;
⑵P0310为电机铭牌标注的额定电机频率,在供电频率为50Hz(P0100=50Hz)时,电机铭牌额定频率为60Hz时,则应设置P0310=60Hz,即与电机铭牌额定频率一致,否则电机负载电流明显增大,电机存在发热;
⑶电机频率与电机负载电流之间无直接关系;
⑷变频器在就绪状态(P0010=0,绿色指示灯常亮)电机参数不可更改,只有在快速调试状态可更改电机参数(P0010=1,绿色指示灯闪烁)。
3.4 V20变频器能耗制动
V20变频器能耗制动参见《西门子S7-200 SMART PLC与4台V20变频器USS通信的方法》相关内容。
3.5 V20变频器Modbus RTU通信地址
常用Modbus RTU通信地址如下表所示:

其中:
⑴变频器启停及故障复位(r0054.0…15)
变频器控制字40100如下表,用于变频器的启、停(V20变频器启动前必须先停止(16#047E)才能启动(16#047F))和故障复位:
|
Modbus RTU地址 |
设定值 |
备注 |
|
40100 |
16#047E |
准备、停机 |
|
16#047F |
启动 |
|
|
16#04FE |
故障复位 |
⑵变频器速度设定
变频器默认情况下,对应速度设定值40101中数值和频率关系为327.68对应1Hz。
⑶变频器状态监测(参考r0052.0…15)
变频器状态字40110用于变频器故障监测,如下图r0052.0…15状态字定义:

此外,本测获取的状态字(VW200)如下表可知,状态字的高低字节需要对调,也即变频器的故障和报警监测位于该字的高字节,即V201.3为变频器故障监测,V201.7为报警监测。

4.S7-200Smart PLC与V20变频器Modbus RTU通信地址
综上S7-200Smart PLC控制V20变频器常用通信及控制参数如下:
|
功能 |
Modbus RTU通信地址 |
说明 |
|
启停、故障复位 写入 |
40100 |
16#047E:准备/停机 |
|
16#047F:启动 |
||
|
16#04FE:故障复位 |
||
|
频率写入 |
40101 |
PLC通信默认频率327.68对应1Hz |
|
状态读取 (故障/报警) |
40110 |
V201.3:故障监测(若默认状态读取地址VW200时,即V**1.3) |
|
V201.7:报警监测(若默认状态读取地址VW200时,即V**1.7) |
5.PLC编程
5.1PLC编程及设置如下:
⑴PLC编程









以上为S7-200Smart PLC从站(单台)的Modbus RTU通讯应用程序,与控制相关的变量及功能总结如下:
①频率设置:VW100;
②启停控制:M1.1;
③故障复位:V21.4;
④故障监测:M0.3。
⑵PLC设置(分配库存储区)
在编译程序之前,首先要为Modbus库分配可用的全局V存储器地址,如下图所示:
第一步:选择“程序块”右键,选择“库存储区”;
第二步:点击“建议地址”,选择 V 存储器的地址;
第三步:点击“确定”退出。

5.2部分程序解析
⑴初始化及循环左移轮询

本轮询好处是从站任意通信完成即可触发该双字左移1位,某一从站通信故障不影响本系统与其它从站通信,同时设置PLC轮询失败重复次数为0,轮询失败为触发PLC控制变频器停机创造条件以及变频器通讯超时停机设置,共同保证基于Modbus RTU通信控制变频器运行的安全性,通过循环左移指令最大可实现32个从站轮询。
⑵Modbus RTU通讯初始化

如上图采用PLC库中MBUS_CTRL模块进行Modbus RTU 通信初始化,1个主从站系统中只调用1个MBUS_CTRL模块,各端口介绍如下:
|
端口 |
名称 |
说明 |
|
EN |
使能端 |
一直保持接通 |
|
Mode |
模式 |
Mode=1为Modbus通信;Mode=0为PPI系统通信 |
|
Baud |
波特率 |
通常为9600bps,PLC和变频器波特率需保持一致 |
|
Parity |
奇偶校验 |
0(无奇偶校验)、1(奇校验)和2(偶校验) |
|
Port |
端口 |
0(通常设置,CPU中集成的RS485);1(可选CM01信号板上的RS485或RS232) |
|
Timeout |
超时 |
通常设置1500(即1s,与变频器对应设置一致),可以设置为1ms到32767ms之间的任何值 |
|
Done |
完成 |
初始化完成为1(TRUE),失败为0(FASE) |
|
Error |
错误 |
输出包含指令执行的结果,具体参考应用手册。 |
⑵从站读写操作

如上图采用PLC库中MBUS_MSG模块进行从站的指令控制,1个主从站系统中可以调用多个MBUS_MSG模块,各端口介绍如下:
|
端口 |
名称 |
说明 |
|
EN |
使能 |
轮询到时触发 |
|
Frist |
沿触发 |
与EN均接通,且Frist上升沿方式检测元素 |
|
Slave |
从站地址 |
1-247,与从站变频器侧设置地址保持一致,0为广播地址 |
|
RW |
读写指令 |
1为写入从站指令;0为读取从站指令 |
|
Addr |
地址 |
读写变频器具体参数位置,V20变频器与200Smart PLC通信地址兼容,依据V20提供的通信地址直接进行读写。 |
|
Count |
计数 |
实际限值取决于Modbus从站设备的限制,表示连续读取或写入变频器的地址。本版本变频器启停、频率地址相邻但不能通过连续轮询实现控制,故Count=1,采取独立轮询读控制。 |
|
DataPtr |
间接地址指针 |
指向CPU中与读/写请求相关的数据的V存储器。对于读请求,将DataPtr设置为用于存储从Modbus从站读取的数据的第一个CPU存储单元。对于写请求,将DataPtr设置为要发送到Modbus从站的数据的第一个CPU存储单元。 |
|
Done |
完成 |
在程序已发送请求之后、程序接收响应之前,Done输出为FALSE。响应完成或MBUS_MSG指令因错误中止时,Done输出为TRUE。 |
|
Error |
错误 |
仅当Done输出为TRUE时,Error输出才有效,具体代码含义参考应用手册 |




