如何通过USS协议实现西门子S71200PLC与G120变频器的通信Word文档格式.docx
《如何通过USS协议实现西门子S71200PLC与G120变频器的通信Word文档格式.docx》由会员分享,可在线阅读,更多相关《如何通过USS协议实现西门子S71200PLC与G120变频器的通信Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
1)PM1207电源(6EP1332-1SH71)
2)S7-1214C(6ES7214-1BE30-0XB0)3)CM1241RS485(6ES7241-1CH30-0XB0)4)模拟器(6ES7274-1XH30-0XA0)本例中使用的G120变频器硬件为:
1)SINAMICSG120PM240(6SL3244-0BA20-1BA0)
2)SINAMICSG120CU240S(6SL3224-0BE13-7UA0)
3)SIEMENSMOTOR(1LA7060-4AB10)4)操作面板(XAU221-001469)
5)USS通信电缆(6XV1830-0EH10)
3(软件需求
1)编程软件Step7BasicV10.5(6ES7822-0AA0-0YA0)
4(组态
7-1214C和我们通过下述的实际操作来介绍如何在Step7BasicV10.5中组态SG120变频器的USS通信。
4.1PLC硬件组态
首先在Step7BasicV10.5中建立一个项目,如图1所示。
图2:
新建S71200项目
在硬件配置中,添加CPU1214C和通信模块CM1241RS485模块,如图2所示。
图3:
S71200硬件配置
在CPU的属性中,设置以太网的IP地址,建立PG与PLC的连接,如下图所示。
图4:
S71200IP地址的设置
4.2G120参数设置
变频器的参数设置如下表所示。
序号功能参数设定值1工厂设置复位P0010302工厂设置复位P97013快速启动设置P001014电机额定电压P0304380V5电机额定功率P03075.5KW
6电机额定频率P031050Hz7电机额定转速P03111350r/min8USS命令源P070059频率设定源P01000510最小电机频率P10800.0Hz11最大电机频率P108150.0Hz12启动斜坡时间P112010.0S13延迟斜坡时间P112110.0S14结束快速启动设置P3900115激活专家模式P0003316参考频率P200050.0Hz17USS数据传输速度P2010918USS从站地址P2011119USSPZD长度P2012220USSPKW长度P2013421通信监控P2014022在E2PROM保存数据P0971123激活专家模式P0003324激活参数模式P00103025从G120中传输参数到BOPP08021表1:
G120变频器的参数设置
注意:
表1中的17,18,19,20这四项参数值的设置必须使PLC的参数值与变频器的参数值相一致。
而19,20这两个参数值必须设置成如表1中的值,否则有可能变频器与S7-1200通信有如下问题:
可能不能读出从变频器反馈回来的参数值。
5(USS通信原理与编程的实现
5.1S71200PLC与G120通过USS通信的基本原理
S71200提供了专用的USS库进行USS通信,如下图所示:
图5:
S71200专用的USS库
USS_DRV功能块是S7-1200USS通信的主体功能块,接受变频器的信息和控制变频器的指令都是通过这个功能快来完成的。
必须在主OB中调用,不能在循环中断OB中调用。
USS_PORT功能块是S7-1200与变频器USS通信的接口,主要设置通信的接口参数。
可在主OB或中断OB中调用。
USS_RPM功能块是通过USS通信读取变频器的参数。
必须在主OB中调
用,不能在循环中断OB中调用。
USS_WPM功能块是通过USS通信设置变频器的参数。
这些专用功能块与变频器之间的控制关系如下图所示:
图6:
USS通信功能块与变频器的控制关系
USS_DRV功能块通过USS_DRV_DB数据块实现与USS_PORT功能块的数据接收与传送,而USS_PORT功能块是S7-1200PLCCM1241RS485模块与变频器之间的通信接口。
USS_RPM功能块和USS_WPM功能块与变频器的通信与USS_DRV功能块的通信方式是相同的。
每个S7-1200CPU最多可带3个通信模块,而每个CM1241RS485通信模块最多支持16个变频器。
因此用户在一个S7-1200CPU中最多可建立3个USS网络,而每个USS网络最多支持16个变频器,总共最多支持48个USS变频器。
5.2S71200PLC进行USS通信的编程
1(USS通信接口参数功能块的编程
USS通信接口参数功能块的编程如下图所示。
图7:
USS通信接口参数功能块的编程
USS_PORT功能块用来处理USS网络上的通信,它是S71200CPU与变频器的通信借口。
每个CM1241RS485模块有且必须有一个USS_PORT功能块。
PORT:
指的是通过哪个通信模块进行USS通信。
BAUD:
指的是和变频器进行通行的速率。
变频器的参数P2010种进行设置。
USS_DB:
指的是和变频器通信时的USS数据块。
每个通信模块最多可以有16个USS数据块,每个CPU最多可以有48个USS数据块,具体的通信情况要和现场
1200进行通信的数据块是唯一的。
实际情况相联系。
每个变频器与S7-
ERROR:
输出错误。
STATUS:
扫描或初始化的状态。
S7-1200PLC与变频器的通信是与它本身的扫描周期不同步的,在完成一次与变频器的通信事件之前,S7-1200通常完成了多个扫描。
USS_PORT通信的时间间隔是S7-1200与变频器通信所需要的时间,不同的通信波特率对应的不同的USS_PORT通信间隔时间。
下图列出了不同的波特率对应的USS_PORT最小通信间隔时间。
图8:
不同的波特率对应的USS_PORT最小通信间隔时间
USS_PORT在发生通信错误时,通常进行3次尝试来完成通信事件,那么S7-1200与变频器通信的时间就是USS_PORT发生通信超时的时间间隔。
例如:
如果通信波特率是57600,那么USS_PORT与变频器通信的时间间隔应当大于最小的调用时间间隔,即大于36.1Ms而小于109Ms。
S7-1200USS协议库默认的通信错误超时尝试次数是2次。
基于以上的USS_PORT通信时间的处理,我们建议在循环中断OB块中调用USS_PORT通信功能块。
在建立循环中断OB块时,我们可以设置循环中断OB块的扫描时间,以满足通信的要求。
循环中断OB块的扫描时间的设置如下图所示:
图9:
循环中断OB块的扫描时间的设置
2(USS_DRV功能块的编程
USS_DRV功能块的编程如下图所示。
图10:
USS_DRV功能块的编程
USS_DRV功能块用来与变频器进行交换数据,从而读取变频器的状态以及控制变频器的运行。
每个变频器使用唯一的一个USS_DRV功能块,但是同一个CM1241RS485模块的USS网络的所有变频器(最多16个)都使用同一个USS_DRV_DB。
USS_DRV_DB:
指定变频器进行USS通信的数据块。
RUN:
指定DB块的变频器启动指令。
OFF2:
紧急停止,自由停车。
该位为0时停车。
OFF3:
快速停车,带制动停车。
F_ACK:
变频器故障确认。
DIR:
变频器控制电机的转向。
SPEED_SP:
变频器的速度设定值。
程序输出错误。
RUN_EN:
变频器运行状态指示。
D_DIR:
变频器运行方向状态指示。
INHIBIT:
变频器是否被禁止的状态指示。
FAULT:
变频器故障。
SPEED:
变频器的反馈的实际速度值。
DRIVE:
变频器的USS站地址。
变频器参数P2011设置。
PZD_LEN:
变频器的循环过程字。
变频器参数P2012设置。
注意:
变频器的PKW的长度在这里是特殊需要注意的,在使用USS通信时必须是4,如果改成3或者127都将不能读取反馈回来的过程值。
3(USS_RPM功能块的编程
USS_RPM功能块的编程如下图所示。
图11:
USS_RPM功能块的编程
USS_RPM功能块用于通过USS通信从变频器读取参数。
REQ:
读取参数请求。
PARAM:
变频器的参数代码。
INDEX:
变频器的参数索引代码
USS_DB:
指定变频器进行USS通信的数据块。
DONE:
读取参数完成。
读取参数错误。
读取参数状态代码。
VALUE:
所读取的参数的值。
进行读取参数功能块编程时,各个数据的数据类型一定要正确对应。
如果需要设置变量读取参数时,注意该参数变量的初始值不能为0,否则容易产生通信错误。
4(USS_WPM功能块的编程
USS_WPM功能块的编程如下图所示。
图12:
USS_WPM功能块的编程
USS_WPM功能块用于通过USS通信设置变频器的参数。
REQ:
变频器的参数索引代码。
EEPROM:
把参数存储到变频器的EEPROM。
设置参数的值。
读取参数错误状态。
对写入参数功能块编程时,各个数据的数据类型一定要正确对应。
如果需要设置变量进行写入参数值时,注意该参数变量的初始值不能为0,否则容易产生通信错误。
5.3S71200PLC进行USS通信的调试
S7-1200PLC通过CM1241RS485模块与变频器进行USS通信时,需要注意如下几点:
1.当同一个CM1241RS485模块带有多个(最多16个)USS变频器时,
这个时候通信的USS_DB是同一个,USS_DRV功能块调用多次