uss通讯好用么 USS通讯的定义、作用、结构及使用过程图文详解

主要内容:

S7-200 PLC USS通信概述

S7-200 PLC USS通信指令

S7-200 PLC USS通信常见问题

(1)USS通信S7-200 PLC的USS通信主要用于PLC与西门子系列变频器之间的通信:

连接并配合PLC驱动装置,主要任务是:

控制驱动装置的启动、停止和其他运行状态。

控制参数,例如驱动装置的转速。

获取驱动装置的状态和参数

USS协议的基本特征如下:

支持多点通信(因此可以应用于RS 485等网络)

一个网络上最多可以有32个节点(最多31个从站)。

获取驱动装置的状态和参数

USS目前支持的通信对象包括:

Micromaster 3/Micromaster 4系列

SINAMICS G110

MaterDrive 6SE70/6RA70

(2)USS通信协议S7-200的USS通信

USS的字符帧格式:

字符格式包括1个起始位、8个数据位、1个偶校验位和1个停止位。

USS的消息帧格式:

在帧格式中,起始字符固定为02H,消息长度为1个字节,后面是数据区,最后是1个字节的BCC校验。

上表中间的净数据区由PKW区和PZD区组成:

PKW:该区域用于读写参数值、参数定义或参数描述文本,可以修改和报告参数的变化。

PZD:这个区域用来在主站和从站之间传输控制和处理数据。根据设定的固定格式,控制参数对应于主站和从站之间的往返行程。

(3)USS通信轮询从站过程

USS一般有一个主站和几个从站,也就是一个PLC控制几个变频器。在轮询过程中,变频器的从站地址将被赋予不同的值,范围从0到n,中间可以不连续。轮询过程是PLC发送数据到站0,站0响应,然后发送到站1,站1再次响应,直到发送到站N,站N响应。对于特定的站,如果PLC可以发送数据后,如果没有收到站点的响应,它将发送另一个数据包。如果还能如果接收不到,它将放弃该站并开始发送下一个站号。

上表显示了传输波特率和主站轮询从站的时间间隔之间的关系。例如,当传输的波特率为2400bit/s时,访问一个从站大约需要130ms。如果波特率越来越大,主站轮询从站的时间间隔就会相应减少。

(4)USS库的安装和调用

在使用USS库之前,我们必须先安装一个名为Toolbox _ V32-Step 7-Micro WIN的软件包,用于Micro WIN软件。软件包解压安装后,在microwin下就可以看到和使用了。出现两个文件夹,即USS Port0库指令和USS Port1库指令。

打开这些库指令,直接拖拽到程序中,完成USS库指令的调用。

使用此库时,请记住为库分配库存储区域。具体方法是:右击库,选择库存储区,在建议地址栏输入一个地址范围。这个地址范围将被用作USS指令库的背景数据区。记住这个数据区一定不能和程序中的其他地址区冲突,否则会导致USS库文件的非正常使用。

(5)USS库文件的使用1)USS_INIT指令

图中的指令叫做USS_INIT,是USS从站的初始化指令。打电话的时候,要顺着边缘开始。一旦被触发,PLC立即开始轮询驱动设备。USS_INIT引脚的定义如下图所示:

启动USS当模式=1时;波特是波特率的设置;Active是指参与通信的从站的地址。确切地说,它指的是所有参与通信的从站的地址。它是如何定义的?请看下表:

首先,变量Active的数据类型是双整数,也就是32位。这里我们把32位从低到高依次列出,所以其对应的从站地址就是0号站地址,1号站地址就是1号站地址。以此类推,非常容易识别。从站激活标志只有两种状态:0和1,其中0无效,1有效。然后,在表的第三行的例子中,表达式为:位1、2被激活,所有其他位为0,但未被激活。那么这个时候其实Active=16#00 00 00 06。这个数字表示站1和站2将被激活,因此USS轮询从站。

引脚定义中的完成位和错误位分别是初始化完成标志和错误代码。

2)USS_CTRL指令

功能块USS_CTRL是我们真正用来控制各个从站的指令。该指令的引脚定义如上图右表所示,其中RUN=1表示运行,即开启电机,0表示停止电机;OFF2表示以OFF2的方式停车,OFF3表示以OFF3的方式停车。这是什么意思?通常西门子变频器有三种停机模式,即OFF1、OFF2和OF3。OF1就是我们通常所说的正常停车,它的停车时间是由变频器中的一个参数设定的。OFF2称为自由停车或惯性停车。当它得到OFF2的停车命令时,电机会以自然和惯性的方式自由停止。OFF3通常被称为快速停车,它的停车时间可以通过改变变频器中的参数来设置,所以OFF3的停车时间通常比OFF1少,所以我们称之为快速停车。像我们这样的USS_CTRL功能块,OFF2和OFF3分别由这两个管脚控制,而OFF1是RUN=0时OFF1的停放;F_ACK是失败确认;DIR是方向选择,电机是正转还是反转;驱动指示受控电机的站号。在前面的例子中,一个1号和一个2号是我们控制的电机,那么这个USS_CTRL指令控制的是哪个电机呢?然后按驱动设置;选择驱动器的类型,如果0是MM3系列变频器,如果1是其他系列变频器;Speed_SP是速度的设定值,可以以百分比的形式设定,也可以在0-50Hz的频率范围内设定。无论是在%'还是赫兹作为单位,变频器中有参数可供选择。功能块右侧的这些引脚是变频器反馈回来的一些数据,包括从站的回复确认信号、通信错误码、状态字等等。

3)参数读写指令

有六个参数读写指令,如上表所示。前三个是阅读指导,后三个是写作指导。每条指令的最后一位表示要读或写的数据类型,W表示字或整数,D表示双整数,R表示浮点。U16、U32和浮子通常用在变频器的手册中。

上图中的指令是USS_RPM_R指令,是读取实型参数的指令。其引脚定义如下表所示:

XMT请求是一个读请求,必须由edge触发;表示驱动设备的站地址;Param表示要读取的参数号。我们知道变频器中的所有参数都有其参数编号;指示标识索引参数组,变频器中的参数经常分组,有的分成两组,有的分成四组。这时候我们需要在索引中指定我们这次修改或者读取具体操作的是哪组参数;DB Ptr是读取参数,读取的数据会放在本地;Done、Error和Value分别是读取命令完成位、错误代码和读取数据值。

(6)设定驱动装置的参数

在使用PLC和变频器进行USS通讯之前,我们必须先设置好变频器。如上图所示,列出了一些基本参数。我们的示例基于MM440。先看P700=5,说明控制源来自通信线上的USS通信;P1000=5表示设置源来自USS通讯;P2009代表USS通信设置的归一化,即设置为绝对频率值;P2010=6表示通信线路上的USS通信速率设置为9600波特率;P2011=3表示网络上驱动设备的USS通信端口的从站地址。需要将同一USS上的不同变频器设置到不同的站地址;最后,使用P971=1将上述设置的参数保存到MM440的EEPROM中。

(7)USS FAQ Q1:USS可以和第三方变频设备通讯吗?

A1:不是,USS协议是专为西门子变频器设计的通信协议,只能支持特定的产品,常见的有标准变频传动装置的MicroMaster系列,高性能驱动装置的MasterDrive系列,新产品SINAMICS系列等。

Q2:为什么项目编译后会有很多错误?

A2:使用指令库后,如果编译后错误很多,一般是因为没有指定库的指令数据存储区。

Q3:看USS通信主站的轮询时间表,访问一个从站只需要几十毫秒。为什么发出运行指令后感觉电机转起来要几百毫秒?这正常吗?

A3:从用户发出操作控制信号到电机明显转动有很多环节。当控制信号进入PLC的数字输入端时,它经过主站中的程序操作、通信循环周期和从站中的程序处理。特别是驱动装置的启动需要很多准备环节,如电容预充电、磁场建立、转矩建立等。需要一些时间才能看到电机的旋转。这是正常现象。