首页 / 用于在工程系统中生成工程设计的方法和系统

用于在工程系统中生成工程设计的方法和系统实质审查 发明

技术内容

用于在工程系统中生成工程设计的方法和系统 [0001] 本发明涉及技术设施工程的领域,并且更特别地涉及用于在工程系统中生成工程设计的方法和系统。 [0002] 工程系统提供了用于生成工程设计的平台,该工程设计表示一个或多个物理组件、技术设施中的一个或多个物理组件之间的物理连接、以及一个或多个物理组件和物理连接的对应参数值。一个或多个物理组件可以包括例如可编程逻辑控制器、一个或多个现场设备或任何其他自动化设备。工程设计可以包括表示一个或多个物理组件以及一个或多个物理组件之间的物理连接的工程对象。 [0003] 通常,为了在工程系统中生成工程设计,代码开发者可能必须针对一个或多个物理组件、对应参数值、以及物理连接和对应参数值中的每一个编写若干图形程序。因此,工程系统向用户提供程序编辑器,以便生成这样的图形程序(通过从元素库中拖放期望的图形程序块)。随后,在程序编辑器中生成的工程设计被编译并下载到一个或多个物理组件上,诸如用于工业控制应用的可编程逻辑控制器(PLC)。 [0004] 常规的工程系统采用功能和其他资源以向代码开发者提供帮助来设计和实现与技术设施相关的工程设计。然而,这些常规的工程系统缺乏在工程系统上生成工程设计的自动化工程方法。例如,当在工程系统中使用不熟悉的库以便生成工程设计时,代码开发者不能够从常规的工程系统接收到用于最佳编码实践的自动化指导。此外,代码开发者可能并未接收到进一步的自动化指导来优化这样的库的使用并且自动生成期望的工程设计。特别地,常规的工程系统无法通过提供指导或建议来提高代码开发者所编写的代码的质量,从而提供自动化编程帮助。因此,不存在使在生成工程设计中涉及的工程自动化的机制。 [0005] 另一实例是,当代码开发者需要反转或重写错误的代码以便重新生成工程设计时,常规的工程系统允许代码开发者逐步地执行“重写或重做”功能,这消耗了巨量的时间。 此外,当代码开发者想要重用以与当前使用的编程语言不同的编程语言所编写的特定代码集合时,常规的工程系统不支持在开发特定代码时不同编程语言的集成。这可能会限制已经开发的具有类似编程逻辑的代码的可重用性。 [0006] 鉴于上述情况,存在对一种用于在工程系统中生成工程设计的高效方法和系统的需要。 [0007] 因此,本发明的目的是提供一种用于在工程系统中生成工程设计的方法和系统。 [0008] 本发明的目的通过一种用于在工程系统中生成工程设计的方法来实现。该方法包括接收技术设施的工程设计。工程设计包括表示技术设施中的一个或多个物理组件的一个或多个工程对象。一个或多个工程对象包括技术设施的一部分中的一个或多个物理组件、一个或多个物理组件之间的物理连接、以及与一个或多个物理组件和物理连接相关联的多个参数值。工程对象包括与一个或多个物理组件、一个或多个物理组件之间的物理连接、以及与一个或多个物理组件和物理连接相关联的多个参数值相关的信息。一个或多个物理组件包括服务器、机器人、开关、自动化设备、可编程逻辑控制器(PLC)、人机接口(HMI)、电机、阀、泵、致动器、传感器和(多个)其他工业设备等。物理连接可以是物理链路(诸如线或线缆)。在替代实施例中,连接也可以是虚拟链路。该多个参数值包括电机配置参数、网络和通信参数、阀控制、传感器的温度或压力值、速度、扭矩等。在示例性实施例中,该表示可以是包括图形程序块的技术设施的基于本体的图形表示。图形程序块对应于一个或多个图形程序。技术设施可以是工业工厂。 [0009] 此外,该方法包括基于本体模式(ontology schema)来生成一个或多个工程对象的对象行为模型。对象行为模型是被叠加有与一个或多个工程对象相关联的一个或多个行为信息的一个或多个工程对象的基于知识图的表示。此外,该方法包括基于所生成的对象行为模型来分析一个或多个工程对象的行为。 [0010] 此外,该方法包括基于该行为的分析的结果来修改工程设计中的一个或多个工程对象。该修改包括任何改变,诸如一个或多个物理组件、一个或多个物理组件之间的物理连接、以及与一个或多个物理组件和物理连接相关联的多个参数值的添加、删除、更新、替换或修订。该行为的分析的结果可以是行为报告,其指示在对象行为模型中定义的每个工程对象的行为或特性是否是可接受的、即兴的(improvised)、增强的、优化的等等。此外,该方法包括输出技术设施的经修改的工程设计。 [0011] 在基于本体模式来生成一个或多个工程对象的对象行为模型中,该方法包括:基于一个或多个物理组件的类型、一个或多个物理组件之间的一个或多个物理连接、以及与一个或多个物理组件和物理连接相关联的多个参数值来标识一个或多个工程对象。一个或多个物理组件的类型可以是功能、过程、软件组件等。此外,该方法包括:基于与一个或多个标识的工程对象中的每一个相关联的唯一标识符,将所标识的一个或多个工程对象分类成一个或多个工程对象块。一个或多个工程对象块可以对应于一个或多个工程块类别。一个或多个工程块类别包括基本块、变量/符号和语句类别。此外,该方法包括确定与所分类的一个或多个工程对象中的每一个相关联的一个或多个工程对象属性。对象属性是对象的域上下文、与其他工程对象的关联和关系、对象大小、对象标识符、工程对象的类型等。此外,该方法包括:基于本体模式表来确定一个或多个所分类的工程对象中的每一个之间的关系。该关系可以是工程对象之间的直接关系,或者是推导出的继承关系。此外,该方法包括: 基于一个或多个所分类的工程对象中的每一个之间的所确定的关系来生成一个或多个工程对象的对象行为模型。对象行为模型是被叠加有与一个或多个工程对象相关联的一个或多个行为信息的一个或多个工程对象的知识图表示。本体模式包括与一个或多个工程对象之间的一个或多个关系相关联的一个或多个规则。一个或多个规则可以是语法规则、语义规则、程序逻辑规则等。 [0012] 在基于所生成的对象行为模型来分析一个或多个工程对象的行为中,该方法包括:检索与一个或多个物理组件相关联的数据和控制参数。数据和控制参数是关键性能指示物,包括与技术设施106相关的信息,例如传感器数据、致动器数据、环境数据、网络数据、任何自动化数据等。该方法包括:将检索到的与一个或多个物理组件相关联的数据和控制参数与存储在对象行为模型中的数据和控制参数进行比较。此外,该方法包括:标识检索到的与一个或多个物理组件相关联的数据和控制参数与存储在对象行为模型中的数据和控制参数之间的偏差。该方法进一步包括:确定对应于所标识的偏差的一个或多个物理组件的行为类型。行为类型包括正常、异常、稳定和需要维护。此外,该方法包括:基于所确定的行为类型来分析一个或多个工程对象的行为。 [0013] 在基于该行为的分析的结果来修改工程设计中的一个或多个工程对象中,该方法包括:基于该行为的分析的结果来确定需要被修改的一个或多个物理组件、一个或多个物理组件之间的物理连接、以及与一个或多个物理组件和物理连接相关联的多个参数值。此外,该方法包括:确定要在所确定的一个或多个物理组件、一个或多个物理组件之间的物理连接、以及与一个或多个物理组件(108A‑N)和物理连接相关联的多个参数值上执行的修改的类型。修改的类型包括添加、删除、替换、修订、更新等。此外,该方法包括:基于所确定的修改类型来修改一个或多个物理组件、一个或多个物理组件之间的物理连接、与一个或多个物理组件和物理连接相关联的多个参数值。 [0014] 在优选实施例中,该方法包括:生成经修改的工程设计的仿真实例,所述仿真实例表示技术设施的升级部分。此外,该方法包括:通过在所生成的仿真实例上执行经修改的工程设计来在仿真环境中仿真技术设施的升级部分的行为。此外,该方法包括:基于仿真结果来验证技术设施的升级部分的行为。 [0015] 在另一优选实施例中,该方法包括:基于该验证来将经修改的工程设计实时部署到安装在技术设施中的一个或多个物理组件上。 [0016] 本发明的目的还通过一种用于生成工程设计的工程系统来实现。该工程系统包括一个或多个处理器和耦合到处理器的存储器。存储器包括以由处理器可执行的机器可读指令的形式被存储的自动化模块。该自动化模块被配置用于执行如上面所描述的方法。 [0017] 本发明的目的还通过一种工业环境来实现。该工业环境包括工程系统、包括一个或多个物理组件的技术设施、以及通信地耦合到工程系统和技术设施的一个或多个客户端设备。该工程系统被配置成执行上面描述的方法步骤。 [0018] 本发明的目的还通过具有其中存储的机器可读指令的计算机程序产品来实现,该机器可读指令在由一个或多个处理器执行时使得一个或多个处理器执行如上面所描述的方法步骤。 [0019] 现在将参考本发明的附图来处理(address)本发明的上面提到的和其他特征。所说明的实施例旨在说明,而不是限制本发明。 [0020] 在下文中参考附图中所示的所说明的实施例来进一步描述本发明,在附图中: 图1是根据本发明的实施例的能够生成工程设计的工业环境的框图; 图2是其中可以实现本发明的实施例的诸如图1中所示的那些的工程系统的框图; 图3是其中可以实现本发明的实施例的诸如图2中所示的那些的自动化模块的框 图; 图4是图示了根据本发明的实施例的在工程系统中生成工程设计的示例性方法的 过程流程图; 图5是图示了根据本发明的实施例的生成对象行为模型的示例性方法的过程流程 图;以及 图6A‑B是根据本发明的实施例的示例性对象行为模型的示意性表示。 [0021] 参考附图描述了各种实施例,其中相似的参考数字用于指代附图,其中相似的参考数字用于自始至终指代相似的元件。在以下描述中,出于解释的目的,阐述了许多具体细节,以便提供对一个或多个实施例的透彻理解。可能显然的是,这样的实施例可以在没有这些具体细节的情况下实践。 [0022] 图1是根据本发明的实施例的能够生成工程设计的工业环境100的框图。在图1中,工业环境100包括工程系统102、技术设施106和一个或多个客户端设备120A‑N。如本文中所使用的,“工业环境”指代包括可配置计算物理和逻辑资源(例如网络、服务器、存储、应用、服务等)、以及分布在诸如云计算平台之类的平台上的数据的处理环境。工业环境100提供对可配置计算物理和逻辑资源的共享池的按需网络访问。工程系统102经由网络104(诸如局域网(LAN)、广域网(WAN)、Wi‑Fi、互联网、任何短范围或宽范围通信)通信地连接到技术设施106。工程系统102还经由网络104连接到一个或多个客户端设备120A‑N。 [0023] 工程系统102经由网络104连接到技术设施106中的一个或多个物理组件108A‑N。 一个或多个物理组件108A‑N可以包括服务器、机器人、开关、自动化设备、可编程逻辑控制器(PLC)、人机接口(HMI)、电机、阀、泵、致动器、传感器和(多个)其他工业设备。一个或多个物理组件108A‑N可以经由物理连接彼此连接或者连接到若干其他组件(图1中未示出)。物理连接可以通过一个或多个物理组件108A‑N之间的布线。替代地,一个或多个物理组件 108A‑N也可以经由非物理连接(诸如物联网(IOT))来连接。虽然图1图示了连接到一个技术设施106的工程系统102,但是本领域技术人员可以设想,工程系统102可以经由网络104连接到位于不同地理位置处的若干技术设施106。 [0024] 客户端设备120A‑N可以是台式计算机、膝上型计算机、平板电脑、智能电话等。客户端设备120A‑N中的每一个被提供有工程工具122A‑N,以用于分别生成和/或编辑工程设计。客户端设备120A‑N可以使得用户能够下载工程设计的工程系统版本并创建工程设计的客户端版本。客户端设备120A‑N可以访问工程系统102以用于自动地生成工程设计。在实施例中,客户端设备120A‑N包括能够运行工业自动化应用的工程系统。客户端设备120A‑N可以访问云应用(诸如经由web浏览器来提供一个或多个物理组件108A‑N的性能可视化)。遍及本说明书,术语“客户端设备”和“用户设备”被可互换地使用。 [0025] 工程系统102可以是部署在控制站处的独立服务器,或者可以是云计算平台上的远程服务器。在优选实施例中,工程系统102可以是基于云的工程系统。工程系统102能够递送用于管理包括一个或多个物理组件108A‑N的技术设施106的应用(诸如云应用)。工程系统102可以包括平台110(诸如云计算平台)、自动化模块112、包括硬件资源和操作系统(OS)的服务器114、网络接口116和数据库118。网络接口116实现工程系统102、技术设施106和(多个)客户端设备120A‑N之间的通信。接口(诸如云接口)(图1中未示出)可以允许一个或多个客户端设备120A‑N处的工程师访问存储在工程系统102处的工程项目文件,并且作为相同实例对工程项目文件执行一个或多个动作。服务器114可以包括其上安装了OS的一个或多个服务器。服务器114可以包括一个或多个处理器、用于存储数据和机器可读指令(例如应用和应用编程接口(API))的一个或多个存储设备(诸如存储器单元)、以及提供计算(诸如云计算)功能所需的其他外围设备。平台110使用硬件资源和服务器114的OS来实现诸如数据接收、数据处理、数据呈现、数据通信等的功能,并且使用部署在其中的应用编程接口来递送前述服务。平台110可以包括构建在硬件和OS顶部上的专用硬件和软件的组合。在示例性实施例中,平台110可以对应于包括程序编辑器和编译器的集成开发环境(IDE),该程序编辑器和编译器允许客户端设备120A‑N的用户生成工程设计。平台110可以进一步包括被配置用于生成工程设计的自动化模块112。自动化模块112的细节在图3和图4中解释。 [0026] 数据库118存储与技术设施106和(多个)客户端设备120A‑N相关的信息。数据库 118例如是结构化查询语言(SQL)数据存储库、或者不仅仅SQL(NoSQL)数据存储库。在示例性实施例中,数据库118可以被配置为在工业环境100中实现的基于云的数据库,其中计算资源作为服务通过平台110被递送。根据本发明的另一实施例,数据库118是自动化模块112直接地可访问的文件系统上的位置。数据库118被配置成存储工程项目文件、工程设计、对象行为模型、与一个或多个物理组件108A‑N相关联的参数值、测试结果、仿真结果、状态消息、一个或多个仿真实例、图形程序、程序逻辑、程序逻辑模式、工程对象和工程对象属性、一个或多个工程对象块、工程对象之间的关系信息、要求、程序更新消息等。 [0027] 图2是其中可以实现本发明的实施例的诸如图1中所示的那些的工程系统102的框图。在图2中,工程系统102包括(多个)处理器202、可访问存储器204、存储单元206、通信接口208、输入‑输出单元210、网络接口212和总线214。 [0028] 本文中使用的(多个)处理器202意指任何类型的计算电路,诸如但不限于微处理器单元、微控制器、复杂指令集计算微处理器单元、精简指令集计算微处理器单元、超长指令字微处理器单元、显式并行指令计算微处理器单元、图形处理单元、数字信号处理单元或任何其他类型的处理电路。(多个)处理器202还可以包括嵌入式控制器,诸如通用或可编程逻辑器件或阵列、专用集成电路、单芯片计算机等。 [0029] 存储器204可以是非暂时性易失性存储器和非易失性存储器。存储器204可以被耦合以用于与(多个)处理器202进行通信,诸如作为计算机可读存储介质。(多个)处理器202可以执行存储在存储器204中的机器可读指令和/或源代码。多种机器可读指令可以存储在存储器204中并从存储器204访问。存储器204可以包括用于存储数据和机器可读指令的任何合适的元件,诸如只读存储器、随机存取存储器、可擦除可编程只读存储器、电可擦除可编程只读存储器、硬盘驱动器、用于处置压缩盘、数字视频盘、磁盘、磁带盒、存储卡等的可移除介质驱动器。在本实施例中,存储器204包括集成开发环境(IDE)216。IDE 216包括以机器可读指令的形式被存储在任何上述存储介质上的自动化模块112,并且可以与(多个)处理器202通信并由(多个)处理器202执行。 [0030] 当由(多个)处理器202执行时,自动化模块112使得(多个)处理器202在工程系统 102中生成工程设计。在实施例中,自动化模块112使得(多个)处理器202接收技术设施106的工程设计。工程设计包括表示技术设施106中的一个或多个物理组件108A‑N的一个或多个工程对象。一个或多个工程对象包括技术设施106的一部分中的一个或多个物理组件 108A‑N、一个或多个物理组件108A‑N之间的物理连接、以及与一个或多个物理组件108A‑N和物理连接相关联的多个参数值。在接收到技术设施106的工程设计时,自动化模块112使得(多个)处理器202基于本体模式来生成一个或多个工程对象的对象行为模型。对象行为模型是被叠加有与一个或多个工程对象相关联的一个或多个行为信息的一个或多个工程对象的基于知识图的表示。对象行为模型是基于从先前生成的工程设计的学习而生成的。 对象行为模型为具有不一致的质量并且没有任何增强足迹的维护不佳的程序块创建了回顾的机会,并且帮助工程设计的进一步改进。使用任何机器学习或人工智能分析方法来获得学习。例如,在给定图形程序的情况下,与图形程序相关联的程序逻辑、令牌、关键字、语法、语义、数据结构被学习并且以经训练的程序表的形式被存储在数据库118中。 [0031] 本体模式包括与一个或多个工程对象之间的一个或多个关系相关联的一个或多个规则。具体地,使用相应的图形程序在工程系统102中配置技术设施106的该部分中的一个或多个物理组件108A‑N、一个或多个物理组件108A‑N之间的物理连接、以及与工程设计中包括的一个或多个物理组件108A‑N和物理连接相关联的多个参数值的表示。每个图形程序包括与一个或多个物理组件108A‑N、一个或多个物理组件108A‑N之间的物理连接、以及多个参数值中的每一个相关联的程序逻辑。(多个)客户端设备120A‑N的用户使用工程工具 122A‑N来修改对应于组件的图形程序。 [0032] 此外,自动化模块112使得(多个)处理器202基于所生成的对象行为模型来分析一个或多个工程对象的行为。此外,自动化模块112使得处理器202基于该行为的分析的结果来修改工程设计中的一个或多个工程对象。此外,自动化模块112使得(多个)处理器202输出技术设施106的经修改的工程设计。经修改的工程设计表示技术设施106的升级部分。技术设施106的升级部分包括一个或多个物理组件108A‑N、物理连接和参数值中的改变。经修改的工程设计不同于接收到的工程设计。具体地,经修改的工程设计包括技术设施106的升级部分中的经修改的一个或多个物理组件108A‑N的经修改的表示、经修改的一个或多个物理组件108A‑N之间的经修改的物理连接、以及与经修改的一个或多个物理组件108A‑N和经修改的物理连接相关联的经修改的多个参数值。 [0033] 在基于本体模式来生成一个或多个工程对象的对象行为模型中,自动化模块112使得(多个)处理器202基于一个或多个物理组件108A‑N的类型、一个或多个物理组件108A‑N之间的一个或多个物理连接、以及与一个或多个物理组件108A‑N和物理连接相关联的多个参数值来标识一个或多个工程对象。这是通过在控制流、数据流、数据使用方面在结构上分析与工程对象相关联的图形程序来实现的。具体地,嵌入在所有工程对象中的属性值被读取,以便分析与工程对象相关联的图形程序。此外,自动化模块112使得(多个)处理器202基于与一个或多个所标识的工程对象中的每一个相关联的唯一标识符,将所标识的一个或多个工程对象分类成一个或多个工程对象块。此外,自动化模块112使得(多个)处理器202确定与所分类的一个或多个工程对象中的每一个相关联的一个或多个工程对象属性。此外,自动化模块112使得(多个)处理器202基于本体模式表来确定一个或多个所分类的工程对象中的每一个之间的关系。此外,自动化模块112使得(多个)处理器202基于一个或多个所分类的工程对象中的每一个之间的所确定的关系来生成一个或多个工程对象的对象行为模型。 [0034] 在基于所生成的对象行为模型来分析一个或多个工程对象的行为中,自动化模块 112使得(多个)处理器202检索与一个或多个物理组件108A‑N相关联的数据和控制参数。此外,自动化模块112使得(多个)处理器202将检索到的与一个或多个物理组件108A‑N相关联的数据和控制参数与存储在对象行为模型中的数据和控制参数进行比较。此外,自动化模块112使得(多个)处理器202标识检索到的与一个或多个物理组件108A‑N相关联的数据和控制参数与存储在对象行为模型中的数据和控制参数之间的偏差。此外,自动化模块112使得(多个)处理器202确定对应于所标识的偏差的一个或多个物理组件108A‑N的行为的类型。行为的类型包括正常、异常、稳定和需要维护等。此外,自动化模块112使得(多个)处理器202基于所确定的比较类型来分析一个或多个工程对象的行为。 [0035] 在基于该行为的分析的结果来修改工程设计中的一个或多个工程对象中,自动化模块112使得(多个)处理器202基于该行为的分析的结果来确定需要被修改的一个或多个物理组件108A‑N、一个或多个物理组件108A‑N之间的物理连接、以及与一个或多个物理组件108A‑N和物理连接相关联的多个参数值。该行为的分析的结果包括工程对象中每个的行为信息,并且还指示那些需要修改的工程对象。此外,自动化模块112使得(多个)处理器202确定将在所确定的一个或多个物理组件(108A‑N)、一个或多个物理组件(108A‑N)之间的物理连接、以及与一个或多个物理组件(108A‑N)和物理连接相关联的多个参数值上执行的修改的类型。修改的类型包括添加、删除、替换、修订、更新等。此外,自动化模块112使得(多个)处理器202基于所确定的修改类型来修改一个或多个物理组件108A‑N、一个或多个物理组件108A‑N之间的物理连接、与一个或多个物理组件108A‑N和物理连接相关联的多个参数值。 [0036] 此外,自动化模块112使得(多个)处理器202生成经修改的工程设计的仿真实例,该仿真实例表示技术设施106的升级部分。此外,自动化模块112使得(多个)处理器202通过在所生成的仿真实例上执行经修改的工程设计来在仿真环境中仿真技术设施106的升级部分的行为。此外,自动化模块112使得(多个)处理器202基于仿真结果来验证技术设施106的升级部分的行为。此外,自动化模块112使得(多个)处理器202基于验证结果将经修改的工程设计实时部署到安装在技术设施106中的一个或多个物理组件108A‑N上。 [0037] 存储单元206可以是被配置用于存储数据库(诸如数据库118)的非暂时性存储介质,所述数据库包括工程设计的服务器版本。 [0038] 通信接口208被配置用于在一个或多个客户端设备120A‑N和工程系统102之间建立通信会话。通信接口208允许在客户端设备120A‑N上运行的一个或多个工程应用将工程项目文件导入/导入到工程系统102中。在实施例中,通信接口208与一个或多个客户端设备 120A‑N处的接口交互,以允许工程师访问与工程项目文件相关联的工程设计,并且对存储在工程系统102中的工程设计执行一个或多个动作。 [0039] 输入‑输出单元210可以包括能够接收一个或多个输入信号(诸如,用于处理工程项目文件的用户命令)的输入设备、键区、触敏显示器、相机(诸如接收基于手势的输入的相机)等。此外,输入‑输出单元210可以是用于显示图形用户接口的显示单元,该图形用户接口将与经修改的工程设计相关联的行为模型可视化,并且还显示与在图形用户接口上执行的每个动作集合相关联的状态信息。该动作集合可以包括执行预定义测试、下载、编译、以及部署图形程序。总线214充当处理器202、存储器204和输入‑输出单元210之间的互连。 [0040] 网络接口212可以被配置成处置工程系统102、客户端设备120A‑N和技术设施106之间的网络连接性、带宽和网络流量。 [0041] 本领域的普通技术人员将领会到,图2中所描绘的硬件可以针对特定的实现方式而变化。例如,除了所描绘的硬件之外或者代替所描绘的硬件,还可以使用其他外围设备,诸如光盘驱动器等、局域网(LAN)、广域网(WAN)、无线(例如,Wi‑Fi)适配器、图形适配器、盘控制器、输入/输出(I/O)适配器。所描绘的示例仅出于解释的目的而提供,并且不意味着暗示关于本公开的架构限制。 [0042] 本领域技术人员将认识到,为了简单和清楚,本文中没有描绘或描述适合供本公开使用的所有数据处理系统的完整结构和操作。取而代之,仅描绘和描述了工程系统102中对于本公开是独特的或者对于理解本公开是必要的如此之多。工程系统102的构造和操作的其余部分可以符合本领域中已知的各种当前实现方式和实践中的任一个。 [0043] 图3是其中可以实现本发明的实施例的诸如图2中所示的那些的自动化模块112的框图,在图3中,自动化模块112包括请求处置器模块302、对象行为模型生成模块304、分析模块306、修改器模块308、工程对象数据库310、验证模块312和部署模块314。 [0044] 请求处置器模块302被配置用于接收技术设施106的工程设计。工程设计包括表示技术设施106中的一个或多个物理组件108A‑N的一个或多个工程对象。一个或多个工程对象包括技术设施106的一部分中的一个或多个物理组件108‑N、一个或多个物理组件108A‑N之间的物理连接、以及与一个或多个物理组件108A‑N和物理连接相关联的多个参数值。接收到的工程设计包括与一个或多个物理组件108A‑N、一个或多个物理组件108A‑N之间的物理连接、以及与一个或多个物理组件108A‑N和物理连接相关联的多个参数值相关的信息。 例如,工程设计是经由网络从工业环境100外部的一个或多个用户中的一个来接收的。在替代实施例中,工程设计是经由网络从一个或者一个或多个客户端设备120A‑N来接收的。 [0045] 在实施例中,使用相应的图形程序在工程系统102中配置技术设施106的该部分中的一个或多个物理组件108A‑N、一个或多个物理组件108A‑N之间的物理连接、以及与接收到的工程设计中包括的一个或多个物理组件108A‑N和物理连接相关联的多个参数值的表示。每个图形程序包括与一个或多个物理组件108A‑N、一个或多个物理组件108A‑N之间的物理连接、以及该多个参数值中的每一个相关联的程序逻辑。 [0046] 对象行为模型生成模块304被配置用于基于本体模式来生成一个或多个工程对象的对象行为模型。在优选实施例中,对象行为模型是被叠加有与一个或多个工程对象相关联的一个或多个行为信息的一个或多个工程对象的基于知识图的表示。对象行为模型还包括与一个或多个物理组件108A‑N相关联的数据和控制参数。此外,本体模式包括与一个或多个工程对象之间的一个或多个关系相关联的一个或多个规则。为了生成对象行为模型,对象行为模型生成模块304被配置用于基于一个或多个物理组件108A‑N的类型、一个或多个物理组件108A‑N之间的一个或多个物理连接、以及与一个或多个物理组件108A‑N和物理连接相关联的多个参数值来标识一个或多个工程对象。一个或多个工程对象的类型包括函数块、函数调用、数据块、用户定义的数据类型、可编程逻辑控制器(PLC)、硬件配置、参数值等。一个或多个工程对象中的每一个与唯一的标识符相关联。标识的步骤是通过在控制流、数据流、数据使用方面在结构上分析与工程对象相关联的图形程序来实现的。具体地,嵌入在所有工程对象中的属性值被读取,以便分析与工程对象相关联的图形程序。然后,对象行为模型生成模块304被配置用于基于与一个或多个所标识的工程对象中的每一个相关联的唯一标识符,将所标识的一个或多个工程对象分类成一个或多个工程对象块。一个或多个工程对象块中的每一个包括要执行的所定义动作的集合。一个或多个工程对象块包括程序变量块、域块、组件级别块、配置信息块、子组件级别块、程序逻辑块、函数块等。要执行的动作集合跨相应的一个或多个工程对象块作为哈希表被存储在数据库118中。例如,如果工程对象的类型是特定类型的电机,则这样的特定类型的电机被分类在工程对象块“电机”下。 类似地,如果工程对象的类型是两个物理组件108A‑N之间的物理通信链路线缆,则该物理通信链路线缆被分类在“物理连接”下等等。与这样的一个或多个工程对象相关联的唯一标识符帮助将它们分类到相应的一个或多个工程对象块中。示例性工程对象块类别包括基本块类别、变量和语句类别、语句类别等。下面的表1表示作为变量/符号的工程对象类别的示例性表示: 。 [0047] 下面的表2表示作为语句的工程对象类别的示例性表示: 。 [0048] 下面的表3表示作为基本块的工程对象类别的示例性表示: 。 [0049] 此外,对象行为模型生成模块304被配置用于确定与所分类的一个或多个工程对象中的每一个相关联的一个或多个工程对象属性。对象属性是对象的域上下文、与其他工程对象的关联和关系、对象大小、对象标识符、工程对象的类型等。这样的对象属性是针对一个或多个工程对象中的每一个来确定的。使用本体的这样的确定使得能够实现工程对象启发和概括,定义了工程对象之间的属性和关系。 [0050] 当对象属性一旦被确定时,对象行为模型生成模块304就被配置用于基于本体模式表来确定一个或多个所分类的工程对象中的每一个之间的关系。基于一个或多个所分类的工程对象中的每一个之间的所确定的关系,对象行为模型生成模块304被配置用于生成一个或多个工程对象的对象行为模型。 [0051] 在实施例中,对象行为模型生成模块304还被配置用于管理对应于一个或多个物理组件108A‑N、一个或多个物理组件108A‑N之间的物理连接、以及与一个或多个物理组件 108A‑N和物理连接相关联的多个参数值中的每一个的图形程序。图形程序包括程序逻辑。 每个图形程序包括对应于程序逻辑的可编程指令或语句的集合。每个图形程序可以对应于工程设计下的函数块。工程设计可以包括若干这样的函数块。客户端设备120A‑N处的用户使用工程工具122A‑N,以便通过编码这些图形程序中的每一个来设计或开发工程设计。 [0052] 分析模块306被配置用于基于所生成的对象行为模型来分析一个或多个工程对象的行为。具体地,分析模块306被配置用于检索与一个或多个物理组件108A‑N相关联的数据和控制参数。数据和控制参数是关键性能指示物,包括与技术设施106相关的信息,例如传感器数据、致动器数据、环境数据、网络数据、任何自动化数据等。此外,分析模块306被配置用于将检索到的与一个或多个物理组件108A‑N相关联的数据和控制参数与存储在对象行为模型中的数据和控制参数进行比较。此外,分析模块306被配置用于标识检索到的与一个或多个物理组件108A‑N相关联的数据和控制参数与存储在对象行为模型中的数据和控制参数之间的偏差。该偏差指示检索到的数据和控制参数与存储在对象行为模型中的数据和控制参数之间的差异。此外,分析模块306被配置用于确定对应于所标识的偏差的一个或多个物理组件108A‑N的行为类型。行为类型包括正常、异常、稳定和需要维护等。此外,分析模块306被配置用于基于所确定的行为类型来分析一个或多个工程对象的行为。 [0053] 修改器模块308被配置用于基于该行为的分析的结果来修改工程设计中的一个或多个工程对象。该行为的分析的结果可以是行为报告,该行为报告指示在对象行为模型中定义的每个工程对象的行为或特性是否是可接受的、即兴的、增强的、优化的等等。此外,该行为的分析的结果包括每一个工程对象的行为信息,并且还指示那些需要修改的工程对象。具体地,修改器模块308被配置用于基于该行为的分析的结果来确定需要被修改的一个或多个物理组件108A‑N、一个或多个物理组件108A‑N之间的物理连接、以及与一个或多个物理组件108A‑N和物理连接相关联的多个参数值。此外,修改器模块308被配置用于确定要在所确定的一个或多个物理组件108A‑N、一个或多个物理组件108A‑N之间的物理连接、以及与一个或多个物理组件108A‑N和物理连接相关联的多个参数值上执行的修改的类型。修改的类型包括添加、删除、替换、修订、更新等。此外,修改器模块308被配置用于基于所确定的修改类型来修改一个或多个物理组件108A‑N、一个或多个物理组件108A‑N之间的物理连接、与一个或多个物理组件108A‑N和物理连接相关联的多个参数值。该修改包括与一个或多个工程对象相关联的参数值和/或对象属性中的任何改变。例如,工程设计中的原始电机可以被用具有新配置参数的新电机来替换。类似地,输入‑输出模块中的端口可以被修改。 在实施例中,修改可以对应于对一个或多个工程对象的添加、删除、替换、修订或更新。 [0054] 工程对象数据库310被配置用于生成工程对象库,该工程对象库包括所生成的对象行为模型、一个或多个物理组件108A‑N、一个或多个物理组件108A‑N之间的物理连接、以及与一个或多个物理组件108A‑N和物理连接相关联的多个参数值。工程对象数据库310被配置用于利用工程设计的更新版本来连续地更新工程对象库。此外,工程对象数据库310被配置用于在本体模式中维护工程对象库。 [0055] 验证模块312被配置用于生成经修改的工程设计的仿真实例,该仿真实例表示技术设施106的升级部分。此外,验证模块312被配置用于通过在所生成的仿真实例上执行经修改的工程设计来在仿真环境中仿真技术设施106的升级部分的行为。技术设施106的升级部分包括一个或多个物理组件108A‑N、物理连接和参数值中的改变。仿真环境模拟实际技术设施,诸如技术设施106。此外,仿真环境可以是实际技术设施106的虚拟设置。此外,验证模块312被配置用于基于仿真结果来验证技术设施106的升级部分的行为。仿真的结果可以指示经修改的工程设计在被部署在技术设施106中的情况下的成功或失败。 [0056] 部署模块314被配置用于基于该验证来将经修改的工程设计实时部署到安装在技术设施106中的一个或多个物理组件108A‑N上。如果验证结果是肯定的,则经修改的工程设计被实时部署到技术设施106的升级部分中。如果验证结果是否定的,则否定验证报告的原因被生成作为报告,并且被显示给用户以重新设计或重新修改工程设计。 [0057] 图4是图示了根据本发明实施例的在工程系统102中生成工程设计的示例性方法 400的过程流程图。在步骤402处,接收技术设施106的工程设计。工程设计包括表示技术设施106中的一个或多个物理组件108A‑N的一个或多个工程对象。一个或多个工程对象包括技术设施106的一部分中的一个或多个物理组件108A‑N、一个或多个物理组件108A‑N之间的物理连接、以及与一个或多个物理组件108A‑N和物理连接相关联的多个参数值。 [0058] 在步骤404处,基于本体模式来生成一个或多个工程对象的对象行为模型。对象行为模型是被叠加有与一个或多个工程对象相关联的一个或多个行为信息的一个或多个工程对象的知识图表示。本体模式包括与一个或多个工程对象之间的一个或多个关系相关联的一个或多个规则。一个或多个规则包括语法规则、语义规则、程序逻辑规则等。 [0059] 在步骤406处,基于所生成的对象行为模型来分析一个或多个工程对象的行为。在步骤408处,基于该行为的分析的结果来修改工程设计中的一个或多个工程对象。在步骤 410处,输出技术设施106的经修改的工程设计。 [0060] 图5是图示了根据本发明的实施例的生成对象行为模型的示例性方法500的过程流程图。在步骤502处,标识工程对象的类型以及其相关联的数据。然后,在步骤504处,通过解析工程设计中的工程对象来确定第一工程对象块。此外,在步骤506处,类似地确定第二工程对象块。例如,第一工程对象块可以用于条件数据类型,并且第二工程对象块可以用于线性数据类型,或者反之。在步骤508和510处,分别确定第三和第四工程对象块。第三和第四工程对象块可以是例如工程设计中的另一组工程对象。工程对象块中的每一个可以包括被映射到对应工程对象属性的对象标识符。工程对象块的示例性表示如上面在表3中说明。 此外,鉴于与工程对象相关联的以下示例性程序块来描述上面提到的示例性方法: 程序1:样本SCL程序 FUNCTION_BLOCK "Block1" VAR_INPUT    Input_1 : INT; Input_2 : INT; END_VAR    VAR_TEMP Temp_1 : DINT; Temp_2 : DINT; i : INT; Temp_3 : ARRAY[1..5] OF BOOL;       END_VAR BEGIN    Temp_1 = Input_1 + Input_2;    Temp_1 = Temp_1 + Temp_4;    IF(Temp_1 = 10)    Temp_3[i] = TRUE;    ELSE    Temp_2 = 0;   END_IF; END_FUNCTION_BLOCK 程序1 工程程序块的上述导出的对象行为模型将被映射到由程序本体(PO)定义的相应 本体模式。 [0061] 图6A‑B是根据本发明的实施例的示例性对象行为模型的示意性表示。在图6A中,描绘了示例性国际电工委员会编程语言(IECPL)域模型本体。IECPL域本体是一种类型的所生成的对象行为模型。IECPL域本体是各种基本工程对象块(诸如用户定义的块、技术块、硬件块等)的知识图表示。IECPL域模型本体提供了对IECPL程序逻辑的完整概述,通过该程序逻辑,可以彻底地且高效地分析经修改的工程设计的行为,并且可以推导出由经修改的工程设计中的各种经修改的工程对象执行的任务。此外,在图6B中,描绘了使用数据和控制参数的任何程序的示例性程序本体。程序本体描绘了各种对象类别的知识图表示连同其相应的数据和控制流路径。 [0062] 本发明可以采取计算机程序产品的形式,该计算机程序产品包括从存储程序代码的计算机可用或计算机可读介质来可访问的程序模块,该程序代码用于由一个或多个计算机、处理器或指令执行系统使用或与其结合地使用。出于本描述的目的,计算机可用或计算机可读介质可以是能够包含、存储、传送、传播或传输用于由指令执行系统、装置或设备使用或与其结合地使用的程序的任何装置。该介质可以是电子的、磁的、光学的、电磁的、红外的或半导体系统(或装置或设备)、或者它们中的传播介质以及其本身的传播介质,因为信号载体不被包括在物理计算机可读介质的定义中,该物理计算机可读介质包括半导体或固态存储器、磁带、可移除计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘,诸如压缩盘只读存储器(CD‑ROM)、压缩盘读/写、以及DVD。如本领域技术人员所已知,用于实现该技术的每个方面的处理器和程序代码两者可以是集中式的或分布式的(或其组合)。 [0063] 虽然已经参考某些实施例来详细地描述了本发明,但是应当领会,本发明不限于那些实施例。鉴于本公开,对于本领域技术人员来说,在不脱离如本文中描述的本发明的各种实施例的范围的情况下,许多修改和变型本身将会存在。因此,本发明的范围由以下权利要求而不是由前述描述来指示。进入权利要求的等同物的意义和范围内的所有改变、修改和变型将被认为是在权利要求的范围内。方法权利要求中要求保护的所有有利实施例也可以适用于系统/装置权利要求。 [0064] 参考数字的列表 100 工业环境 102 工程系统 104 网络 106 技术设施 108A‑N 一个或多个物理组件 110平台 112 自动化模块 114 服务器 116 网络接口 118 数据库 120A‑N (多个)客户端设备 122 A‑N 工程工具 202处理器 204 存储器 206 存储单元 208 通信接口 210 输入‑输出单元 212 网络接口 214 总线 302 请求处置器模块 304 对象行为模型生成模块 306 分析模块 308 修改器模块 310 工程对象数据库 312 验证模块 314 部署模块

相关技术
工程系统相关技术
工程设计相关技术
H·赖发明人的其他相关专利技术