1.USS通信简介
USS(Universal Serial Interface,即通用串行通信接口)是西门子专为驱动装置开发的通信协议,多年来也经历了一个不断发展、完善的过程。最初USS用于对驱动装置进行参数化操作,即更多地面向参数设置。在驱动装置、操作面板以及调试软件(如DriveES/STARTER)的连接中得到广泛的应用。近来USS因其协议简单、硬件要求较低,越来越多地用于和控制器(如PLC)的通信,实现一般水平的通信控制。
USS提供了一种低成本的、比较简易的通信控制途径。由于其本身的设计,USS不能用在对通信速率和数据传输量有较高要求的场合。在这些对通信要求高的场合,应当选择实时性更好的通信方式,如PROFIBUS-DP等。在进行系统设计时,必须考虑到USS的这一局限性。
USS协议的基本特点如下:
①支持多点通信(因而可以应用在RS 485等网络上)。
②采用单主站的“主-从”访问机制。
③一个网络上最多可以有32个节点(最多31个从站)。
④简单可靠的报文格式,使数据传输灵活高效。
⑤容易实现,成本较低。
USS的工作机制是通信总是由主站发起,USS主站不断循环轮询各个从站,从站根据收到的指令,决定是否以及如何响应。从站永远不会主动发送数据。从站在以下条件满足时应答:接收到的主站报文没有错误,并且本从站在接收到主站报文中被寻址。
上述条件不满足,或者主站发出的是广播报文时,从站不会做任何响应。
对于主站来说,从站必须在接收到主站报文之后的一定时间内发回响应,否则主站将视为出错。
2.S7-200USS编程步骤
S7-200 CPU上的RS-485通信口可以编程为工作在自由口模式下,支持USS通信协议。S7-200 CPU的通信口大多直接与驱动装置的RS-485通信接口连接。
S7-200 CPU与驱动装置进行USS通信时,可以通过下面两种方法实现:
1)根据驱动装置的具体USS通信规范,用户自己编程实现USS通信。此方式可以保证该驱动装置的所有USS通信功能都得到使用。
2)使用西门子提供的USS通信指令库,实现与MicroMaster系列的MM3/MM4和SINAMICS G110的USS通信。此指令库只能有限地支持与其他驱动装置的USS连接。
使用西门子提供的USS指令库,用户不必自己配置复杂的PKW/PZD数据或者计算校验字节。但是能通信的驱动装置有局限性。
3.USS字符帧格式
USS的字符传输格式使用串行异步传输方式,USS在串行数据总线上的字符传输帧为11位长度,见表9-26。
表9-26 USS字符帧格式
连续的字符帧组成USS报文。在一条报文中,字符帧之间的间隔延时要小于两个字符帧的传输时间(当然这个时间取决于传输速率)。
S7-200 CPU的自由口通信模式恰好能支持上述字符帧格式。把S7-200的自由口定义为以上字符传输模式,就能通过编程,实现USS协议报文的发送和接收。主站控制器所支持的通信模式必须和所要控制的驱动装置所要求的一致,这是实现S7-200和西门子驱动装置通信的基础。
4.USS报文帧格式与净数据区域
(1)报文帧格式
USS协议的报文简洁可靠、高效灵活。报文由一连串的字符组成,协议中定义了它们的特定功能,见表9-27,每小格代表一个字符(字节)。
表9-27 报文帧格式
其中:
STX———起始字符,总是02h;(www.xing528.com)
LGE———报文长度;
ADR———从站地址及报文类型;
BCC———BCC校验符。
(2)净数据区域
在ADR和BCC之间的数据字节,称为USS的净数据。主站和从站交换的数据都包括在每条报文的净数据区域内。净数据区由PKW区和PZD区组成,见表9-28,每小格代表一个字(两个字节)。
表9-28 净数据区
1)PKW。此区域用于读写参数值、参数定义或参数描述文本,并可修改报告参数。其中:
PKE———参数ID,包括代表主站指令和从站响应的信息,以及参数号等;
PWEm———参数值数据。
2)PZD。此区域用于在主站和从站之间传递控制和过程数据。控制参数按设定好的固定格式在主、从站之间对应往返。如:
PZD1———主站发给从站的控制字/从站返回主站的状态字;
PZD2———主站发给从站的给定/从站返回主站的实际反馈;
PZDn———……
根据传输的数据类型和驱动装置的不同,PKW和PZD区的数据长度都不是固定的,它们可以灵活改变以适应具体的需要。但是,在用于与控制器通信的自动控制任务时,网络上的所有节点都要按相同的设定工作,并且在整个工作过程中不能随意改变。对于不同的驱动装置和工作模式,PKW和PZD的长度可以按一定规律定义,一旦确定,就不能在运行中随意改变。
(3)PKW与PZD的区别
PKW可以访问所有对USS通信开放的参数,PKW区主要用来读写PZD区无法读写的非连接器量,如:PI参数、滤波时间以及斜坡上升下降等参数。而PZD仅能访问特定的控制和过程数据,PZD区主要用于:发送控制字、接收控制字、发送给定值和接收实际值以及速度、频率、电流、电压、转矩和功率等参数。PZD区的参数通常在标准报文中已经定义好,而PKW区传输的参数需要在参数报文中依次定义。PKW在许多驱动装置中是作为后台任务处理,因此PZD的实时性要比PKW好。
5.S7-200的USS指令库
S7-200的USS指令库最初是针对MicroMaster3系列产品的,经过一段时间的发展,现在已经能够完全支持MicroMaster 3系列和MicroMaster 4(MM4)系列产品,以及SINAMICS G110系列产品;目前此USS指令库还能对MasterDrive等产品提供有限的支持,这些产品包括6SE70/6RA70等。
西门子驱动装置支持多种通信方式(有些可能需要加装通信卡)。S7-200 CPU上的通信口在自由口模式下,可以支持USS通信协议。这是因为S7-200的自由口模式的(硬件)字符传输格式,可以定义为USS通信对象所需要的模式;S7-200的自由口通信功能又非常灵活。因而可以实现S7-200和驱动装置之间的USS通信控制。S7-200 CPU将在USS通信中作为主站。
S7-200的USS编程主要包括如下几个步骤:
1)安装USS指令库。
2)调用USS初始化指令。
3)调用驱动装置控制指令。
4)调用驱动装置参数读写指令。
安装完成后的USS指令库在S7-200的编程软件STEP 7-Micro/WIN指令树中的“库”指令分支,如图9-18所示。
USS指令库分为Port 0和Port 1两个端口的库文件,Port 1的库文件其后有下标_P1。如Port 0的USS初始化指令为“USS_INIT”,而Port 1的USS初始化指令为“USS_INIT_P1”。在使用时,其设置定义均相同,下面以Port 0对USS指令进行讲解。
图9-18 USS指令库
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。