专利名称:用于在多路转换器网络中优化重复通信的方法与装置的制作方法
技术领域:
总体上讲,本发明涉及一种系统,这种系统拥有主机控制器,该主机控制器通过多路转换器网络与一个或多个现场仪器设备例如阀门或传感器进行通信,更具体地讲,本发明涉及一种用于管理和优化通过多路转换器进行通信的方法与装置。
背景技术:
大型过程,例如化工、石油、以及其它制造和提炼过程,包括众多的现场设备,这些现场设备放置在不同的位置,以测量和控制过程的参数,从而影响对过程的控制。相类似,在这样的工业过程中,可以把一系列阀门、传感器或其它现场仪器或设备放置在整个过程中,其中的每一现场仪器或设备可能要求周期性的诊断操作、配置和/或校准。例如,这些现场设备可以为传感器,例如温度、压力、以及流速传感器,以及控制元件,例如阀门和转换器。历史上,在这样的工业过程中,过程控制、诊断、配置、和/或校准操作依赖于用于读取电平和压力量规、转动阀门轮等的手工操作。最终,局部气动控制的使用变得更为流行,其中,把局部气动控制器、传送器、以及阀门定位器放置在过程工厂中的不同位置,以影响对某些工厂位置的控制。随着20世纪70年代基于微处理器的分布式控制系统(DCS)的出现,在过程控制产业中,分布式电子过程控制开始流行起来。
如人们所知,DCS包括模拟或数字计算机,例如可编程逻辑控制器,这一模拟或数字计算机连接于位于整个过程的众多的电子监视和控制设备,例如电子传感器、传送器、电流到压力的变换器、阀门定位器等。DCS计算机存储并实现集中化、而且通常十分复杂的控制方案,以影响过程中设备的测量与控制,从而根据某一总体控制方案控制过程参数。也把同样的基本系统用于以上所提到的诊断、配置、以及校准操作。
在这样的系统中,主机控制器在双线通信链路上向变换器或定位器或任何其它可控设备或仪器提供了4~20毫安(mA)的可变DC控制电流信号。控制电流电平与可变DC控制电流信号的强度成比例地改变可控设备的状态。例如,阀门定位器可以响应4mA的控制电流完全打开阀门,以及响应20mA的控制电流完全关闭阀门。
除了响应可变控制信号外,电流到压力变换器、阀门定位器、或其它现场仪器或设备还拥有可变参数,可以对这些可变参数进行调整,以控制这样的设备的操作特性。以前,均手工地调整这些设备或过程仪器。然而,随着能够双向通信的所谓“智能”设备的出现,从远离设备或现场仪器的位置自动地进行必要的调整、读取等已成为可能。而且,还能够远程进行诊断测试和仪器监视。然而,必须提供一种用于把通信信号从通信站点传输到现场仪器或其它设备的机制,以实现调整和/或现场测试的机制。
出于多种原因,不可能安装与把通信站点与现场仪器互连在一起的双线控制回路相分离和相独立的通信网络。因此,人们希望在双线控制回路上随4~20mA的控制信号一起传输通信信号,以致于不需要额外的导线和/或独立的通信系统。因此,把调制的数字通信信号叠加在用于控制现场仪器的4~20mA的DC模拟控制信号上,以允许现场仪器和主机控制器之间的数据比特流的串行传送。
在这样的系统中,主机控制器经由多路转换器与一个或多个现场仪器或设备进行通信。通常,这种系统将利用多个可用的标准、开放通信协议中的任何一种协议,例如,这些协议包括HART、PROFIBUS、WORLDFIP、Device-Net、以及CAN协议,它们使由不同制造商所制造的现场设备能够一起用于同一通信网络。事实上,可以把符合这些协议中的一种协议的任何设备用于一个过程,以与DCS控制器或其它支持该协议的控制器进行通信,和/或由这些控制器加以控制,甚至是现场设备由该DCS控制器制造商之外的不同的制造商加以制造。
如人们所知,主机控制器和多路转换器之间的通信是相当快的,而现场仪器或设备之间的通信相当慢。出于多种原因,主机控制器希望知道经由多路转换器已经发送给现场仪器或设备的消息的状态。然而,针对发送给现场仪器或设备的消息的状态反复地与多路转换器进行通信,妨碍了必须通过多路转换器网络加以发送的其它通信的性能。
图1是拥有主机控制器、HART多路转换器、以及HART现场仪器设备的系统的示意图;图2说明了消息周转(trunaround)时间及其与发送和接收消息所用时间之间的关系;图3是一种图解表示,说明了根据对一组消息中三条可能消息的估计一个时段宽度(bracket width)的建立;图4是时间线,说明了从主机控制器的消息发送以及一系列周期取样,或在一段长延迟周期期满之后开始的重新传输,其中,根据一个时段宽度时间周期,在时间上对重新传输加以间隔;图5是类似于图4的时间线,但说明的是延长了的长延迟周期,从而能够在第二次重新传输之后从多路转换器的缓冲器接收消息;图6说明了一旦长延迟时间周期已达到优化适合状态之后能够实现的可能的优化方案。
图7是类似于图4和5的时间线,但说明的是在达到失效点之前可以如何调整长延迟时间周期;图8说明了前进到失效点的长延迟优化周期;以及图9~图11为可以由图1的主机控制器加以实现的优化程序的流程图。
具体实施例方式
此处所描述的实施例不旨在全面描述本发明或者把本发明的范围限定在所公开的精确形式。而以下所描述的实施例,仅仅是为了更好地解释本发明的原理,并旨在使本领域中的其他熟练技术人员能够理解本发明的原理。
现在参照图1以及图9~11。这些图中示出了主机系统10,主机系统10包括主机控制器12、多路转换器14、以及现场仪器或其它设备,以下将现场仪器或其它设备统称为设备16。主机控制器12通过通信系统18可操作地与设备16进行通信。通信系统18包括双线控制回路20,双线控制回路20拥有在主机控制器12和多路转换器14之间延伸的第一导线22和第二导线24。也可以在主机控制器12和多路转换器14之间提供其它人们所熟悉的通信配置。通信系统18还包括双线控制回路26,双线控制回路26拥有在多路转换器14和设备16之间延伸的第一导线28和第二导线30。在所公开的这一例子中,沿控制回路20的主机控制器12和多路转换器14之间的通信明显快于沿双线控制回路26的多路转换器14和设备16之间的通信。更具体地讲,双线控制回路20可以支持9600、19200或38400波特范围内的通信,而沿双线控制回路26的通信可被限制在例如大约1200波特左右。也可以考虑其它的通信速率。显然,双线控制回路26利用了与设备16相链接的双线链路上的4~20mA的可变DC控制电流信号。尽管只示出了一个单一的设备16,但应该认识到,主机系统10还可以包括附加的设备(例如设备16a,16b,16c,...,16n(图1)。
对主机控制器12进行配置,使其能够运行主机软件32上。对主机软件32进行配置,使其能够把消息34发送到通信系统18中,其中消息34包括嵌入消息36。显然,嵌入消息36最终旨在用于与设备16的通信。
在主机控制器12把消息34发送至多路转换器14之后,多路转换器14把嵌入消息36从消息34剥离,并沿控制回路26把嵌入消息36发送至设备16。在优选的形式中,将对主机系统10进行配置,使其能够根据HighwayAddressable Remote Transducer(高速公路可寻址远程转发器)(以下将其称为“HART”)标准化协议操作。也可以使用其它的通信协议。
作为HART规范的一部分,多路转换器14必须响应从主机控制器12所接收的消息34,因此,在多路转换器14从主机控制器12接收到消息34之后,多路转换器14将把答复38发送至主机控制器。根据所公开的这一例子,答复38将表示主机控制器12多路转换器14已接收到消息34,并表示多路转换器14已把嵌入消息36发送至设备16。
如以上所描述的,主机控制器12和多路转换器14之间的通信速率通常明显快于多路转换器14和设备16之间的通信速率。因此,主机控制器12可在设备16接收嵌入消息36之前从多路转换器14接收答复38。另外,由于双线控制回路26上的通信速率相对慢,所以在把响应40从设备16发送到多路转换器14之前,将逝去相当长的一段时间。应该认识到,在设备16已接收消息36、并处理了消息36之后,将发送设备16发送的响应40发送到多路转换器14。
最好是,多路转换器14包括从设备16接收响应40并将其加以保存的缓冲器42。最好是,将把响应40存储在缓冲器42中,直至检索到响应40或把响应40传送到主机控制器12。也可以考虑其它用于接收、存储响应40以及把响应40传送到主机控制器12的机制。应该认识到,在某些情况下,来自主机控制器12的另一条以及不同的消息可以注销存储在缓冲器42中的响应40。
一旦在多路转换器14和主机控制器12之间传送了答复38,则主机控制器12得以释放,以在任何时间重新发送消息34。然而,如果试图立即重试,则实际上保证了来自设备16的响应40尚未被多路转换器14接收,因为设备16和多路转换器14之间的双线控制回路26相对慢。因此,主机控制器12,由主机软件32加以指挥,将不重试或重新发送消息34,直至一段预先确定的和固定的时间周期期满之后。把消息34的最初发送和消息34的第一次重新发送44之间的这一第一固定时间周期称为“长延迟”46。当长延迟46期满时,主机控制器12将尝试消息34的第一次重新发送44a,以从多路转换器14缓冲器42检索响应40。然而,如果多路转换器14尚未从设备16接收到响应40,则多路转换器14可以把消息48发送到主机控制器12,以表示多路转换器14已把嵌入消息36发送到设备16,并表示多路转换器14仍在等待接收来自设备16的响应40。应该认识到,在每次重新发送44(44a,44b,44c等)之后,把消息48发送到主机控制器12,直到响应40出现在缓冲器42中。
在主机控制器12已接收了消息48之后,主机控制器12将进入另一个等待周期。然而,由于预计响应40相对迅速,所以相对先前的长延迟46,这一附加的等待周期很短,因此由称为短延迟51的较短的时间周期表示这一相继的等待周期。当短延迟51期满时,主机控制器12将尝试消息34的第二次重新发送44b。主机控制器12由主机软件32加以指挥,将进入等待时段宽度50(例如50a,50b,50c,...50n)的进行中的周期,后面跟随消息34的重新发送44,直至从多路转换器14接收到有效的响应40。作为选择,当多路转换器14从设备16接收到错误代码时,重新发送44a,44b,44c,...,44n可以停止。换一种说法,主机控制器12可以根据消息的大小以时段宽度50保持一致的方式改变短延迟51的持续时间。作为另一种选择,当预先确定的“时间到周期”期满时,可以中断进行中的周期,因此,主机控制器12将启动多个重新发送44a,44b,44c,...,44n,其中在长延迟46期满之后,进行第一次重新发送。在第一时段宽度50a期满之后,将进行第二次重新发送44b,并且如果需要的话,当相继的时段宽度50b,50c,50d,...,50n期满时,进行所有相继的重新发送。
针对长延迟46和短延迟51的固定时间周期的使用,在某些应用中,可以获得令人满意的通信性能,而且还可以期望在吞吐能力和效率方面获得某种程度的进一步的改进。然而,在固定周期延迟的使用中,可能存在着某些缺点。例如,为设备16设计的消息,可以包括消息号和专门针对该消息的数据。另外,还可能会存在超过数十条的不同的唯一消息(例如,34a,34b,34c,...,34n),而且包含在每一唯一消息中的数据量是变化的。另外,每一唯一的消息可以拥有来自设备16的不同的适当响应。有时,对于同一条唯一的消息,响应中所接收的数据在长度方面可以不同。这些消息的大小(例如正被发送的消息的大小以及响应的大小)决定了消息的整个传输时间,消息的整个传输时间占使用设备16(例如从设备16接收响应)完成消息所占时间的90%以上。
由于所发送和所接收的消息的大小方面存在着较大的变化,所以,就通信性能而言,长延迟46的固定时间周期可能导致某些应用中的低效率。如果长延迟46过长,则响应40可能处于多路转换器14的缓冲器42中,以人们不希望的长时间等待被检索,从而不能有效利用时间周期。另一方面,如果长延迟46过短,则为检索响应40,可能要求主机控制器12和多路转换器14之间的不适当次数的往返通信。
另外,人们知道,设备与设备之间以及不同的多路转换器之间在硬件性能方面会存在着细微的变化。长延迟46的固定时间周期没有考虑这些性能方面的细微变化,使用长延迟46的固定时间周期,也没有考虑到主机系统10就这些性能变化所要进行的调整。而且,在某些应用中,还可以调整多路转换器14的波特率,这影响到完成一个消息周期所占用的时间。针对长延迟46使用固定时间周期,没有考虑多路转换器14波特率的变化。
因此,对主机控制器12进行配置,使其能够执行优化周期52,图9~11示意性地示出了优化周期52。根据所公开的例子,当在多路转换器网络上与设备16(或与多个单个设备16)进行通信时,优化周期52允许主机软件32根据所公开的例子最大化吞吐量和效率。
根据所公开的这一例子,优化周期52调整长延迟46和/或短延迟51,以从多路转换器14的缓冲器42检索响应40。可以唯一地针对每一多路转换器14/设备16/消息34的组合,进行长延迟46和/或短延迟51中的这些调整。例如,这些调整可以基于前一次把具体的唯一消息34发送到具体的设备16所要求的重新发送(44a,44b,44c等)的次数,或基于任何其它的唯一历史数据。
为了能够更彻底地了解优化周期52,以下将描述施用于基础算法的术语和概念。
(1)消息周转时间(MT)--这是主机控制器12发送消息34和从多路转换器14接收响应40所要求的传输时间(例如,根据相应的波特率)。例如,主机控制器12能够以9600波特向多路转换器发送28个字节长的特定的消息X。多路转换器几乎可以立即(在大约2个字节的时间内)以30个字节长的答复消息做出响应。根据可以使用的波特率和消息大小,完成针对消息X的这一往返消息,大约需要70毫秒的时间。
在主机控制器12向多路转换器14发送了消息之后,最好是主机控制器12将不发送另一条消息(例如重新发送),直至主机控制器12接收到响应或发生了硬件时间到。因此,MT是针对特定命令或特定消息、从主机控制器12向外发送的消息之间的最短时间间隔。在发送时,根据向外发送的命令的大小和响应的所预期的大小计算MT。
(2)时段宽度(BW)--时段宽度是针对消息长度的可变性加以校正的消息周转时间(MT)。例如,命令或消息X,如先前所描述的,可以拥有70毫秒的MT。然而,具有较少内容的命令或消息Y,可以拥有仅30毫秒的MT。另外,具有较多消息内容的命令或消息Z,可以拥有100毫秒的MT。因此,对于消息X、Y以及Z来说,较佳的做法是,把发送到具体仪器或设备16的BW设置成大于或等于最大MT的值。BW提供了消息传输之间的已知的、固定的间隔,针对消息长度的可变性进行校正,以及为对长延迟46的值的调整提供了一致的基线,以下将对此加以描述。
当最终从缓冲器42获得响应40时,保证了这一检索发生在到达缓冲器42中的BW周期内。例如,如果BW为100ms,当最终从缓冲器42检索到响应40时,保证了响应在那里不超过100毫秒。
(3)长延迟(46)--长延迟46是一个时间量,即在从多路转换器14接收到“DR_INITIATE”(消息38)响应代码之后,在把消息重新发送到多路转换器14之前,主机控制器12将等待的时间量。为使用多路转换器延迟响应机制的每一仪器的每一命令维持长延迟值,其中较佳的做法是适当地存储这一历史数据。不断地更新长延迟46的时间值,而且这一时间值是优化算法的核心,在优化算法中,对长延迟46的调整,是允许主机控制器12/主机软件32通过在响应40到达缓冲器42中之后尽快地从多路转换器14的缓冲器42中获得响应40,来实现对通信效率进行优化。
(4)短延迟(51)--短延迟51是一个时间量,即添加于为到达时段宽度50所需的MT时间的时间量。凡当多路转换器把“DR_RUNNING”响应代码(消息38)发送到主机控制器12,以表示已把嵌入消息36发送给设备16时,使用短延迟51。按下列公式计算短延迟51短延迟51=时段宽度-消息周转;或短延迟51=时段宽度50-MT图3说明了短延迟51、消息周转时间MT和时段宽度50之间的关系。
(5)延迟响应计数(RD Cnt)--延迟响应计数58表示针对给定命令或消息,在最终从多路转换器14的缓冲器42中获得设备响应40之前,主机控制器12从多路转换器14所接收的DR_RUNNING响应(例如消息48)的个数。当首次发送消息34时,把这一值设置成0,并且每次从多路转换器14接收“DR_RUNNING”响应时,增加这一值。然后,把延迟响应计数58用于调整/计算下一次把相同的命令发送给相同的设备时将使用的长延迟46。
(6)停滞(dead)时间--响应40位于缓冲器42中等待主机控制器12加以检索的时间量。
已知这一背景,在优化周期52中所体现的算法的示范性目标包括(1)为了在消息响应到达多路转换器之后尽快地从多路转换器获得消息响应(最小化停滞时间)。
(2)为实现上述目标,尽可能少地进行消息重试。
根据所公开的例子,优化周期52按如下方式操作在发送消息34之前,主机软件32计算短延迟50的初始值。短延迟50的初始值将由501加以表示,短延迟50的所有相继的值由502,503,...,50n加以表示。主机软件32还检查长延迟46的值,长延迟46的该初始值由461加以表示。而且,长延迟46所有相继的值将由462,463,...,46n加以表示(参见图6)。初始值461可以是前一次把上述具体消息34发送到上述具体设备16时所计算的现存值。在首次把上述具体命令或消息34发送到上述具体设备16的情况下,可以按与计算消息周转时间几乎类似的方式计算初始值461。
参照图4。当已从主机控制器12把消息34发送到多路转换器14时,而且当主机控制器12已接收到答复38时,主机控制器12将进入长延迟46所表示的等待周期,在这一情况下,长延迟46为初始长延迟461。在长延迟46i期满之后,主机控制器12将启动第一次重新发送44a。在响应40尚未处于多路转换器14的缓冲器42中的情况下,多路转换器14将发送表示尚未从设备16接收到响应40的消息48。如果需要的话,在重新发送另一条消息,例如在重新发送44b之前,主机软件32将等待短延迟周期50。当第一短延迟周期501期满时,主机控制器12将发送第二次重新发送44b。重新发送跟随有短延迟周期的消息的这一过程将继续,直至响应40出现在多路转换器14的缓冲器42中。如图4中所示,在第四短延迟周期504期间,在缓冲器42处接收响应40,这一接收在第四重新发送44d之后很短的时间内发生。
出于多种原因,人们可能不希望如此多的通信出现在主机控制器12和多路转换器14之间,对发送初始消息38和对重新发送44a到44b的需求明显证明了这一点。因此,现在参照图5,优化周期52包括对长延迟46的调整。在这一情况下,长延迟46将由第二长延迟周期46ii加以表示。如图5中所示,在一个重新发送44a之后,响应40出现在多路转换器14的缓冲器42中。但响应40不被传送到主机控制器12,直至第二次重新发送44b发生。在初始短延迟50i期满之后,把响应40传送至主机控制器12。注意,在发送第二次重新发送44b之前,响应40在缓冲器42中已存在了一段时间,把这段时间称为“停滞时间”54。
从重试计数效率的角度(重试计数由所需要的重新发送次数44a、44b等加以表示)来看,试图不使用重新发送44a、44b等检索响应40似乎更合逻辑。尽管这样做是可能的,但对响应40在缓冲器42中等待多长时间才能得以检索没有保证。理想的是,响应40将以最小的停滞时间出现在缓冲器42中。然而,如果长延迟的初始值461(或相继的值462、463等中的任何一个)足够长,则可以实际保证当进行第一重新发送44a时,响应40将出现在缓冲器42中。然而,简单地延长长延迟周期46,可能导致停滞时间54过长,因为消息响应40可能已经位于缓冲器42中几乎持续了整个长延迟周期46,这将是一种糟糕的情况。不稳定的环境条件可能加剧这样一种情况,例如拥有第二主设备或在猝发(burst)模式中拥有易于导致长延迟周期明显增加的设备。
现在参照图6。除了简单地减少延迟响应的个数外,还可以进一步最大化吞吐能力和效率。因此,优化周期52将进一步优化长延迟46,以最小化停滞时间52。一旦把长延迟46设置成当第一次重新发送44a时导致响应40出现在缓冲器42中的值,长延迟46变成优化合格的。一旦长延迟46优化合格,则优化周期52搜寻优化失效点56。通过在一段时间内连续地缩短长延迟46,找出优化失效点,如图6中所示。由于缩短了长延迟46,最终长延迟46将变得足够短,以至于需要第二次重新发送44b。通过在每一条相继的消息上逐渐地减小长延迟46(这导致了图5中所指示的时段),以逐渐向左位移(为了便于讨论,假设在缓冲器42中接收响应40的点不变),找出该失效点56。当图5中所示的时段向左位移时,逐渐减小停滞时间50。最好是,每一个相继的长延迟周期略短于前一个长延迟周期,并且具有图6中所示的等于大约2毫秒的间隔。用户也可以选择其它的间隔。但根据所公开的例子,大约2毫秒的间隔已获得了有利的试验结果。
现在参照图7。在已充分缩短了长延迟46之后,显然要求第二短延迟50,以从缓冲器42中检索响应40,在第三次重新发送44c之前,不检索响应40。这表明已达到了失效点56。
一旦已经计算了失效点56,则把长延迟46增加预先确定的量,在所公开的例子中,这一预先确定的量为时段宽度的大约25%。现在参照图4、5或7中的每一个图,当观察这些图时,将应认识到,增加长延迟46将再次向右位移时段。长延迟46的这一25%的增加,将再次把长延迟46移回到优化合格状态,在这一点,长延迟46将再次进入优化周期52。
根据所公开的例子,优化周期52将考虑到这样一个事实针对严格相同的消息,答复时间实际上并非不变。实际上,答复时间会稍有变化,甚至在稳定的环境中,而且在不稳定的环境中,将会有明显的变化。因此,优化周期52将考虑不断变化的情况,并使主机系统10能够有效地操作,同时最小化的停滞时间54。由于影响通信时间的不断变化的环境条件,永远不能绝对可靠地建立失效点56。因此,决不能绝对可靠地精确获知在初始短延迟周期50i内缓冲器42何时接收到响应40。然而,优化周期52提供了合理的保证,保证在失效点56的25%或25%以下的范围内实际完成所有通信。理想的是,失效点56将表示0停滞时间。
优化周期52的功能类似于优化合格状态,其中减小长延迟46,直至达到失效点56。但实际上,减小长延迟46的算法更多的是采用对数。优化周期52越接近达到0停滞时间(例如优化周期52越接近失效点56),则在任何给定的长延迟周期46内,优化周期52将发送越多的消息。如图8中所示,在优化周期52中,相对快而早地向下调整长延迟周期46。另一方面,当相继消息的个数增加时,将使用任何具体的长延迟周期46发送更多相继的消息。换一种说法,当优化周期52接近失效点56时,对于任何给定的缩短的长延迟周期46,发送越来越多的相继的消息。因此,根据所公开的算法,优化周期52将寻求最大化发送消息的条数,并且把在长延迟设置得尽可能接近失效点56。
在优化周期52的操作期间,可预期从一个延迟响应向两个延迟响应的过渡(例如,仅要求单个重新发送44a和要求至少第二次重新发送44b之间的过渡)。然而,如果需要0次重新发送,或如果需要两个以上的重新发送,则可以取消优化周期52,可以向长延迟46施加更有效的校正,以使通信周期返回到图5中所反映的状态,其中仅需要第二次重新发送44b。一旦这一情况发生,则建立优化合格状态,并且再次开始搜寻失效点56。接下来,在已建立了失效点之后,可以再次开始优化周期。根据所公开的例子,可以以寻求最大化效率的方式,针对不断变化的环境不断地调整优化周期52,并“学习”如何把任何具体唯一的命令传送给任何具体唯一的设备。
现在参照图9~11。以下可以进一步把根据本发明的系统10解释如下。如图9中所示,在60处,主机系统10启动对消息34的发送。在62处,根据消息的优先级和消息的发送时间,把消息34插入消息队列64。一旦消息34处于HART消息队列64中,则在68处,用信号通知发送消息的时间,此后在70处从消息队列获得消息34。66、72、74、76、78以及80处的步骤是可选的,不需要为执行优化周期52而加以执行。
现在参照图10的方框A。在82处,发送消息34,此后,在84处,判断是否已接收到答复38。如果已接收到答复38,则在86处更新状态,以反映已接收到答复38。此时,主机软件32运行优化周期52。在88处,优化周期52设置延迟响应标志,此后,在90处获得长延迟46和短延迟51的初始值。然后,在92处建立等于长延迟46的发送时间,此后,在94处根据优先级和发送时间把消息重新插入消息队列(图9和10)。
在96处,判断状态是否表明延迟响应计数仍在计数,如果答案为“是”,则在98处增加延迟响应计数,并且在100处把发送时间设置成等于短延迟51。把这一信息传送到94,以建立优先级和发送时间。如果DR运行代码的状态被指示为“否”,则在102处确定消息的状态是否为成功。如果答案为“是”,则在104处,主机控制器12将调整长延迟46和短延迟51,并存储这一信息,以供下一次发送该唯一消息34使用。如果在102处状态查询的答案为“否”,则在106处以适当的方式处理错误情况。然后,在108处,把在84、104以及106处所进行的确定传送回控制器12。
接下来,经由图10中的方框C,把在102处的状态确定的输出传送到图11中的方框C。如图11中所示,在110处,使用波特率和消息的大小,以计算MT。然后,在112处,把短延迟51设置成等于时段宽度(BW)减去消息周转周期(MT)。在114处,针对这种类型消息的消息响应大小方面的任何已知变化(根据这一具体消息的历史数据和/或该唯一消息所针对的唯一现场设备的具体场地的任何其它历史数据),对短延迟51进行调整。在116处,把当前延迟响应计数与前一个延迟响应计数进行比较,并且如果需要的话,在118处,向上或向下调整长延迟46,以达到下一次发送该唯一消息时为“1”的延迟响应计数。应该认识到,调整的大小和方向依赖于延迟响应计数和当前延迟响应计数距目标时段远近程度之间的差。在所公开的例子中,目标是为1的延迟响应计数。然后,在方框D处,把这一信息传送回108,以传输到主机控制器12。
根据所公开的例子,HART多路转换器通信优化周期52允许主机控制器12运行主机软件32,在响应40到达多路转换器14的响应缓冲器42之后尽快从设备16检索响应40,其中,平均说来,停滞时间在大约6~10毫秒的范围内。这一配置旨在进一步提高多路转换器网络上通信性能方面的效率。
这一技术领域中的熟练技术人员将会意识到,尽管已结合某些实施例说明了本发明的原理,但并不旨在把本发明限制于这样的实施例。相反,无论在字面上还是在等同原则下,本申请旨在覆盖明显落入所附权利要求的范围内的所有修改和实施例。
权利要求
1.一种用于优化多路转换器通信的装置,包括主机;多路转换器;以及仪器设备;对主机进行配置,使其能够运行主机软件,并使其能够把第一消息和多个相继的消息发送到多路转换器,每一条消息包括针对仪器设备的嵌入消息,第一消息和第一相继消息之间的时间周期定义了长延迟;对多路转换器进行配置,使其能够剥离嵌入消息,并能够把嵌入消息发送至仪器设备,还对多路转换器进行配置,使其能够向主机发送响应,响应表示是否已把嵌入消息发送至多路转换器以及是否已从仪器设备接收到答复,还对多路转换器进行配置,使其能够接收和存储答复;对仪器设备进行配置,使其能够接收和处理嵌入消息,并且能够将答复发送至多路转换器;以及优化控制器,可操作地耦合于主机,对该优化控制器进行配置,使其能够向主机通信表示多路转换器是否已接收到答复;建立计数,该计数表示在多路转换器已接收到答复之前,相继消息出现的条数;估计消息周转时间,消息周转时间基于把任何一条消息传输到多路转换器和从多路转换器接收到响应所用的时间;建立时段宽度,时段宽度至少与消息周转时间一样长;至少部分地根据消息周转时间和时段宽度,建立短延迟;以及至少改变长延迟和短延迟之一,以最小化计数。
2.根据权利要求1所述的装置,其中对优化控制器进行配置,使其既能够改变长延迟也能够改变短延迟,以最小化计数。
3.根据权利要求1所述的装置,其中多路转换器包括缓冲器,用于存储答复,直至把响应传送到主机,而且其中,还进一步对优化控制器进行配置,使其能够至少改变长延迟和短延迟之一,以最小化在主机检索之前答复驻留在缓冲器中的停滞时间周期。
4.根据权利要求1所述的装置,其中还进一步对优化控制器进行配置,以跟踪停滞时间,停滞时间表示在传送到主机之前,答复在缓冲器中驻留了多长时间,而且其中,还对优化控制器进行配置,使其能够至少改变长延迟和短延迟之一,以最小化停滞时间。
5.根据权利要求4所述的装置,其中对优化控制器进行配置,使其既能够改变长延迟也能够改变短延迟,以最小化停滞时间。
6.根据权利要求1所述的装置,其中从消息集合中选择第一消息和多个相继的消息,该消息集合包括多个可能的消息,消息集合中的每一消息拥有唯一的消息参数,而且其中,对主机进行配置,以从消息集合中选择所选的消息,而且其中,还对优化控制器进行配置,以估计所选消息的唯一的消息参数,以及根据所选消息的唯一的消息参数来建立时段宽度和长延迟。
7.根据权利要求1所述的装置,其中从消息集合中选择第一消息和多个相继的消息,该消息集合包括多个针对仪器设备的可能消息,消息集合中的每一消息拥有唯一的消息参数,而且其中,对主机进行配置,以从消息集合中选择所选的消息,而且其中,还对优化控制器进行配置,以估计消息集合中的每一消息的消息周转时间,并根据消息集合中的最大消息周转时间建立时段宽度。
8.根据权利要求6所述的装置,其中仪器设备包括通信特性,而且其中,对优化控制器进行配置,以估计该通信特性,并至少部分地根据这一通信特性,改变长延迟和短延迟。
9.根据权利要求1所述的装置,其中主机对响应的接收定义了完整的消息周期,而且其中,对优化控制器进行配置,以运行优化周期,通过把长延迟延长到优化合格状态来定义优化周期,通过完成具有不多于两条相继消息的通信周期定义优化合格状态,优化周期包括缩短长延迟,直至达到失效点,通过第三相继消息的发送定义失效点。
10.根据权利要求9所述的装置,其中对优化控制器进行配置,以在达到失效点之后,重新运行优化周期。
11.一种用于优化多路转换器通信的装置,包括主机;多路转换器;以及仪器设备;对主机进行配置,以运行主机软件,并把消息传输到多路转换器,该消息包括针对仪器设备的嵌入消息,对主机进行配置,以重新传输该消息,直至从多路转换器接收到对该消息的响应,在长延迟之后进行第一次重新传输,在第二时间间隔之后,进行第二次和所有相继消息的传输;对多路转换器进行配置,以剥离嵌入消息,并把嵌入消息发送至仪器设备,还对多路转换器进行配置,以向主机表示是否接收到嵌入消息和是否将嵌入消息发送到仪器设备,以及是否已从仪器设备接收到响应,还对多路转换器进行配置,以接收和存储答复,直至把答复传送给主机;对仪器设备进行配置,以接收和处理嵌入消息,并将响应发送至多路转换器;以及优化控制器,对该优化控制器进行配置,以建立计数,该计数表示在把响应传送给主机之前,进行重新传输的次数;估计消息周转时间,消息周转时间基于把消息从主机传输到多路转换器并把响应从多路转换器传输到主机所用的通信时间;建立时段宽度,时段宽度至少与消息周转时间一样长;建立短延迟,该短延迟至少部分地根据时段宽度和消息周转时间;以及至少改变长延迟和短延迟之一,以最小化计数。
12.根据权利要求11所述的装置,其中多路转换器包括缓冲器,用于存储答复,直至把响应传送到主机,而且其中,还进一步对优化控制器进行配置,以至少改变长延迟和短延迟之一,以最小化停滞时间,停滞时间表示在传送到主机之前,答复在缓冲器中驻留了多长时间。
13.根据权利要求12所述的装置,其中对优化控制器进行进一步的配置,使其既能够改变长延迟也能够改变短延迟,以最小化停滞时间。
14.根据权利要求11所述的装置,其中表示在通信到主机之前,响应在多路转换器中驻留多长时间的时间由停滞时间表示,而且其中,对优化控制器进行配置,以改变长延迟和短延迟,以最小化停滞时间。
15.根据权利要求11所述的装置,其中对优化控制器进行配置,以既改变长延迟也改变短延迟,以最小化计数。
16.根据权利要求11所述的装置,其中从消息集合中选择第一消息和多个相继的消息,该消息集合包括多个可能的消息,消息集合中的每一消息拥有唯一的消息参数,而且其中,对主机进行配置,以从消息集合中选择所选的消息,而且其中,还对优化控制器进行配置,以估计所选消息的唯一的消息参数,以及根据所选的消息的唯一的消息参数建立时段宽度和长延迟。
17.根据权利要求11所述的装置,其中从消息集合中选择第一消息和多个相继的消息,该消息集合包括多个针对仪器设备的可能消息,消息集合中的每一消息拥有唯一的消息参数,而且其中,对主机进行配置,以从消息集合中选择所选的消息,而且其中,还对优化控制器进行配置,以估计消息集合中的每一消息的消息周转时间,并根据消息集合中的最大消息周转时间建立时段宽度。
18.根据权利要求16所述的装置,其中仪器设备包括通信特性,而且其中,对优化控制器进行配置,以估计该通信特性,并至少部分地根据该通信特性来改变长延迟和短延迟。
19.根据权利要求11所述的装置,其中主机对响应的接收定义了完整的消息周期,而且其中,对优化控制器进行配置,以运行优化周期,通过把长延迟延长到优化合格状态来定义优化周期,通过完成具有不多于两条相继消息的通信周期定义优化合格状态,优化周期包括缩短长延迟,直至达到失效点,通过第三相继消息的发送来定义失效点。
20.根据权利要求19所述的装置,其中对优化控制器进行配置,以在达到失效点之后,重新运行优化周期。
21.一种用于优化主机、多路转换器、以及现场仪器设备之间的通信的方法,包括提供主机控制器;提供多路转换器;以及提供现场仪器设备;提供主机控制器的主机软件,对该主机软件进行配置,以把消息传输到多路转换器,该条消息包括针对仪器设备的嵌入消息,对主机进行配置,以重新传输该消息,直至从多路转换器接收到对该消息的响应,在长延迟之后进行第一次重新传输,在第二时间间隔之后,进行第二次和所有相继消息的传输;对多路转换器进行配置,以剥离嵌入消息,并把嵌入消息发送至仪器设备,还对多路转换器进行配置,以向主机表示是否接收到嵌入消息和是否将嵌入消息发送到仪器设备,以及是否已从仪器设备接收到响应;对仪器设备进行配置,以接收和处理嵌入消息,并且能够将响应发送至多路转换器;以及对主机控制器进行配置,以运行优化例行程序,该优化例行程序包括建立计数,该计数表示在把响应传送给主机之前,进行重新传输的次数;估计消息周转时间,消息周转时间基于把消息从主机传输到多路转换器和把响应从多路转换器传输到主机所用的通信时间;建立时段宽度,时段宽度至少与消息周转时间一样长;根据消息周转时间和时段宽度,建立短延迟;以及至少改变长延迟和短延迟之一,以最小化计数。
22.根据权利要求21所述的方法,包括向多路转换器提供缓冲器,用于存储答复,直至把响应传送到主机,而且对主机控制器进行配置,以至少改变长延迟和短延迟之一,以最小化停滞时间,停滞时间表示在传送到主机之前,答复在缓冲器中驻留了多长时间。
23.根据权利要求22所述的方法,其中对优化控制器进行进一步的配置,以改变长延迟和短延迟两者,以最小化停滞时间。
24.根据权利要求21所述的方法,其中在主机进行检索之前,响应在缓冲器中驻留的时间由停滞时间表示,而且其中,对优化控制器进行配置,以改变长延迟和短延迟,以最小化停滞时间。
25.根据权利要求21所述的方法,其中对优化控制器进行配置,以改变长延迟和短延迟两者,以最小化计数。
26.根据权利要求21所述的方法,其中从消息集合中选择第一消息和多个相继的消息,该消息集合包括多个可能的消息,消息集合中的每一消息拥有唯一的消息参数,而且其中,对主机进行配置,以从消息集合中选择所选的消息,而且其中,还对优化控制器进行配置,以估计所选消息的唯一的消息参数,以及根据所选消息的唯一的消息参数建立时段宽度和长延迟。
27.根据权利要求21所述的方法,其中从消息集合中选择第一消息和多个相继的消息,该消息集合包括针对仪器设备的多个可能的消息,消息集合中的每一消息拥有唯一的消息参数,而且其中,对主机进行配置,以从消息集合中选择所选的消息,而且其中,还对优化控制器进行配置,以估计消息集合中的每一消息的消息周转时间,并根据消息集合中的最大消息周转时间建立时段宽度。
28.根据权利要求26所述的方法,其中仪器设备包括通信特性,而且其中,对优化控制器进行配置,以估计该通信特性,并至少部分地根据该通信特性,改变长延迟和短延迟。
29.根据权利要求21所述的方法,其中主机对响应的接收定义了完整的消息周期,而且其中,对优化控制器进行配置,以运行优化周期,通过把长延迟延长到优化合格状态来定义优化周期,通过完成具有不多于两条相继消息的通信周期定义优化合格状态,优化周期包括缩短长延迟,直至达到失效点,通过第三相继消息的发送来定义失效点。
30.根据权利要求29所述的方法,其中对优化控制器进行配置,以在达到失效点之后,重新运行优化周期。
31.根据权利要求29所述的方法,其中在达到失效点之后,优化控制器重新运行优化周期,而且其中,对优化控制器进行配置,以在重新运行优化周期之前,把长延迟增加等于时段宽度的大约25%的时间周期。
32.根据权利要求29所述的方法,包括存储对具体的消息、具体的现场设备、以及具体的多路转换器中至少之一是唯一的数据。
全文摘要
一种用于优化系统中的多路转换器通信的装置,该系统具有主机、多路转换器、和现场仪器设备。配置主机以运行主机软件,并把消息传输到多路转换器,该消息包括针对仪器设备的嵌入消息。主机重新传输该消息,直至经由多路转换器从设备接收到对该消息的响应,在长延迟之后进行第一次重新传输,在第二时间间隔之后,进行第二次和所有相继消息的传输。配置优化控制器以建立计数,该计数表示在把响应传送给主机之前进行重新传输的次数,根据把消息从主机传输到多路转换器和把响应从多路转换器传输到主机所用的通信时间,估计消息周转时间,建立至少与消息周转时间一样长的时段宽度,建立短延迟,以及至少改变长延迟和短延迟之一来最小化计数。
文档编号H04L1/18GK1643836SQ03806160
公开日2005年7月20日 申请日期2003年1月13日 优先权日2002年3月15日
发明者艾尔弗雷德·R·杰克逊第三 申请人:费希尔控制国际公司