用于提供用于工业车间的基于服务的控制应用的方法技术

技术编号:38394687 阅读:15 留言:0更新日期:2023-08-07 11:09
本公开的一个或多个实施例涉及用于提供用于工业车间的基于服务的控制应用的方法。本发明专利技术提供了一种用于提供用于工业车间的基于服务的控制应用的计算机实现的方法。该方法包括将工业车间的初始控制代码自动分割成多个代码块,并且自动创建多个服务,每个服务实现多个代码块中的一个或多个代码块的功能。考虑到分配给多个代码块中的每个代码块的关键程度的相似性来执行多个服务的自动创建,使得具有更相似的关键程度的代码块更可能在同一服务内实现。务内实现。务内实现。

【技术实现步骤摘要】
用于提供用于工业车间的基于服务的控制应用的方法


[0001]本专利技术涉及一种用于提供用于工业车间的基于服务的控制应用的方法、该应用的用途、数据处理系统、计算机程序产品和计算机可读介质。

技术介绍

[0002]目前,用于工业车间的控制应用通常沿着物理过程拓扑或材料流来实现,并且它们被划分成代码块以适合专用硬件(例如PLC)的性能,该专用硬件在工业车间上是内置的。这种划分是手动任务,而不管是否使用IEC 61131语言来创建具有更精细的粒度自动化功能的单片代码或IEC 61499。在任何情况下,专用控制硬件的使用允许高可靠性和短响应时间。然而,例如,当涉及硬件维护、固件和应用更新以及所需的内置硬件能力和可靠性时,该方法也具有缺点。
[0003]虽然对于一些基于云或基于边缘服务器的解决方案的数据驱动工业,例如作为服务的开放的、部分外部化的边缘计算环境(例如,多访问边缘计算MEC,例如5G MEC)已经变得更广泛地使用,但是在可靠性和响应时间方面的要求使得在控制工业车间的应用时难以转移到这样的技术。通常,大多数代码块可能包含对于非本地部署它们来说太关键的自动化逻辑。
[0004]因此,自动化工程师必须考虑到这些要求来决定专用控制硬件的控制代码是否应当在本地运行,并且当有疑问时,必须采取保守的方法。因此,云和边缘服务器能力的优点没有被完全利用。
[0005]本专利技术的目的是提供一种减轻至少一些上述缺点的方法。

技术实现思路

[0006]该问题由独立权利要求的主题解决。优选实施例在从属权利要求中列出。
[0007]本专利技术提供了一种用于提供用于工业车间的基于服务的控制应用的计算机实现的方法。该方法包括将用于工业车间的初始控制代码自动分割成多个代码块,并且自动创建多个服务,每个服务实现多个代码块中的一个或多个代码块的功能。考虑到分配给多个代码块中的每个代码块的关键程度的相似性来执行多个服务的自动创建,使得具有更相似的关键程度的代码块更可能在同一服务内被实现。
[0008]换句话说,应用,特别是控制代码,可以基于用于相关过程的关键程度被划分或打包为度量(metric)。这允许以后基于最小的性能需求和成本而不是例如基于PLC硬件或虚拟容器限制来部署应用。用于将初始代码分段并且将所得到的代码块分组为服务的度量的示例可以包括在正常操作、更新或故障切换期间的计算和通信开销等,这将在下面更详细地解释。
[0009]通过本公开的方法获得的控制应用可以被称为基于服务的控制应用。
[0010]本公开的服务还可以被称为毫微服务,并且创建服务可以被称为毫微封装。例如,这种毫微封装还允许代码的精细粒度更新。服务的粒度将取决于手头的初始控制代码,使
得人们可以将服务称为毫微服务(nano

service)或微服务(micro

service)。
[0011]初始控制代码和控制应用可以各自包括用于控制工业车间的设备的操作的功能,以及可选地,用于监测工厂的设备的操作条件和/或操作的功能。
[0012]本公开的控制应用例如可以是所创建的服务和一些附加代码的集合,例如胶合代码(glue code),如以下详细描述的。附加代码可以确保服务之间和/或服务内的正确通信。这将在下面更详细地解释。
[0013]因此,当从代码块创建服务时以及当基于服务创建控制应用时,可以对代码进行改变以确保服务内以及服务之间的代码块彼此间的兼容性和通信。因此,当一起查看整个控制应用和/或整个服务集时,这可能不对应于初始代码。这也在下面进一步详细讨论。
[0014]应当注意,分段初始控制代码可以以不同的方式执行。例如,初始控制代码可以被分解为非常小的片段,然后被分组回一起,或者它可以在几个步骤中被连续地分解,或者它可以在仅仅一个步骤中立即被带入期望的粒度。
[0015]此外,为了完整起见,应当注意,在自动创建多个服务的步骤中,除了考虑分配给多个代码块中的每个代码块的关键程度的相似性之外,还可以考虑附加标准,例如开销量等。
[0016]从上面可以看出,根据本公开,该方法可以将(甚至大的)控制应用分割成多个(优选地小部分)代码块,这些代码块仅具有间接依赖性,例如单个循环。代码块然后可以被分组部署为分布式异构计算环境上的(毫微)服务的部分,例如,包括一个或多个PLC、本地边缘集群、5G MEC服务提供、和云计划,即,大且多样的连接和计算生态系统。特别地,关于所需的性能水平,服务可以部署在正好适合的节点上。
[0017]因此,例如,可以分割初始控制应用,并且以以下方式表征这些片段,该方式允许获得具有以下部件的基于服务的控制应用,该部件以最低成本具有充足性能跨异构计算环境在节点上分布。
[0018]在自动分割初始控制代码中,本公开的方法可以将初始控制代码分割成彼此具有预定独立度的执行单元。独立度可以表示为受控过程中所需的执行QoS(可靠性、可接受的故障切换时间)或依赖性/距离。
[0019]针对服务的分割和/或创建,一些指示符可以从代码(例如,单位、命名约定)和/或从DCS(例如,与信号限制相关的警报关键程度)和/或从工程数据导出。因此,通过集成或重新捕获工程数据并且暴露DCS对象,能够获得用于服务的分割和/或创建的数据。
[0020]为了完整起见,本公开的方法超出了当前可用标准提供的任何能力,包括但不限于IEC 61131、IEC 61499或用于模块化过程的VDI/VDE/NAMUR 2658。然而,这些标准仍然可以被利用,并且如下面将看到的,本方法也适用于模块化应用。
[0021]本公开的方法允许开放的、部分外部化的边缘计算环境作为被完全利用的服务(例如5G MEC)。此外,使用例如Docker/Kubernetes的用于应用虚拟化的已知技术是可能的。此外,可以支持连续递送和永续车间,特别是具有应用的无缝更新。还可以改善可伸缩性。
[0022]在本公开中,执行如自动地分割和/或创建服务的步骤,利用可用数据,例如工程数据、元数据,例如涉及特定服务的哪些过程参数、或机器/车间的拓扑上的数据。
[0023]例如,服务可以是包括一个或多个代码块的封装代码的实况实例。例如,当在容器
中执行封装代码时,可以获得服务。例如,对于编译的代码,可将其与清单(manifest)一起打包成容器图像。容器图像可以由运行时环境(例如,Kubernetes运行时环境)执行。
[0024]本公开的方法的其它优点在下面呈现。
[0025]与(仅)基于过程拓扑将代码分组到应用中相比,本公开的方法的优点在于,对于实现工业车间的过程功能(诸如例如加热、混合等)的每个区域、单元、模块或设备,将总是存在用于自动化例如高度关键和非关键过程的不同类别的代码段。当通过过程拓扑仅执行分组时,这意味着通常使相应的代码段运行基于云的环境是不适当的,从而结果是关键和非关键服务两者都将在本地运行,并且不可能很好地利用基于云的解决方案。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于提供用于工业车间(2)的基于服务的控制应用的计算机实现的方法,所述方法包括:将用于所述工业车间的初始控制代码自动分割成多个代码块;以及自动创建多个服务,每个服务实现所述多个代码块中的一个或多个代码块的功能,其中,所述多个服务的自动创建是在考虑分配给所述多个代码块中的每个代码块的关键程度的相似性的情况下执行的,以使得具有更相似的关键程度的代码块更可能在同一服务内被实现。2.根据权利要求1所述的方法,包括:针对所述代码块中的每个代码块,自动确定由所述代码块控制和/或监测的多个过程中的一个或多个过程的关键程度,并且基于所述确定来将所述关键程度自动分配给所述代码块。3.根据权利要求2所述的方法,其中确定所述关键程度是在考虑与所述代码块相关联的关键性能指标的情况下执行的,所述关键性能指标诸如循环时间、所需冗余水平、生存时间和/或故障切换时间,特别地,其中所述关键程度由关键性能指标的向量表达和/或其中所述关键性能指标是通过分析信号标签名称以标识受控物理量的类型和/或通过分析与信号相关联的警报和/或事件的严重性等来导出的。4.根据前述权利要求中任一项所述的方法,包括自动分解所述初始控制代码以便获得多个候选代码块,以用于控制和/或监测由所述工业车间(2)的一个或多个设备(2a、2b、2c)执行的多个过程;以及自动确定所述候选代码块是否将被用作所述多个代码块,所述确定包括:确定所述多个候选代码块是否满足至少一个标准,在确定满足所述标准时,确定所述多个候选代码块将被用作所述多个代码块,以及在确定不满足所述标准时,确定所述多个候选代码块将不被用作所述多个代码块,可选地,所述方法还包括:在确定所述多个候选代码块将不被用作所述多个代码块时,修改所述多个候选代码块以获得多个经修改的候选代码块,特别地,合并或进一步分解所述多个候选代码块以获得多个经修改的候选代码块。5.根据权利要求4所述的方法,还包括:针对所述多个经修改的候选代码块,重复以下操作:确定所述候选代码块是否将被用作所述多个代码块,以及否则修改所述多个候选代码块,特别地,合并或进一步分解所述多个候选代码块。6.根据权利要求4或5所述的方法,其中所述至少一个标准反映以下项:当将所述多个候选代码块用作所述多个代码块时的所述控制应用中的预期开销量,和/或与所述代码块相关联的所需可靠性和/或所需可用性。7.根据权利要求4至6中任一项所述的方法,其中分解所述初始控制代码以便获得多个候选代码块包括:将所述代码分解为预定大小的单元,具体地,将所述代码分解为函数和/或分解为最小可能的单元,诸如实现单个控制循环的代码。8.根据前述权利要求中任一项所述的方法,还包括,针对所述多个服务中的一个或多个服务:自动确定所述服务的整体关键程度,特别地基于由所述服务实现的一个或多个所述代码块的关键程度来自动确定所述服务的整体关键程度;以及基于所述服务的所述整体关键程度,自动确定所述服务应该在分布式异构计算基础设
施(3)的哪个功能部分(3a、3b、3c)上运行,特别地自动确定所述服务应该在运行时环境的什么类型或实例上运行,所述运行时环境诸如本地控制器、边缘节点或云服务器,特别地自动确定所述服务是否应该在本地、在边...

【专利技术属性】
技术研发人员:迪尔克
申请(专利权)人:ABB瑞士股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1