掌桥专利:专业的专利平台
掌桥专利
首页

主机和客户端之间基于包通信的自动化网络及其运行方法

文献发布时间:2023-06-19 12:07:15


主机和客户端之间基于包通信的自动化网络及其运行方法

技术领域

本发明涉及一种自动化网络,该自动化网络中实现在主机和客户端之间基于包的通信,该自动化网络中的主机和客户端,以及用于运行这种自动化网络的方法。

背景技术

在自动化网络中,使用主机-客户端系统。在此,主机通常承担包括来自许多客户端的数据的复杂的控制任务。这些客户端的输入数据由被相应客户端控制的系统提供给客户端。被客户端控制的系统例如可以是无人机、仓库中的单个的叉车或复杂生产机器的组件,例如驱动马达、泵、开关、阀门等。提到的输入数据可以是描述所连接系统属性的数据,例如开关状态(例如限位开关)、马达转速、速度、温度、压力和液位。这些输入数据在主机中进行处理。在下一步骤中,主机为各个客户端提供数据,客户端将这些数据作为输出数据转发到所连接的系统,例如作为控制执行器的开关输出、控制马达的数字额定值等。

选择这种主机-客户端体系结构出于两个原因。一方面,用于对计算中心或云中复杂系统的控制所需的容量(计算运算,内存等的数量)例如可以在大量服务器上集中地提供。以这种方式,可以充分考虑由各个客户端控制的(子)系统的相互作用。另一方面,现场系统中的客户端应在技术上尽可能地简单,也就是说,配备尽可能少的电子组件以及低的容量。因此,控制和调节任务最好由中央实体而不是现场的客户端来执行。

这种主机-客户端系统中的通信可以通过有线方式(例如通过Profibus、Profinet或以太网)实现。然而,经由无线电的无线通信更适合于控制和调节移动系统。为此,使用基于包的数字无线电传输标准,例如上述连接的无线版本以及3G、4G、5G等。

为了在客户端和主机之间划分任务以控制和调节连接到自动化网络的系统,无线通信的延迟时间受到了明显限制。使用到目前为止已广泛使用的标准,客户端必须在现场在毫秒级范围内处理待完成的任务,因为传至主机并返回的传输要花费太多时间,以便能够在主机上进行处理。这样,传感器数据可以从客户端传输到主机,例如叉车的位置和速度。主机可以使用这些数据,例如用于跟踪和存档叉车的运动。

随着无线通信中延迟时间的逐渐减少,例如标准5G URLLC小于1毫秒,则有更多在主机上执行任务的可能性。例如,如果以此标准进行无线数字通信,则可以在主机上重新计算运输工具或控制过程的路径。这是特别有利的,因为在固定主机上比在轻型移动系统的客户端上更容易保持相应的容量(计算运算,存储器的数量等)。因此,可以在主机上执行比在客户端上更复杂的控制算法。这扩展并改善了控制和调节的可能性。

然而,出现的问题是,在包通信的情况下,并非所有包都可以总是立即被发送。从主机到客户端或从客户端到主机的传输存在延迟。尽管所有数据包都正常传输,但是当有一个延迟时,那么该延迟意味着,例如一种运输工具没有足够的数据来继续其运输路径,或者控制质量受到了损害。

发明内容

在这种背景下,本发明的一个目的是通过主机与客户端之间基于包的通信来改善自动化网络的运行。

因此,提出了一种用于运行自动化网络的方法,该自动化网络具有主机装置、至少一个客户端装置以及主机装置与客户端装置之间基于包的通信链路,方法包括以下步骤:由客户端装置生成输入值包并将其经由通信链路发送到主机装置;由主机装置生成输出值包并将其经由通信链路发送到客户端装置;以及如果客户端装置在预定时间段内未经由通信链路接收到至少一个输出值包,则通过客户端装置生成替代输出值包。

如果在将输入值数据包从客户端传输到主机的过程中出现延迟,那么导致主机不再能够处理需要快速解决的控制和/或调节任务并将相应的输出值数据包传输到客户端。因此,输入值数据包在预期数量的处理周期内不会到达主机。输出值数据包的传输延迟也可能在从主机到客户端的方向上发生。可能发生的是,在发送输入值数据包后,在经过预定数量的处理周期后,客户端未注册预期的相应输出值数据包的接收。那么该预定数量的处理周期、即预定时间,即被视为未按时接收包,而无论是从客户端到主机的方向还是从主机到客户端的方向。无法以这种方式接收数据包意味着客户端无法为连接到自动化网络的系统提供所需的输出数据。为了避免上述的负面影响,如果未按时接收到数据包,则客户端本身将承担必要的输出值数据包的生成,即所谓的替代输出值数据包。如果主机在指定的处理周期数后仍未收到预期的输入值包,则可以向客户端发送信号以自行生成替代输出值包。

根据第二实施例,通过以下方案来扩展该方法,即由客户端装置根据主机装置预定的至少一个基础工作点来生成替代输出值包。

控制和调节过程通常发生在可预测控制或调节的特定特性的工作点区域。在这种情况下,工作点是由客户端控制的系统属性所限定的预定义状态,这些属性也受环境参数的影响。在简单的电驱动装置中,工作点例如由被驱动部件的转速和电动机的扭矩确定。叉车的工作点由内部参数(例如速度和转向角)以及外部参数(例如所运输的负载的质量)确定。例如对于无人机来说,速度、位置、高度、风速和温度是确定工作点的参数。对于生产机器来说,工作点由开关、阀门的位置、流量和驱动速度确定。如上所述,工作点也可以由更复杂的参数形成,例如简单的参数的导数。

更准确地说,根据实际当前工作点来确定替代输出值包,即根据系统相对于被称为基础工作点的工作点刚好所处的状态。该基础工作点由主机预先确定。当然也可以确定多个基础工作点。对于叉车和无人驾驶飞机来说,此类基础工作点可以是无负载的行程或航程,也可以是低、中或高负载的行程或航程。

在输入值包和输出值包的正常通信过程中,主机可以确定具有可预测特性的这种基础工作点。然后,主机可以与当前控制和/或调节任务的正常处理无关地将其他数据传输到客户端。例如,这些数据包含针对在基础工作点周围区域中的控制或调节特性。这种特性可以基于比主机上运行的算法复杂度低的算法。然而,这样无法获得与主机上的控制相同的控制质量。但可以避免在接收包延迟的情况下的控制的失败或停顿。根据此基础工作点周围区域的行为规则,客户端可以自己生成输出值包,即创建替代输出值包。由客户端进行的这种调节也可以与主机上输出值数据包的生成并行地持续进行。

根据第三实施例,上述方法之一通过如下的方案来扩展:由客户端装置借助于配属给客户端装置的本地处理模块来生成替代输出值包。

模块在这里被理解为可以以硬件、固件或软件来实现的元件。当实现为软件时,其可以是程序模块,即可执行代码。

可以在客户端上的单独模块中实现第二实施例中提到的不太复杂的算法,客户端使用该算法生成替代输出值包。客户端上的这种本地处理模块可以作为软件程序,作为固件或作为单独的硬件来提供。也可以使用与工作点无关的另一种算法。

根据第四实施例,通过如下方案来由扩展根据第三实施例的方法,即由主机装置向客户端装置传输用于本地处理模块的参数。

用于本地处理模块的此类参数例如可以是本地处理模块处理的固定算法的合适参数。本地处理模块中的算法可以例如基于方程的低阶系统,该方程以足够的精度在基础工作点处再现近似平稳的状态。在更复杂的情况下,本地处理模块可以包含一个状态机。运行此状态机需要参数集。主机先前已根据连接到客户端的系统的状态、主机的内部状态和/或其他客户端的状态确定了这些参数集。

根据第五实施例,通过如下的方案来扩展根据第三或第四实施例的方法,即由主机装置将本地处理模块发送到客户端装置。

主机也有可将本地处理模块完全转移给客户端。主机根据调节或控制系统的当前状态创建本地处理模块。这可以在客户端上以灵活的、基于应用程序的运行时的形式有利地实现。

根据第六实施例,通过如下的方案来扩展根据第二实施例的方法,即由主机装置在预定时间点得出至少一个预定基础工作点。

在根据第二实施例的方法中,重要的是要考虑工作点的变化。为了可以获取这样的变化,主机重复地在特定的时间点(例如周期性地)确定被预测为接下来将生效的基础工作点。进行确定的时间点或连续进行的工作点确定之间的时间间隔,取决于待监视的系统。基础工作点也可以根据相应的客户端和/或其他客户端的输入值包来确定,或者根据整个自动化网络的状态来确定。如已经结合第二实施例描述的那样,当然可以确定多个合适的基础工作点。

根据第七实施例,通过以下方案来扩展根据第一至第六实施例之一的方法,即在从客户端装置到主机装置的方向上的通信链路上在预定的时间段内未接收到至少一个输入值包的情况下,由主机装置加速生成输出值包,直到主机装置按时处理当前(aktuell,或最新)的输入值包为止;由客户端装置继续生成替代输出值包,直到在主机装置上接收到当前的输入值包,并且主机装置从该时间点开始生成输出值包为止。

如果在从客户端到主机的通信期间,延迟的输入值包最终到达主机,则主机上的相应例程将对相应的调节或控制过程进行加速处理。这意味着相应的调节或控制比正常运行更快。这样,可以再次弥补在延迟时间内未执行的调节或控制的过程,直到针对当前时钟周期建立了该控制或调节的内部状态为止。从这个时间点开始,控制或调节可以再次正常运行。因此,该调节或控制可以被主机再次接管,并且客户端上的调节或控制可以停止将替代输出值包输出到连接的系统,而替代的是输出从主机接收的输出值包。

根据第八实施例,通过以下方案来扩展根据第一至第七实施例之一的方法,即由客户端装置从输出值包生成用于受控系统的控制变量,该受控系统从客户端装置接收控制变量以及由客户端装置从由测量环节接收的测量变量创建输入值包。

根据第九实施例,通过以下方案来扩展根据第八实施例的方法:由主机装置在处理客户端装置由测量变量创建的输入值包的情况下,生成用于确定控制变量的输出值包。

根据第十实施例,通过以下方案来扩展根据第五实施例的方法:由主机装置经由备选的通信链路将本地处理模块发送到客户端装置。

本地处理模块的传输不必以与输入值包或输出值包的传输相同的低延迟时间来进行。因此,此处可以经由空中接口使用具有更高延迟时间的标准的通信链路。如果客户端未集成到移动系统中,或者包含客户端的移动系统通过插头连接临时连接到自动化网络,则有线通信也可以用于传输本地处理模块。

根据第十一实施例,通过以下方案来扩展根据第五实施例的方法:主机装置根据由主机装置预定的基础工作点来创建本地处理模块。

根据当前的工作点,可能有必要使本地处理模块适配于相应的条件。在近似平稳的状态下,本地处理模块算法中的线性方程组就足够了。但是,对于更复杂的条件可能需要使用不同的算法。因此,在主机上创建本地处理模块时考虑相应的工作点是有利的。

根据第十二实施例,通过以下方案来扩展根据第一至第十一实施例中的一个的方法:在通信链路上未在预定的时间段内接收到至少一个包的情况下,则由客户端装置生成替代输出值包,直到时间或位置限制。

如果仅延迟发送数据包,并且客户端执行输出值包的创建,则有意义的是,客户端仅在一定的预定的时间或地点限制内来执行控制或调节。因此可以确保包含客户端的移动系统留在预定的地点区域内、例如在无线电链路的范围内。通过限制客户端创建替代输出值包的时间,与预定基础工作点的偏差可以不会太大。同样,对客户端创建替代输出值数据包所用的时间的时间限制可以防止运行干扰。例如由于客户端为了运行所连接的系统而必须具有仅对主机已知的参数,因此产生上述的运行干扰。如果主机创建输出值包,那么在创建输出值包时考虑这些参数。相对地,如果客户端创建替代输出值包,则不能考虑这些参数。在后一种情况下,便可能会产生干扰。通过限制生成替代输出值包的时间可以避免这些干扰。

根据另一实施例,提出了一种自动化网络,该自动化网络被设置为执行根据第一至第十二实施例中的一个的方法,该自动化网络包括主机装置,至少一个客户端装置以及主机装置与客户端装置之间的基于包的通信链路,其中,客户端装置被设置用于生成输入值包并经由通信链路将其发送到主机装置,并且主机装置被设置用于生成输出值包并经由通信链路将其发送到客户端装置,并且如果客户端装置在预定的时间段内未经由通信链路接收到至少一个输出值包,则该客户端装置还被配置为生成替代输出值包。

根据另一实施例,提出了一种主机装置,该主机装置被设置为执行根据第一至第十二实施例中的一个的方法。

根据另一实施例,提出一种客户端装置,其被设置为执行根据第一至第十二实施例中的一个的方法。

本发明的其他可能的实施方式还包括以上或以下关于实施例描述的特征或实施例的未明确提及的组合。本领域技术人员还将增加各个方面,作为对本发明的各个基本形式的改进或补充。

附图说明

本发明的其他有利的设计方案和方面是从属权利要求的主题和下面描述的本发明的实施例的主题。下面,根据优选实施例并参照附图更详细地解释本发明。

图1示意性地示出了自动化网络;

图2示意性地示出了来自自动化程度的主机与客户端以及主机和客户端之间的通信链路;

图3示意性地示出了主机;

图4示意性地示出了客户端;

图5示出了主机,客户端和连接的系统之间的通信的示意性时序图;

图6示出了如果在预定时间段内客户端未接收到输出值包的情况下,主机,客户端和连接的系统之间的通信的示意性时序图;

图7示出了在预定时间段内主机未接收到输入值包的情况下的主机,客户端与连接的系统之间的通信的示意性时序图;

图8示出了具有用于运行自动化网络的方法的流程图;

图9示出了在主机上具有该方法过程的流程图;

图10示出了在客户端上具有方法过程的流程图。

在附图中,除非另有说明,否则相同或具有相同功能的元件被赋予相同的附图标记。

具体实施方式

在图1中,示意性地示出了具有主机110的自动化网络1,该主机通过通信链路910、920、930、940...990与客户端210、220、230、240...290连接。通过示例的方式,图2示意性地示出了主机110经由通信链路912经由天线112从其天线212接收由客户端210发送的信息,并且其自身经由通信链路911向客户端发送信息。通信链路911和912是图1中的通信链路910的一部分。与该通信链路并行地,在主机和客户端之间存在通信链路915,其被分成:通信链路913,主机经由该通信链路向客户端发送信息;以及通信链路914,主机经由该通信链路从客户端接收信息。该通信链路915优选地也通过无线电来实现。对于该通信链路915来说,在主机上存在天线113,而在客户端上存在天线213。

图3详细示出了主机110的结构,主机经由天线112在下行链路方向上经由通信链路911向客户端发送输出值包999,并经由通信链路912在上行链路方向上从客户端接收输入值包998。通信链路911和912是主机110与客户端210之间的通信链路910的一部分。并行地,可以经由另一通信链路915在主机110与客户端210之间交换信息。控制和调节客户端210上的过程的自动化模块310位于主机110上。该信息,即来自其他客户端的输入值包也被考虑在内。主机上还存在用于控制和调节其他客户端220至290的过程的其他模块(图中未示出)。与客户端210的通信经由通信模块319经由链路910(由通信链路911和912组成)和915(由通信链路913和914组成)实现。为其他客户端提供了此处未显示的其他通信模块。

图4是客户端210的详细图示,客户端借助于天线212经由通信链路911和912与主机交换输入值包998和输出值包999。通信模块419包含在用于控制和调节客户端以及连接到客户端的系统的模块401中,并控制与主机的通信。客户端210经由链路818将其输出信号借助于通信模块418经由客户端210输出到由自动化网络1控制的系统812的输入端813。该系统812进而借助于通信链路819经由输出端814将信号发送到客户端210的输入。除了基于无线电的通信链路911和912之外,客户端210还具有到主机的通信链路915。如有必要,本地处理模块412生成输出值包999,以输出到连接的系统812的输入端813。

本地处理模块412可以被实施为应用程序。其他可能的实施方式包括将模块实现为例如ASIC或FPGA形式的硬件。当然,该模块也可以在多功能处理器或专用硬件中以软件,固件或硬件的形式提供。可以经由替代通信链路915来发送该本地处理模块412。该通信链路可以被实现为具有较低延迟时间要求(例如,根据5G eMBB标准)的宽带无线电链路。

一般来说,客户端上的输出值包不必须被强制性在自动化网络的输出端直接执行(umsetzen)。输出值包也可以是控制过程的参数。一个实例是从主机出发的用于更改方向的指令,该指令通过客户端输出到作为连接的系统的运输工具。然后,根据运输工具所处的当前状态,客户端可以以不同的方式来执行该指令,例如,通过发出命令给运输工具中的控制元件,或者通过更改运输工具的各个驱动器的速度,而主机不必在输出值包中明确描述客户端上的执行的细节。

从客户端传输到主机的输入值数据包也是如此。客户端也可能会不加改变地将从连接的系统接收到的数据传输到主机。但是,在将其转发给主机之前,客户端还可以评估和处理已从例如作为连接的系统的运输工具接收的数据。例如,客户可以将转速和用于运输工具的空间定向的数据转换为仅包含运输工具的当前速度和移动方向的输入值包。

图5示出了根据现有技术的系统812、客户端210和主机110之间的通信的正常时间过程。为此,对应于这些系统的时间箭头用相应组件的参考符号标记。自动化网络的输入值814(即连接的系统812的输出)由客户端作为输入值包998传递到主机,主机在经过适当处理后将输出值包999发送到客户端。客户端然后确定输出值813并将其传输到系统812的输入端。在客户端将输入值包998发送到主机后,在客户端上启动具有延迟时间995的计时器。当然,也可以使用其他事件来启动计时器。

对应于图5,图6示出了根据本发明的时间过程,其中输出值包999的传输被中断和/或仅延迟地发生。例如,这可能由于无线电传输链路上的突发错误而发生。波浪线表示对直接的发送输入值数据包的干扰。在经过预定的延迟时间995之后,客户端生成替代输出值数据包991,并将相应的输出值813输出到系统812。在图6中未示出的过程是,一方面,如果不存在期望的输入值包,则主机向客户端发送重复请求,另一方面,当不存在期望的输出值包时,客户端可以向主机发送重复请求。

图7示出了当输入值包998被延迟发送到客户端时的过程。如在图6中一样,这里也一样,在延迟时间995之后,客户端接替替代输出值包991的生成,因为主机没有按时为其提供对应的包,并相应地将数据813输出到系统。两个输入值数据包到主机的这种延迟传输由表示输入值数据包998传输的箭头的倾斜表示。如果输入值包延迟到达主机,则主机会加速评估输入值包998。当主机在处理根据时间戳区分开的所有延迟处理的输入值包998之后,由于加速处理而现在存在有当前的输出值包999时,则将其输出到客户端。然后,客户端将这些输出值包999作为输出813再次传递给系统。该情况对于针对第三输入值包,在图7的底部示出。

图8包含用于描述第五实施例的方法的流程图。该方法开始于步骤S11。首先,在步骤S13中确定当前的实际工作点。在步骤S14中,主机针对此工作点为本地处理模块创建一组新的参数。在步骤S15中,检查基础工作点是否仍然是当前的,即,实际工作点还没有从基础工作点移开远至,使得经由配属的处理模块的利用新的参数化所进行的替代控制,可预见地不再能够提供有效的输出值。如果是这种情况,则如果基础工作点仍然是当前的,那么在步骤S17中将新参数发送到客户端,客户端使用这些新参数来参数化并执行其本地处理模块412(参见图4)。如果在步骤S15中确定实际工作点已经从基础工作点移开过远,则在步骤S18中基于实际工作点创建包括相关联的本地处理模块512(见图3)的新的基础工作点,并检查处理模块是否在基础工作点周围足够大的区域内为实际工作点提供足够高的控制质量。如果不是这种情况,则该信息返回到步骤S18,以便在那里生成更合适的处理模块。如果处理模块对于调节是合适的,则在步骤S16中将其传输到客户端,然后返回到步骤14,以便现在基于新的处理模块为当前的实际工作点生成参数,该新的处理模块在步骤S15中成功验证之后在步骤S17被发送到客户端。该方法在步骤S20中结束。

图9是用于与客户端通信的主机运行的说明。该方法开始于步骤S21。在步骤S22中,检查是否已经从客户端发送了输入值包998。如果不是这种情况,则该方法返回到步骤S21。否则,在步骤S23中,主机通过适当的处理来生成输出值包999,也可以使用来自其他客户端的数据。如果在步骤S24中确定输入值包的时间戳是当前的,则在步骤S25中检查在客户端上是否刚好没有经由本地处理模块412的运行。然后,主机可以在步骤S26中将刚刚计算出的输出值包999输出到客户端。如果在步骤S25中确定了经由本地处理模块的运行,则系统返回到步骤S22,以确定是否还有其他尚未处理的输入值包。该方法在步骤S27中结束。

必须考虑到输入值数据包的丢失是至关重要的,实际上这是不应该发生的,尤其是在主机具有诸如记录或归档系统状态之类的任务的情况下。因此,如果没有预期的输入值数据包,则主机将请求发送到客户端,其中主机请求客户端重复传输。因此,客户端必须具有一个缓冲区,由它发送的输入值包以存储一段时间的方式保留在该缓冲区中,以便在主机发出重复请求的情况下可以再次发送它们。

在图10中,显示了在客户端上的运行。该方法开始于步骤S31。在步骤S32中,客户端将当前输入数据包998发送到主机。在由步骤S33表示的延迟时间995(见图5-7)之后,该方法在步骤S34中检查是否存在来自主机的对应的输出值包999。如果是这种情况,则在步骤S35中将该包作为输出数据813(参见图4)传送到系统。如果步骤S34中的检查结果是否定的,则在步骤S36中检查本地处理模块412是否准备就绪。另外,在该步骤S36中,还检查系统是否在针对本地处理模块412的运行的时间界限或位置界限内移动。如果两个条件都满足,则本地处理模块412在步骤S37中生成输出值包999,然后可以在步骤S35中将其输出到系统。如果没有本地处理模块准备就绪,或者系统已经超过预定的时间界限或位置界限,则客户端在步骤S39中执行紧急程序。这样的紧急程序可以,例如,停止叉车或使无人机立即降落。该方法在步骤S40中结束。

当主机与经由基于包的数字无线电链路输出控制变量的客户端通信时,以上公开内容使得可以在主机上执行复杂的控制任务。这意味着可以在移动系统或其他难以接线的系统中的非本地自动化系统上执行复杂的控制任务。这里非本地的,意味着它是一个外部自动化系统,用于客户端直接连接到要控制或调节的系统。因此,例如,可以使用具有高资源需求的复杂过程来控制和调节其客户端在系统资源方面受限制的紧凑型无人机。

本公开的另一个优点在于,控制或调节系统在客户端装置中实现的适应性以及与主机相比具有更低的复杂度以适应当前状况,即实际工作点。

在纯数字无线电传输的情况下,可以选择使用彼此不同的冗余无线信道,例如在宽间隔的频带中以不同的调制方法和/或以不同的空间传输模式作为替代方法或上述方法的补充。

作为上述数字无线电过程的替代,也可以使用光通信方法。在此可以降低对干扰的敏感性。

尽管已经基于实施例描述了本发明,但是可以以许多方式对其进行修改。

参考标号列表

1 自动化网络

110 主机装置

112 主机装置上的天线

210 客户端装置1

212 客户端装置1上的212天线

220 客户端装置2

230 客户端装置3

240 客户端装置4

290 客户端装置n

301 110上的控制和/或调节模块

319 客户端210的通讯模块

401 客户端210上的模块

412 客户端210上的模块

418 客户端210上的通信模块(到系统)

419 客户端210上的通信模块(到主机)

512 客户端210的模块

812 系统(具有受控系统/切换路径)

813 系统的输入(执行器/控制元件(例如继电器线圈))

814 系统的输出(传感器/测量环节/信号发送器(例如限制开关))

818 用于至系统的自动化网络的输出数据(例如控制变量/执行器信号)的通信链路

819 用于至系统的自动化网络的输入数据(例如,测量变量/编码器信号)的通信链路

910 主机-客户端通讯链路

911 到客户端210的通信链路下行链路(910的一部分)

912 来自客户端210的通信链路上行链路(910的一部分)

913 到客户端210的替代通信链路的下行链路(915的一部分)

914 到客户端210的替代通信链路的下行链路(915的一部分)

915 主机-客户端替代通信链路

920 主机-客户端通信链路

930 主机-客户端通信链路

940 主机-客户端通讯链路

990 主机-客户端通讯链路

991 替代输出值包

998 上行方向发送的数据包

999 下行方向发送的数据包。

相关技术
  • 主机和客户端之间基于包通信的自动化网络及其运行方法
  • 基于客户端所确定的邻近客户端设备之间的关系来触发通信动作
技术分类

06120113173388