
芜湖西门子一级代理商
西门子S7-1200 紧凑型plc在当前的市场中有着广泛的应用,作为经常与SINAMICS G120系列变频器共同使用的PLC,其USS通信协议的使用一直在市场上有着非常广泛的应用。本文将主要介绍如何使用USS通信协议来实现S7-1200与G120变频器的通信。 下图是本例中所使用的原理和接线图。
本例中使用的PLC硬件为: 本例中使用的G120变频器硬件为:
1) 编程软件 Step7 Basic V10.5 ( 6ES7 822-0AA0-0YA0)
我们通过下述的实际操作来介绍如何在Step7 Basic V10.5 中组态S7-1214C 和G120变频器的USS通信。 4. 1 PLC 硬件组态 在Step7 Basic V10.5中建立一个项目,如图1所示。
在硬件配置中,添加CPU1214C和通信模块CM1241 RS485模块,如图2所示。
在CPU的属性中,设置以太网的IP地址,建立PG与PLC的连接,如下图所示。
4. 2 G120参数设置 变频器的参数设置如下表所示。 序号功能参数设定值1工厂设置复位P0010302工厂设置复位P97013快速启动设置P001014电机额定电压P0304380V5电机额定功率P03075.5KW6电机额定频率P031050Hz7电机额定转速 P03111350r/min8USS命令源P070059频率设定源P01000510小电机频率P10800.0Hz11大电机频率P108150.0Hz12启动斜坡时间P112010.0S13延迟斜坡时间P112110.0S14结束快速启动设置P3900115 激活专家模式P0003316参考频率P200050.0Hz17USS数据传输速度P2010918USS从站地址P2011119USS PZD长度P2012220USS PKW长度P2013421 通信监控P2014022在E2PROM 保存数据P0971123激活专家模式P0003324激活参数模式P00103025从G120中传输参数到BOPP08021 表1 :G120变频器的参数设置 注意:表1中的17,18,19,20 这四项参数值的设置必须使PLC的参数值与变频器的参数值相一致。而19,20这两个参数值必须设置成如表1中的值,否则有可能变频器与S7-1200通信有如下问题:可能不能读出从变频器反馈回来的参数值。
5. 1 S7 1200 PLC与G120 通过USS通信的基本原理 S7 1200提供了专用的USS库进行USS通信,如下图所示:
USS_DRV 功能块是S7-1200 USS通信的主体功能块,接受变频器的信息和控制变频器的指令都是通过这个功能快来完成的。必须在主 OB中调用,不能在循环中断OB中调用。 这些专用功能块与变频器之间的控制关系如下图所示:
USS_DRV功能块通过USS_DRV_DB数据块实现与USS_PORT功能块的数据接收与传送,而USS_PORT功能块是S7-1200 PLC CM1241 RS485模块与变频器之间的通信接口。USS_RPM功能块和USS_WPM功能块与变频器的通信与USS_DRV功能块的通信方式是相同的。 每个S7-1200 CPU多可带3个通信模块,而每个CM1241 RS485通信模块多支持16个变频器。用户在一个S7-1200 CPU中多可建立3个USS网络,而每个USS网络多支持16个变频器,总共多支持48个USS变频器。 5. 2 S7 1200 PLC进行USS通信的编程 1.USS通信接口参数功能块的编程
USS_PORT功能块用来处理USS网络上的通信,它是S71200 CPU与变频器的通信借口。每个CM1241 RS485模块有且必须有一个USS_PORT功能块。 PORT:指的是通过哪个通信模块进行USS通信。
USS_PORT在发生通信错误时,通常进行3次尝试来完成通信事件,那么S7-1200与变频器通信的时间就是USS_PORT发生通信超时的时间间隔。例如:如果通信波特率是57600,那么USS_PORT与变频器通信的时间间隔应当大于小的调用时间间隔,即大于36.1Ms而小于109Ms。S7-1200 USS 协议库默认的通信错误超时尝试次数是2次。
2.USS_DRV功能块的编程
USS_DRV功能块用来与变频器进行交换数据,从而读取变频器的状态以及控制变频器的运行。每个变频器使用唯一的一个USS_DRV功能块,同一个CM1241 RS485模块的USS网络的所有变频器(多16个)都使用同一个USS_DRV_DB。 USS_DRV_DB:指定变频器进行USS通信的数据块。 ERROR: 程序输出错误。 DRIVE: 变频器的USS站地址。变频器参数P2011设置。 注意:变频器的PKW的长度在这里是特殊需要注意的,在使用USS通信时必须是4,如果改成3或者127都将不能读取反馈回来的过程值。
USS_RPM功能块的编程 如下图所示。
USS_RPM功能块用于通过USS通信从变频器读取参数。 REQ: 读取参数请求。 DONE: 读取参数完成。 注意:进行读取参数功能块编程时,各个数据的数据类型一定要正确对应。如果需要设置变量读取参数时,注意该参数变量的初始值不能为0,否则容易产生通信错误。
USS_WPM功能块的编程如下图所示。
USS_WPM 功能块用于通过USS通信设置变频器的参数。 DONE: 读取参数完成。 注意:对写入参数功能块编程时,各个数据的数据类型一定要正确对应。如果需要设置变量进行写入参数值时,注意该参数变量的初始值不能为0,否则容易产生通信错误。
S7-1200 PLC 通过CM1241 RS485模块与变频器进行USS通信时,需要注意如下几点: 当同一个CM1241 RS485 模块带有多个(多16个)USS变频器时,这个时候通信的USS_DB是同一个,USS_DRV功能块调用多次,每个USS_DRV功能块调用时,相对应的USS站地址与实际的变频器要一致,而其它的控制参数也要一致。 当同一个S7-1200 PLC 带有多个CM1241 RS485模块(多3个)时,这个时候通信的USS_DB相对应的是3个,每个CM1241 RS485模块的USS网络使用相同的USS_DB,不同的USS网络使用不同的USS_DB。 当对变频器的参数进行读写操作时,注意不能进行USS_RPM和USS_WPM的操作,并且同一时间只能进行一个参数的读或者写操作,而不能进行多个参数的读或者写操作。 在S7-1200 PLC 与变频器的USS通信的实际使用过程中,需要根据网络的现场情况,对问题进行具体的解决 |