USS协议简介
2010-11-23 20:00:13| 分类:工控PLC | 标签:|字号大中小订阅
USS 通信协议简介:
USS (Universal Serial Interface, 即通用串行通信接口) 是西门子专为驱动装置开发的通信协议,多年来也经历了一个不断发展、完善的过程。最初 USS 用于对驱动装置进行参数化操作,即更多地面向参数设置。在驱动装置和操作面板、调试软件(如 DriveES/STARTER)的连接中得到广泛的应用。近来 USS 因其协议简单、硬件要求较低,也越来越多地用于和控制器(如 PLC)的通信,实现一般水平的通信控制。
注意: USS 提供了一种低成本的,比较简易的通信控制途径,由于其本身的设计,USS 不能用在对通信速率和数据传输量有较高要求的场合。在这些对通信要求高的场合,应当选择实时性更好的通信方式,
如 PROFIBUS-DP 等。在进行系统设计时,必须考虑到 USS 的这一局限性。
例如,如果在一些速度同步要求比较高的应用场合(如造纸生产线),对十几甚至数十台变频器采用 USS 通信控制,其效果可想而知。
USS 协议的基本特点如下:
支持多点通信(因而可以应用在 RS 485 等网络上)
采用单主站的“主-从”访问机制
一个网络上最多可以有 32 个节点(最多 31 个从站)
简单可靠的报文格式,使数据传输灵活高效
容易实现,成本较低
USS 的工作机制是,通信总是由主站发起,USS 主站不断循环轮询各个从站,从站根据收到的指令,决定是否、以及如何响应。从站永远不会主动发送数据。从站在以下条件满足时应答:
接收到的主站报文没有错误,并且
本从站在接收到主站报文中被寻址
上述条件不满足,或者主站发出的是广播报文,从站不会做任何响应。
对于主站来说,从站必须在接收到主站报文之后的一定时间内发回响应。否则主站将视为出错。
USS 字符帧格式
USS 的字符传输格式符合 UART 规范,即使用串行异步传输方式。USS 在串行数据总线上的字符传输帧为 11 位长度,包括:
起始位数据位校验位停止位
1 0
LSB 1 2 3 4 5 6 7
MSB 偶 x 1 1
连续的字符帧组成 USS 报文。在一条报文中,字符帧之间的间隔延时要小于两个字符帧的传输时间(当然这个时间取决于传输速率)。
S7-200 CPU 的自由口通信模式正好能够支持上述字符帧格式。把 S7-200 的自由口定义为以上字符传输模式,就能通过编程,实现 USS 协议报文的发送和接收。主站控制器的所支持的通信模式必须和所要控制的驱动装置所要求的一致,这是实现 S7-200 和西门子驱动装置通信的基础。
USS 报文帧格式
USS 协议的报文简洁可靠,高效灵活。报文由一连串的字符组成,协议中定义了它们的特定功能:
STX LGE ADR 净数据区 BCC
1. 2. 3. ... n
以上每小格代表一个字符(字节)。其中:
STX:起始字符,总是 02 h
LGE:报文长度
ADR:从站地址及报文类型
BCC: BCC 校验符
在 ADR 和 BCC 之间的数据字节,称为 USS 的净数据。主站和从站交换的数据都包括在每条报文的净数据区域内。
净数据区由 PKW 区和 PZD 区组成:
PKW 区 PZD 区
PKE IND PWE1 PWE2 ... PWEm PZD1 PZD2 ... PZDn
以上每小格代表一个字(两个字节)。
PKW:此区域用于读写参数值、参数定义或参数描述文本,并可修改和报告参数的改变。其中:
PKE:参数 ID。包括代表主站指令和从站响应的信息,以及参数号等
IND:参数索引,主要用于与 PKE 配合定位参数
PWEm:参数值数据
PZD:此区域用于在主站和从站之间传递控制和过程数据。控制参数按设定好的固定格式在主、从站之间对应往返。如:
PZD1:主站发给从站的控制字/从站返回主站的状态字
PZD2:主站发给从站的给定/从站返回主站的实际反馈
PZDn:……
根据传输的数据类型和驱动装置的不同,PKW 和 PZD 区的数据长度都不是固定的,它们可以灵活改变以适应具体的需要。但是,在用于与控制器通信的自动控制任务时,网络上的所有节点都要按相同的设定工作,并且在整个工作过程中不能随意改变。
注意:
对于不同的驱动装置和工作模式,PKW 和 PZD 的长度可以按一定规律定义。一旦确定就不能在运行中随意改变
PKW 可以访问所有对 USS 通信开放的参数;而 PZD 仅能访问特定的控制和过程数据
PKW 在许多驱动装置中是作为后台任务处理,因此 PZD 的实时性要比 PKW 好
以上仅是对 USS 协议的简单介绍,以帮助读者更好地理解控制任务和选择对策。如需要了解详细的信息,请参考相应驱动产品的手册。
USS 的复杂性和 S7-200 作为主站的对策
USS 通信的复杂性体现在它在不同的应用场合不是固定不变的。这是因为:
USS 经过长期的发展,存在一些子集和变种
驱动装置可能不支持 USS 通信协议中的部分功能
不同的驱动装置的参数定义可能有很大区别
这些原因导致一个实用的 USS 主站必须针对不同的驱动装置做出改动。使用 USS 调试驱动装置的软件就要做到这一点。这就给在 S7-200 上做一个通用的 USS 程序带来了实质的困难。
一个驱动产品,只要它支持 USS 通信,S7-200 就可以通过自由口编程对其控制。通过其手册能够了解它支持 USS 通信的特点,从而编出适合的程序。这种任务往往比较复杂而且耗费时间。西门子为解决这一问题,针对应用比较广泛,产品线比较相配的驱动产品,开发了 S7-200 的 USS 指令库。
S7-200 的 USS 指令库
S7-200 的 USS 指令库最初是针对 MicroMaster 3 系列产品的,经过一段时间的发展,现在以及能够完全支持 MicroMaster 3 系列和 MicroMaster 4 (MM4)系列产品,以及 SINAMICS G110 系列产品;目前此 USS 指令库还能对 MasterDrive 等产品提供有限的支持,这些产品包括 6SE70/6RA70 等。