USS 通信协议简介
USS(Universal Serial Interface, 即通用串行通信接口)是西门子专为驱动装置开发的通信协议,多年来也经历了一个不断发展、完善的过程。Zui初 USS用于对驱动装置进行参数化操作,即更多地面向参数设置。在驱动装置和操作面板、调试软件(如DriveES/STARTER)的连接中得到广泛的应用。近来 USS 因其协议简单、硬件要求较低,也越来越多地用于和控制器(如PLC)的通信,实现一般水平的通信控制。
注意: USS提供了一种低成本的,比较简易的通信控制途径,由于其本身的设计,USS不能用在对通信速率和数据传输量有较高要求的场合。在这些对通信要求高的场合,应当选择实时性更好的通信方式,如 PROFIBUS-DP等。在进行系统设计时,必须考虑到 USS 的这一局限性。
例如,如果在一些速度同步要求比较高的应用场合(如造纸生产线),对十几甚至数十台变频器采用 USS 通信控制,其效果可想而知。
USS协议的基本特点如下:
支持多点通信(可以应用在 RS 485 等网络上)
采用单主站的“主-从”访问机制
一个网络上Zui多可以有 32 个节点(Zui多 31 个从站)
简单可靠的报文格式,使数据传输灵活高效
容易实现,成本较低
USS的工作机制是,通信总是由主站发起,USS主站不断循环轮询各个从站,从站根据收到的指令,决定是否、以及如何响应。从站永远不会主动发送数据。从站在以下条件满足时应答:
接收到的主站报文没有错误,并且
本从站在接收到主站报文中被寻址
上述条件不满足,或者主站发出的是广播报文,从站不会做任何响应。
对于主站来说,从站必须在接收到主站报文之后的一定时间内发回响应。否则主站将视为出错。
USS 字符帧格式
USS的字符传输格式符合 UART 规范,用串行异步传输方式。USS 在串行数据总线上的字符传输帧为 11 位长度,包括:
起始位 | 数据位 | 校验位 | 停止位 | |||||||
---|---|---|---|---|---|---|---|---|---|---|
1 | 0 LSB | 1 | 2 | 3 | 4 | 5 | 6 | 7 MSB | 偶 x 1 | 1 |
连续的字符帧组成 USS 报文。 在一条报文中,字符帧之间的间隔延时要小于两个字符帧的传输时间(当然这个时间取决于传输速率)。
S7-200SMART CPU 的自由口通信模式正好能够支持上述字符帧格式。把 S7-200SMART的自由口定义为以上字符传输模式,就能通过编程,实现 USS协议报文的发送和接收。主站控制器的所支持的通信模式必须和所要控制的驱动装置所要求的一致,这是实现 S7-200SMART和西门子驱动装置通信的基础。
USS 报文帧格式
USS协议的报文简洁可靠,高效灵活。报文由一连串的字符组成,协议中定义了它们的特定功能:
STX | LGE | ADR | 净数据区 | BCC | ||||
---|---|---|---|---|---|---|---|---|
1. | 2. | 3. | ... | n |
以上每小格代表一个字符(字节)。其中:
STX: 起始字符,总是 02h
LGE: 报文长度
ADR:从站地址及报文类型
BCC: BCC 校验符
在ADR 和 BCC 之间的数据字节,称为 USS 的净数据。主站和从站交换的数据都包括在每条报文的净数据区域内。
净数据区由 PKW 区和 PZD 区组成:
PKW 区 | PZD 区 | ||||||||
---|---|---|---|---|---|---|---|---|---|
PKE | IND | PWE1 | PWE2 | ... | PWEm | PZD1 | PZD2 | ... | PZDn |