西门子驱动装置支持多种通信方式(有些可能需要加装通信卡)。S7-200 CPU 上的通信口在自由口模式下,可以支持 USS 通信协议。这是因为 S7-200 的自由口模式的(硬件)字符传输格式,可以定义为 USS 通信对象所需要的模式;S7-200 的自由口通信功能又非常灵活。因而可以实现 S7-200 和驱动装置之间的 USS 通信控制。
S7-200 CPU 将在 USS 通信中作为主站。
USS (Universal Serial Interface, 即通用串行通信接口) 是西门子专为驱动装置开发的通信协议,多年来也经历了一个不断发展、完善的过程。最初 USS 用于对驱动装置进行参数化操作,即更多地面向参数设置。在驱动装置和操作面板、调试软件(如 DriveES/STARTER)的连接中得到广泛的应用。近来 USS 因其协议简单、硬件要求较低,也越来越多地用于和控制器(如 PLC)的通信,实现一般水平的通信控制。
注意: USS 提供了一种低成本的,比较简易的通信控制途径,由于其本身的设计,USS 不能用在对通信速率和数据传输量有较高要求的场合。在这些对通信要求高的场合,应当选择实时性更好的通信方式,如 PROFIBUS-DP 等。在进行系统设计时,必须考虑到 USS 的这一局限性。
例如,如果在一些速度同步要求比较高的应用场合(如造纸生产线),对十几甚至数十台变频器采用 USS 通信控制,其效果可想而知。
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 协议的报文简洁可靠,高效灵活。报文由一连串的字符组成,协议中定义了它们的特定功能:
STX | LGE | ADR | 净数据区 | BCC | ||||
---|---|---|---|---|---|---|---|---|
1. | 2. | 3. | ... | n |
以上每小格代表一个字符(字节)。其中:
在 ADR 和 BCC 之间的数据字节,称为 USS 的净数据。主站和从站交换的数据都包括在每条报文的净数据区域内。
净数据区由 PKW 区和 PZD 区组成:
PKW 区 | PZD 区 | ||||||||
---|---|---|---|---|---|---|---|---|---|
PKE | IND | PWE1 | PWE2 | ... | PWEm | PZD1 | PZD2 | ... | PZDn |
以上每小格代表一个字(两个字节)。
根据传输的数据类型和驱动装置的不同,PKW 和 PZD 区的数据长度都不是固定的,它们可以灵活改变以适应具体的需要。但是,在用于与控制器通信的自动控制任务时,网络上的所有节点都要按相同的设定工作,并且在整个工作过程中不能随意改变。
注意:
- 对于不同的驱动装置和工作模式,PKW 和 PZD 的长度可以按一定规律定义。 一旦确定就不能在运行中随意改变
- PKW 可以访问所有对 USS 通信开放的参数;而 PZD 仅能访问特定的控制和过程数据
- PKW 在许多驱动装置中是作为后台任务处理,因此 PZD 的实时性要比 PKW 好
以上仅是对 USS 协议的简单介绍,以帮助读者更好地理解控制任务和选择对策。如需要了解详细的信息,请参考相应驱动产品的手册。
USS 通信的复杂性体现在它在不同的应用场合不是固定不变的。这是因为:
这些原因导致一个实用的 USS 主站必须针对不同的驱动装置做出改动。使用 USS 调试驱动装置的软件就要做到这一点。这就给在 S7-200 上做一个通用的 USS 程序带来了实质的困难。
一个驱动产品,只要它支持 USS 通信,S7-200 就可以通过自由口编程对其控制。通过其手册能够了解它支持 USS 通信的特点,从而编出适合的程序。这种任务往往比较复杂而且耗费时间。西门子为解决这一问题,针对应用比较广泛,产品线比较相配的驱动产品,开发了 S7-200 的 USS 指令库。
S7-200 的 USS 指令库最初是针对 MicroMaster 3 系列产品的,经过一段时间的发展,现在以及能够完全支持 MicroMaster 3 系列和 MicroMaster 4 (MM4)系列产品,以及 SINAMICS G110 系列产品;目前此 USS 指令库还能对 MasterDrive 等产品提供有限的支持,这些产品包括 6SE70/6RA70 等。
本章中将用 MM440 变频器与 S7-200 之间的 USS 通信为例。
S7-200 通过 USS 指令库控制变频器
S7-200 与西门子驱动装置的连接形式
S7-200 与 MM 440 USS 通信的接线