Profibus基础——令牌总线网
令牌总线和令牌环按同样的原理进行操作,网络中各站点逻辑地组织成一个环,令牌绕环在它们之间接力传递。一个站点想要发送数据就必须等待令牌到达;但是在这里,各站点之间的通信是通过一条公共总线,如同以太网那样。重要的是,这种有序竞争的传输方式不会在总线上产生冲突。
令牌总线网络产生于美国通用汽车公司开发的制造自动化协议MAP;这是一个用于工厂计算机集成制造系统的网络协议。其中在要求实时性应用的场合,将令牌思想延用到总线拓扑结构中,定义了令牌总线协议,并成为IEEE802.4局域网标准。
令牌总线网络在工厂自动化、过程控制以及需要实时处理的应用中得到主要支持。公共总线结构可以实现生产流水线和产品装配线上的计算机设备节点接入,但是实时环境不适合采用CSMA/CD协议,一个节点数据无法预期的延迟,使流水线的流程没有确定性。令牌环网可以满足实时性和确定性要求,但是,物理环不符合流水线那样的线性组织结构;因此,解决方案就是在网络线性组织分布上采用逻辑环访问协议来使每个站点具有确定的令牌等待时间。
………
假定总线上的站点均由P057单片机构成,其站地址分别为01H、08H、23H、45H。系统不采用主从访问方式而采用令牌方式进行通信。逻辑环上相邻的编号站点,物理位置不一定相邻。例如,逻辑环顺序(按地址)可以为:
45H→23H→08H→01H→45H;也可以为:
08H→45H→01H→23H→08H。这与站点在总线上的物理位置无关。
与令牌环协议一样,获得令牌的站点得到发送权,它可以向其它站点发送数据,总线上其它站点都处在接收状态,与发送帧地址匹配的站点复制数据,是否需要应答,协议设计中均应规定:
1. 不要求接收站响应
……………
2. 要求接收站响应
……………
在现场总线中,由于传输可靠性很高,而实时性显得重要。因此,多使用……。获得令牌的站点发送完数据后,不等待接收站的响应,就将令牌传递给它的后继站。如果持有令牌的站没有数据要发送,它就直接将令牌传递给他的后继站,如此循环反复。
以下通过实验来理解令牌总线网的实际操作。
$ 总线上的令牌
位于总线上的任一站点,要进行令牌接力,必须知道自己的前驱和后继,即自己的上游逻辑相邻节点和下游逻辑相邻节点。(谁传递给我,我传递给谁。)这一点与令牌环形网之间明显不同。因此,令牌总线逻辑环的操作比令牌(物理)环网络要多考虑一些细节。
……… 实际上由于令牌技术算法的公平,无论逻辑顺序如何,环路中所有站点获得发送的机会相等。
回顾主-从访问机制,主站轮询从站时,相当于依次发给从站令牌,当一个令牌总线控制帧中,控制字节内容为10H时,表示该帧为令牌帧。在站点地址匹配条件下,令牌帧的接收者拥有令牌,允许发送数据或传递令牌。
以下实验演示一个令牌在总线上环绕的情景。由于逻辑环上的一个站点只需关心它的前驱和后继,与其它站点无关。因此,各站点的相关处理程序中只有3个不同地址,其他部分都一样。这3个地址是前驱地址PS、本站地址TS、后继地址NS。一个持有令牌的的站点TS必须知道自己的后继才可以把目的地址NS放入令牌帧中;一个TS站点必须知道自己的前驱才可能进行申请加入环或离开环这样的逻辑操作。
实验 令牌总线
图2是本实验自定义的令牌总线帧格式。(这可以看作是一个自我设计协议的内容。)帧中所有字段与HDLC基本帧相似,其中接收站目标地址DA相映于HDLC帧中的从站地址A;由于总线上所有站点是对等站点,不存在主站,因此必须指明发送站源地址SA;帧控制FC相映于HDLC帧中的控制字段C,SA在信息字段I中定义,FCS与HDLC基本帧中校验字段相映。
实验步骤:
……………
1. 01H站运行程序TBUS.ASM,将令牌投入逻辑环中。由各站点LED1可以观察到令牌轮转情况,逻辑环顺序为01H→45H→08H→23H→01H。
实验结束。
实验程序如下:
……………
小结
……………
1. 实际令牌绕环轮转一周大约1ms。(注意不是Profibus。)
2. 一个逻辑环的顺序,仅由环中各站点的固定地址TS和后继NS决定。对于给定的系统,TS、NS容易确定。
对于动态变化的系统,完善的设计是建立一个包含多项不同顺序逻辑环的表格,系统运行中,根据不同条件查询表格,按表格所列相应项逻辑环进行循环。
Profibus把总线上一些智能程度高的节点(像PLC)设置为主站,智能程度低的节点(像仪表、执行器)设为从站。主站得到令牌后,对它所管辖的从站进行轮询,然后把得到的数据传递给下游主站。这是它与众不同的地方。这样做显然比所有节点都加入逻辑环的做法系统可靠性高。