分享

九步玩转S7-200 SMART与G120 变频器Modbus通讯

 庭前春雪 2018-05-18

1、系统配置

1.1 软件

安装 Step7 Micro/Win SMART software(含 Modbus协议库)的PC机,本例中使用的是Step7 Micro-Win SMART V2.0。

1.2 硬件

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

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

图1-1 S7-200 SMART 界面

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

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

图2-1 控制单元端子图

2.2 G120 与S7-200 SMART接线

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

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

3、通信设置

3.1 设置通讯接口

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

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

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

图3-1 设置通信接口

3.2 建立PC和PLC之间的连接

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

第一步:搜索到 CPU 后,选择搜索到的CPU,点击CPU的”IP地址”。

第二步:点击“ 确定 ” 按钮,完成网络连接。

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

4、变频器参数设置

4.1 变频器地址设置

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

图 4-1 地址开关设置

4.2 变频器参数设置

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

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

4.3 G120常用寄存器说明

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

表4-3 常用寄存器说明

5、PLC编程

5.1 初始化程序

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

图 5-1 初始化

功能块说明:

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

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

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 写控制字

功能块说明:

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

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

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

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

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

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

DataPtr数据指针

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

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所示。

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

第二步:点击 “建议地址”, 选择 V存储器的地址;

第三步:点击 “确定”退出。

图6-1 分配库存储区

7、调试程序

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

第一步:点击“保存“,保存好编辑的程序;

第二步:点击“编译“,编译程序;

第三步:点击“下载“,把程序下载到PLC的CPU当中; 第四步:点击“运行“,启动程序。

图7-1 调试程序

8、监控状态表

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

图8-1状态表

控制字:VW100=16#047F 说明启动命令已经给了。

状态字:VW300=16#EF37 说明变频器的状态,参见 r0052。

主设定值:VW200=16#1000 说明速度设定值已经给了,16#0-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-1 Modbus错误代码表

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多