CN115698939A - 用于工程设计技术***的***和方法 - Google Patents

用于工程设计技术***的***和方法 Download PDF

Info

Publication number
CN115698939A
CN115698939A CN202180038122.8A CN202180038122A CN115698939A CN 115698939 A CN115698939 A CN 115698939A CN 202180038122 A CN202180038122 A CN 202180038122A CN 115698939 A CN115698939 A CN 115698939A
Authority
CN
China
Prior art keywords
database
description
devices
engineering
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180038122.8A
Other languages
English (en)
Inventor
马库斯·迈克尔·盖佩尔
弗朗切斯科·蒙特罗内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of CN115698939A publication Critical patent/CN115698939A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本发明公开了一种用于工程设计包括一个或多个网络物理设备(612‑618)的至少一个技术***(610)的***和方法。该方法包括基于与该设备(612‑618)相关联的配置和功能中的至少一个来生成用于该技术***(610)的工程设计代码,其中,该工程设计代码使得能够在该设备(612‑618)之间进行协调,由此该技术***(610)中的至少一个操作是可执行的;基于与该设备(612,212)、该***和该操作中的至少一个相关联的兼容性指示符(410)来确定该工程设计代码的可执行性;以及基于确定的工程设计代码的可执行性来工程设计该一个或多个设备中的至少一个设备(612)。

Description

用于工程设计技术***的***和方法
技术领域
本发明涉及工程设计***和设备。特别地,本发明涉及自动化环境中的工程设计网络物理***/设备。
背景技术
网络物理***和设备能够执行一个或多个机械或物理动作。这些设备能够被配置为识别它们所处的自动化环境、处理信息并且能够与自动化环境交互。此类***通常用于实现自动化环境的远程和分布式控制。
使用网络物理***和设备在自动化工业中具有进步。然而,这些进步也可能建立在某些劣势之上,诸如复杂的调试工作。
例如,考虑到设计***和设备的复杂性,调试网络物理设备和***是困难的。工程设计中的挑战可能是由于物理过程和虚拟过程之间缺乏同步。例如,设备的数字孪生可能不与物理设备同步。另一个挑战可能是由于分布式设置而缺乏***的全面视图。另一个挑战是网络物理***/设备中的规律变化。能够改变、添加、移除或替换部件。这些部件能够是软件或硬件部件。因此,工程设计师和调试网络物理***和设备可能耗时、计算密集并且易于出错。
克服这些挑战的现有技术包括在一个集成开发环境(IDE)中利用明确兼容的组成设备和部件来设计网络物理***。此类明确的兼容性仅能够通过确保组成设备和部件来自单个厂商并且兼容性被验证来实现。因此,关于兼容性的知识对于设计网络物理***可能是强制性的。
为了克服兼容性问题,通常延长工程设计和调试时间。然而,当需要在短时间内设计和设置自动化环境时,这可能是不利的。此外,工程设计的复杂性可能导致过多的不希望的延迟。
发明内容
因此,需要对用于工程设计网络物理***和设备的技术进行改进。本发明的目的是对网络物理***和设备进行设计,从而能够进行快速和无错误的调试。
在一个实例中,公开了一种用于工程设计包括一个或多个网络物理设备的至少一个技术***的方法。该方法包括基于与该设备相关联的配置和功能中的至少一个来生成用于该技术***的工程设计代码,其中,该工程设计代码使得能够在该设备之间进行协调,由此该技术***中的至少一个操作是可执行的;基于与该设备、该***和该操作中的至少一个相关联的兼容性指示符来确定该工程设计代码的可执行性;以及基于确定的工程设计代码的可执行性来工程设计该一个或多个设备中的至少一个设备。
一种用于工程设计化包括一个或多个网络物理设备的至少一个技术***的方法,该方法包括:使用跨生命周期数据库、制造执行数据库、操作维护数据库引用的唯一标识,基于从该生命周期数据库、该制造执行数据库、该操作维护数据库和该设备中的至少一个的映射生成的设备描述,生成用于该技术***的工程设计代码,其中,该工程设计代码使得能够在该设备之间进行协调,由此该技术***中的至少一个操作是可执行的,其中,该设备描述表示该设备的配置和功能;基于与该设备、该***和该至少一个操作中的至少一个相关联的兼容性指示符来确定该工程设计代码的可执行性,其中,该兼容性指示符基于针对该至少一个操作的设备描述与该***的***描述的比较,其中,该***描述表示该***的配置和功能;以及基于确定的工程设计代码的可执行性来工程设计化一个或多个设备中的至少一个设备。
在另一实例中,公开了一种用于工程设计包括一个或多个网络物理设备的至少一个技术***的***。该***包括被配置为执行本文公开的一个或多个方法步骤的工程设计模块。该***能够包括:集成开发工具,其被配置为编辑器,以使得能够基于设备的设备描述来对设备进行工程设计;程序代码生成器模块,其被配置为基于在该设备描述中提供的与该设备相关联的配置和功能中的至少一个来生成用于该技术***的工程设计代码,并且其中,该工程设计代码使得能够在该设备之间进行协调,由此该技术***中的至少一个操作是可执行的;安装工具,其被配置为实例化该工程设计代码中的参数,以通过访问与该至少一个操作相关联的设备描述、***描述和过程描述中的至少一个来确定该工程设计代码的可执行性;并且其中,集成开发工具被配置为显示关于工程设计代码的可执行性的反馈。
另一实例能够包括用可执行指令编码的非暂时性计算机可读介质(诸如存储设备上的软件部件),该可执行指令在被执行时使得至少一个处理器执行所描述的方法。
本发明有利地使得能够无错误地生成用于调试、操作和维护技术***中的网络物理设备的工程设计代码。工程设计代码的可执行性的确定能够有利地在技术***的生命周期中的任何阶段完成。工程设计代码的可执行性检查和与当前安装的网络物理设备的不兼容性的视觉指示对于避免调试和重新配置中的延长的延迟可能是至关重要的。
因此,本发明的技术效果是促进网络物理***和设备的更快调试。例如,工厂自动化硬件调试工厂自动化硬件。此外,本发明能够增加网络物理***和设备中的软件/硬件部件的重新配置的灵活性。
在更详细地描述所建议的惯例之前,应当理解,在本专利文件中提供了对某些词语和短语的各种限定,并且本领域的普通技术人员将理解,这些限定在许多(如果不是大多数)实例中适用于这些限定的词语和短语的先前以及未来使用。虽然一些术语可包括多种实施例,但所附权利要求书可明确地将这些术语限制于特定实施例。还应当理解,在建议的方法的上下文中解释的特征也能够通过适当地配置和适配***而被建议的***包括,反之亦然。
如本文所使用的,“技术***”指的是用于制造、生产的能够是半自动或完全自动化的设施。该技术***能够是自动化环境的一部分。例如,工业自动化环境、实验室自动化环境、建筑物自动化环境等。此外,根据本发明,自动化环境能够包括一个或多个工业自动化环境、实验室自动化环境、建筑物自动化环境的组合。
网络物理设备能够是包括物理设备和可用于配置和控制物理设备的数字模型的控制设备、传感器、致动器。例如,计算机数字控制(CNC)机器、工业生产设施中的自动化***、电动机、发电机等。该技术***还能够被称为网络物理***,因为它包括网络物理设备。
工程设计代码是指用于工程设计、协调或组织技术***中的网络物理设备的代码。如本文所使用的,工程设计师包括设备的调试、重新配置设备、修改设备的操作参数。工程设计代码能够通过图形编程或使用文本编程来生成。基于工程设计代码,能够实现网络物理设备的动作/技能/功能。通过实现网络物理设备的动作/技能/功能,能够执行技术***中的一个或多个操作。在一个实施例中,技术***中的操作能够包括在技术***中执行的过程的一部分。例如,该操作能够使用机器人臂(网络物理设备)来将部件***到涂料液体中。
工程设计代码能够被组织以执行操作。对于编排,不需要在单独的硬件上运行工程设计代码。在一个实施例中,集成开发工具能够在自动化环境中的一个或多个控制设备上分发工程设计代码的编排。
工程设计代码有利地用于实现网络物理设备的更快调试,从而能够执行技术***中的一个或多个操作。在一个实施例中,面向对象的编程被有利地用于将网络物理设备限定为对象。通过将计算机物理设备限定为对象,能够容易地访问计算机物理设备的动作/技能/功能。此外,使用面向对象的编程,能够将网络物理设备的动作/技能/功能跨多个数据库映射。
该方法能够包括使用由集成开发工具生成的集成开发环境来实现工程设计代码的生成。集成开发工具能够通信地耦合到与设备和/或技术***相关联的生命周期数据库、制造执行数据库和/或操作维护数据库,其中,生命周期数据库包括构思信息、设计信息、实现信息、检查规划信息中的至少一个或其任意组合,其中,制造执行数据库包括生产数据、设备验证数据、检查执行数据中的至少一个或其任意组合,其中,操作维护数据库包括与设备和/或技术***的操作相关联的操作数据、不一致信息、设备的服务信息中的至少一个或其任意组合,并且其中,设备和技术***可使用唯一标识跨生命周期数据库、制造执行数据库和操作维护数据库映射。
网络物理设备和技术***的映射可跨生命周期数据库映射,制造执行数据库和操作-维护数据库可通过将网络物理设备和技术***限定为面向对象的编程中的对象来实现。唯一标识使得跨数据库的信息与可引用的唯一标识符相关联。
跨数据库引用信息能够用于生成设备描述、***描述和/或过程描述。在一个实施例中,为每个网络物理设备生成单独的设备描述。设备描述能够存储在计算机物理设备(的存储单元)上/中,或者能够由计算机物理设备和/或集成开发工具通过唯一标识来单独存储和访问。能够更新设备描述和***描述以反映网络物理设备和技术***的实时操作条件。在一个实施例中,设备描述能够通过可编程图来实现,该可编程图能够相对于技术***中的网络物理设备的逻辑、物理和机械功能来组织。
该方法能够包括生成作为面向对象类别的设备描述,其中,设备的设备描述可被配置为允许控制网络物理设备。如本文所使用的,面向对象类别充当可被扩展、修改和更新的模板。在一个实施例中,该方法还能够包括封装设备描述以生成***描述,其中,该***描述包括可由***执行的动作、与技术***相关联的配置和功能。在另一实施例中,从数字模型或数字孪生生成设备描述和***描述。本文使用的数字孪生指的是使用基于物理学的规则和机器学习技术的组合生成的网络物理设备和技术***的虚拟模型。本文使用的数字孪生指的是使用基于物理学的规则和机器学习技术的组合生成的网络物理设备和技术***的虚拟模型。
通过生成作为面向对象类别的设备描述,本发明有利地实现了网络物理设备的功能和配置要求的组合。因此,当生成***描述时,将计算机物理设备的操作封装到单个实体中,该实体对技术***中的计算机物理设备、进程和其他结构的状态和行为进行建模。通过将细节保持在设备描述保持在设备描述本身内并呈现简化的接口来实现简单化。诸如集成开发工具的其他程序能够通过其简化接口与设备描述交互,而不需要知道设备描述的内部操作。
上述优点能够进一步缩小到部件级别。在网络物理设备包括部件的实施例中,能够基于部件的部件描述的封装来生成设备描述。该方法能够包括对至少一个设备中的部件进行工程设计,由此能够基于部件的部件描述来配置设备描述。因此,本发明使用可用于部件和网络物理设备的现有信息是有利地可缩放的。
在另一实施例中,能够在没有设备描述的情况下生成***描述。该方法能够包括通过使用技术***的唯一标识映射生命周期数据库、制造执行数据库和操作维护数据库来生成与技术***相关联的***描述。***描述有利地用作技术***的实时数字表示。
生命周期数据库、制造执行数据库和操作维护数据库能够是实现本文公开的方法的***的一部分。在一个实施例中,生命周期数据库、制造执行数据库和操作维护数据库能够在***之外,并且能够使用应用程序接口(API)调用来访问。
还能够基于待在技术***中执行的操作的类型从数据库生成过程描述。在一个实施例中,唯一标识符能够与要在技术***中执行的每个操作相关联。这些操作能够与数据库一起引用,以基于需要执行的步骤来确定限定这些操作的参数。在另一个实施例中,过程描述能够是设备描述或***描述的一部分或其组合。
该方法能够包括基于从生命周期数据库、制造执行数据库、操作维护数据库和使用唯一标识的设备中的至少一个的映射生成的设备描述来生成工程设计代码。在一个实施例中,本发明有利地使用跨数据库的现有映射来生成工程设计代码。在一些实施例中,映射能够根据与自动化环境相关联的标准,诸如工业4.0。
为了建立工程设计代码,能够审查彼此链接的网络物理设备的兼容性。兼容性指示符允许此类检查。能够基于与设备相关联的动作、配置和功能相对于与技术***相关联的动作、配置和功能的比较,使用设备描述和***描述来限定兼容性指示符。在一个实施例中,兼容性指示符指的是关于要在技术***中执行的操作的设备描述和***描述的映射。例如,兼容性指示符能够是合格度量。在另一实例中,兼容性指示符是设备描述和***描述中的兼容和不兼容参数的指示。
兼容性指示符用于确定工程设计代码的可执行性。在操作中,兼容性指示符能够基于操作和网络物理设备而改变。因此,在技术***的操作期间,能够在不同的情况下产生多个兼容性指示符。可替代地,能够在基于用于调试的网络物理设备的技术***的设计和调试期间生成多个兼容性指示符。
该方法能够包括通过基于设备描述使用集成开发环境实例化至少一个设备来生成至少一个设备的至少一个实例。本文使用的“实例”是指从一个或多个网络物理设备为至少一个设备生成的设备描述的副本。能够通过声明该实例并为与该实例相关联的变量分配存储器和计算资源来创建该实例。能够基于在技术***中执行的操作为至少一个设备生成多个实例。
该方法还能够包括通过推断设备描述和***描述中的数据结构来分析工程设计代码,其中,设备描述包括至少一个实例。在一个实施例中,数据结构的推理是跨设备描述、过程描述和***描述执行的。因此,当生成实例时,分析与该实例相关联的工程设计代码。在一个实施例中,分析包括实例的类型推断。所得到的设备描述被称为设备实例描述。在另一实施例中,使用模板变元推断来执行该分析。因此,本发明有利地分析设备实例描述和***描述,而不需要关于设备与技术***和操作的兼容性的基于试错的检查。此外,将不需要先前的经验来验证该至少一个设备是否适合于该技术***执行该操作。
除了分析之外,该方法能够包括基于设备描述和***描述的语义分析生成至少一个设备的兼容性指示符。在一些实施例中,语义分析能够包括对实例的设备描述(设备实例描述)以及***描述和过程描述中的语法结构的分析。
在本发明的实施例中,可执行性的确定能够包括兼容性指示符本身的确定。在另一实施例中,兼容性指示符是确定工程设计代码的可执行性的参数。在其他实施例中,能够包括显式超控参数,以在可执行性的确定中增加或减少兼容性指示符的重要性。
该方法能够包括在集成开发环境的图形用户界面上显示工程设计代码的可执行性作为反馈。在一个实施例中,能够在工程设计代码的构建阶段期间执行反馈的显示。因此,如果在构建期间存在错误或甚至潜在的错误,本发明避免了技术***的耗时的重新设计。
反馈包括错误消息、注释和/或建议消息。例如,错误消息包括错误的网络物理设备已经被设计/调试用于技术***中的特定操作的指示。错误消息能够包括潜在的错误和不匹配。其他错误消息能够包括工程设计代码中丢失设备的指示,而不可能成功完成技术***中的操作。注释可包括文本程序的语法中的错误或图形编程期间使用的不正确字段的指示。除了错误指示之外,本发明有利地建议如何校正错误。此类建议能够被称为重构建议,并且在一些实施例中能够由IDE自动实现。
例如,错误消息可能导致工程设计代码的一部分被突出显示。高亮显示的代码能够指示不能执行的部分,因为在实际技术***中缺少包括其技能的计算机物理设备。此外,IDE还能够基于制造执行数据库和操作维护数据库中的信息建议可用的替换。在一个实施例中,IDE被配置为基于过程描述和***描述来显示建议。
本发明的上述特征使得能够更快地调试网络物理***和设备。此外,本发明能够增加网络物理***和设备中的软件/硬件部件的重新配置的灵活性。
前面已经相当广泛地概述了本公开的技术特征,使得本领域技术人员能够更好地理解随后的详细描述。下文将描述形成权利要求的主题的本公开的附加特征和优点。本领域技术人员将理解,他们能够容易地使用所公开的概念和具体实施例作为修改或设计用于实现本公开的相同目的其他结构的基础。本领域技术人员还将认识到,此类等效构造在其最广泛的形式中不偏离本公开的范围。
附图说明
下面,使用附图中所示的实施例来描述本发明。
图1示出了根据本发明实施例的用于工程设计技术***的***;
图2-图5示出了根据本发明实施例的集成开发环境的操作的可视表示;
图6示出了根据本发明实施例的用于工程设计技术***的***;以及
图7示出了根据本发明实施例的用于工程设计技术***的方法。
以下,对用于实施本发明的实施例进行详细说明。参考附图描述各种实施例,其中,相同的附图标记始终用于表示相同的元件。在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对一个或多个实施例的透彻理解。显然,能够在没有这些具体细节的情况下实践这些实施例。
具体实施方式
图1示出了根据本发明实施例的用于设计技术***110的***100。如图所示,技术***涉及包括多个设备/资产112-114的工业工厂110。这些设备能够包括接口设备、控制设备、边缘设备、物联网(IoT)使能设备,它们从部署在工业工厂中的各种传感器和/或致动器收集数据。在一些实施例中,工业工厂110能够包括如标号120所示的集成开发环境(IDE)。IDE还用于使用限定工业设备110中的设备112-116之间的关系的逻辑实体来配置物理设备112-116。
考虑到设备112-116的物理实体和逻辑实体122-126,该设备112-116是网络物理设备。例如,设备112-116能够是工业自动化环境中的装备、传感器、致动器、机器人、机器。设备112-116也能够是医疗自动化环境中的医疗设备和装备。此外,设备112-116能够是建筑物自动化环境中的家用电器或办公设备或***。
根据本发明实施例的***100包括IDE 120、数据库130和IOT计算平台140。IDE120用于生成工程设计代码,该工程设计代码用于对工业工厂110进行工程设计。本文使用的工程设计师包括设备112-116的调试、重新配置设备112-116、修改设备112-116的操作参数。图2-图5详细解释了IDE 120构建工程设计代码的操作。
数据库130是与设备112-116和工业工厂110相关联的描述的储存库。这些描述分别被称为设备112-116和工厂110的设备描述和***描述。在一个实施例中,为每个设备112-116生成单独的设备描述。通过参考针对设备112-116和工厂110创建的数字模型上的信息来生成描述。能够更新设备描述和***描述以反映设备112-116和工厂110的实时操作条件。在一个实施例中,设备描述能够通过可编程图来实现,该可编程图能够相对于工厂110中的设备112-116的逻辑、物理和机械功能来存储。
IOT计算平台140能够是云计算平台、雾/边缘计算平台或两者的组合。在一个实施例中,IOT计算平台140用作在其上执行IDE 120的主机。IOT计算平台140包括通过通信网络分布和连接的分布式计算资源。
如本文所使用的,“云计算”是指包括可配置的计算物理和逻辑资源(例如,网络、服务器、存储、应用、服务等)以及通过网络(例如,因特网)分发的数据的处理环境。云计算***提供对可配置计算物理和逻辑资源的共享池的按需网络访问。网络例如是有线网络、无线网络、通信网络或由这些网络的任意组合形成的网络。
如本文所使用的,“雾计算”或边缘计算使得IOT平台能够更接近自动化环境来实现。雾/边缘计算将云计算扩展到属于自动化网络的设备的物理位置。它能够是被配置为执行IOT平台140的操作的多个边缘设备的组合。用户能够经由IOT平台140访问计算设备以在IDE 120上操作。
图1示出了设备112-116在IDE 120中被反映为虚拟设备122-126的实施例。虚拟设备122-126基于来自数据库130的描述或工厂110的检查或其组合来反映。这些描述能够用于避免对手动输入的依赖。在一个实施例中,自动化工程设计师能够通过创建虚拟设备128来调试新设备。在另一个实施例中,提供了指示新设备的需求的反馈。IDE 120使得能够通过创建虚拟设备128来添加新设备。
为了生成反馈,IDE 120被配置为使得能够确定所构建的工程设计代码的可执行性。可执行性的确定是基于用于一个或多个操作的设备112-116和工厂110的配置和功能来完成的。配置和功能由设备描述和***描述确定。可执行性能够被限定为设备112-116和工厂110之间用于操作的兼容性指示符。在一个实施例中,使用包括设备描述和***描述的类型推断的静态代码分析来确定可执行性。能够有通过IDE 120提供的多种类型的反馈。图3-图5示出了不同类型的反馈。
图2-图5示出了根据本发明实施例的集成开发环境的操作的可视表示。图2示出了技术***中的网络物理设备212-218的表示。网络物理设备212-218包括机器人212,214、自动引导车辆(AGV)216、3D打印机218和存储单元202。
网络物理设备212-218被描述为面向对象的类别。如本文所使用的,类别类似于模板起作用。这些类别能够被实例化为不同的类别实例。因此,类别实例充当为给定网络物理设备定制的模板。如图2所示,设备描述222用于设备212,其中,使用简单机器人类别实例SimpleRobotRl(简单机器人R1)来描述设备212。SimpleRobotRl类别实例能够被扩展为结合来自机器类别的参数。机器的技能在构造器调用中指定,例如适合于机器在技术***中通信的网络配置。此外,设备描述222包括功能“MoveTo(移动到)”和“Grip(抓取)”。此外,设备描述222包括函数限定(即,限定函数的参数)“立方体[a,b]中的点p”和“Boolean(布尔)”。
类似地,设备描述224描述了具有类别实例AdvancedRobotR2(高级机器人R2)的机器人214,其能够用来自面向对象的类别SimpleRobot的参数来扩展。因此,AdvancedRobot是SimpleRobot的子类别,并且继承了简单机器人的技能。函数MoveTo由立方体中的参数点[c,d]、SecurityZone(安全区域)限定。设备描述226描述了具有类别实例AGV A1的AGV216,其扩展到具有功能“DriveTo(行驶到)”、“Load(负载)”和“Unload(卸载)”的机器类别。设备描述228描述了具有类别实例3DprinterP1(3D打印机P1)的3D打印机218,该3DprinterP1扩展到具有“Print(打印)”作为功能的类别机器。为具有扩展到类别机器的类别实例StorageSl(存储库S1)的存储单元202生成设备描述204。
设备描述222、224、226、228和204描述了由机器人212、214、AGV216、3D打印机218和存储单元202执行的功能、技巧和动作。通过设备描述222、224、226、228和204,通过将细节保持在设备描述本身内并呈现简化的界面来实现简单性。诸如集成开发工具的其他程序能够通过其简化接口与设备描述交互,而不需要知道设备描述的内部操作。当类别实例被扩展为包括如上所述的其他类别的参数时,也能够看到简化接口的优点。
图3示出了指示技术***中缺少网络物理设备的场景的IDE 300。IDE300包括文本编程接口310和图形编程接口320。能够使用文本编程接口310或图形编程接口320来构建工程设计代码。
如图所示,工程设计代码包括对3D打印机218和AGV 216的引用。然而,图3中的技术***不包括如数字330所示的AGV 216。因此,在工程设计代码的部分322-328处提供丢失机器的反馈。
图4示出了IDE 400,该IDE 400指示工程设计代码错误地包括超出网络物理设备技能的参数的情形。在本实施例中,工程设计代码限定了机器人212移动到坐标x、y、z的函数。IDE 400通过突出显示不正确的代码并提供重构建议410来指示反馈。IDE 400突出显示不正确的代码,因为点(x,y,z)不在简单机器人212的可达立方体中。建议410包括指示高级机器人214更合适或需要改变坐标的备选方案。为了提供替换机器人214的建议,IDE 400能够与实时指示技术***中可用设备的接口同步。因此,IDE 400有利地用作检测用于执行工程设计代码的问题并建议对检测到的问题的解决方案的数字伴侣。
图5示出了高级机器人214不是技术***的一部分的情形。IDE 500突出显示不能执行的工程设计代码,因为机器“高级机器人”在技术***中物理上不可用。此外,IDE 500还提供了将由IDE 500完成的再创作建议510。例如,重构建议是用AdvancedRobot的基类SimpleRobot代替AdvancedRobot。在一个实施例中,自动地实现重构建议。
图6示出了根据本发明实施例的用于设计技术***610的***600。技术***600包括网络物理设备612-618,其包括简单机器人612、高级机器人614、AGV 616和3D打印机618。设备612-618用于执行技术***610中的一个或多个操作。***600用于设计设备612-618以实现操作的执行。
***610包括能够跨多个计算设备执行的工程设计模块620。工程设计模块620包括具有图形界面(GUI)624的集成开发工具622。工程设计模块620还包括程序代码生成器626和安装工具628。
在一些实施例中,***610还能够包括数据库632、634和636。数据库用于分别为设备612-618和技术***610生成设备描述和***描述。
数据库632-638包括生命周期数据库632、制造执行数据库634和操作维护数据库636。生命周期数据库632包括概念信息、设计信息、实现信息、检查规划信息或任何组合。制造执行数据库634包括生产数据、设备验证数据、检查执行数据或其任何组合。操作维护数据库638包括与设备和/或技术***的操作相关联的操作数据、不合格信息、设备的服务信息或其任何组合。
设备612-618和技术***610能够使用唯一标识跨数据库632-636进行映射。能够使用工程设计模块620来生成唯一标识。在一个实施例中,设备612-618和技术***610的参考使用技术***610的数字孪生。
工程设计模块620通信地耦合到与设备和/或技术***相关联的生命周期数据库632、制造执行数据库634和操作维护数据库636中的至少一个。在操作中,工程设计模块620被配置为基于来自数据库632-636的信息生成设备描述和***描述。
集成开发工具622用于将GUI 624配置为编辑器,以使得能够基于设备612-618的设备描述来对设备612-618进行工程设计。GUI 624也可称为集成开发环境(IDE)624。
程序代码生成器模块626被配置为基于与在设备描述中提供的设备相关联的配置和/或功能来生成工程设计代码以对技术***610进行工程设计。工程设计代码允许设备612-618之间的协调,由此技术***610中的操作是可执行的。在图7中详细描述工程设计代码的生成。
安装工具628被配置为实例化工程设计代码中的参数,以通过访问与操作相关联的设备描述、***描述和过程描述来确定工程设计代码的可执行性。集成开发工具622被配置为在IDE 624上显示关于工程设计代码的可执行性的反馈640。
在一个实施例中,安装工具628被配置为通过基于简单机器人的设备描述实例化设备612来生成设备612的实例。安装工具628通过推理简单机器人的设备描述和***描述中的数据结构来分析工程设计代码。此外,安装工具628基于设备描述和***描述的语义分析生成设备612的兼容性指示符,以确定工程设计代码是否确实是可执行的。
反馈640能够是错误消息、工程设计代码的注释或建议。在图6中,反馈640涉及技术***610中缺少网络物理设备650的情形。在一个实施例中,IDE 624被配置为基于过程描述和***描述来显示设备650的备选方案。
图7示出了根据本发明实施例的用于工程设计技术***的方法。
该方法开始于步骤710,产生与技术***中的设备相关联的基于技术***的配置和/或功能的工程设计代码。工程设计代码使得设备之间能够协调,由此技术***中的一个或多个操作是可执行的。
步骤710还能够包括使用集成开发环境(IDE)来实现工程设计代码的生成,该集成开发环境通信地耦合到与设备和/或技术***相关联的生命周期数据库、制造执行数据库和操作维护数据库中的至少一个。
在一个实施例中,步骤710还能够包括基于从生命周期数据库、制造执行数据库、操作维护数据库和使用唯一标识的设备中的至少一个的映射生成的设备描述来生成工程设计代码。设备描述包括可由设备执行的动作、与设备相关联的配置和功能。
在另一个实施例中,步骤710能够包括生成作为面向对象类别的设备描述,其中,设备的设备描述可被配置为允许控制网络物理设备。此外,设备描述可被封装以生成***描述,其中,***描述包括可由***执行的动作、与技术***相关联的配置和功能。
在又一实施例中,步骤710能够包括通过使用技术***的唯一标识映射生命周期数据库、制造执行数据库和操作维护数据库来生成与技术***相关联的***描述。此外,能够基于映射来生成与技术***中的操作相关联的过程描述。***描述作为技术***的实时数字表示,并且过程描述作为操作的数字表示。
步骤720包括基于与设备、***和操作相关联的兼容性指示符来确定工程设计代码的可执行性。在本发明的实施例中,可执行性的确定能够包括兼容性指示符本身的确定。能够基于与关于与技术***和操作相关联的动作、配置和功能的设备相关联的动作、配置和功能,使用设备描述、过程描述和***描述来限定兼容性指示符。
在一个实施例中,步骤720能够包括通过基于设备描述使用集成开发环境实例化至少一个设备来为设备之一生成至少一个实例。因此,设备描述能够充当用于实例化的模板。此外,步骤720能够包括通过推断设备描述和***描述中的数据结构来分析工程设计代码,其中,设备描述包括实例。在一个实施例中,数据结构的推理是跨设备描述、过程描述和***描述执行的。因此,当生成实例时,分析与该实例相关联的工程设计代码。在一个实施例中,分析包括实例的类型推断。所得到的设备描述能够被称为设备实例描述。因此,本发明有利地分析设备实例描述和***描述,而不需要关于设备与技术***和操作的兼容性的基于试错的检查。
此外,步骤720能够包括基于设备描述和***描述的语义分析生成至少一个设备的兼容性指示符。语义分析能够包括对实例的设备描述(设备实例描述)和***描述中的语法结构的分析。在一些实施例中,跨设备描述、过程描述和***描述执行语法结构的分析。
步骤730包括基于确定的工程设计代码的可执行性来工程设计一个或多个设备中的至少一个设备。在一个实施例中,能够通过设计至少一个设备中的部件来设计至少一个设备,由此能够基于部件的部件描述来配置设备描述。
步骤730能够包括在IDE的图形用户界面上显示工程设计代码的可执行性作为反馈,其中,反馈包括错误消息、注释和建议消息中的至少一个。
例如,错误消息可能导致工程设计代码的一部分被突出显示。高亮显示的代码能够指示不能执行的部分,因为在实际技术***中缺少包括其技能的计算机物理设备。此外,IDE还能够基于制造执行数据库和操作维护数据库中的信息建议可用的替换。在一个实施例中,IDE被配置为基于过程描述和***描述来显示建议。
在一个实施例中,通过在工程设计代码中并入关于纠正错误的建议来对技术***进行工程设计。此类建议能够被称为重构建议,并且在一些实施例中能够由IDE自动实现。
为了本说明书的目的,计算机可用或计算机可读非暂时性存储介质能够是能够包含、存储、传送、传播或传输由指令执行***、装置或设备使用或与指令执行***、装置或设备结合使用的程序的任何装置。介质能够是电、磁、光、电磁、红外或半导体***(或装置或设备)或传播介质,或者它们本身,因为信号载体不包括在物理计算机可读介质的限定中,物理计算机可读介质包括半导体或固态存储器、磁带、可移动计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘,诸如光盘只读存储器(CD-ROM)、光盘读/写和DVD。用于实现本技术的每个方面的处理单元和程序代码都能够是本领域技术人员已知的集中式的或分布式的(或其组合)。另外,虽然本公开将配置工具110描述为独立部件,但是配置工具能够是软件部件,并且能够在分布式控制***或工程设计软件套件中实现。另外,在一个实施例中,工程设计模块的一个或多个部分能够在技术***内实现。
虽然已经参考某些实施例详细描述了本公开,但是应当理解,本公开不限于那些实施例。鉴于本公开,对于本领域技术人员而言,在不脱离如本文该的本公开的各种实施例的范围的情况下,将存在许多修改和变化。因此,本公开的范围由所附权利要求而不是由前述描述来指示。在权利要求书的物的含义和范围内的所有改变、修改和变化被认为在其范围内。在方法权利要求中要求保护的所有有利实施例也能够应用于***/设备权利要求。

Claims (14)

1.一种用于工程设计包括一个或多个网络物理设备(612-618)的至少一个技术***(610)的方法,所述方法包括:
基于从生命周期数据库(632)、制造执行数据库(634)、操作维护数据库(636)中的至少一个的映射生成的设备描述和使用跨所述生命周期数据库(632)、所述制造执行数据库(634)、所述操作维护数据库(636)引用的唯一标识的设备来生成用于所述技术***(610)的工程设计代码,其中,所述工程设计代码使得能够在所述设备(612-618)之间进行协调,由此所述技术***(610)中的至少一个操作是可执行的,其中,所述设备描述表示所述设备(612-618)的配置和功能;
基于与设备(612,212)、***(610)和至少一个操作中的至少一个相关联的兼容性指示符(410)来确定所述工程设计代码的可执行性,其中,所述兼容性指示符是基于针对所述至少一个操作将所述设备描述与所述***(610)的***描述进行比较的,其中,所述***描述表示所述***(610)的配置和功能;以及
基于所述工程设计代码的确定的所述可执行性来对一个或多个所述设备中的至少一个设备(612)进行工程设计。
2.根据权利要求1所述的方法,还包括:
使得能够使用集成开发环境(IDE)(624,120)来生成所述工程设计代码,所述集成开发环境通信地耦合到与所述设备和/或所述技术***(610)相关联的生命周期数据库(632)、制造执行数据库(634)和操作维护数据库(636)中的至少一个,
其中,所述生命周期数据库(632)包括概念信息、设计信息、实现信息、检查规划信息或概念信息、设计信息、实现信息、检查规划信息的任何组合中的至少一个,
其中,所述制造执行数据库(634)包括生产数据、设备验证数据、检查执行数据或生产数据、设备验证数据、检查执行数据的任何组合中的至少一个,
其中,所述操作维护数据库(636)包括与所述设备(612-618)和/或所述技术***(610)的操作相关联的操作数据、不合格信息、所述设备的服务信息或操作数据、非一致性信息、所述设备的服务信息的任何组合中的至少一个,以及
其中,所述设备和所述技术***(610)使用唯一标识跨所述生命周期数据库(632)、所述制造执行数据库(634)和所述操作维护数据库(636)进行映射。
3.根据权利要求2所述的方法,其中,所述设备描述包括能够由所述设备(612-618)执行的动作、与所述设备相关联的所述配置和所述功能,其中,所述设备描述是通过相对于所述设备(612-618)的逻辑、物理和机械功能而组织的可编程图来实现的。
4.根据权利要求3所述的方法,还包括:
生成作为面向对象的类别的所述设备描述,其中,针对所述设备的所述设备描述能够被配置用于使得能够控制所述设备(612-618);以及封装所述设备描述以生成所述***描述,其中,所述***描述包括能够由所述***执行的动作、与所述技术***(610)相关联的配置和功能。
5.根据前述权利要求中任一项所述的方法,还包括:
通过跨所述生命周期数据库(632)、所述制造执行数据库(634)和所述操作维护数据库(636)引用所述技术***(610)的唯一标识来映射所述生命周期数据库(632)、所述制造执行数据库(634)和所述操作维护数据库(636),生成与所述技术***(610)相关联的***描述,其中,所述***描述是所述技术***(610)的实时数字表示;以及
通过跨所述生命周期数据库(632)、所述制造执行数据库(634)和所述操作维护数据库(636)引用所述操作的所述唯一标识来映射所述生命周期数据库(632)、所述制造执行数据库(634)和所述操作维护数据库(636),生成与所述至少一个操作相关联的过程描述,其中,基于所述设备描述、所述***描述和所述过程描述中的至少一个来确定所述工程设计代码的所述可执行性。
6.根据前述权利要求中任一项所述的方法,其中,基于与所述设备相关联的动作、配置和功能相对于与所述技术***(610)相关联的动作、配置和功能的比较,使用所述设备描述、过程描述和所述***描述中的至少一个来限定所述兼容性指示符。
7.根据前述权利要求中任一项所述的方法,其中,确定所述工程设计代码的可执行性包括:
通过基于所述设备描述使用所述集成开发环境实例化至少一个所述设备来生成用于至少一个所述设备的至少一个实例,其中,所述设备描述是利用至少一个所述设备的参数实例化的模板;
通过推断所述设备描述和所述***描述中的数据结构来分析所述工程设计代码,其中,所述设备描述包括至少一个所述实例,并且其中,推断所述数据结构包括针对至少一个所述实例的类型推断和针对所述设备描述的模板实参推断中的至少一个;以及
基于所述设备描述和所述***描述的语义分析来生成至少一个所述设备的所述兼容性指示符,其中,所述语义分析包括对所述设备描述和所述***描述中的句法结构的分析。
8.根据前述权利要求中任一项所述的方法,还包括:
将所述工程设计代码的所述可执行性作为反馈显示在IDE的图形用户界面(624)上,其中,所述反馈(640)包括错误消息(322-328)、注释和建议消息(410,510)中的至少一个。
9.根据前述权利要求中任一项所述的方法,其中,至少一个所述设备包括一个或多个部件,并且其中,所述方法包括:
对至少一个所述设备中的部件进行工程设计,由此所述设备描述能够基于所述部件的部件描述来配置。
10.一种用于工程设计包括一个或多个网络物理设备(612-618)的至少一个技术***(610)的***,所述***包括被配置用于执行根据权利要求1至9的一个或多个方法步骤的工程设计模块(620)。
11.根据权利要求10所述的***,其中,所述***包括:
集成开发工具(622),所述集成开发工具被配置作为使得能够基于设备的设备描述来对所述设备进行工程设计的编辑器;
程序代码生成器模块(626),所述程序代码生成器模块被配置用于基于在所述设备描述中提供的与所述设备相关联的配置和功能中的至少一个来生成用于所述技术***(610)的工程设计代码,并且其中,所述工程设计代码使得能够在所述设备之间进行协调,由此所述技术***(610)中的至少一个操作是可执行的;
安装工具(628),所述安装工具被配置用于实例化所述工程设计代码中的参数,以通过访问与所述至少一个操作相关联的所述设备描述、***描述和过程描述中的至少一个来确定所述工程设计代码的可执行性;并且其中,所述集成开发工具被配置用于显示关于所述工程设计代码的所述可执行性的反馈。
12.根据权利要求10所述的***,其中,集成开发工具被配置用于在所述工程设计代码的构建阶段期间显示关于所述工程设计代码的可执行性的反馈(640)。
13.根据权利要求9所述的***,还包括与所述设备和/或所述技术***(610)相关联的生命周期数据库(632)、制造执行数据库(634)和操作维护数据库(636),其中,所述生命周期数据库(632)包括概念信息、设计信息、实现信息、检查规划信息或概念信息、设计信息、实现信息、检查规划信息的任意组合中的至少一个,其中,所述制造执行数据库(634)包括生产数据、设备验证数据、检查执行数据或生产数据、设备验证数据、检查执行数据的任意组合中的至少一个,其中,所述操作维护数据库(636)包括与所述设备(612-618)和/或所述技术***(610)的操作相关联的操作数据、非一致性信息、所述设备的服务信息或操作数据、非一致性信息、所述设备的服务信息的任意组合中的至少一个,其中,所述设备和所述技术***(610)能够使用唯一标识跨所述生命周期数据库(632)、所述制造执行数据库(634)和所述操作维护数据库(636)进行映射,并且其中,集成开发工具通信地耦合到与所述设备(612-618)和/或所述技术***(610)相关联的所述生命周期数据库(632)、所述制造执行数据库(634)和所述操作维护数据库(636)中的至少一个。
14.一种包括计算机可读代码的计算机程序产品,在由处理器执行所述计算机可读代码时,执行方法权利要求1至9中的一项或多项权利要求中的方法步骤中的任一种方法步骤。
CN202180038122.8A 2020-05-26 2021-04-01 用于工程设计技术***的***和方法 Pending CN115698939A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20176501.3 2020-05-26
EP20176501.3A EP3916539A1 (en) 2020-05-26 2020-05-26 System and method for engineering a technical system
PCT/EP2021/058577 WO2021239303A1 (en) 2020-05-26 2021-04-01 System and method for engineering a technical system

Publications (1)

Publication Number Publication Date
CN115698939A true CN115698939A (zh) 2023-02-03

Family

ID=70857064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180038122.8A Pending CN115698939A (zh) 2020-05-26 2021-04-01 用于工程设计技术***的***和方法

Country Status (4)

Country Link
US (1) US20230289150A1 (zh)
EP (2) EP3916539A1 (zh)
CN (1) CN115698939A (zh)
WO (1) WO2021239303A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021133959A1 (de) 2021-12-21 2023-06-22 Endress+Hauser Process Solutions Ag Verfahren zum Austausch eines Feldgeräts mit einem Ersatzfeldgerät in einer Messstelle einer Anlage der Automatisierungstechnik

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10606562B2 (en) * 2015-06-04 2020-03-31 Siemens Aktiengesellschaft Method and system for generating PLC code with a connectivity model
US11119463B2 (en) * 2018-09-27 2021-09-14 Rockwell Automation Technologies, Inc. Automation objects for integrated design environments

Also Published As

Publication number Publication date
EP4111300A1 (en) 2023-01-04
EP3916539A1 (en) 2021-12-01
US20230289150A1 (en) 2023-09-14
WO2021239303A1 (en) 2021-12-02

Similar Documents

Publication Publication Date Title
Vogel-Heuser et al. Modularity and architecture of PLC-based software for automated production Systems: An analysis in industrial companies
Hildebrandt et al. Semantic modeling for collaboration and cooperation of systems in the production domain
CN107710149B (zh) 利用连接性模型生成plc代码的方法和***
US6157864A (en) System, method and article of manufacture for displaying an animated, realtime updated control sequence chart
US11372625B2 (en) Tool compiler
Feldmann et al. Modularity, variant and version management in plant automation–future challenges and state of the art
Gruver et al. Intelligent Manufacturing:: Programming Environments for CIM
EP2799981A1 (en) Method for providing code, code generator and software development environment
CN107533329B (zh) 多学科工程***中交叉学科数据验证检查的方法与***
CN112106024A (zh) 用于在机床的边缘计算设备上部署工业应用的方法和平台
Mross et al. Transformation of GRAFCET into GAL for verification purposes based on a detailed meta-model
WO2021040727A1 (en) Plc code generation with a knowledge graph
Broadfoot et al. Academia and industry meet: Some experiences of formal methods in practice
CN115698939A (zh) 用于工程设计技术***的***和方法
Majumder et al. A proposal for OPC UA companion specification for IEC 61499 based control application
EP3869328A1 (en) System, device and method for debugging an industrial application
Zaeh et al. Model-driven development of PLC software for machine tools
EP2037374A1 (en) Method for translating a graphical workflow in a textual description
Jovanovic Designing dependable process-oriented software-a CSP-based approach
Dai et al. IEC 61499 ontology model for semantic analysis and code generation
Bee PLC and HMI Development with Siemens TIA Portal: Develop PLC and HMI programs using standard methods and structured approaches with TIA Portal V17
Valles-Barajas A survey of UML applications in mechatronic systems
Chaar A methodology for developing real-time control software for efficient and dependable manufacturing systems
Zhang et al. An approach for resource Function Block generation: Towards RAMI4. 0-compliant PLC Programming
KR101085114B1 (ko) 피엘씨 소프트웨어 개발환경 제공 시스템

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination