S7-200 SMART与G120 变频器Modbus通讯详解

sw

1、系统配置

1.1软件

安装Step7Micro/WinSMARTsoftware(含Modbus协议库)的PC机,本例中使用的是。

1.2硬件

G120配备CU240E-2控制单元的变频器一台、异步电机一台、S7-200SMARTPLC一台、标准DRIVE-CLIQ电缆一根、双绞屏蔽电缆一根。本例中,使用的G120的控制单元CU240E-2固件版本。

注意:在使用MicroWinsoftware创建项目之前,确认Modbus库文件已经存在。


图1-1S7-200SMART界面

2、硬件接线2.1CU240E-2控制单元接口

CU240E-2控制单元端子排如图2-1,RS485接口在控制单元的底部,共有5个接线端子,其中从左到右,2号端子为RS485P,3号端子为RS485N,这两端子用于通信数据的发送和接收。


图2-1控制单元端子图

2.2G120与S7-200SMART接线


图2-2PLC和控制器接线图

S7-200SMART作为Modbus通信主站,其通信端口和变频器从站的接线如图2-2。在通信网络的首、末端需要使用终端电阻。对于S7-200SMART,需要在通信端口端子3和8之间连接一阻值为120欧姆的电阻。对于变频器,把通信网络末端的CU240E-2终端电阻拨码开关拨到ON位置即可(位置在图2-1中,标号⑨);中间位置的CU240E-2,终端电阻拨码开关必须拨到OFF位置。本例中,S7-200SMART使用CPU自带通信端口和变频器进行通信。

3、通信设置

3.1设置通讯接口

本例程使用PLC以太网接口和DRIVE-CLIQ电缆,设置通信接口,如下图3-1。

第一步:双击“通信”,弹出“通信”设置窗口;

第二步:选择网络接口卡,设置为“ICP/”,系统会自动收索CPU。

图3-1设置通信接口

3.2建立PC和PLC之间的连接

选择“网络接口”后自动搜索到CPU,如图3-2。

图3-2建立S7-200CPU和控制器连接

4、变频器参数设置

4.1变频器地址设置

变频器的Modbus通信地址可以通过控制单元上的总线地址拨码开关进行设置,如图4-1。当地址拨码开关的位置都为OFF时,也可用过参数P2021进行设置。(说明:改变地址后需重新上电后才能生效)

图4-1地址开关设置

4.2变频器参数设置

对变频器一些基本的通信参数进行设置,才可以进行Modbus通信,如表4-2所示:

表4-2变频器的参数设置

4.3G120常用寄存器说明

G120变频器常用寄存器介绍,也是本例所使用的寄存器,如表4-3。要了解更多的G120寄存器信息,请参见G120操作手册。

表4-3常用寄存器说明

5、PLC编程

5.1初始化程序

使用Modbus协议的初始化模块MBUS_CTRL,初始化S7-200SMART的CPU端口专用于Modbus主站通信,如图5-1。

图5-1初始化

功能块说明:

注:此处以及下文的“功能块说明”仅介绍了功能块内的主要管脚功能,未说明的管脚功能,请参考软件的帮助文件。

EN使能:必须保证每一扫描周期都被使能(使用

Mode模式:为1时,使能Modbus协议功能;为0时恢复为系统PPI协议。Baud波特率:支持的通讯波特率为4800,9600,19200,此处设置9600。Parity校验:校验方式选择(G120采用偶校验)

0=无校验

1=奇较验

2=偶较验

Port端口:设置物理通信端口(0=CPU中集成的RS-485,1=可选CM01信号板上的RS-485或RS-232)。

Timeout超时:主站等待从站响应的时间,以毫秒为单位,典型的设置值为1000毫秒(1秒),允许设置的范围为1-32767。注意:这个值必须设置足够大以保证从站有时间响应。

Done完成位:初始化完成,此位会自动置1。

Error:初始化错误代码。

5.2主站读写功能块

5.2.1写控制字

图5-2写控制字

功能块说明:

注:此处以及下文的“功能块说明”仅介绍了功能块内的主要管脚功能,未说明的管脚功能,请参考软件的帮助文件。

EN使能:同一时刻只能有一个读写功能(即MBUS_MSG)使能。注意:G120对于写指令同一时刻只运行对一个保持寄存器操作;读指令同一时刻最大允许操作125个保持寄存器。

First读写请求位:每一个新的读写请求必须使用脉冲触发。

Slave从站地址:可选择的范围1-247

RW请求方式:0=读,1=写

Count数据个数:通讯的数据个数(位或字的个数)。注意:Modbus主站可读/写的最大数据量为120个字(是指每一个MBUS_MSG指令)。

DataPtr数据指针:

如果是读指令,读回的数据放到这个数据区中;

2.如果是写指令,写出的数据放到这个数据区中。

Done完成位:读写功能完成位。

Error错误代码:只有在Done位为1时,错误代码才有效。

常用的控制字:

047E:运行准备

047F:正转启动

0C7F:反转启动

04FE:故障确认

5.2.2写速度设定值

图5-3写速度值

5.2.3读状态字和速度实际值

图5-4读状态字1和速度实际值

5.2.4读取斜坡时间

图5-5读参数P1120、P1121

5.2.5写斜坡下降时间

图5-6写参数P1121

6、分配库存储区

在编译程序之前,首先要为Modbus库分配可用的全局V存储器地址,如图6-1所示。

第一步:选择“程序块”-“库”右键,选择“库存储区”;

图6-1分配库存储区

7、调试程序

程序编辑完成后,要调试程序,如下图7-1所示。

图7-1调试程序

8、监控状态表

通过监控状态表,可以修改过程数据和监控过程数据的变化状态,如图8-1所示。

图8-1状态表

控制字:VW100=16EF37说明变频器的状态,参见r0052。

主设定值:VW200=160-4000对应转速0-P2000的值。

速度实际值:VW302=16#1000说明电机实际转速已经运行到375rpm。斜坡上升时间:VW400=1000,从寄存器列表中可以看到40322的寄存器的定标系数是100,所以参数P1120=1000/100=10。

斜坡下降时间:VW402=2000,读的下降时间;VW500=2000,设定的下降时间;VW402=VW500,说明写指令已经生效。从寄存器列表中可以看到40323的寄存器的定标系数是100,所以参数P1121=2000/100=20。

9、Modbus错误代码

Done完成位:Modbus功能块的完成位,用于确定功能块的操作是否完成;

Error错误代码:只有在Done位为1时,错误代码才有效。Modbus错误代码及含义如表9-1所示。

表9-1Modbus错误代码表

文章版权声明:除非注明,否则均为纵投光影网原创文章,转载或复制请以超链接形式并注明出处。

上一个 锐取信息:如何保养和清洗录播镜头

下一个 「图文+视频」C4D野教程:实景照片合成动画制作案例