通信网络、其操作方法及在通信网络中参与者与流程

文档序号:14960148发布日期:2018-07-18 00:21阅读:177来源:国知局

本发明涉及一种用于操作通信网络的方法、具有第一参与者以及第二参与者的通信网络、以及通信网络中的参与者。



背景技术:

本专利申请案主张第102015117937.7号德国专利申请案的优先权,所述德国专利申请案的公开内容通过引用并入于此。

通信网络包括经由合适的消息信道彼此连接的多个(也就是说至少两个)参与者。消息信道可以包括无线以及有线信道。在通信网络中,信息通常以离散数据分组的形式从一个参与者传输到另一个参与者。此种数据分组在下面被称为消息。

在实践中出现了消息不能正确地从一个参与者传输到其他参与者的问题。这有多种可能的原因。考虑了在传输路径上(例如在所述消息信道中短暂干扰的情况下)对传输参与者的干扰(消息未被传输或未被正确传输)、以及对接收参与者的干扰(例如所述接收参与者的接收阶段的短暂故障)。

已知的做法是通过重复传送要连续传送的信息来增加通信网络中信息传输的可靠性。

在例如可以在传统的现场总线系统(例如profibus)或profinet中实施的第一种方法中,第一参与者(例如主参与者)向第二参与者(例如从参与者)传送消息并且然后等待响应。例如,可以规定从参与者以单独的消息进行响应。如果第一参与者在规定的时间内没有接收到响应,则第一参与者再一次传送原始传送的消息。

在类似的第二种方法中,参与者处理通过的消息(例如在以太网控制自动化技术(ethercat)的情况下)。在这种情况下,可以用所述参与者传送消息并且接着等待所传送的消息的返回的方式来操作第一参与者。如果第一参与者没有接收到期望的返回消息,则第一参与者再一次传送原始传送的消息。

这些方法的一个缺点是所述传送参与者必须以事件控制的方式等待消息的接收,这可能会导致中断负载增加,特别是在通信和应用程序在公共处理器上运行的系统中。

在第三种方法中,代替单独的消息,参与者传送消息重复序列,所述消息重复序列包括具有基本相同内容的多个消息。为了成功地传送有用数据(即要传送的信息),那么所述接收参与者从所述消息重复序列中接收所述多个消息中的至少一个消息即可。参与者可以例如以这样的方式被设置,即所述参与者评估所述消息重复序列中的第一个成功接收到的消息、并且忽略(也就是说不评估)所述消息重复序列中可能由所述参与者接收的所有另外的消息。

在一个简单实施方式中,如果参与者被设置以响应所述消息重复序列中的所述一个消息的成功接收而发起特定动作,则执行所述动作的时间将取决于所述参与者响应所述消息重复序列中的哪个消息。如果所述参与者不回应第一个消息,而是响应所述消息重复序列中的后续消息,则与若响应于所述消息重复序列中的第一个消息相较下,所述参与者将较晚发起所述动作。这可能是有问题的,特别是当通信网络中的多个参与者例如在具有必须同步执行特定动作(例如组件的移动)的多个分布式参与者的自动化生产工厂中意图借助于在时间上相互匹配的多个消息而同步操作时。

专利说明书ep2527935b1描述一种用于操作自动化系统的方法,其中在发射机侧确定同步信号的出现与通信时钟之间的偏移的测量。所确定的偏移测量在向至少一个接收机的数据传输期间被传送。在接收到所确定的测量之后,接收机等待对应的时段消逝,并且在所述时段已经消逝之后生成输出信号以响应于所述同步信号。



技术实现要素:

本发明的目的是具体说明一种用于操作通信网络的方法,所述方法可以尽可能简单且可靠地实施。本发明的目的还在于具体说明被设置为执行此种方法的通信网络、以及对应地被设置的参与者。这些目的是以独立专利权利要求的特征而实现。

本发明规定通信网络的第一参与者传送由n个连续消息组成的消息重复序列至第二参与者,其中n≥2,n是消息重复序列中的消息数量。所述第一参与者分别在n个连续时间t_i(i=0,...,n-1)开始传送所述n个消息中的一个消息。所述n个消息中的每一个消息包含定义了被指派给相应消息的等待时间w_i=t_(n-1)–t_i+δw_i的字段,其中i=0,...,n-1,且其中δw_i是非负的容差时间。因此,取决于相关消息的传输时间以及所述消息重复序列中的最新消息的传输时间的等待时间被指派给所述消息重复序列中的每一个消息、并且以t_i+w_i=t_(n-1)+δw_i这样的方式被选择。基于传输时间t_i,所述消息重复序列中的最新消息的传输时间t_(n-1)加上容差时间因此被指派等待时间w_i的终止。每一个容差时间δw_i应该比消息重复序列中所有消息中的最早和最晚传输时间之间的时间间隔(也就是说δw_i<t_(n-1)-t_0(i=0,...,n-1))更短(优选地相当短)。消息重复序列中的所有消息中的每一个容差时间δw_i优选地短于传输时间之间的间隔的最小值,也就是说δw_i<min{t_j-t_(j-1);j=1,...,n-1}。本发明还规定通信网络的第二参与者从消息重复序列中的由所述第二参与者成功接收的所有消息中选择一个消息作为有用消息,并且测量自接收到有用消息以来的运行时间、并在所述运行时间已达到被指派给所述有用消息的等待时间时执行被指派给所述有用消息的动作。因此,第二参与者将被指派给所述有用消息的所述动作的执行延迟到不依赖于所述序列中的哪个消息被选择作为有用消息的时间(在这种情况下,假设从第一参与者到第二参与者的转移时间对于所有消息都是相同的)。如果所述消息重复序列中的所有消息的容差时间δw_i是相同的(也就是说,对于所有i=0到n-1,δw_i=δw_0),动作被发起的时间不取决于所述有用消息的选择。在一些实施方式中,所述消息重复序列中的每一个消息(i=0,...,n-1)的容差时间δw_i是零。这导致所述行动尽早被执行。在其他实施方式中,如果容差时间δw_i是正的,也就是说大于零,则可能是有利的。例如,如果所述消息重复序列中的最早消息(i=0)被选择作为有用消息,则正容差时间δw_0通常将确保所述第二参与者在等待时间w_0终止之前接收到所述消息重复序列中的所有后续消息(特别是最新消息),即使第一消息比预期的稍早被接收、或最新消息比预期的稍晚被接收。这使得可能降低所述消息重复序列中的最新消息不慎地被处理为有用消息的风险。例如,第二参与者可以通过钟控计数器确定等待时间的终止。在一个示例中,在消息的选择时,所述第二参与者将钟控计数器设定为与等待时间对应的初始值,并且计数器进行同步计数直到最终值。最终值的达到于是表示等待时间的终止。

根据一个实施方式,第二参与者从由所述第二参与者成功接收的消息重复序列中的消息中选择由所述第二参与者最早接收到的消息作为有用消息。所述第二个参与者然后可以忽略所述消息重复序列中的所有后续消息。此实施方式因此可以用技术上特别简单的方式来实施。然而,原则上,所述第二参与者可以在所述消息重复序列中选择任何其他成功接收到的消息。例如,在一个替代实施方式中,可以设想,在成功接收到所述消息重复序列中的多个消息时,所述第二参与者选择成功接收到的消息中最近成功接收到的消息。在此替代实施方式中,所述第二参与者将忽略所述重复序列中的所有较早成功接收到的消息,并且将仅使用最新消息作为有用消息。

分别被指派给消息的动作可以涉及例如生成由接收参与者(例如第二参与者)用来启动应用程序的中断,以例如用于控制连接的机器或记录测量信号的目的。

原则上,可以将不同的动作指派给消息重复序列中的不同消息。在这种情况下,要由第二参与者执行的动作取决于所述第二参与者选择重复序列中的哪个消息。然而,相同动作通常将被指配给消息重复序列中的所有消息,其结果是由第二参与者执行的动作独立于从所述重复序列的消息选择。

在一个实施方式中,如果第二参与者在所述消息重复序列中接收到另外消息,则所述第二参与者将不执行指派给所述另外消息的所述动作。这确保了第二参与者仅执行被指派给所选消息的动作。

根据一个实施方式,第二参与者将所述第二参与者接收到的所述消息重复序列中的每一个消息转发给通信网络的另外参与者,而不等待所述消息中陈述的等待时间的终止。因此,分别在消息中陈述的等待时间不影响通信网络内的消息传输。为了完整起见,要注意的是,刚刚提到的另外参与者也可能是所述通信网络的所述第一参与者。在这种情况下,所述消息的转发应该被理解为将所述消息返回给所述第一参与者。

根据一个实施方式,所述第二参与者将有用数据写入接收到的消息的有用数据字段中,并将以这种方式处理的消息转发给通信网络的另外参与者(例如回到所述第一参与者或者回到第三参与者)而无须等待所述消息中陈述的等待时间的终止。特别地,可以规定所述第二参与者将相同的有用数据写入所述消息重复序列中的每一个消息中。这实现了由所述第二参与者向所述通信网络的另外参与者提供的有用数据的冗余传输。因此,当通过串连连接的多个参与者时,所述消息重复序列可以用来自参与者的有用数据而被更新。特别是在以太网现场总线系统中(例如在ethercat系统中),可以实施通过的处理。

根据一个实施方式,所述消息重复序列中的消息每一个都包含相同的有用数据和/或相同的状态数据。因此,有用的数据和/或状态数据式以冗余形式而被提供。如果所述通信网络是ethercat系统,则所述有用数据可以理解为指代例如一个或多个数据报。

根据一个实施方式,所述消息重复序列中的正在通过的消息由参与者处理。因此,所述重复序列中的消息一个接一个地通过参与者。数据比特通过给定参与者所需的时钟周期的数量,也就是说,从参与者的输入到输出的比特的传输时间可以在这种情况下被永久地设定为例如特定的时钟周期数。这种方法(例如ethercat)可以特别适用于实时要求。

根据一个实施方式,在比t_(n-1)晚的时间t_n,第一参与者传送不属于所述消息重复序列的另外消息,并且容差时间δw_i每一个都短于t_n–t_(n-1)。这可能确保第二参与者在所述第二参与者接收到所述另外消息之前发起动作。这可能避免所述动作的发起和另外消息的接收的时间重迭以及所述第二参与者上的相关联双重负载。

上述考虑因此适用于被设置为执行根据所述实施方式其中之一的方法的任何通信网络。

通信网络尤其可以是以太网,例如ethercat网络。以太网是其中参与者使用以太网协议彼此通信的网络。

在通信网络中根据本发明的参与者被设置为接收由n个消息组成的消息重复序列、以及选择由所述参与者成功接收的所述消息重复序列中的消息并且评估由所选消息定义的等待时间。因此,所述参与者不能在接收到所述消息之后立即执行取决于所述消息的接收的动作,而是仅在从接收到所选消息所测量的等待时间终止之后才执行。这使得可能实现所述参与者要执行的动作与所述通信网络内的其他动作的更好的同步。

根据一个实施方式,参与者具有存储器并被设置为将所选消息的复本存储在存储器中,至少直到等待时间终止。因此,所述参与者至少在等待时间终止之前能够从所述消息收集附加信息(即除了所述等待时间的陈述之外的信息)。附加信息可以是有用的,特别是用于执行所述动作。例如,可以规定所述参与者基于所述附加信息来执行动作。

根据一个实施方式,参与者具有被指派了最终值的钟控计数器,并且响应于消息的成功接收,设置了参与者,前提是计数器然后处于其最终值:以选择该消息作为有用消息;确定与由所述有用消息定义的等待时间对应的初始值、将所述计数器设定为初始值、启动计数器并在达到最终值时停止所述计数器;并且只有在递减计数器已达到所述最终值时才执行被指派给所述消息的动作。启动和停止所述计数器之间的时间段称为等待间隔。等待间隔的长度或持续时间是等待时间。可识出,两种作用与等待间隔有关。可以在下述事实中看出第一种作用,即只有在等待间隔结束时才执行与接收到的消息有关的动作。第二种作用是,因为参与者不执行被指派给后续消息的动作,在等待间隔期间接收到的每一个后续消息都被所述参与者忽略。在此实施方式中,在计数器已经在其最终值停止之后首先成功接收到的那个消息因此总是被选择。在此实施方式中,上述容差时间δw_i应该这么短,即在接收到不属于所述消息重复序列的另外消息(例如,下一个消息重复序列中的第一消息)之前完成等待间隔。也就是说,每一个容差时间δw_i(i=0至n-1)都应短于t_n–t_(n-1),其中t_n是另外消息的传输时间。这实现了在下一个消息重复序列中接收到第一消息时计数器总是处于其最终值的情况。然后,计数器对于所述参与者接收的所述下一个消息重复序列是新近可用的,以响应于所述消息重复序列中的消息的成功接收而定义等待间隔。例如,所述计数器可以是钟控递减计数器(clockeddown-counter)。如果所述参与者在递减计数器为零时成功接收到消息,则所述参与者将所述递减计数器设定为由所述消息定义的等待时间(也就是与等待时间对应的计数器读数),结果是所述递减计数器从所述初始值开始往下计数。所述递减计数器一达到零值,所述参与者就停止所述递减计数器(结果是,递减计数器保持为零)。所述参与者然后可以发起由所接收到的消息定义的动作。如果所接收到的消息中没有等待时间的陈述,所述参与者将会将此解释为等待时间为零,并将相应地立即开始所述动作。

在刚刚描述的实施方式中,如果每一个容差时间δw_i(i=0至n-1)都大于零,是有利的。等待间隔将比绝对必要的时间稍长。如果已选择另一消息而不是最新消息作为有用消息,则所述第二参与者同样将最新消息视为有用消息的风险降低。容差时间δw_i优选地每一个是至少一个时钟周期,优选地至少两个时钟周期。

附图说明

下面参照附图进一步解释本发明。附图中相同的附图标记表示相同或等价的组件。

图1示意性地示出通信系统的示例性实施方式。

图2示出根据示例性实施方式的在参与者中接收第一以及第二消息重复序列。

图3示意性地示出消息的示例性实施方式。

图4示意性地示出消息重复序列的示例性实施方式。

图5示出根据示例性实施方式的在参与者中接收第一消息重复序列以及第二消息重复序列。

图6示出根据示例性实施方式的在参与者中的写入消息重复序列和读取消息重复序列的接收以及处理。

图7示出根据示例性实施方式的用于操作通信网络的方法的流程图。

图8示意性地示出参与者的示例性实施方式。

具体实施方式

图1中所示的通信网络(网络)10的示意性示例包括多个参与者12,所述多个参与者12包括第一参与者14以及第二参与者16。在操作期间,所述第一参与者14传送由n个连续消息组成的消息重复序列,其中n≥2。所述第一参与者14在n个连续传输时间t_i(i=0,...,n-1)分别开始传送n个消息的其中之一。在此说明中,索引i-1被指派给所述消息重复序列中的第i个消息。

所述n个消息中的每一个消息包含定义了被指派给相应消息的等待时间w_i=t_(n-1)–t_i+δw_i(其中i=0,...,n-1)的字段。δw_i是其中的非负容差时间。根据一个实施方式,对于所述消息重复序列中的所有消息,容差时间δw_i是相同的,即对于从0到n-1的每一个i,δw_i=δw_0。这使得可能最小化发起所述动作的时间的时间不确定性。根据另一个实施方式,对于所述消息重复序列中的所有消息,容差时间δw_i(i=0,...,n-1)不一定相同,但所有消息的容差时间的差异小于传输时间t_i(i=0,...,n-1)的差异,也就是说,对于从0到n-1的所有i和j,|δw_i–δw_j|<t_(n-1)–t_0;如果满足此条件,虽然发起行动的时间的时间不确定性不会被最小化,但其仍然低于没有等待时间陈述的方法。容差时间δw_i(i=0,...,n-1)的差异越小,可以更准确地预测发起所述动作的时间。

所述第二参与者16从所述第二参与者成功接收到的消息重复序列中的所有消息中精确选择一个消息、并评估所选消息中陈述的等待时间。在可以容易实施的实施方式中,所述第二参与者从所述消息重复序列中的成功接收的消息中选择最早接收到的消息。例如,如果所述第二参与者16成功接收到所述消息重复序列中的所有n个消息,则所述第二参与者将根据此实施方式在所述消息重复序列中选择第一消息(即,具有索引i=0的消息)。例如,当接收者(在此为第二参与者16)能够基于所接收到的消息重建所传送的消息的内容时,可以认为消息已被成功接收。为此目的,所接收到的消息不是绝对必须是所传送消息的精确复本。例如,每一个消息都可以使用错误校正方法生成。在这种情况下,消息的内容具有一定程度的冗余性,这使得接收者能够校正所述消息中的单独的比特错误。如果错误校正成功(或者,如果在所接收到的消息中尚未确定错误),则认为所述消息已被成功接收。

在所示的示例中,使用通信技术串连连接所述参与者12,并且离开所述第一参与者14的每一个消息依次通过另外参与者12。也就是说,每一个消息从一个参与者被转发到下一个参与者。在本申请案中基于传输者/接收者14、16说明的操作可以用类似方式在网络10的任何另外的传输者/接收者对中(例如在传输者/接收者对16、18或18、20中)实施。

网络10可以是ethercat网络,参与者14作为主设备(主(master))而被操作,其余参与者12中的每一个作为从参与者(从(slave))而被操作。在操作期间,在每一情况中,离开主设备14的每一个消息在前向路径以及返回路径上通过网络10的所有参与者12(可能除了主设备14以外)。当所述消息通过相关参与者时,所述参与者可以从所述消息中读取数据和/或可以将数据写入至消息。因此在网络中定义了本身封闭并通过所述参与者的数据路径11。根据另一个实施方式(未示出),所述数据路径11没有恰好两次通过所述参与者12中的至少一个,而是一次或多于两次。所述数据路径11可以包括有线和无线部分。这里所示的通信网络10仅仅是一个例子。原则上,本发明可以在具有至少两个参与者的任何通信网络中实施。

图2示出第二参与者16接收第一消息重复序列s1并且随后接收第二消息重复序列s2的示例。所述两个消息重复序列s1和s2中的每一个包括三个消息(即n=3),即帧1(frame1)、帧2(frame2)以及帧3(frame3)。如果所述第二参与者16成功接收并评估所述消息重复序列s1中的三个消息中的至少一个消息,因为这就足够了,所以所述第一序列s1中的消息frame1、frame2、以及frame3是冗余的。所述第二参与者16不必在所述消息重复序列s1中成功接收多于一个消息。在最简单的实施方式中,冗余性是基于这样的事实:所述消息重复序列s1中的每一个消息包含相同的有用数据。在另一个实施方式中,所述消息重复序列s1中的各个消息中的有用数据不完全相同、但为相当的,只要因此所述消息重复序列中的哪个消息被所述第二参与者16成功地接收和评估是不重要的。这同样适用于所述第二消息重复序列s2。

在所述示例中,所述第二参与者16成功接收所述消息重复序列s1中的第一(即,最早的)消息。响应于frame1的成功接收,所述第二参与者16发起被指派给所述消息frame1的动作,而无须使等待时间消逝。也就是说,在检测到消息已被成功接收之后,所述第二参与者16立即执行所述动作,而不是带有延迟。所述动作可以包括例如为了在所述第二参与者16中启动特定程序的目的而产生中断。所述第一消息重复序列s1中的第二以及第三消息(frame2以及frame3)被所述第二参与者16忽略,也就是说可能被转发(例如转发给第三参与者18),但是不再进一步被评估。

在所述示例中,第二消息重复序列s2中的第一消息frame1未被所述第二参与者成功接收,因此,尽管所述第二参与者16将转发所述第二消息重复序列s2中的第一消息frame1(取决于实施方式)给所述通信网络的另外参与者(例如第三参与者18),所述第二参与者将不使用所述消息本身的内容。尤其是,所述第二参与者16将不执行由所述消息重复序列s2中的frame1定义的动作。相反地,在所述示例中,序列s2中的第二消息frame2由所述第二参与者16成功接收。响应于从s2成功接收到frame2,所述第二参与者16立即发起由frame2定义的动作、并且例如可以包括产生中断。相反地,来自s2的第三消息frame3将被所述第二参与者忽略。如果所述相关消息重复序列中的至少一个消息被成功接收,则所述第二参与者16接收到的每一个消息重复序列可以因此由所述第二参与者16发起动作。因此,动作可以被指派给每一个消息重复序列。在所述示例中,所述动作分别由所述相关消息重复序列中的第一个成功接收的消息发起以及执行,而不使等待时间消逝。因此,执行动作的时间取决于序列中n个消息中的哪一个被成功接收,且因此无法被准确预测。这可能损害通信网络参与者的动作的同步。此知识被作为下面更详细描述的发明的基础。

图3示意性地示出了包括等待时间陈述的消息的示例。在所述示例中,所述消息是包括至少一个以太网报头、一个或多个数据报以及校验值crc的ethercat消息。每一个数据报可以是被寻址到通信网络的特定参与者的消息的一部分。也就是说,每一个数据报可以被指派给特定参与者。根据另一个实施方式,数据报被指派给多个参与者。除了所述消息的这些和/或另外字段之外,所述消息包括“设定延迟时间=d1”字段,其包含等待时间的陈述。所述等待时间可以用任何期望的合适单位描述,例如用诸如纳秒或微秒之类的物理时间单位,或者用另外的单位,例如时钟周期数量。在简单的实施方式中,等待时间以消息重复序列内的相关消息的编号的形式来说明。例如,消息重复序列中的n个消息可以从0到n-1连续编号。只要接收参与者(例如第二参与者16)能够将消息编号转换为等待时间,消息编号就可以被解释为等待时间。在一个实施方式中,传输时间与时间间隔d(d是两个连续传输时间之间的间隔)是等距的,并且第二参与者根据w_i=(n-1-i)*d+δw_i而从消息编号i计算等待时间,其中δw_i是所提及的容差时间。原则上,等待时间的陈述可以被插入所述消息中任何想要的位置。然而,如果等待时间的陈述被安排在所述消息的报头(所示示例中的以太网报头)与校验值(其通常被提供在消息的末端)之间的位置处,则可能是有利的。这使得可以降低接收者中的处理复杂度。在所述示例中,在以太网报头与一个或多个数据报之间陈述了等待时间。

图4示意性地示出了由n=3个消息frame1、frame2以及frame3组成的消息重复序列的示例。这三个消息在附图中以垂直偏移示出,但连续地被传送,例如直接连续传送。三个消息中的每一个消息都包含字段,所述字段包含被指派给相关消息的等待时间δw_i(i=0,1,2)的陈述,所述消息以消息索引i连续地从0到2编号。在所述示例中,等待时间是w_i=(2-i)*d。所显示的三个消息的传输时间是t_i=t_0+i*d。也就是说,这些消息中的每一个以偏移所述消息持续时间d的方式连续地被传送。在常规操作期间,从所述传输参与者(例如第一参与者14)到接收参与者(例如第二参与者16)的传输时间对于每一个消息是相同的。因此,根据传输时间t_i(i=0,1,2)而以偏移方式来接收消息。因此,对应的接收时间是t'_i=t'_0+i*d。接收参与者从消息重复序列中的所有成功接收的消息中选择消息(例如最早的消息),并且例如在所述参与者执行被指派给所选消息的动作(例如,产生中断)之前允许所选消息中陈述的等待时间消逝。如果k是所选消息的索引,则等待时间在时间t'_k+w_k(也就是在时间t’_0+k*d+(2-k)*d=t’_0+2*d=t’_2)终止。因此,在接收消息重复序列中第三(以及最后一个)消息的时间t'_2执行所述动作,而不管所述消息重复序列中的哪个消息被选择。所述通信网络中所述动作与事件、或其他动作的同步因此被改善。在所述示例中,容差时间δw_i为零(即对于i=0至n-1,δw_i=0)。所述示例可以应用于具有多于三个消息的消息重复序列,而没有困难。

如图5中示意性示出的,例如,如果消息重复序列被周期性地传送,各个消息中的等待时间陈述使对应于消息重复序列的动作(例如中断)序列具有相同的周期持续时间。与传统方案相比,周期波动(抖动)因此大大地减少,在传统方案中,所选消息立即开始执行相关动作。

图6示意性地示出了用于操作通信网络中的参与者的方法600的示例。在所述示例中,参与者(例如第二参与者16)在第一接收周期内接收第一消息重复序列602、并在后续的第二接收周期内接收第二消息重复序列604。所述两个消息重复序列602、604中的每一个例如包括三个消息、并且每一个例如可以如以上参照图4所描述的那样来建构。在所述示例中,参与者首先选择第一消息重复序列602中的第一消息、并将有用和/或状态数据从第一消息(frame1)写入缓冲器。相反地,第二以及第三消息(frame2以及frame3)仅由参与者转发而没有参与者缓存所述消息中包含的数据。这是例如通过下列而被实现:在来自所述第一消息的有用和/或状态数据已经被写入缓冲器之后,禁止对所述缓冲器的写入访问,直到所述第一消息中的等待时间已经终止(缓冲器是在“缓冲器已满”状态)。然而,缓冲器中的有用数据和/或状态数据不能立即为参与者应用程序“从应用程序”可用。仅在等待时间终止时,即在序列602中的第三消息的接收时间之后,并且使缓冲器中的有用以及/或状态数据可用于“从应用程序”,才发起所述动作(例如,中断),结果是后者可以读取所述数据。从缓冲器读取的数据(例如主参与者14的输出数据“outputs(输出)”)由参与者使用(例如作为输出数据),并且在读取之后缓冲器改变为“缓冲器空的”状态。所述动作使“从应用程序”接收输入数据“inputs(输入)”、并将所述输入数据写入用于输入数据的另外的缓冲器(“缓冲器已满”)。这些输入数据可用于另外参与者(例如第二参与者18)或通信网络的主设备14。在所述示例中,这通过所述第二消息重复序列604来执行。在所述示例中,参与者将来自缓冲器的数据“inputs(输入)”复制到所述第二消息重复序列604中的每一个消息。数据“inputs(输入)”是与第二消息重复序列604一起冗余地转发。仅在所述等待时间终止后,也就是说,在序列604中的第三消息的接收时间之后,用于输入数据的缓冲器才被重设为“缓冲器空”状态(例如,使得缓冲器因此不能被再次读取,因为其内容现在被认为是过时的)。

图7示出了一种用于操作通信网络的方法的实施方式。例如,通信网络可以是图1中的网络10。所述网络包括多个参与者,例如参与者14、16以及18。在所述示例中,参与者14、16以及18是例如在ethercat系统中的主参与者(主)14、从参与者(从)16以及另外的从18。

第一参与者14以所述第一参与者生成由n个消息(措施701、702、703、704)组成的消息重复序列的方式而被操作。在生成所述消息重复序列之后,所述第一参与者14开始生成下一个消息重复序列(703)。每一个消息重复序列中的n个消息连续地从所述第一参与者14被传送到所述第二参与者16(704)。每一个消息都包含对应等待时间的陈述。因此,等待时间w_i被指派给所述消息重复序列中的第(i+1)个消息,也就是说,以索引i表示的序列中的那个消息,其中i=0,...,n-1。

所述第二参与者16接收所述第一参与者14传送的消息(705)、以及检查所述消息中包含的校验值是否正确以及所述第二参与者16的递减计数器是否为零(706)。如果满足这两个条件,则所述第二参与者16将所述递减计数器设定为与等待时间w_i对应的初始值。此外,所述第二参与者16将所接收的消息或其至少一个相关部分写入缓冲器(707)。钟控递减计数器然后根据所述通信网络的时钟频率往下计数至零(708)。因此,所述等待时间w_i从确定(706)所述校验值是正确的并且计数器读数是零起消逝直到达到零值(708)。由于达到所述递减计数器的零值(708),被指派给所接收的消息的动作被发起(709)。除了递减计数器外,还可以使用递增计数器。可以定义另一个最终值而不是零值。

可以看出,在此实施方式中,利用措施706选择来自所述消息重复序列的消息,也就是说利用检查接收到的消息的校验值、以及利用检查来确定所述递减计数器是否处于零。不言而喻,可以在其他实施方式中基于其他标准进行选择。

在所示的例子中,第二参与者16特别是没有延迟地(也就是说不等待所接收的消息中陈述的等待时间终止)将每一个接收到的消息(不仅是所选消息)转发到所述通信网络的另外参与者,这里是第三参与者18。第三参与者18接收所述消息(715)、并且同样将其转发给例如另外参与者(图7中未示出)、或者返回给所述第一参与者14或所述第二参与者16。在所述示例中,参照第二参与者16说明的措施705至709是以第三参与者18中的相同或类似的方式(715至719)实施。与第一参与者16一样,第二参与者18因此也从第二参与者接收的消息(715)中选择成功接收到的消息(716)并且在所选消息中陈述的等待时间终止(717、718)之后开始动作(719)。

图8中作为实施方式的示例而示意性地示出的参与者12包括信道单元30、接收机电路32、处理电路34、传输电路36以及功能单元38。在操作期间,消息首先到达所述信道单元30的输入端以及所述接收机电路32的输入端。所述消息通过所述信道单元30并以所述信道单元30预定义的延迟而到达所述传输电路36的输入端。所述消息的每一个单独数据项(例如一个字节)由所述传输电路36未经改变地输出到所述传输电路36的输出端、或者用所述传输电路36中提供的数据项(例如一个字节)取代。当所述消息正在通过所述参与者12,所述参与者12因此可以将用于转发至一个或多个其他参与者(图8中未示出)的数据写入所接收到消息。

接收机电路32从接收到的消息重复序列中的消息中选择消息、以及将所选消息或所选消息的至少一部分传送到控制装置34。在所示的示例中,接收机电路32仅在所选消息中陈述的等待时间终止之后将所选消息传送到所述控制装置34。在另一个实施方式中,接收机电路32无延迟地将所选消息传送到所述控制装置34(也就是说,无须先使所述等待时间消逝)、并且经由单独的控制信号用信号通知所述控制装置34等待时间的终止。在这两个实施方式中,所述控制装置34因此随着所选消息中陈述的等待时间的终止而发起被指派给所选消息的动作。例如,所述动作可以包括将控制信号传送到功能单元38。例如,功能单元38可以是机器人或生产工厂中的传感器的一部分。

接收机电路32可以包括例如检查装置40、递减计数器42、接收机控制电路44以及缓冲器46。在操作期间,检查装置40基于例如所接收到的消息中的校验值(例如基于循环冗余校验)来确定所述消息是否已被成功接收。如果所述检查装置40确定成功接收、并且所述递减计数器42处于零,则所述检查装置40启动所述递减计数器42并向所述控制装置44提供信号,该信号使所接收到的消息(其现在构成所选消息)写入缓冲器46。随着等待时间终止,也就是说,当所述递减计数器42已再次达到零时,所述控制装置34评估所缓冲的所选消息、并基于所选消息的内容发起对应动作。

传输电路36可以是本领域技术人员已知的电路。在所示的实例中,其包括复用器60、控制电路62以及缓冲器64。欲写入通过的消息的数据可以保存在缓冲器64中。控制电路62从缓冲器64读取想要的数据、并且通过适当地控制所述复用器60而在合适位置处将所读取的数据插入到通过的消息中。

不言而喻,图8中示意性地示出的实施方式只是一个实例,并且在应用程序中描述的措施可以在具有不同结构的参与者中实施。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1