S7-1200与G120通信 S7-1200与G120通信 S7-1200与G120通信
西门子S7-1200紧凑型PLC在当前的市场中广泛存在的应用,作为经常与SINAMICS G120系列变频器共同使用的PLC,其USS通信协议的使用一直在市场上有着非常广泛的应用。如何使用USS通信协议来实现S7-1200与G120变频器的通信。
1.控制系统原理和接线图
下图是本例中所使用的原理和接线图。
图1:控制系统原理和接线图
2.硬件需求
S7-1200 PLC现有3种类型的CPU:
1)S7-1211C CPU。2
)S7-1212C CPU。3
)S7-1214C CPU。
这两种类型的CPU都可以使用USS通信协议通过通信模块CM1241 RS485来实现S7-1200与G120变频器的通信。
本例中使用的PLC硬件为:
1)PM1207电源(6EP1 332-1SH71)
2)S7-1214C(6ES7 214 -1BE30 -0XB0)
3)CM1241 RS485(6ES7 241 -1CH30 -0XB0)
4)模拟器(6ES7 274 -1XH30 -0XA0)
本例中使用的G120
变频器硬件为: 1)SINAMICS G120 PM240(6SL3244-0BA20-1BA0)
2)SINAMICS G120 CU240S(6SL3224-0BE13-7UA0)
3)西门子电机(1LA7060)
4操作10)4 -001469)
5)USS通信电缆(6XV1830-0EH10)
3.软件需求
1)编程软件Step7 Basic V10.5(6ES7 822-0AA0-0YA0)
4.布局
我们通过逐步的的实际操作来介绍如何在Step7 Basic V10.5中配置S7-1214C和G120变频器的USS通信。
4. 1 PLC硬件配置
首先在Step7 Basic V10.5中建立一个项目,如图1所示。
图2:新建S7 1200项目
在硬件配置中,添加CPU1214C和通信模块CM1241 RS485模块,如图2所示。
图3:S7 1200硬件配置
在CPU的属性中,设置以太网的IP地址,建立PG与PLC的连接,如下图所示。
图4:S7 1200 IP地址的设置
4. 2 G120参数设置
变频器的参数设置如下表所示。
序号 | 功能 | 参数 | 设定值 |
1个 | 工厂设置重置 | P0010 | 30日 |
2 | 工厂设置重置 | P970 | 1个 |
3 | 快速启动设置 | P0010 | 1个 |
*四名 | 电机额定电压 | P0304 | 380V |
5 | 电机额定功率 | 0 | 5.5千瓦 |
*六名 | 电机额定频率 | P0310 | 50赫兹 |
*七名 | 电机额定额定值 | 03 | 1350r /分钟 |
*八名 | USS命令源 | P0700 | 5 |
9 | 频率设定源 | P01000 | 5 |
10 | 较小电机频率 | P1080 | 0.0赫兹 |
11 | 较大电机频率 | P1081 | 50.0赫兹 |
*十二 | 启动斜坡时间 | P1120 | 10.0秒 |
13 | 衰减斜坡时间 | P1121 | 10.0秒 |
14日 | 结束快速启动设置 | P3900 | 1个 |
15日 | 激活*模式 | P0003 | 3 |
16 | 参考频率 | P2000 | 50.0赫兹 |
17日 | USS数据传输速度 | P2010 | 9 |
18日 | USS从站地址 | P2011 | 1个 |
19日 | USS PZD长度 | P2012 | 2 |
20日 | USS PKW长度 | P2013 | *四名 |
21日 | 通信监控 | P2014 | 0 |
22日 | 在E2PROM保存数据 | P0971 | 1个 |
23 | 激活*模式 | P0003 | 3 |
24 | 激活参数模式 | P0010 | 30日 |
25日 | 从G120中传输参数到BOP | P0802 | 1个 |
表1:G120变频器的参数设置
注意:表1中的17,18,19,20这四项参数值的设置必须使PLC的参数值与变频器的参数值相一致。而19,20这两个参数值必须设置成如表1中的值,否则存在可能的变频器与S7-1200通信有如下问题:可能不不能够从从变频器反馈回来的参数值。
5.USS通信原理与编程的实现
5. 1 S7 1200 PLC与G120通过USS通信的基本原理
S7 1200提供了一个**的USS库进行USS通信,如下图所示:
图5:S7 1200**的USS库
USS_DRV功能块是S7-1200 USS通信的主体功能块,接受变频器的信息和控制变频器的指令是通过这个功能快来完成的。必须在主OB中调用,不能在循环中断OB中调用。 USS_RPM功能块是通过USS通信读取变频器的参数。必须在主OB上。USS_RPM
功能块是S7-1200与变频器USS通信的接口,主要是设置通信的接口参数。中调用,不能在循环中断OB中调用。 USS_WPM功能块是通过USS通信设置变频器的参数。必须必须在主OB中调用,不能在循环中断OB中调用。
这些**功能块与变频器之间的控制关系如下图所示:
图6:USS通信功能块与变频器的控制关系
USS_DRV功能块通过USS_DRV_DB数据块实现与USS_PORT功能块的SPS CM1241 RS485串行通信。USS_RPM功能与变频器USS_WPM功能块和块.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通信接口参数功能块的编程如下图所示。
图7:USS通信接口参数功能块的编程
每个CM1241 RS485模块都有且必须有一个USS_PORT功能块。USS_PORT功能块是使用S71200 CPU与变频器的通信借口。
PORT:指的是通过哪个通信模块进行USS通信。
波特率:指的是和变频器进行通行的速率变频器的参数P2010种进行设置。
USS_DB:指的是和变频器通信时的USS数据块。每个变频器与S7-1200进行通信的数据块,每个CPU较多可以有16个USS数据块,每个CPU较多可以有48个USS数据块,具体的通信情况要和现场实际情况情况相联系。 S7-1200 PLC与变频器的通信是与它本身的扫描周期不同步的,在完成一次与变频器的通信事件之前,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次。在建立循环OB块时,我们可以设置循环OB块的扫描时间,以符合通信的要求。循环中断OB块是扫描时间的设置,如图所示:
图9:循环中断OB块的扫描时间的设置
2.USS_DRV功能块的编程
USS_DRV功能块的编程如下图所示。
图10:USS_DRV功能块的编程
每个变频器使用一的一个USS_DRV功能块,但是同一个CM1241 RS485模块的USS网络的所有变频器。器(较多16个)都使用同一个USS_DRV_DB。
USS_DRV_DB:*变频器进行USS通信的数据块。
RUN:*DB块的变频器启动指令。
OFF2:紧急停止,自由停车该位为0时停车。
OFF3:快速停车,带制动停车该位。为0时停车
F_ACK:变频器故障确认
DIR:变频器控制电机的转向。
SPEED_SP:变频器的速度设定值。
错误:程序输出错误
RUN_EN:变频器运行状态指示。
D_DIR:变频器运行方向状态指示。
INHIBIT:变频器是否被禁止的状态指示
FAULT:变频器故障。
SPEED:变频器的反馈的实际速度值值。
驱动器:变频器的USS站地址。变频器参数P2011设置
。PZD_LEN:变频器的循环过程字。变频器参数P2012设置。
注意:变频器的汽车的长度在这里是特殊需要注意的,在使用USS通信时必须是4,如果改成3或127都将不能读取反馈的过程值。
3.USS_RPM功能块的编程
USS_RPM功能块的编程如下图所示。
图11:USS_RPM功能块的编程
USS_RPM功能块通过USS通信从变频器读取参数。
REQ:读取参数请求
DRIVE:变频器的USS站地址
PARAM:变频器的参数代码
索引:变频器的参数索引代码
USS_DB:*变频器进行USS通信的数据块。
DONE:读取参数完成
ERROR:读取参数错误
状态:读取参数状态代码
值:所读取的参数的值。
注意:进行读取参数功能块的编程时间,各个数据的数据类型一定要正确对应。如果需要设置变量读取读取参数,请注意该参数的初始值不能为0,否则*产生通信错误。
4.USS_WPM功能块的编程
USS_WPM功能块的编程如下图所示。
图12:USS_WPM功能块的编程
USS _WPM功能块用于通过通信设置变频器的参数USS。
REQ:读取参数请求。
DRIVE:变频器的USS站地址。
PARAM:变频器的参数代码。
INDEX:变频器的参数索引代码
EEPROM:将参数存储到变频器的EEPROM。
值:设置参数的值
。USS_DB:*变频器进行USS通信的数据块。
DONE:读取参数完成
ERROR:读取参数错误状态
状态:读取参数状态代码。
注意:对写参数功能块编程时,各个数据的数据类型一定要正确对应。如果需要设置变量变量进行写入参数值时,请注意该参数的初始值不能为0,否则*产生通信错误。
5. 3 S7 1200 PLC进行USS通信的调试
S7-1200 PLC通过CM1241 RS485模块与变频器进行USS通信时,需要注意以下几点:
当同一个CM1241 RS485模块带有多个(较多16个)USS变频器时,这个时候通信的USS_DB是同一个,与实际的变频器要一致,而其他的控制参数也要一致。
当一个一个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通信的实际使用过程中,需要根据网络的现场情况,对问题进行具体的解决。