工业系统中端点的基于事件的行为的分析的制作方法

文档序号:25600000发布日期:2021-06-22 17:20阅读:83来源:国知局
工业系统中端点的基于事件的行为的分析的制作方法

本文中所提出的实施例涉及一种用于分析工业系统中网络的端点的基于事件的行为的方法、控制节点、计算机程序以及计算机程序产品。



背景技术:

时间敏感网络(tsn)是一种旨在使得以太网能够具有实时能力的新兴标准。tsn支持不同业务类别/优先级在同一网络上共存,同时确保确定性端到端行为。不同业务类别和优先级的映射通过向不同优先级的队列/类别分配所谓的vlan标签(其中vlan是虚拟局域网的缩写)(参见ieee802.1q(通常被称为dot1q))和mac地址(其中mac是媒体访问控制的缩写)来完成。根据示例,ieee802.1q在源mac地址与原始帧的ethertype字段之间添加32位字段。该32位字段包括标签协议标识符(tpid)、标签控制信息(tci)、优先级代码点(pcp)、丢弃适当性指示符(dei)以及vlan标识符(vid)。仅举几个示例,tsn使得能够支持同步、硬实时和软、音频和视频、以及尽力业务。

比如,使用ieee802.1qbv时间感知整形器(tas)机制整形的tsn流确实提供了一种机制,用于两个或更多个端点以最大时延和较低抖动定期共享一定数量的数据。tsn网络中可能有成百上千个这样的tsn流。tsn流可以使用不同的整形机制(例如根据ieee802.1qbv、ieee802.1qav、ieee802.1qcr、ieee802.1qch等),并且在同一网络中彼此并与尽力业务同时并存。

如由网络化系统中的端点(例如,基于tsn)创建的事件可以用于确保可靠和确定性的通信。来自percepio所谓的tracealyzer是现有机制的示例,该机制通过分析带有时间戳的日志来揭示事件在非网络化嵌入式系统中确实发生的内容/时间。然而,tracealyzer通常可能为侵入式,并且仅可适用于嵌入式系统本身,并不能适用于网络化嵌入式系统。因此,tracealyzer不可适用于通过网络通信的端点。

因此,需要用于在时间上跟踪网络中的事件的改进机制。



技术实现要素:

本文中的实施例的目标是使得能够有效跟踪工业系统中的事件。

根据第一方面,提出了一种方法,用于分析工业系统中网络的端点的基于事件的行为。该方法由控制节点执行。该方法包括从端点收集如由端点在时间窗口内创建的带有时间戳的事件日志条目。每个相应的带有时间戳的事件日志条目都与由端点中的一个端点执行的相应的事件有关。该方法包括通过将带有时间戳的事件日志条目相互比较来标识相关事件元组,从而提供事件与其中执行每个相关事件元组的事件的那些端点之间的映射。

根据第二方面,提出了一种控制节点,用于分析工业系统中网络的端点的基于事件的行为。该控制节点包括处理电路系统。该处理电路系统被配置为使得控制节点从端点收集如由端点在时间窗口内创建的带有时间戳的事件日志条目。每个相应的带有时间戳的事件日志条目都与由端点中的一个端点执行的相应的事件有关。该控制节点包括处理电路系统。该处理电路系统被配置为使得控制节点通过将带有时间戳的事件日志条目相互比较来标识相关事件元组,从而提供事件与其中执行每个相关事件元组的事件的那些端点之间的映射。

根据第三方面,提出了一种计算机程序,用于分析工业系统中网络的端点的基于事件的行为,该计算机程序包括计算机程序代码,当该计算机程序代码在控制节点上运行时,使得控制节点执行根据第一方面的方法。

根据第四方面,提出了一种计算机程序产品,该计算机程序产品包括根据第三方面的计算机程序以及其上存储有计算机程序的计算机可读存储介质。该计算机可读存储介质可以是非暂态计算机可读存储介质。

根据第五方面,提出了一种工业系统,用于分析工业系统中网络的端点的基于事件的行为。该工业系统包括根据第二方面的控制节点。该工业系统还包括端点中的至少一个端点。该端点中的至少一个端点被配置为创建带有时间戳的事件日志条目中的至少一个带有时间戳的事件日志条目。该端点中的至少一个端点还被配置为将带有时间戳的事件日志条目中的至少一个带有时间戳的事件日志条目提供给控制节点。

有利地,这提供了对工业系统中的事件的有效跟踪。因此,可以比较并分析网络化工业系统的不同端点中事件的定时。

有利地,这使得能够检测非最佳网络和端点行为,并且更快且更容易对该非最佳网络和端点行为进行校正。

有利地,这使得能够减少工程工作,并且能够对网络化控制系统进行更快速且更有效的网络管理,直至可选的自主端点和交换机重新配置动作。

根据以下详细公开内容、所附从属权利要求以及附图,所公开的实施例的其他目标、特征和优点将变得显而易见。

通常,除非本文中另有明确定义,否则权利要求中使用的所有术语应根据其在技术领域中的普通含义来解释。除非另有明确说明,否则对“一/一个/该元件、装置、部件、方法、模块、步骤等”的所有引用应被公开解释为是指元件、装置、部件、方法、模块、步骤等的至少一个实例。除非明确说明,否则本文中所公开的任何方法的步骤不必按所公开的准确顺序执行。

附图说明

现在,参考附图通过示例对本发明概念进行描述,其中:

图1和图2是图示了根据实施例的工业系统的示意图;

图3是图示了根据实施例的端点、交换机和控制节点的示意图;

图4是根据实施例的方法的流程图;

图5是图示了根据实施例的控制节点的功能单元的示意图;

图6是图示了根据实施例的控制节点的功能模块的示意图;以及

图7示出了根据实施例的包括计算机可读存储介质的计算机程序产品的一个示例。

具体实施方式

现在,下文参考附图对本发明概念进行更全面的描述,在附图中示出了本发明概念的某些实施例。然而,本发明概念可以以许多不同形式体现,并且不应被解释为局限于本文中所阐述的实施例;相反,这些实施例通过示例提供,使得本公开将是彻底和完整的,并且将本发明概念的范围完全传达给本领域技术人员。在整篇说明书中,相同的附图标记表示相同的元件。虚线所图示的任何步骤或功能都应该被视为可选的。

图1是图示了其中可以应用本文中所提出的实施例的工业系统100a的示意图。工业系统100a包括企业资源管理部分101、生产规划和跟踪部分102(其可以包括工厂信息管理系统(pims)、协同生产管理(cpm)系统等)、控制和操作部分103(其可以包括分布式控制系统(dcs)、监督控制和数据采集(scada)系统等)、仪器化和智能电子设备(ied)部分104(其可以包括测量仪器、传感器、执行器、本地和远程输入/输出接口、机器、工具、机器人等)、服务中心104、云计算环境106以及网关107。部分101至104中的一个或多个部分包括端点。下文将给出端点的示例。如参考图2所进一步公开的,通常部分101至104(特别是端点)被配置为通过网络彼此通信(以及与服务中心105通信)。控制节点200在网关107和/或云计算环境106中提供。

图2是图示了其中可以应用本文中所提出的实施例的工业系统100b的示意图。图2可以被视为提供图1的工业系统100a的另一透视图。在图2中,图1的工业系统100a由其端点和网络表示,其中端点被配置为通过该网络通信。这些端点可能是图1中的部分101至104的任何部分的一部分,并且因此网络可能会根据需要在图1中的部分101至104中的两个或更多部分之间延伸,以便使得端点能够彼此通信(以及与服务中心通信)。

因此,工业系统100b包括端点120a、120b、120c、120d、120e、120n以及网络110。端点120a至120n的示例可能不同。在一些示例中,端点120a至120n是工业厂房装备。工业厂房装备的非限制性示例是传感器、执行器、控制器、人机界面(hmi)、工程工具、相机等。端点120a至120n可能需要实时操作并且彼此通信,以便使工业系统100a、100b适当操作。因此,端点120a至120n可以被称为实时操作端点120a至120n。在一些示例中,端点120a至120n是网络化嵌入式系统的一部分。因此,在一些示例中,工业系统100a、100b是网络化嵌入式系统。进一步地,网络化嵌入式系统可以是用于控制工业厂房或过程的分布式控制系统。

进而,网络110包括交换机、路由器或网关130a、130b、130c、130d、130m(本文中简称为交换机)。交换机130a至130m被配置为在网络110中路由分组,从而使得端点120a至120n能够通过通信链路140彼此通信。通信链路140可以是有线的或无线的。通信链路140中的一些通信链路可以是有线的,而通信链路140中的其他通信链路可以是无线的。在一些实施例中,网络110是tsn网络。在一些示例中,尽管如本文中所公开的一般原理也适用于tsn网络之外,但是端点120a至120n中的至少一些端点是tsn感知的,并且因此被配置为或以其他方式使得能够用于在tsn网络中进行操作。在端点是实时操作端点120a至120n的情况下,端点120a至120n是tsn感知的可能是有利的。

如下文所进一步公开的,每次事件由端点120a至120n中的一个端点执行时,已经执行该事件的端点120a至120n也创建对应的带有时间戳的事件日志条目。带有时间戳的事件日志条目也可以由交换机130a至130m创建。控制节点200被配置为经由一个或多个通信链路150从端点120a至120n和交换机130a至130m收集这种带有时间戳的事件日志条目。下文将公开控制节点200的进一步的细节。

本文中所公开的实施例涉及用于分析工业系统100a、100b中端点120a至120n的基于事件的行为的机制。为了获得这种机制,提供了一种控制节点200、由控制节点200执行的方法、包括例如形式为计算机程序的代码的计算机程序产品,当该代码在控制节点200上运行时,使得控制节点200执行该方法。

图3是图示了端点120a中的一个端点、交换机130a中的一个交换机以及控制节点200的示意图。如图所示,端点120a保存事件日志160,该事件日志160包括带有时间戳的事件日志条目170。此外,如图所示,交换机130a保存事件日志180,该事件日志180包括带有时间戳的事件日志条目190。带有时间戳的事件日志条目170、190被传送到控制节点200的数据存储240,该数据存储240还可以保存从工业系统100a、100b中的其他端点和/或交换机130a至130m收集的带有时间戳的事件日志条目250。

图4是图示了用于分析工业系统100a、100b中网络110的端点120a至120n的基于事件的行为的方法的实施例的流程图。该方法由控制节点200执行。该方法有利地由执行一个或多个计算机程序620的控制节点200执行。

本文中所公开的实施例基于被添加到端点120a至120n中的事件日志条目的绝对时间戳信息。一旦事件已经由端点120a至120n中的一个端点执行,因此带有时间戳的事件日志条目就从端点120a至120n被提供给控制节点200。在一些方面,带有时间戳的事件日志条目借助于尽力业务从端点120a至120n被提供给控制节点200。因此,控制节点200被配置为执行步骤s102。

s102:控制节点200从端点120a至120n收集如由端点120a至120n在时间窗口内创建的带有时间戳的事件日志条目。每个相应的带有时间戳的事件日志条目都与已经由端点120a至120n中的一个端点执行的相应的事件有关。

带有时间戳的事件日志条目被传送到控制节点200以供分析。使用来自端点120a至120n的带有时间戳的事件日志条目可以评估整个端到端实时数据流,并非只是评估该数据流的网络部分。特别地,控制节点200被配置为执行步骤s106。

s106:控制节点200通过将带有时间戳的事件日志条目相互比较来标识相关事件元组。控制节点200从而提供事件与其中执行每个相关事件元组的事件的那些端点120a至120n之间的映射。

控制节点200从而使得能够在其中执行每个相关事件元组的事件的那些端点之间对事件进行追踪。步骤s102和s106所定义的方法将揭示事件是否发生在网络110中的端点120a至120n中。步骤s102和s106所定义的方法将揭示事件何时(即,具体时间点)发生在网络110中的端点120a至120n中。步骤s102和s106所定义的方法将揭示多个端点120a至120n中的事件如何关联(即,如何相关)。在这方面,该方法还可以用于确定通过网络110从端点120a至120n到端点120a至120n的分组时延和/或通过网络110从端点120a至120n到端点120a至120n的时延抖动。

现在,将公开与分析如由控制节点200执行的工业系统100a、100b中网络110的端点120a至120n的基于事件的行为的更多细节有关的实施例。

针对端点120a至120n执行的每个相应的事件,通过每个端点120a至120n创建一个带有时间戳的事件日志条目。这种事件的类型可能不同。根据非限制性示例,事件中的每个事件均与以下各项中的任一项有关:创建分组、修改分组、基于分组的内容来执行动作、发送分组、接收分组。即,每次创建分组时,都可以创建对应事件日志条目,其中事件日志条目根据创建分组的时间点赋予时间戳。因此,一般而言,事件日志条目根据执行创建事件的动作的时间点赋予时间戳。事件可以在开放系统互连(osi)模型中的任何协议层处创建。

根据实施例,事件中的至少一些事件与通过网络110从端点120a至120n中的一个端点发送到端点120a至120n中的另一端点的分组有关。作为说明性示例,当分组由第一端点120a创建时,第一带有时间戳的事件日志条目可以由第一端点120a创建。当同一分组由第一端点120a发送时,第二带有时间戳的事件日志条目可以由第一端点120a创建。当同一分组由第二端点120b接收时,第三带有时间戳的事件日志条目可以由第二端点120b创建。当通过第二端点120b执行基于同一分组的内容的动作时,第四带有时间戳的事件日志条目可以由第二端点120b创建。当分组在第一端点120a与第二端点120b之间通过网络110路由时,一个或多个另外的带有时间戳的事件日志条目可以由交换机130a至130m中的一个或多个交换机创建。由于所有这些事件彼此相关,因此它们形成相关事件元组,该相关事件元组可以被映射在第一端点120a与第二端点120b之间,从而使得这些事件能够在第一端点120a与第二端点120b之间被追踪。

时间窗口的类型可能不同。根据示例,时间窗口是滑动时间窗口。这允许将一定时间内(如由滑动时间窗口的大小给定)的所有事件相互比较。根据另一示例,时间窗口具有预先确定的起点和预先确定的终点。这允许所有事件在某个时间段期间相互比较。例如,如果每个时间窗口长达2分钟,则一个时间窗口可能从时间12:00:00开始(以小时:分钟:秒为单位),并且在时间12:02:00结束,而另一时间窗口从时间12:02:00开始,并且在时间12:04:00结束,依此类推。另外备选地,时间窗口是重叠的。

除了端点120a至120n所创建的带有时间戳的事件日志条目之外,带有时间戳的事件日志条目还可以通过网络110中的实体(诸如交换机、网关、路由器、接入点、网络节点等)来创建。特别地,网络110中的分组可以通过交换机130a至130m路由,并且每个交换机130a至130m可以针对其在分组(如与正在被交换的分组有关的)上执行的每个事件创建相应的带有时间戳的事件日志条目。然后,当在步骤s106中标识相关事件元组时,这些带有时间戳的事件日志条目还可以由控制节点200考虑。特别地,根据实施例,控制节点200被配置为执行(可选的)步骤s104:

s104:控制节点200收集如由交换机130a至130m在时间窗口内创建的带有时间戳的事件日志条目。

然后,步骤s106中的标识还基于从交换机130a至130m收集的带有时间戳的事件日志条目。

如上文所指出的,控制节点200使得能够在其中执行每个相关事件元组的事件的那些端点之间对事件进行追踪。进一步地,在这方面,

在一些方面,带有时间戳的事件日志条目给出了指示,指示当事件在端点120a至120n中执行时,所涉及的所有过程是否及时且相对于网络通信机制和相关联的配置执行。特别地,根据实施例,步骤s106中的标识还包括将如由带有时间戳的事件日志条目定义的观察的网络行为与配置的网络行为进行比较。

因此,带有时间戳的事件日志条目可以用作指示是否遵循所配置的网络行为的指示符。在一些方面,当不遵循所配置的网络行为时,控制节点200发出通知。特别地,根据实施例,控制节点200被配置为执行(可选的)步骤s108:

s108:如果所观察的网络行为偏离所配置的网络行为,则控制节点200发出通知。

这种通知的类型可能不同。通知的类型可能取决于所观察的网络行为与所配置的网络行为的偏离程度。例如,如果偏差大于阈值(诸如例如,如果所得分组延迟大于阈值延迟值),则可能会发出警报。否则,控制节点200可能仅创建偏差的日志条目。

能够从工业系统100a、100b中的许多甚至所有端点120a至120n中访问大量带有时间戳的事件日志条目以及所得相关事件元组可以缩短基于人工智能(ai)或机器学习(ml)的系统生成/细化/校正网络配置和端点配置的时间,以从作为整体的网络110和各个端点120a至120n实现所需的实时行为。因此,所观察的网络行为偏离所配置的网络行为的指示可以用作需要重新配置的触发器。特别地,根据实施例,控制节点200被配置为执行(可选的)步骤s120:

s120:控制节点200确定对其中所观察的网络行为偏离所配置的网络行为的任何端点120a至120n或交换机130a至130m进行重新配置。

进一步地,一旦确定了重新配置,则重新配置应当被提供给端点120a至120n或交换机130a至130m。在一些方面,重新配置通过控制节点200本身被提供给端点120a至120n或交换机130a至130m。特别地,根据一个实施例,控制节点200被配置为执行(可选的)步骤s112:

s112:控制节点200向端点120a至120n或交换机130a至130m提供经确定的重新配置。

因此,受影响的端点120a至120n或交换机130a至130m可以被配置为接收经确定的重新配置,以便相应地进行重新配置。如何重新配置端点或交换机在本领域中众所周知,因此省略对它们的进一步描述。

从而,可以在网络110中的所有端点120a至120n之间实现更高的可用性、更低的时延/抖动通信。

根据实施例,端点120a至120n相对于彼此时间同步。在这方面,端点120a至120n可以具有公共时钟源,具有同步时钟,或根据同步时钟参考来操作。当在步骤s106中标识相关事件元组时,这还可以改善带有时间戳的事件日志条目之间的相互比较。根据第一示例,在不能访问网络110中的精确同步的端点120a至120n的情况下,公共时钟源可以可操作地连接到每个端点120a至120n,以便端点120a至120n能够创建时间同步的带有时间戳的事件日志条目。根据第二示例,例如ieee802.1as-rev精确同步的端点120a至120n,可以基于ieee802.1as-rev时钟来在每个端点120a至120n中创建时间同步的带有时间戳的事件日志条目。

图5在多个功能单元的方面示意性地图示了根据实施例的控制节点200的部件。处理电路系统210使用以下各项中的一项或多项的任何组合来提供:适当的中央处理器(cpu)、多处理器、微控制器、数字信号处理器(dsp)等,它们能够执行存储在例如以存储介质230的形式的计算机程序产品610(如图7中所示)中的软件指令。处理电路系统210还可以作为至少一个专用集成电路(asic)或现场可编程门阵列(fpga)被提供。

特别地,处理电路系统210被配置为使得控制节点200执行如上文所公开的一组操作或步骤。例如,存储介质230可以存储该组操作,并且处理电路系统210可以被配置为从存储介质230检索该组操作,以使得控制节点200执行该组操作。该组操作可以作为一组可执行指令被提供。

因此,处理电路系统210从而被布置为执行本文中所公开的方法。存储介质230还可以包括永久性存储,该永久性存储例如可以是以下各项中的任何一项或组合:磁性存储器、光学存储器、固态存储器或甚至远程安装的存储器。例如,存储介质230可以保存数据存储240。

控制节点200还可以包括通信接口220,该通信接口至少被配置为用于经由通信链路150与网络110的其他实体、功能、节点和设备通信。因此,通信接口220可以包括一个或多个发射器和接收器,它们包括模拟部件和数字部件。

处理电路系统210例如通过以下各项控制控制节点200的一般操作:向通信接口220和存储介质230发送数据和控制信号;从通信接口220接收数据和报告;以及从存储介质230取回数据和指令。省略了控制节点200的其他部件以及相关功能性,以免模糊本文中所提出的概念。

图6在多个功能模块的方面示意性地图示了根据实施例的控制节点200的部件。图6的控制节点200包括:多个功能模块;收集模块210a,被配置为执行步骤s102;以及标识模块210c,被配置为执行步骤s106。图6的控制节点200还可以包括多个可选功能模块,诸如以下各项中的任一项:收集模块210b,被配置为执行步骤s104;发出模块210d,被配置为执行步骤s108;确定模块210e,被配置为执行步骤s110;以及提供模块210f,被配置为执行步骤s112。一般而言,每个功能模块210a至210f可以在一个实施例中仅以硬件来实现,而在另一实施例中借助于软件来实现,即,后一实施例具有存储在存储介质230上的计算机程序指令,当这些计算机程序指令在处理电路系统上运行时,使控制节点200执行上文结合图5所提及的对应步骤。还应当提及的是,即使模块与计算机程序的各部分相对应,它们无需是其中的单独模块,但是它们在软件中的实现方式取决于所使用的编程语言。优选地,一个或多个或所有功能模块210a至210f可以由处理电路系统210实现,该处理电路系统210可能与通信接口220和/或存储介质230配合。因此,处理电路系统210可以被配置为从存储介质230获取功能模块210a至210f所提供的指令并且执行这些指令,从而执行本文中所公开的任何步骤。

控制节点200可以作为独立设备或作为至少一个其他设备的一部分被提供。例如,控制节点200,或至少如本文中所公开的其功能性,可以在被配置为用于abb能力服务的工业系统100a、100b的网关107中被提供。备选地,控制节点200的功能可以分布在至少两个设备或节点之间。这些至少两个节点或设备可以是同一网络部分的一部分,或者可以散布在至少两个这种网络部分之间。作为示例,能够访问有限的计算资源的控制节点200的第一部分可以在工业系统100a、100b的前提下实现,并且仅对带有时间戳的事件日志条目执行有限的大数据分析,而能够访问更多的计算资源的控制节点200的第二部分可以在云计算环境中实现,并且对带有时间戳的事件日志条目执行不受限的大数据分析。因此,控制节点200的第一部分可以充当控制节点200的第二部分的预处理器,从而减少了必须传送到控制节点200的第二部分的数据量。进一步地,控制节点200的第一部分可以由控制节点200的第二部分配置。控制节点200的第一部分可以被实现为在一侧上与控制节点200的第二部分交互,而在另一侧上与工业系统100a、100b的生产、规划和跟踪系统和/或控制和操作系统交互。

因此,控制节点200所执行的指令的第一部分可以在(如由控制节点200的第一部分所定义的)第一设备中执行,而控制节点200所执行的指令的第二部分可以在(如由控制节点200的第二部分定义的)第二设备中执行;本文中所公开的实施例不限于可以在其上执行控制节点200所执行的指令的任何特定数目的设备。因此,根据本文中所公开的实施例的方法适用于由驻留在云计算环境106中的控制节点200执行。因此,尽管图5中图示了单个处理电路系统210,但是处理电路系统210可以分布在多个设备或节点之中。这同样适用于图6的功能模块210a至210f和图7的计算机程序620(参见下文)。

图7示出了包括计算机可读存储介质630的计算机程序产品610的一个示例。在该计算机可读存储介质630上,可以存储计算机程序620,该计算机程序620可以使得处理电路系统210以及与其可操作地耦合的实体和设备(诸如通信接口220和存储介质230)执行根据本文中所描述的实施例的方法。因此,计算机程序620和/或计算机程序产品610可以提供用于执行本文中所公开的任何步骤的方法。

在图7的示例中,计算机程序产品610被图示为光盘,诸如cd(紧凑盘)或dvd(数字通用盘)或蓝光光盘。计算机程序产品610还可以体现为存储器,诸如随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom)或电可擦除可编程只读存储器(eeprom),更特别地体现为外部存储器中设备的非易失性存储介质(诸如usb(通用串行总线)存储器或闪存(诸如紧凑闪存))。因此,虽然计算机程序620本文中被示意性地示出为所描绘的光盘上的轨道,但是计算机程序620可以以适用于计算机程序产品610的任何方式存储。

上文主要参考一些实施例对本发明概念进行了描述。然而,如本领域技术人员所容易理解的,在所附专利权利要求所限定的本发明概念的范围内,除了上文所公开的实施例以外的其他实施例是同等可能的。

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