欢迎来到众智博远官网网站!

7*24小时在线咨询电话

010-52873850

新闻资讯

contact us

24小时免费咨询热线

010-52873850

技术资讯

当前位置: 首页 >> 新闻资讯 >> 技术资讯

西门子G120变频器与S7200之间的USS通讯

发布时间:2019-08-24 来源:众智博远

1 系统配置

1.1软硬件配置
(1)配备支持USS通信功能控制单元G120变频器,异步电机。本例中,使用的控制单元是CU240E-2,固件版本V4.5。
(2)S7-200 PLC,与PC的连接电缆。本例中,使用的是CPU224 XP CN,连接电缆使用CP5512。
(3)安装了Step7 Micro-Win V4.0软件和USS协议库的PC机。本例中,使用的是Step7 Micro-Win V4.0 SP6,USS协议库为2.3版本。

在进行PLC编程之前,请确认USS协议库已经安装,如图1-1。


图1-1

2.2 S7-200与控制单元间的接线


图1-2

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


图1-3

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




2 变频器设置

2.1 地址设置
变频器的USS通信地址可以通过控制单元上的总线地址拨码开关(位置在图1-1中,标号⑤)进行设置。当地址拨码开关的位置都为OFF时,也可用过参数P2021进行设置。

2.2 参数设置
除了设置地址之外,还需要对变频器一些基本的通信参数进行设置,才可以进行USS通信,如表2-1所示:

表2-1

参数描述
P0015 = 21变频器宏程序。
15:通过现场总线控制
设置方法:P10=1 → P15=21 → P10=0
p2030 = 1现场总线协议选择
1:USS协议
p2020现场总线波特率
设置范围是 4800 bit/s … 187500 bit/s,出厂为 19200 bit/s
本例使用:6(9600)
P2021USS地址(在地址拨码开关都为OFF时,才有效)
本例使用:3
p2040过程数据监控时间
指没有收到过程数据时发出报警的延时。
注:必须根据从站数量、总线波特率加以调整,出厂设置为 100 ms。


 

3 PLC编程

3.1使用USS协议的初始化模块初始化S7-200的PORT0端口



图3-1

功能块说明:

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

输入:
EN:使能。每次改变通讯状态都应该执行一次初始化指令,EN信号应该通过脉冲激活。本例中,Port 0端口一直作为USS通信端口使用,因此使用SM0.1初始化一次即可。
Mode:1——为端口0指定USS协议,并启用该协议。
Baud:波特率,应与变频器定义的波特率一致。本例中,使用9600。
Active:激活驱动器地址,参考图3-2。本例中,使用2#1000,即激活驱动器地址3。



图3-2 激活驱动器地址3和5

 

3.2 使用USS_CTRL功能块控制变频器的运行

3.2.1 USS_CTRL功能块编程


图3-3

功能块说明:

输入:

EN:通常情况总是激活。
RUN:启动变频器。0-停止;1-启动。
OFF2:自由停车。0-正常;1-自由停车。
OFF3:快速停止。0-正常;1-快速停止。
F _ACK:故障复位。通过上升沿对变频器进行故障复位。
DIR:运行方向。0-正转;1-反转
Drive:变频器USS地址,0-31。本例使用3。
Speed~:速度设定值,通过百分比进行设定,范围 -200.0~~200.0%。

输出:

Error:错误代码。有关错误代码说明,请参考表3-1。
Status:变频器返回的状态字。有关G120变频器状态字,请参考《参数手册》有关r52参数的说明。
Speed:变频器返回的速度实际值的百分比。
Run_EN:变频器运行状态。0-停止;1-运行。
D_Dir:变频器运行方向。0-正转;1-反转。
Inhibit:变频器禁止位状态。0-正常;1-禁止。
Fault:变频器故障状态。0-正常;1-故障。

表3-1

错误代码说明
0无错。
1驱动器不应答。
2检测到来自驱动器的应答中检验和错误。
3检测到来自驱动器的应答中校验错误。
4来自用户程序的干扰造成错误。
5尝试非法命令。
6提供非法驱动器地址。
7未为USS协议设置通讯端口。
8通讯端口正在忙于处理指令。
9驱动器速度输入超出范围。
10驱动器应答长度不正确。
11驱动器应答第一个字符不正确。
12驱动器应答中的字符长度不受USS指令支持。
13错误的驱动器应答。
14提供的DB_Ptr地址不正确。
15提供的参数号不正确。
16选择了无效协议。
17USS激活,不允许改动。
18指定了非法波特率。
19无通讯:驱动器未设为激活。
20驱动器应答中的参数或数值不正确或包含错误代码。
21返回一个双字数值,而不是请求的字数值。
22返回一个字数值,而不是请求的双字数值。

 

3.2.2 分配库存储区,编译,下载。
在编译程序之前,选择 “程序块” ->“ 库”, 右键点击,选择“库存储区”。在弹出的对话框中点击 “建议地址” 选择V存储区的地址后点击 “OK”退出。如图3-4。


图3-4

分配库存储区之后,编译并下载。

3.2.3 控制变频器运行。
此时,即可通过USS通信,控制变频器的运行。
例,
打开状态表监控,如图3-5。
M1.0为变频器的启停控制位,初始值为0,从0强制为1后,变频器即可运行。
VD30为变频器的速度设定值,强制为20.0后,变频器将以20%的速度运行。
VW20,VD22分别为变频器返回的状态字和速度实际值。


图3-5


3.3 读写参数
根据参数的不同数据类型,需要使用不同的功能块进行变频器参数的读写。下文中,将通过举例进行介绍。
注:目前,USS协议库的参数读写功能块,仅适用于读写参数号在3999以下的参数。对于参数号在4000以上的参数,如果要进行读写,可参考《操作说明》,7.4.2.4节,使用自由口编程的方式进行读写,在此不作介绍。

3.3.1 使用USS_RPM_R功能块读取浮点型参数


图3-6

功能块说明:
输入:
EN:需要读取参数时激活。
XMT_~:操作请求。使用上升沿激活。
Drive:变频器USS地址。本例中,使用3。
Param:要读取的参数号。本例中,读取参数r27(输出电流实际值)。
Index:参数下标。本例中,r27无下标,必须定义为下标0。
输出:
Value:返回的参数值。

编译、下载之后,打开状态表监控,如图3-7。把M6.0,从0强制为1后,VD560返回值为0.33。即r27=0.33。


图3-7 

3.3.2 使用USS_WPM_R功能块修改浮点型参数


图3-8

功能块说明:
输入:
EN:需要修改参数时激活。
XMT_~:操作请求。使用上升沿激活。
EEPR~:写入EEPROM存储器。(注:对CU240B/E-2无效)
Drive:变频器USS地址。本例中,使用3。
Param:要修改的参数号。本例中,修改参数P1120(斜坡上升时间)。
Index:参数下标。本例中,修改下标0。
Value:要写入的参数值。

编译、下载之后,打开状态表监控,如图3-9。把M7.0,从0强制为1后,VD630的当前值15.0将会写入参数P1120的下标0中,即P1120.0=15.0。


图3-9

3.3.3 使用USS_RPM_W功能块读取U16(无符号16位)类型参数


图3-10

功能块说明:
输入:
EN:需要读取参数时激活。
XMT_~:操作请求。使用上升沿激活。
Drive:变频器USS地址。本例中,使用3。
Param:要读取的参数号。本例中,读取参数P210(电源电压)。
Index:参数下标。本例中,P210无下标,必须定义为下标0。
输出:
Value:返回的参数值。

编译、下载之后,打开状态表监控,如图3-11。把M2.0,从0强制为1后,VDW160返回值为440。即P210=440。


图3-11

3.3.4 使用USS_WPM_W功能块修改U16(无符号16位)类型参数


图3-12

功能块说明:
输入:
EN:需要修改参数时激活。
XMT_~:操作请求。使用上升沿激活。
EEPR~:写入EEPROM存储器。(注:对CU240B/E-2无效)
Drive:变频器USS地址。本例中,使用3。
Param:要修改的参数号。本例中,修改参数P1211(自动重启尝试次数)。
Index:参数下标。P1211无下标,必须定义为下标0。
Value:要写入的参数值。

编译、下载之后,打开状态表监控,如图3-13。把M3.0,从0强制为1后,VW230的当前值2将会写入参数P1211的下标0中,即P1211=2。


图3-13

3.3.5 使用USS_RPM_D功能块读取U32(无符号32位)类型参数


图3-14

功能块说明:
输入:
EN:需要读取参数时激活。
XMT_~:操作请求。使用上升沿激活。
Drive:变频器USS地址。本例中,使用3。
Param:要读取的参数号。本例中,读取参数P730(DO0功能)。
Index:参数下标。本例中,P730无下标,必须定义为下标0。
输出:
Value:返回的参数值。
编译、下载之后,打开状态表监控,如图3-15。把M4.0,从0强制为1后,VD360返回值为16#0034FC03。即P730=52.3。


图3-15

注:16#0034FC03到52.3的转换说明
当使用读写参数的功能块时,类似于P730=52.3这样的BICO连接参数,需要经过如下转换:
高字,0034(16进制)= 52(十进制);
低字中的高字节,对于CU240B/E-2,规定为FC(16进制);
低字中的低字节,03(16进制)= 3(十进制)。
所以, 0034FC03(16进制)= 52.3(十进制)

3.3.6 使用USS_WPM_D功能块修改U32(无符号32位)类型参数


图3-16

功能块说明:
输入:
EN:需要修改参数时激活。
XMT_~:操作请求。使用上升沿激活。
EEPR~:写入EEPROM存储器。(注:对CU240B/E-2无效)
Drive:变频器USS地址。本例中,使用3。
Param:要修改的参数号。本例中,修改参数P731(DO1功能)。
Index:参数下标。本例中,P731无下标,必须定义为下标0。
Value:要写入的参数值。
编译、下载之后,打开状态表监控,如图3-17。把M5.0,从0强制为1后,VD430的当前值16#0034FC0C将会写入参数P731中,即P731=52.12。有关0034FC0C(16进制)到52.12的转换,请参考3.5.1节中的注释。