首页
学习
活动
专区
工具
TVP
发布

USS与G120变频器通信

1.控制系统原理与连接图

S7-1200PLC串口通信模块可使用USS协议库来控制支持USS通信协议的SIEMENS变频器。USS是西门子专为驱动装置开发的通信协议。USS的工作机制是:通信总是由主站发起,USS主站不断循环轮询各个从站,从站不会主动发送数据。图1为连接图。

图1:连接图

2.硬件需求

1)PM1207电源(非必须)

2)S7-1214C 6ES7 214-1AG40-0XB0(V4.2)

3)CM1241 RS485 6ES7241-1CH30-0XB0(V1.0)

4)G120 PM240

5)G120 CU240S

6)MOTOR

7)操作面板

8)USS通信电缆

3.软件需求

1)TIA V14

4.组态

4.1PLC硬件组态

将RS485通讯模块插入到机架101位置处,如图2

图2:硬件组态

设置RS485模块的通信数据,此部分数据要和变频器数据设置一致,如图3:

图3:RS485通信模块设置

4.2G120参数设置

图3:G120参数设置

注:图3中的17、18、19、20这四项参数值的设置必须使PLC的参数值与变频器的参数值相一致,而19、20这两个参数值必须设置成图3中的参数,否则有可能变频器与PLC的通信有问题。

4.3软件编程

1)OB1主循环中添加USS_DRV指令,背景数据块自动生成,如图4,

图4:参数设置

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:变频器的速度设定值。

ERROR:程序输出错误。

RUN_EN:变频器运行状态指示

D_DIR:变频器运行方向状态指示

INHIBIT:变频器是否被禁止的状态指示。

FAULT:变频器故障。

SPEED:变频器的反馈的实际速度值。

DRIVE:变频器的USS站地址。变频器参数P2011设置。

PZD_LEN:变频器的循环过程字。变频器参数P2012设置

2)建立循环中断OB,中断时间120ms,并添加USS_PORT指令,如图5

图5:设置USS_PORT参数

USS_PORT功能块用来处理USS网络上的通信,它是S71200CPU与变频器的通信接口。每个CM1241 RS485模块有且必须有一个USS_PORT功能块。

针脚含义如下:

PORT:指的是通过哪个通信模块进行USS通信(硬件标识符)。

BAUD:指的是和变频器进行通行的速率。变频器的参数P2010进行设置。USS_DB:指的是和变频器通信时的USS数据块。每个通信模块最多可以有16个USS数据块,每个CPU最多可以有48个USS数据块,具体的通信情况要和现场实际情况相联系。每个变频器与S7-1200进行通信的数据块是唯一的。

ERROR:输出错误。

STATUS:扫描或初始化的状态。S7-1200 PLC与变频器的通信是与它本身的扫描周期不同步的,在完成一次与变频器的通信事件之前,S7-1200通常完成了多个扫描。USS_PORT通信的时间间隔是S7-1200与变频器通信所需要的时间,不同的通信波特率对应的不同的USS_PORT通信间隔时间。下表列出了不同的波特率对应的USS_PORT最小通信间隔时间。

3)USS_RPM功能块编程

在OB1中添加USS_RPM,USS_RPM功能块用于通过USS通信从变频器读取参数。如图6

图6USS_RPM编程

针脚含义如下:

REQ:读取参数请求。

DRIVE:变频器的USS站地址。

PARAM:变频器的参数代码。

INDEX:变频器的参数索引代码

USS_DB:指定变频器进行USS通信的数据块。

DONE:读取参数完成。

ERROR:读取参数错误。

STATUS:读取参数状态代码。

VALUE:所读取的参数的值。

注意:进行读取参数功能块编程时,各个数据的数据类型一定要正确对应。如果需要设置变量读取参数时,注意该参数变量的初始值不能为0,否则容易产生通信错误。

4)USS_WPM功能块编程

在OB1中添加USS_WPM,USS_WPM功能块用于通过USS通信向变频器写入参数。如图9

图9USS_WPM编程

USS_WPM 功能块用于通过USS通信设置变频器的参数。

针脚含义如下:

REQ:读取参数请求。

DRIVE:变频器的USS站地址。

PARAM:变频器的参数代码。

INDEX:变频器的参数索引代码。

EEPROM:把参数存储到变频器的EEPROM。

VALUE:设置参数的值。

USS_DB:指定变频器进行USS通信的数据块。

DONE:读取参数完成。

ERROR:读取参数错误状态。

STATUS:读取参数状态代码。

注意:对写入参数功能块编程时,各个数据的数据类型一定要正确对应。如果需要设置变量进行写入参数值时,注意该参数变量的初始值不能为0,否则容易产生通信错误。

4.4通讯测试

1)当同一个CM1241RS485模块带有多个(最多16个)USS变频器时,这个时候通信的USS_DB是同一个,USS_DRV功能块调用多次,每个USS_DRV功能块调用时,相对应的USS站地址与实际的变频器要一致。

2)当同一个S7-1200PLC 带有多个CM1241 RS485模块(最多3个)时,这个时候通信的USS_DB相对应的是3个,每个CM1241RS485模块的USS网络使用相同的USS_DB,不同的USS网络使用不同的USS_DB。

3)当对变频器的参数进行读写操作时,注意不能同时进行USS_RPM和USS_WPM的操作,并且同一时间只能进行一个参数的读或者写操作,而不能进行多个参数的读或者写操作。

5.总结

以上内容是基于各位朋友对西门子PLC和变频器基本熟悉的情况下,如果不清楚,要加油了,欢迎关注公众号,进行交流。工控行业不易,需要持续学习,你做好准备了吗?

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180606G0NBTE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券