USS通信协议Word下载.docx
《USS通信协议Word下载.docx》由会员分享,可在线阅读,更多相关《USS通信协议Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
4.组态
我们通过下述的实际操作来介绍如何在Step7BasicV10.5中组态S7-1214C和G120变频器的USS通信。
4.1PLC硬件组态
首先在Step7BasicV10.5中建立一个项目,如图1所示。
图2:
新建S71200项目
在硬件配置中,添加CPU1214C和通信模块CM1241RS485模块,如图2所示。
图3:
S71200硬件配置
在CPU的属性中,设置以太网的IP地址,建立PG与PLC的连接,如下图所示。
图4:
S71200IP地址的设置
4.2G120参数设置
变频器的参数设置如下表所示。
序号
功能
参数
设定值
1
工厂设置复位
P0010
30
2
P970
3
快速启动设置
4
电机额定电压
P0304
380V
5
电机额定功率
P0307
5.5KW
6
电机额定频率
P0310
50Hz
7
电机额定转速
P0311
1350r/min
8
USS命令源
P0700
9
频率设定源
P01000
10
最小电机频率
P1080
0.0Hz
11
最大电机频率
P1081
50.0Hz
12
启动斜坡时间
P1120
10.0S
13
延迟斜坡时间
P1121
14
结束快速启动设置
P3900
15
激活专家模式
P0003
16
参考频率
P2000
17
USS数据传输速度
P2010
18
USS从站地址
P2011
19
USSPZD长度
P2012
20
USSPKW长度
P2013
21
通信监控
P2014
22
在E2PROM保存数据
P0971
23
24
激活参数模式
25
从G120中传输参数到BOP
P0802
表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数据块,具体的通信情况要和现场实际情况相联系。
每个变频器与S7-1200进行通信的数据块是唯一的。
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:
OFF2:
OFF3:
F_ACK:
DIR:
SPEED_SP:
RUN_EN:
D_DIR:
INHIBIT:
指定DB块的变频器启动指令。
紧急停止,自由停车。
该位为0时停车。
快速停车,带制动停车。
变频器故障确认。
变频器控制电机的转向。
变频器的速度设定值。
程序输出错误。
变频器运行状态指示。
变频器运行方向状态指示。
变频器是否被禁止的状态指示。
FAULT:
SPEED:
DRIVE:
PZD_LEN:
变频器故障。
变频器的反馈的实际速度值。
变频器的USS站地址。
变频器参数P2011设置。
变频器的循环过程字。
变频器参数P2012设置。
变频器的PKW的长度在这里是特殊需要注意的,在使用USS通信时必须是4,如果改成3或者127都将不能读取反馈回来的过程值。
3.USS_RPM功能块的编程
USS_RPM功能块的编程如下图所示。
图11:
USS_RPM功能块的编程
USS_RPM功能块用于通过USS通信从变频器读取参数。
REQ:
PARAM:
INDEX:
读取参数请求。
变频器的USS站地址。
变频器的参数代码。
变频器的参数索引代码
指定变频器进行USS通信的数据块。
DONE:
读取参数完成。
读取参数错误。
STATUS:
读取参数状态代码。
VALUE:
所读取的参数的值。
进行读取参数功能块编程时,各个数据的数据类型一定要正确对应。
如果需要设置变量读取参数时,注意该参数变量的初始值不能为0,否则容易产生通信错误。
4.USS_WPM功能块的编程
USS_WPM功能块的编程如下图所示。
图12:
USS_WPM功能块的编程
USS_WPM
功能块用于通过USS通信设置变频器的参数。
读取参数请求。
变频器的参数代码。
变频器的参数索引代码。
EEPROM:
把参数存储到变频器的EEPROM。
设置参数的值。
读取参数错误状态。
对写入参数功能块编程时,各个数据的数据类型一定要正确对应。
如果需要设置变量进行写入参数值时,注意该参数变量的初始值不能为0,否则容易产生通信错误。
5.3S71200PLC进行USS通信的调试
S7-1200PLC通过CM1241RS485模块与变频器进行USS通信时,需要注意如下几点:
1.
2.
3.
当同一个CM1241RS485模块带有多个(最多16个)USS变频器时,这个时候通信的USS_DB是同一个,USS_DRV功能块调用多次,每个USS_DRV功能块调用时,相对应的USS站地址与实际的变频器要一致,而其它的控制参数也要一致。
当同一个S7-1200PLC带有多个CM1241RS485模块(最多3个)时,这个时候通信的USS_DB相对应的是3个,每个CM1241RS485模块的USS网络使用相同的USS_DB,不同的USS网络使用不同的USS_DB。
当对变频器的参数进行读写操作时,注意不能同时进行USS_RPM和USS_WPM的操作,并且同一时间只能进行一个参数的读或者写操作,而不能进行多个参数的读或者写操作。
在S7-1200PLC与变频器的USS通信的实际使用过程中,需要根据网络的现场情况,对问题进行具体的解决。