CN115857379A - 工业自动化项目设计遥测 - Google Patents
工业自动化项目设计遥测 Download PDFInfo
- Publication number
- CN115857379A CN115857379A CN202210960939.7A CN202210960939A CN115857379A CN 115857379 A CN115857379 A CN 115857379A CN 202210960939 A CN202210960939 A CN 202210960939A CN 115857379 A CN115857379 A CN 115857379A
- Authority
- CN
- China
- Prior art keywords
- industrial
- project
- control
- analysis
- data
- 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
Links
- 238000013461 design Methods 0.000 title claims abstract description 133
- 238000004458 analytical method Methods 0.000 claims abstract description 97
- 238000011161 development Methods 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims description 65
- 238000012800 visualization Methods 0.000 claims description 48
- 230000015654 memory Effects 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 22
- 238000012544 monitoring process Methods 0.000 claims description 14
- 230000003993 interaction Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 238000003860 storage Methods 0.000 description 48
- 238000010586 diagram Methods 0.000 description 31
- 238000004891 communication Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 20
- 230000000875 corresponding effect Effects 0.000 description 13
- 238000004519 manufacturing process Methods 0.000 description 13
- 230000001276 controlling effect Effects 0.000 description 10
- 239000003795 chemical substances by application Substances 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 7
- 230000006855 networking Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 239000003814 drug Substances 0.000 description 6
- 230000006872 improvement Effects 0.000 description 6
- 238000009434 installation Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000013499 data model Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000003339 best practice Methods 0.000 description 3
- 238000011960 computer-aided design Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000005672 electromagnetic field Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000007789 gas Substances 0.000 description 2
- 231100001261 hazardous Toxicity 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 239000003921 oil Substances 0.000 description 2
- 230000035484 reaction time Effects 0.000 description 2
- 238000004513 sizing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004512 die casting Methods 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000000825 pharmaceutical preparation Substances 0.000 description 1
- 229940127557 pharmaceutical product Drugs 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000004801 process automation Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- -1 ships Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 239000004753 textile Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41835—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4183—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4188—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by CIM planning or realisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31229—Supervisor, master, workstation controller, automation, machine control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31342—Design of process control system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31343—Design of factory, manufacturing system control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31353—Expert system to design cellular manufacturing systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31362—Verify correct configuration of system
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及工业自动化项目设计遥测。工业集成开发环境(IDE)包括基于对控制系统设计的分析来生成控制项目遥测数据的分析特征,并且使用该项目遥测数据作为控制系统设计指导和推荐的基础。IDE系统可以分析控制系统设计,并且标识由控制项目使用的工业设备、由控制项目利用的设备特征、资源利用率以及其他这样的项目遥测。IDE系统可以基于该项目遥测来生成用于改进控制系统设计的推荐。项目遥测数据也可以被提供给产品供应商,从而提供对最终客户如何使用供应商的产品的洞察。
Description
技术领域
本文中公开的主题总体上涉及工业自动化系统,并且例如涉及工业编程开发平台。
背景技术
使用单独的配置工具对工业自动化系统的不同方面进行编程和配置的需要导致了碎片化的设计方法,由此在不同的开发环境上对自动化系统的不同但相关或交叠的方面进行单独地设计、配置和编程。例如,运动控制系统可能需要使用控制逻辑编程平台对工业控制器进行编程并且对控制回路进行调节,使用另一配置平台对马达驱动器进行配置,以及使用可视化开发平台对相关联的HMI进行编程。有关的外围系统——例如视觉系统、安全系统等——可能也需要使用单独的编程或开发应用进行配置。
这种分离的开发方法也可能需要相当多的测试和调试努力以确保单独配置的系统方面的适当集成。在这点上,由于未能适当地协调不同的编程努力,因此不同的系统方面之间的预期数据对接或协调动作可能需要大量调试。
发明内容
下面呈现了简化的概述,以便提供对本文中描述的一些方面的基本理解。该概述不是广泛的综述,也不意在标识关键/重要元素或者描绘本文中描述的各个方面的范围。其唯一目的是以简化的形式呈现一些构思,作为稍后呈现的更详细描述的序言。
在一个或更多个实施方式中,提供了一种用于提供工业控制系统设计指导的系统,该系统包括:用户接口组件,其被配置成呈现集成开发环境(IDE)接口并且经由与IDE接口的交互接收设计输入,设计输入定义用于监测和控制工业系统的控制项目的各方面;项目生成组件,其被配置成基于设计输入来生成系统项目数据,系统项目数据包括可执行工业控制程序、工业可视化应用或工业设备配置数据中的至少一个;项目遥测组件,其被配置成基于对系统项目数据的第一分析来生成项目遥测数据,项目遥测数据标识由控制项目使用的工业设备、由控制项目使用的工业设备的特征和工业设备的未使用的可用特征;以及项目分析组件,其被配置成基于对项目遥测数据执行的第二分析来生成用于修改控制项目的推荐。
此外,一个或更多个实施方式提供了一种用于提供工业控制系统设计指导的方法,该方法包括:由包括处理器的系统在客户端设备上呈现集成开发环境(IDE)接口;由系统经由与IDE接口的交互来接收从客户端设备接收的工业设计输入,工业设计输入定义用于监测和控制工业系统的控制项目的各方面;由系统基于工业设计输入来生成系统项目数据,系统项目数据包括可执行工业控制程序、工业可视化应用或工业设备配置数据中的至少一个;由系统基于对系统项目数据的第一分析来生成项目遥测数据,项目遥测数据标识由控制项目使用的工业设备、由控制项目使用的工业设备的特征和工业设备的未使用的可用特征;以及由系统基于对项目遥测数据执行的第二分析来生成用于修改控制项目的推荐。
此外,根据一个或更多个实施方式,提供了一种非暂态计算机可读介质,该非暂态计算机可读介质上存储有指令,所述指令响应于执行而使系统执行操作,所述操作包括:在客户端设备上呈现集成开发环境(IDE)接口;经由与IDE接口的交互来接收从客户端设备接收的工业设计输入,工业设计输入定义用于监测和控制工业系统的控制项目的各方面;基于工业设计输入来生成系统项目数据,系统项目数据包括可执行工业控制程序、工业可视化应用或工业设备配置数据中的至少一个;基于对系统项目数据的第一分析来生成项目遥测数据,项目遥测数据标识由控制项目使用的工业设备、由控制项目使用的工业设备的特征和工业设备的未使用的可用特征;以及基于对项目遥测数据执行的第二分析来生成用于修改控制项目的推荐。
为了实现前述目的和相关目的,本文结合下面的描述和附图来描述某些说明性方面。这些方面指示可以实践的各种方式,所有这些方式都旨在被涵盖在本文中。当结合附图考虑时,其他优点和新颖特征可以根据以下详细描述而变得明显。
附图说明
图1是示例工业控制环境的框图。
图2是示例集成开发环境(IDE)系统的框图。
图3是示出工业IDE系统的通用架构的图。
图4是示出与构建、部署和执行系统项目有关的可以由IDE系统利用的若干示例自动化对象属性的图。
图5是示出与针对正在使用工业IDE系统设计的自动化系统创建系统项目相关联的示例数据流的图。
图6是示出将自动化对象合并到项目模型中的示例系统项目的图。
图7是示出对系统项目进行调试的图。
图8是示出基于云的IDE服务被用来开发工业应用并将工业应用部署至工厂环境的示例架构的图。
图9是示出从使用IDE系统开发的控制项目中提取项目遥测数据的图。
图10是示出基于提取的项目遥测数据的分析来生成项目推荐的图。
图11是示出使用IDE服务作为基于工厂的项目开发者与远程技术支持人员之间的代理的图。
图12a是用于基于工业控制项目的分析来生成控制设计反馈的示例方法的第一部分的流程图。
图12b是用于基于工业控制项目的分析来生成控制设计反馈的示例方法的第二部分的流程图。
图13是示例计算环境。
图14是示例网络环境。
具体实施方式
现在参照附图描述本公开内容,在附图中相似的附图标记始终用于指代相似的要素。在以下描述中,出于说明的目的,阐述了许多具体细节以提供对本公开内容的透彻理解。然而显然,可以在没有这些具体细节的情况下实践本公开内容。在其他实例中,以框图形式示出了公知的结构和设备以便于对其进行描述。
如本申请中所使用的,术语“组件”、“系统”、“平台”、“层”、“控制器”、“终端”、“站”、“节点”、“接口”旨在指代计算机相关的实体或者与具有一个或更多个特定功能的操作装置相关的实体或者作为该操作装置的一部分的实体,其中这样的实体可以是硬件、硬件与软件的组合、软件或者执行中的软件。例如,组件可以是但不限于是在处理器上运行的进程、处理器、硬盘驱动器、包括固定的(例如,用螺钉或螺栓固定的)或可移除的固定固态存储驱动器的(光学存储介质或磁存储介质的)多个存储驱动器;对象;可执行文件;执行的线程;计算机可执行程序和/或计算机。作为说明,服务器和在服务器上运行的应用都可以是组件。一个或更多个组件可以驻留在执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多个计算机之间。此外,本文中描述的组件可以从存储有各种数据结构的各种计算机可读存储介质执行。这些组件可以例如根据具有一个或更多个数据分组的信号(例如,来自与本地系统、分布式系统中的另一组件进行交互和/或通过诸如因特网的网络经由信号与其他系统进行交互的一个组件的数据)经由本地和/或远程进程进行通信。作为另一示例,组件可以是具有由被电气或电子电路系统操作的机械部件提供的特定功能的装置,该电气或电子电路系统通过由处理器执行的软件或固件应用来操作,其中,处理器可以在该装置的内部或外部并且执行软件或固件应用的至少一部分。作为另一示例,组件可以是通过电子组件而不是机械部件来提供特定功能的装置,电子组件可以在其中包括处理器以执行至少部分地提供电子组件的功能的软件或固件。作为又一示例,接口可以包括输入/输出(I/O)组件以及相关联的处理器、应用或应用编程接口(API)组件。虽然前述示例针对组件的方面,但是举例说明的方面或特征也应用于系统、平台、接口、层、控制器、终端等。
如本文中所使用的,术语“推断(infer)”和“推断(inference)”通常是指根据经由事件和/或数据捕获的观察结果的集合来推理或推断系统、环境和/或用户的状态的过程。例如,推断可以被用来标识特定的情境或动作,或者可以生成状态的概率分布。推断可以是概率性的,即,基于对数据和事件的考虑来计算感兴趣的状态的概率分布。推断也可以是指用于根据事件和/或数据的集合来编制(compose)更高级别事件的技术。这样的推断致使根据观察到的事件和/或存储的事件数据的集合构造新的事件或动作,而不管事件是否在时间接近度上紧密相关,以及事件和数据是否来自一个或若干个事件和数据源。
另外,术语“或”旨在意指包含性的“或”而不是排他性的“或”。也就是说,除非另有说明或者根据上下文清楚得知,否则短语“X使用A或B”旨在意指自然的包含性排列中的任何一个。也就是说,以下实例中的任何一个都满足短语“X使用A或B”:X使用A;X使用B;或者X使用A和B二者。另外,在本申请和所附权利要求中使用的冠词“一(a)”和“一个(an)”通常应当被解释为意指“一个或更多个”,除非另有说明或根据上下文而清楚该冠词针对单数形式。
此外,如本文中所使用的术语“集合”排除空集,例如其中没有元素的集合。因此,本公开内容中的“集合”包括一个或更多个元素或实体。作为说明,控制器的集合包括一个或更多个控制器;数据资源的集合包括一个或更多个数据资源;等。同样,如本文所用的术语“组”是指一个或更多个实体的集合,例如,一组节点是指一个或更多个节点。
将根据可以包括多个设备、组件、模块等的系统来呈现各个方面或特征。应当理解并且意识到,各种系统可以包括附加的设备、组件、模块等,以及/或者各种系统可以不包括结合附图讨论的所有设备、组件、模块等。也可以使用这些方法的组合。
图1是示例工业控制环境100的框图。在该示例中,在整个工业工厂环境中部署多个工业控制器118以监测和控制相应的工业系统或者与产品制造、加工、运动控制、批处理、材料处理或其他这样的工业功能有关的过程。工业控制器118通常执行相应的控制程序以便于对构成受控工业资产或系统的工业设备120(例如,工业机器)进行监测和控制。一个或更多个工业控制器118还可以包括在个人计算机或其他硬件平台上或者在云平台上执行的软控制器。一些混合设备还可以将控制器功能与其他功能(例如,可视化)进行组合。由工业控制器118执行的控制程序可以包括能够处理从工业设备120读取的输入信号并且控制由工业控制器118生成的输出信号的基本上任何类型的代码,所述任何类型的代码包括但不限于梯形逻辑、顺序功能图、功能框图或结构化文本。
工业设备120可以包括向工业控制器118提供与受控的工业系统有关的数据的输入设备以及对由工业控制器118生成的用于控制工业系统的方面的控制信号做出响应的输出设备二者。示例输入设备可以包括遥测设备(例如,温度传感器、流量计、水平传感器、压力传感器等)、手动操作者控制设备(例如,按钮、选择器开关等)、安全监测设备(例如,安全垫、安全拉绳、光幕等)以及其他这样的设备。输出设备可以包括马达驱动器、气动致动器、信令设备、机器人控制输入件、阀、泵等。
工业控制器118可以通过硬连线连接或联网连接与工业设备120通信地对接。例如,工业控制器118可以配备有与工业设备120进行通信以实现对这些设备的控制的本地硬连线输入和输出。本地控制器I/O可以包括向现场设备发送离散电压信号以及从现场设备接收离散电压信号的数字I/O或者向设备发送模拟电压或电流信号以及从设备接收模拟电压或电流信号的模拟I/O。控制器I/O可以通过背板与控制器的处理器进行通信,使得数字信号和模拟信号可以被读入控制程序并由控制程序控制。工业控制器118还可以使用例如通信模块或集成的联网端口通过网络与工业设备120进行通信。示例性网络可以包括因特网、内联网、以太网、设备网(DeviceNet)、控制网(ControlNet)、数据高速公路和数据高速公路加(DH/DH+)、远程I/O、现场总线、Modbus、过程现场总线(Profibus)、无线网络、串行协议等。工业控制器118还可以存储可以被其相关联的控制程序参考并且用于控制决策的持久数据值,所述持久数据值包括但不限于表示受控机器或过程的操作状态(例如,罐液位、位置、警报等)的测量值或计算值、或者在自动化系统的操作期间收集的被捕获的时间序列数据(例如,多个时间点的状态信息、诊断发生等)。类似地,一些智能设备——包括但不限于马达驱动器、仪器或状况监测模块——可以存储用于控制操作状态和/或使操作状态可视化的数据值。这样的设备还可以将时间序列数据或事件捕获在日志上以供稍后检索和查看。
工业自动化系统通常包括一个或更多个人机接口(HMI)114,所述一个或更多个人机接口(HMI)114允许工厂人员查看与自动化系统相关联的遥测数据和状态数据并且对系统操作的一些方面进行控制。HMI 114可以通过工厂网络116与工业控制器118中的一个或更多个进行通信,并且与工业控制器交换数据以便于在一个或更多个预先开发的操作者接口屏幕上对与受控工业过程有关的信息进行可视化。HMI 114还可以被配置成允许操作者将数据提交至工业控制器118的指定数据标签或存储器地址,从而提供供操作者向受控系统发出命令(例如,循环启动命令、设备致动命令等)、修改设定点值等的手段。HMI 114可以生成一个或更多个显示屏幕,操作者通过所述一个或更多个显示屏幕与工业控制器118进行交互,从而与受控过程和/或系统进行交互。示例显示屏幕可以使用显示计量值或计算值的过程的图形表示来可视化工业系统或其相关联的设备的当前状态,采用基于状态的颜色或位置动画,呈现警报通知,或者采用其他这样的技术以向操作者展现相关数据。以这种方式展现的数据由HMI114从工业控制器118读取,并且根据由HMI开发者选择的显示格式在显示屏幕中的一个或更多个上展现所述数据。HMI可以包括具有用户安装的或预先安装的操作系统以及用户安装的或预先安装的图形应用软件的固定位置设备或移动设备。
一些工业环境还可以包括与受控工业系统的特定方面有关的其他系统或设备。这些系统或设备可以包括例如聚合并存储从工业控制器118或其他数据源收集的生产信息的数据历史记录装置(data historian)110、包含构成受控工业系统的各种工业设备的电子文档的设备文档存储库、库存跟踪系统、工作订单管理系统、机器或过程制图及文档的储存库、供应商产品文档存储库、供应商知识库、内部知识库、工作调度应用或者其他这样的系统,它们中的一些或全部可以驻留在工业环境的办公网络108上。
较高级别系统126可以执行与工厂现场的工业自动化系统的控制不太直接有关并且代替地针对长期规划、高级监督控制、分析、报告的功能或其他这样的高级功能。这些系统126可以驻留在相对于工厂设施的外部位置处的办公网络108上,或者驻留在可以访问办公网络和/或工厂网络的云平台上。较高级别系统126可以包括但不限于云存储和分析系统、大数据分析系统、制造执行系统、数据湖(data lake)、报告系统等。在一些场景中,在企业的这些较高级别处运行的应用可以被配置成分析控制系统操作数据,并且该分析的结果可以被反馈至控制系统处的操作者或者直接反馈至控制系统中的控制器118或设备120。
必须使用特定于每个设备的相应配置应用来编程或配置构成工业环境的各种控制、监测和分析设备。例如,通常使用(例如,在客户端设备124上执行的)控制编程开发应用例如梯形逻辑编辑器来配置和编程工业控制器118。使用这样的开发平台,设计者可以编写用于执行期望的工业系列或过程的控制程序(例如,梯形逻辑、结构化文本、功能框图等)并且将得到的程序文件下载至控制器118。单独地,开发者使用(例如,在客户端设备122上执行的)HMI开发平台针对HMI 114设计可视化屏幕和相关联的导航结构并且将得到的可视化文件下载至HMI 114。一些工业设备120——例如马达驱动器、遥测设备、安全输入设备等——也可能需要使用特定于正被配置的设备的(例如,在客户端设备128上执行的)单独的设备配置工具来进行配置。这样的设备配置工具可以用于设置设备参数或操作模式(例如,高/低限制、输出信号格式、比例因子、能耗模式等)。
使用单独的配置工具对工业自动化系统的不同方面进行编程和配置的需要导致了碎片化的设计方法,由此在不同的开发环境上对自动化系统的不同但相关或交叠的方面进行单独地设计、配置和编程。例如,运动控制系统可能需要使用控制逻辑编程平台对工业控制器进行编程并且对控制回路进行调节,使用另一配置平台对马达驱动器进行配置,以及使用可视化开发平台对相关联的HMI进行编程。有关的外围系统——例如视觉系统、安全系统等——可能也需要使用单独的编程或开发应用进行配置。
这种分离的开发方法也可能需要相当多的测试和调试努力以确保单独配置的系统方面的适当集成。在这点上,由于未能适当地协调不同的编程努力,因此不同的系统方面之间的预期数据对接或协调动作可能需要大量调试。
为了解决这些问题和其他问题中的至少一些,本文中描述的一个或更多个实施方式提供了用于使用通用设计环境和数据模型来设计、编程和配置工业自动化系统的多个方面的集成开发环境(IDE)。工业IDE的实施方式可以用于以通用方式配置和管理自动化系统设备,从而促进控制系统的控制、可视化和其他方面的集成多学科编程。
通常,工业IDE支持跨越整个自动化生命周期的特征,包括设计(例如,设备选择及尺寸确定、控制器编程、可视化开发、设备配置、测试等);安装、配置和调试;操作、改进和管理;以及故障排除、扩展和升级。
工业IDE的实施方式可以包括特定于工业纵向市场(vertical)及这些纵向市场内的通用工业应用的模块化代码和可视化的库。这些代码和可视化模块可以简化开发并缩短开发周期,同时还支持跨工业企业的一致性和重复使用。
此外,工业IDE系统的一些实施方式可以基于对由最终客户开发的系统项目的分析来生成项目遥测数据。该项目遥测数据可以提供对系统项目以及控制项目被设计成监测和控制的自动化系统的装备和设备拓扑的洞察。项目遥测数据也可以用作设计推荐和增强的远程支持的基础。IDE系统还可以基于对由多个最终客户开发的系统项目的分析来生成聚合的项目遥测数据,并且将该数据提供给装备或软件供应商。该聚合的项目遥测数据可以提供对供应商的产品正如何被使用的洞察。
图2是根据本公开内容的一个或更多个实施方式的示例集成开发环境(IDE)系统202的框图。本公开内容中说明的系统、装置或过程的各方面可以构成包含在机器内的机器可执行组件,例如包含在与一个或更多个机器相关联的一个或更多个计算机可读介质(或媒介)中的机器可执行组件。这样的组件在由一个或更多个机器例如计算机、计算设备、自动化设备、虚拟机等执行时可以使机器执行所描述的操作。
IDE系统202可以包括:包括IDE编辑器224的用户接口组件204、项目生成组件206、项目部署组件208、协作管理组件210、项目遥测组件212、项目分析组件214、代理组件216、一个或更多个处理器218和存储器220。在各种实施方式中,用户接口组件204、项目生成组件206、项目部署组件208、协作管理组件210、项目遥测组件212、项目分析组件214、代理组件216、一个或更多个处理器218以及存储器220中的一个或更多个可以彼此电耦接和/或通信地耦接以执行IDE系统202的功能中的一个或更多个。在一些实施方式中,组件204、206、208、210、212、214和216可以包括存储在存储器220上并由处理器218执行的软件指令。IDE系统202还可以与图2中未描绘的其他硬件和/或软件组件进行交互。例如,处理器218可以与一个或更多个外部用户接口设备例如键盘、鼠标、显示监视器、触摸屏或其他这样的接口设备进行交互。
用户接口组件204可以被配置成接收用户输入并以任何合适的格式(例如,视觉、音频、触觉等)将输出呈现给用户。在一些实施方式中,用户接口组件204可以被配置成与在客户端设备(例如,膝上型计算机、平板计算机、智能电话等)上执行的IDE客户端通信地对接,该客户端设备(例如,经由硬连线连接或无线连接)通信地连接至IDE系统202。然后,用户接口组件204可以经由IDE客户端接收用户输入数据以及呈现输出数据。在其他实施方式中,用户接口组件204可以被配置成:生成合适的接口屏幕(例如,程序开发屏幕)并且将这些接口屏幕提供给客户端设备,以及经由这些接口屏幕来交换数据。可以经由用户接口组件204的各种实施方式接收的输入数据可以包括但不限于编程代码、工业设计说明或目标、工程制图、AR/VR输入、DSL定义、视频或图像数据或者其他这样的输入。由用户接口组件204的各种实施方式呈现的输出数据可以包括程序代码、编程反馈(例如,错误和突出显示、编码建议等)、编程和可视化开发屏幕等。
项目生成组件206可以被配置成基于经由用户接口组件204接收的设计输入以及由IDE系统202维护的工业知识、预定义代码模块和可视化以及自动化对象222来创建包括一个或更多个项目文件的系统项目。项目部署组件208可以被配置成:将由项目生成组件206创建的系统项目委派给适当的工业设备(例如,控制器、HMI终端、马达驱动器、AR/VR系统等)以供执行。为此,项目部署组件208可以标识应向其发送系统项目的相应部分以供执行的适当目标设备,将这些相应部分转换成目标设备可理解的格式,并且将经转换的项目组件部署至其对应设备。
协作管理组件210可以被配置成启动与现场或自动化专家的通信通道,现场或自动化专家可以提供设计协助、针对系统项目的推荐的改进或者提醒开发者可以改进系统项目的性能的可用设备特征。
项目遥测组件212可以被配置成分析由用户提交的工业控制项目并且基于分析针对所提交的项目生成项目遥测或统计信息。可以由项目遥测组件212生成的示例项目遥测数据可以包括但不限于项目中使用的设备的库存、关于设备正如何被使用的信息、设备或相关联的软件将操作的指示如何接近硬件或软件容量限制的报告、预计项目在运行时期间要消耗多少内存或能量、或其他这样的统计信息。
项目分析组件214被配置成分析由项目遥测组件212生成的项目遥测数据并且基于该分析生成设计推荐或警告。项目分析组件214还可以生成从由多个最终客户提交的多个项目推断的设备或装备使用统计信息以供设备供应商或OEM使用。
代理组件216可以被配置成管理开发者与远程技术支持之间的项目信息的连接性和共享。
一个或更多个处理器218可以执行本文中参考所公开的系统和/或方法描述的功能中的一个或更多个。存储器220可以是存储用于执行本文中参考所公开的系统和/或方法描述的功能的计算机可执行指令和/或信息的计算机可读存储介质。
图3是示出根据一个或更多个实施方式的工业IDE系统202的通用架构的图。工业IDE系统202可以实现不仅跨设计而且跨调试、操作和维护的服务和工作流的通用集合。在设计方面,IDE系统202不仅可以支持工业控制器编程和HMI开发,而且可以支持系统组件的尺寸确定和选择、设备/系统配置、AR/VR可视化以及其他特征。IDE系统202还可以包括简化所得到的项目的调试并使所得到的项目的调试自动化并且在运行时期间协助已部署系统的后续管理的工具。
在云平台上实现的IDE系统202的实施方式还促进协作项目开发,由此多个开发者304向公共自动化系统项目302贡献设计和编程输入。IDE系统支持的协作工具可以管理来自多个贡献者的设计贡献并且执行聚合系统项目302的版本控制以确保项目一致性。本文中更详细地描述了由工业IDE系统支持的协作特征。
基于来自一个或更多个开发者304的设计和编程输入,IDE系统202生成包括一个或更多个项目文件的系统项目302。系统项目302对以下中的一个或更多个进行编码:控制程序;HMI、AR和/或VR可视化;设备或子系统配置数据(例如,驱动参数、视觉系统配置、遥测设备参数、安全区域定义等);或者正被设计的工业自动化系统的其他这样的方面。IDE系统202可以标识应当在其上执行系统项目302的相应方面的适当目标设备306(例如,工业控制器、HMI终端、变频驱动器、安全设备等),将系统项目302转换成可以在相应目标设备上执行的可执行文件,并且将可执行文件部署至其对应的目标设备306以供执行,从而将系统项目302委派至工厂车间以供实现自动化项目。
为了支持增强的开发能力,IDE系统202的一些实施方式可以被构建在基于对象的数据模型上而不是基于标签的架构上。自动化对象222用作该基于对象的开发架构的构建块。图4是示出与构建、部署和执行系统项目302有关的可以由IDE系统202利用的若干示例自动化对象属性的图。自动化对象222可以在设计期间被创建和扩充、可以被集成到较大数据模型中并且在运行时期间被消耗。这些自动化对象222提供了跨IDE系统202的通用数据结构并且可以被存储在对象库(例如,存储器220的一部分)中以供重复使用。对象库可以存储表示真实世界工业资产402的各种分类的预定义自动化对象222,所述真实世界工业资产402包括但不限于泵、罐、阀、马达、马达驱动器(例如,变频驱动器)、工业机器人、致动器(例如,气动或液压致动器)或其他这样的资产。自动化对象222可以表示工业企业的基本上任何级别处的元素,包括单独的设备、由许多工业设备和组件(其中的一些可以与它们自己的自动化对象222相关联)组成的机器以及整个生产线或过程控制系统。
针对给定类型的工业资产的自动化对象222可以对诸如2D或3D可视化、警报、控制编码(例如,逻辑或其他类型的控制程序)、分析、启动程序、测试协议、验证报告、模拟、图表、安全协议以及与由对象222表示的工业资产402相关联的其他这样的属性的方面进行编码。还可以用对相关联资产的位置进行标识的位置信息来对自动化对象222进行地理标记。在系统项目302的运行时期间,与给定真实世界资产402对应的自动化对象222也可以记录关于资产的状态或操作历史数据。通常,自动化对象222用作其对应工业资产402的编程表示,并且可以作为控制代码、2D或3D可视化、针对工业资产的知识库或维护指导系统或其他这样的方面的元素被合并到系统项目302中。
图5是示出与针对正在使用根据一个或更多个实施方式的IDE系统202设计的自动化系统创建系统项目302相关联的示例数据流的图。执行IDE客户端应用514的客户端设备504(例如,膝上型计算机、平板计算机、台式计算机、移动设备、可穿戴AR/VR器具等)可以访问IDE系统的项目开发工具并利用这些工具来针对正被开发的自动化系统创建综合系统项目302。通过与系统的用户接口组件204进行交互,开发者可以以各种支持的格式向IDE系统202提交设计输入512,包括特定于工业的控制程序(例如,控制逻辑、结构化文本、顺序功能图等)和HMI屏幕配置输入。基于该设计输入512和存储在工业知识库502中的信息(预定义代码模块508和可视化510、护栏(guardrail)模板506、基于物理学的规则516等),用户接口组件204呈现设计反馈518,该设计反馈518被设计成在开发用于对工业自动化系统进行配置、控制和可视化的系统项目302方面协助开发者。
除了控制编程和可视化定义以外,IDE系统202的一些实施方式可以被配置成接收数字工程制图(例如,计算机协助设计(CAD)文件)作为设计输入512。在这样的实施方式中,项目生成组件206可以基于对现有设计制图的分析例如通过自动生成控制和/或可视化代码来生成系统项目302的部分。可以作为设计输入512被提交的制图可以包括但不限于P&ID制图、机械制图、流程图或其他这样的文档。例如,P&ID制图可以被导入到IDE系统202中,并且项目生成组件206可以标识通过制图传达的元素(例如,罐、泵等)以及它们之间的关系。项目生成组件206可以对在制图中标识的元素和对应于这些元素(例如,罐、泵等)的适当的自动化对象222进行关联或映射,并且将这些自动化对象222添加至系统项目302。特定于设备和特定于资产的自动化对象222包括要与在制图中标识的元素相关联的合适的代码和可视化。通常,IDE系统202可以检查一个或更多个不同类型的(机械的、电的、管道的等)制图以确定设备、机器和/或资产之间的关系(包括标识跨不同制图的公共元素),并且将这些元素与适当的自动化对象222、代码模块508和/或可视化510智能地关联。在针对系统项目302生成代码或项目数据方面,IDE系统202可以根据需要利用基于物理学的规则516以及预定义代码模块508和可视化510。
IDE系统202还可以确定预定义可视化内容是否可用于在制图中发现的对象中的任何对象,并且基于这些预定义可视化来生成针对所发现的对象的适当HMI屏幕或AR/VR内容。为此,IDE系统202可以存储可以由项目生成组件206按需访问的特定于工业、特定于资产和/或特定于应用的可视化510。可以根据工业或工业纵向市场(例如,汽车、食品和药品、石油和天然气、药物等)、工业资产的类型(例如,机器或工业设备的类型)、工业应用的类型(例如,批处理、流量控制、幅面张力控制(web tension control)、金属板冲压、水处理等)或其他这样的类别对这些可视化510进行分类。预定义可视化510可以包括各种格式的可视化,包括但不限于HMI屏幕或窗口、聚合来自多个预先指定的源的数据的混搭(mashup)、AR叠加、表示相关联的工业资产的3D虚拟化的VR对象或其他这样的可视化格式。IDE系统202可以基于对象类型与可视化内容之间的预定义关联来选择针对给定对象的合适的可视化。
在另一示例中,由用户应用于工程制图的标记可以通过项目生成组件206的一些实施方式被理解以传达特定的设计意图或参数。例如,以红色笔做出的标记可以被理解为指示安全区域,通过虚线连接的两个圆可以被解释为齿轮关系,以及粗线可以指示凸轮关系。以这种方式,设计者可以以IDE系统202可以理解并利用的方式在现有的制图上草拟设计目标以生成代码和可视化。在另一示例中,项目生成组件206可以基于对用户的CAD制图的分析来学习用作用于启动机器的必要前提条件的许可和互锁(例如,阀及其相关联的状态)。项目生成组件206可以基于对这些制图和标记的分析来生成任何合适的代码(梯形逻辑、功能块等)、设备配置和可视化以供合并到系统项目302中。在一些实施方式中,用户接口组件204可以包括用于在IDE平台本身内开发工程制图的设计工具,并且项目生成组件206可以在用户针对新项目创建制图时作为后台进程生成该代码。在一些实施方式中,项目生成组件206还可以将状态机制图转换成对应的编程序列,从而至少产生可以由开发者根据需要用附加的编程细节来增强的骨架代码。
此外或者另外,IDE系统202的一些实施方式可以支持基于目标的自动化编程。例如,用户接口组件204可以允许用户指定正被设计的自动化系统的生产目标(例如,指定正被设计的装瓶工厂必须能够在正常操作期间每秒生产至少5000个瓶子)和应用于该设计项目的任何其他相关设计约束(例如,预算限制、可用车间空间、可用控制柜空间等)。基于该信息,项目生成组件206将生成系统项目302的一些部分以满足指定的设计目标和约束。可以以这种方式生成的系统项目302的一些部分可以包括但不限于设备和装备选择(例如,将需要多少泵、控制器、站、传送机、驱动器或其他资产以满足所指定的目标的定义)、相关联的设备配置(例如,调节参数、网络设置、驱动器参数等)、控制编码或者适合于使正被设计的自动化系统可视化的HMI屏幕。
项目生成组件206的一些实施方式还可以基于已经针对正被开发的项目订购的零件的知识来生成系统项目302的项目代码中的至少一些。这可以涉及:访问由装备供应商维护的客户的账户信息以标识已经针对项目购买的设备。基于该信息,项目生成组件206可以添加与所购买的资产相对应的适当的自动化对象222及相关联的代码模块508,由此提供项目开发的起点。
项目生成组件206的一些实施方式还可以监测针对共同编程的功能(例如,泵送应用、批处理、托盘包装(palletizing)操作等)的特定于客户的设计方法,并基于对设计者的目标的推断和为了实现该目标而学习的方法来生成针对用户可能希望合并到当前设计项目中的设计模块(例如,代码模块508、可视化510等)的推荐。为此,项目生成组件206的一些实施方式可以被配置成:随着时间而监测设计输入512,并且基于该监测,学习某些设计动作(例如,向设计项目添加某些代码模块或代码片段、选择某些可视化等)与正被设计的工业资产的类型、工业序列或工业过程之间的相关性。项目生成组件206可以记录这些学到的相关性并且在后续项目开发环节期间基于这些相关性生成推荐。例如,如果项目生成组件206基于对设计输入512的分析确定:设计者当前正在以重复可预测的方式开发涉及一种在过去已经被编程和/或可视化的工业装备的控制项目,则项目生成组件206可以基于该装备在过去如何被配置和/或编程来指示用户接口组件204呈现设计者可能希望合并到系统项目302中的推荐的开发步骤或者代码模块508。
在一些实施方式中,IDE系统202还可以存储和实现护栏模板506,护栏模板506定义旨在确保项目符合内部或外部设计标准的设计护栏。基于由一个或更多个选择的护栏模板506定义的设计参数,用户接口组件204可以提供动态推荐或其他类型的反馈作为设计反馈518的子集,所述动态推荐或其他类型的反馈被设计成以确保系统项目302符合内部或外部要求或标准(例如,诸如TUV认证的认证、内部设计标准、特定于工业或特定于纵向市场的设计标准等)的方式来指导开发者。该反馈518可以采用基于文本的推荐(例如,重写控制代码的指示部分以符合所定义的编程标准的推荐)、语法突出显示、错误突出显示、代码片段的自动完成的形式或其他这样的格式。以这种方式,IDE系统202可以根据正被开发的工业系统的类型和任何适用的内部设计标准来定制设计反馈518,设计反馈518包括编程推荐、预定义代码模块508或可视化510的推荐、错误突出显示和语法突出显示等。
护栏模板506还可以被设计成保持与适用于控制编程或项目开发的其他方面的全局最佳实践相符合。例如,如果开发者的控制编程被认为太复杂(如由一个或更多个护栏模板506指定的标准所定义),则用户接口组件204可以生成并呈现警报。由于不同的纵向市场(例如,汽车、药物、石油和天然气、食品和药品、船舶等)必须遵守不同的标准和认证,因此IDE系统202可以维护针对不同的内部和外部标准和认证的护栏模板506的库,包括定制的特定于用户的护栏模板506。可以根据工业纵向市场、工业应用的类型、工厂设施(在定制的内部护栏模板506的情况下)或其他这样的类别对这些护栏模板506进行分类。在开发期间,项目生成组件206可以基于诸如与项目相关的工业纵向市场、正被编程的工业应用的类型(例如,流量控制、幅面张力控制、特定批处理等)的方面或其他这样的方面的确定来选择并应用被确定为与当前正被开发的项目相关的护栏模板506的子集。项目生成组件206可以利用护栏模板506来实现基于规则的编程,由此基于编码的工业专业知识和最佳实践(例如,标识正被开发的代码的低效率并且推荐适当的校正)来呈现诸如动态智能自动校正、输入提示(type-ahead)或编码建议的编程反馈(设计反馈518的子集)。
用户还可以针对由外部供应商(例如OEM)提供的代码来运行其自己的内部护栏模板506以确保该代码符合内部编程标准。在这样的场景中,供应商提供的代码可以被提交至IDE系统202,并且项目生成组件206可以鉴于由一个或更多个定制护栏模板506指定的内部编码标准来对该代码进行分析。基于该分析的结果,用户接口组件204可以(例如,使用突出显示、覆盖文本等)指示供应商提供的代码中不符合护栏模板506所阐述的编程标准的部分,并且显示用于修改代码的建议以便使代码合规。作为推荐这些修改的替选方案或者除了推荐这些修改之外,项目生成组件206的一些实施方式可以被配置成根据推荐来自动修改代码以使代码合规。
在提出编码建议作为设计反馈518的一部分时,项目生成组件206可以调用所选择的存储在(例如,存储器220上的)代码模块数据库中的代码模块508。这些代码模块508包括用于控制常见工业任务或应用(例如,托盘包装、流量控制、幅面张力控制、拾取和放置应用、传送机控制等)的标准化编码段。在一些实施方式中,可以根据工业纵向市场(例如,汽车、食品和药品、石油和天然气、纺织品、船舶、药物等)、工业应用、或代码模块508适用的机器或设备的类型中的一个或更多个对代码模块508进行分类。在一些实施方式中,项目生成组件206可以基于由程序员提供的程序输入(作为设计输入512的子集)来推断程序员的当前编程任务或设计目标,并且基于该任务或目标来确定是否可以将预定义代码模块508之一适当地添加至正被开发的控制程序以实现所推断的任务或目标。例如,项目生成组件206可以基于对设计输入512的分析而推断出程序员当前正在开发用于将材料从第一罐转移至另一罐的控制代码,并且作为响应,推荐包括包含用于控制实现材料转移所需的阀、泵或其他资产的标准化或频繁利用的代码的预定义代码模块508。
定制的护栏模板506还可以被定义成捕获在项目设计中应当考虑的客户站点的细微差别。例如,护栏模板506可以记录正被设计的自动化系统将被安装在停电很常见的区域中的事实,并且在生成设计反馈518时将考虑这一因素,例如通过推荐实现备用不间断电源并建议应该如何将这些电源并入以及推荐考虑这些断电的相关联的编程或控制策略。
IDE系统202还可以例如基于以下项使用护栏模板506来指导用户针对给定设计目标选择装备或设备:工业纵向市场、控制应用的类型(例如,金属板冲压、模铸、托盘包装、传送机控制、幅面张力控制、批处理等)、项目的预算约束、安装站点处的物理约束(例如,可用楼层、墙或柜空间;安装空间的尺寸等)、该站点已经存在的装备等。这些参数和约束中的一些或全部可以被提供作为设计输入512,并且用户接口组件204可以将装备推荐呈现为设计反馈518的子集。在一些实施方式中,项目生成组件206还可以确定是否可以将一些或全部现有装备重新调整以用于正被设计的新控制系统。例如,由于一些装瓶线已经存在,如果要将新的装瓶线添加至生产区域,则可能存在利用现有装备的机会。关于哪些设备和装备可以被重复使用的决定将影响新控制系统的设计。因此,提供至IDE系统202的设计输入512中的一些设计输入可以包括安装站点内或安装站点附近的客户现有系统的细节。在一些实施方式中,项目生成组件206可以将人工智能(AI)或传统的分析方法应用于该信息,以确定是否可以重新调整或利用在设计输入512中指定的现有装备。基于该分析的结果,项目生成组件206可以基于这些决定来生成可能需要购买的任何新装备的列表作为设计反馈518。
在一些实施方式中,IDE系统202可以基于对正被设计的自动化系统将安装在其中的物理环境的理解来提供设计推荐。为此,关于物理环境的信息可以以工厂环境的2D或3D图像或视频的形式被提交给IDE系统202(作为设计输入512的一部分)。在一些实施方式中,该环境信息还可以从工厂的现有数字孪生(digital twin)获得,或者通过对由可穿戴AR器具获得的扫描环境数据的分析来获得。项目生成组件206可以对该图像、视频或数字孪生数据进行分析以标识安装区域内的物理元素(例如,墙、梁、安全围栏、现有机器和设备等)以及这些元素之间的物理关系。这可以包括查明机器之间的距离、管道铺设的长度、线束或线缆桥架的位置和距离等。基于该分析的结果,项目生成组件206可以将情境添加至生成的示意图作为系统项目302的一部分,生成关于设备或机器的最佳位置的推荐(例如,推荐电力线缆与数据线缆之间的最小间隔),或者对系统项目302进行其他改进。可以根据基于物理学的规则516来生成这些设计数据中的至少一些,基于物理学的规则516可以由项目生成组件206参考以确定这样的物理设计规范:例如距离危险装备的最小安全距离(这也可以在确定安全设备相对于该装备的合适的安装位置时作为因素考虑,在给定由基于物理学的规则516定义的预期的人或车辆反应时间的情况下)、能够承受预期负荷的材料选择、针对指定流量控制应用的管道配置和调节、适适于预期电负荷的布线规格、信号布线与电磁场(EMF)源之间的确保对数据信号的可忽略的电干扰的最小距离或者依赖于物理规则的其他这样的设计特征。
在示例用例中,由提交至IDE系统202的物理环境信息指定的机器与设备的相对位置可以由项目生成组件206用来生成工业安全系统的设计数据。例如,项目生成组件206可以分析安全装备与危险机器之间的距离测量结果,并且基于这些测量结果来确定安全设备和相关联的安全控制器的合适的放置和配置,从而确保机器将在足够的安全反应时间内关闭以防止伤害(例如,在人穿过光幕的情况下)。
在一些实施方式中,项目生成组件206还可以分析现有机器的照片数据或视频数据以确定诸如齿轮或凸轮的内联机械特性并且将该信息作为因素纳入到一个或更多个护栏模板506或设计推荐中。
如上所述,由IDE系统202针对正被设计的给定自动化系统生成的系统项目302可以在使用自动化对象222作为构建块的基于对象的架构上被构建。图6是示出将自动化对象222合并到项目模型中的示例系统项目302的图。在该示例中,表示类似工业设备、系统或自动化系统的资产(例如,过程、罐、阀、泵等)的各种自动化对象222已经作为较大项目数据模型602的元素被合并到系统项目302中。项目数据模型602还定义这些自动化对象222之间的层次关系。根据示例关系,表示批处理的过程自动化对象可以被定义为表示执行该过程的设备和装备例如罐、泵和阀的多个子对象的父对象。每个自动化对象222具有与其相关联的特定于其对应工业资产的对象特性或属性(例如,以上结合图4讨论的那些),包括用于控制资产(或用于协调资产与其他工业资产的动作)的可执行控制程序以及可以用于在运行时期间呈现关于资产的相关信息的可视化。
每个自动化对象222的属性中的至少一些是由IDE系统202基于与由对象表示的资产有关的经编码的工业专业知识而定义的默认属性。开发者可以根据需要(经由设计输入512)修改或添加其他属性,来为正在针对其开发系统项目302的特定资产和/或工业应用定制对象222。这可以包括例如相关联的定制的控制代码、HMI屏幕、AR演示、或与所选择的自动化对象222相关联的帮助文件。以这种方式,可以在设计期间根据需要来创建和扩充自动化对象222以供目标控制设备在运行时期间消耗或执行。
一旦已经完成了对系统项目302的开发,则IDE系统202支持的调试工具可以简化在现场调试项目的过程。在用于给定自动化系统的系统项目302已经被完成的情况下,系统项目302可以被部署至一个或更多个目标控制设备以供执行。图7是示出对系统项目302进行调试的图。项目部署组件208可以将完成的系统项目302编译或以其他方式转换成可以在自动化系统的相应目标工业设备(例如,工业控制器118、HMI终端114或其他类型的可视化系统、马达驱动器710、遥测设备、视觉系统、安全继电器等)上存储和执行的一个或更多个可执行文件或配置文件。
常规的控制程序开发平台要求开发者在开发之前指定将运行控制程序的工业控制器的类型(例如,控制器的型号),从而将控制程序和指定的控制器绑定。然后在程序开发期间强加特定于控制器的护栏,所述特定于控制器的护栏限制了在给定所选择的控制器的能力的情况下开发程序的方式。相比之下,IDE系统202的一些实施方式可以根据特定控制器类型来抽象项目开发,从而允许设计者以对系统项目302的各个控制方面将在何处运行以及如何运行不可知的方式将系统项目302开发为自动化系统的逻辑表示。一旦项目开发完成并且系统项目302准备好调试,用户就可以(经由用户接口组件204)指定要执行系统项目302的相应方面的目标设备。作为响应,项目部署组件208的分配引擎将系统项目302的方面转换成被格式化以供在其相应目标设备上存储和执行的相应可执行文件。
例如,除了其他项目方面以外,系统项目302还可以包括控制代码、可视化屏幕定义和马达驱动器参数定义。在完成项目开发之后,用户可以标识哪些目标设备——包括工业控制器118、HMI终端114和马达驱动器710——将执行或接收系统项目302的这些相应方面。然后,项目部署组件208可以将由系统项目302定义的控制器代码转换成被格式化以供在指定的工业控制器118上执行的控制程序文件702并且(例如,经由工厂网络116)将该控制程序文件702发送至控制器118。类似地,项目部署组件208可以将可视化定义和马达驱动器参数定义分别转换成可视化应用704和设备配置文件708,并且将这些文件部署至它们相应的目标设备以供执行和/或设备配置。
通常,项目部署组件208执行允许系统项目302的方面在指定设备上执行所必需的任何转换。无论系统项目302的各个元素如何分布,都将维护在系统项目302中定义的任何固有关系、握手或数据共享。以这种方式,IDE系统202的实施方式可以使项目与该项目将如何运行以及在哪里运行分离。这还允许相同的系统项目302在具有不同控制装备集合的不同工厂设施处被调试。也就是说,IDE系统202的一些实施方式可以根据现场找到的特定设备将项目代码分配至不同的目标设备。IDE系统202还可以允许项目文件的一些部分作为仿真器被调试或在基于云的控制器上被调试。
作为让用户指定系统项目302要被部署至的目标控制设备的替选方案,IDE系统202的一些实施方式可以主动地连接至工厂网络116并发现可用设备,查明工厂车间存在的控制硬件架构,推断针对系统项目302的相应可执行方面的适当目标设备,并且将系统项目302部署至这些所选择的目标设备。作为该调试过程的一部分,IDE系统202还可以连接至远程知识库(例如,基于web的知识库或基于云的知识库),以确定哪些被发现的设备是过时的或需要固件升级以正确地执行系统项目302。以这种方式,IDE系统202可以用作设备供应商与客户的工厂生态系统之间经由云中的可信连接的链接。
可以使用智能传播将系统项目302的副本传播至具有不同装备配置的多个工厂设施,从而即使现场装备没有完美地匹配所定义的目标(例如,如果在不同地点处发现不同的泵类型),项目部署组件208也智能地将项目组件与正确的工业资产或控制设备相关联。对于没有与预期资产完美匹配的目标设备,项目部署组件208可以计算在非最优目标装备上运行系统项目302的估计的影响并且生成用于减少与最优项目执行的预期偏差的警告或推荐。
如上所述,IDE系统202的一些实施方式可以在云平台上被实施。图8是示出基于云的IDE服务802被用于开发工业应用并将工业应用部署至工厂环境的示例架构的图。在该示例中,工业环境包括一个或更多个工业控制器118、HMI终端114、马达驱动器710、运行更高级别应用(例如,ERP、MES等)的服务器801以及其他这样的工业资产。这些工业资产连接至工厂网络116(例如,通用工业协议网络、以太网/IP网络等),这促进工厂车间的工业设备之间的数据交换。工厂网络116可以是有线或无线网络。在示出的示例中,高级服务器810驻留在(例如,通过路由器808或其他网络基础设施设备)连接至工厂网络116的单独的办公网络108上。
在该示例中,IDE系统202驻留在云平台806上并且作为可由经授权的远程客户端设备504访问的基于云的IDE服务802的集合来执行。云平台806可以是允许共享的计算服务(例如IDE服务802)被能够连接云的设备访问和利用的任何基础设施。云平台806可以是可以由具有因特网连接性和利用IDE服务802的适当授权的设备504经由因特网访问的公共云。在一些场景中,云平台806可以由云提供商提供为平台即服务(PaaS),并且IDE服务802可以作为基于云的服务驻留在云平台806上并且在云平台806上执行。在一些这样的配置中,IDE服务802的所有者可以将对云平台806和相关联的IDE服务802的访问作为订阅服务提供给客户。可替选地,云平台806可以是由工业企业(工厂设施的所有者)内部操作的私有云。示例私有云平台可以包括托管IDE服务802并且驻留在由防火墙保护的公司网络上的服务器的集合。
IDE系统202的一些实施方式出于生成项目推荐的目的可以包括可以应用于完成的控制项目302的项目分析特征,项目推荐旨在优化控制设计或将设计者引导至先前未知和未使用的设备特征,如果利用这些先前未知和未使用的设备特征,则可以提高控制项目的性能。为了促进对完成的系统项目302的智能分析,IDE系统202的一些实施方式可以包括项目遥测组件212,项目遥测组件212针对提交的系统项目302生成项目遥测数据。该项目遥测数据可以提供对控制项目本身以及正在针对其设计系统项目302的自动化系统的装备和设备拓扑二者的洞察。图9是示出从使用IDE系统202开发的系统项目302中提取项目遥测数据902的图。基于对系统项目302的分析,项目遥测组件212可以确定或推断系统项目302本身的特性、关于构成要由控制项目302监测和控制的自动化系统的设备或装备的信息、关于受控系统的性能或资源利用率的预测、控制设计对一个或更多个设备的设备生命周期的估计的影响或其他这样的项目度量。
例如,基于对工业控制器程序文件的分析——工业控制器程序文件可以包括将在其上执行程序文件的工业控制器的控制代码、I/O配置数据和联网配置数据——项目遥测组件212可以标识连接至工业控制器的输入或输出设备(例如,基于对I/O配置或控制代码本身的检查),并且将这些设备的库存记录在项目遥测数据902中。类似的分析可以用于确定被配置成供使用的I/O或控制模块以及关于如何利用控制器的I/O的信息。项目遥测组件212还可以记录被标识为自动化系统的一部分的设备或装备中的任何两个或更多个之间的推断的功能或拓扑关系。项目遥测组件212还可以估计自动化系统预期消耗的网络带宽或能量的总量。为了产生对构成控制系统的设备正如何被使用的进一步洞察,项目遥测数据902还可以记录设备的可用特征的哪个子集当前正被系统项目302使用。
除了用于要控制的自动化系统的度量之外,项目遥测组件212还可以估计用于控制代码本身的性能度量,例如执行系统项目302的各方面所需的估计的存储器量或处理能力。
在一些情况下,项目遥测组件212可以通过参考在供应商储存库904上的设备简档906中存储的特定于供应商的设备信息来增强针对系统项目302生成的项目遥测数据902。例如,项目遥测组件212可以基于对系统项目302的分析来标识特定设备模型(例如,I/O模块、网络基础设施设备、马达驱动器、伺服器、致动器等)正被用作自动化系统的组件。基于对该设备的标识,项目遥测组件212可以访问与该设备的供应商相对应的供应商储存库904,确定设备简档906对于该设备是否可用,并且如果设备简档906对于该设备可用,则从设备简档906中检索设备的功能规范数据以包括在项目遥测数据902中。取决于设备类型的该功能规范数据可以包括诸如设备的可用I/O、可用配置参数或功能、可用存储器或处理能力、生命周期信息、响应时间、物理尺寸、额定功率、联网能力、操作限制(例如,环境要求,例如设备所额定的环境温度)的这样的信息或其他这样的补充设备信息。
一旦已经针对系统项目302提取了项目遥测数据902,项目分析组件214就可以基于对该项目遥测数据902的分析以及经编码的工业专业知识来生成与项目设计相关的推荐或通知。图10是示出基于对提取的项目遥测数据902的分析来生成项目推荐1002的图。通过分析项目遥测数据902,项目分析组件214可以确定如何使用客户的工业硬件和软件资产并且基于该评估生成推荐或通知。这可以包括确定提议的系统项目302——由控制编程定义的控制序列或针对一个或更多个工业设备设置的配置参数引起——是否将使控制项目中使用的硬件或软件接近或高于其额定操作阈值而操作。例如,基于如在项目遥测数据902中记录的控制项目的I/O利用率以及在控制项目中使用的设备的I/O容量的知识(其可以基于如设备简档906中记录的关于那些设备的规范数据来确定),项目分析组件214可以生成以下通知:提议的控制设计将使一个或更多个控制设备(例如,工业控制器或I/O模块)接近或超过其最大I/O容量。基于该评估,项目分析组件214还可以推荐具有比控制项目中当前提议的I/O容量更高的I/O容量的替选控制设备,以便增加备用I/O点的数目以用于将来的扩展。
项目分析组件214还可以基于对项目遥测数据902的分析来估计随时间的设备利用程度,并且使该信息与记录在设备简档906中的关于设备的生命周期信息相互参照,以及生成指示在如控制项目中所提议的那样被使用的情况下关于设备的预期生命周期或故障时间的通知。如果具有较长预期生命周期的等同设备可用,则项目分析组件214还可以生成用等同设备替换当前提议的设备的推荐。替选地,项目分析组件214可以推荐对控制项目的修改,该修改可以延长设备的寿命(例如,通过降低设备的操作频率但不以其他方式影响控制结果)。
在一些实施方式中,项目分析组件214还可以标识设备的未使用特征,如果利用这些设备的未使用特征,则可以改进控制项目的一个或更多个操作度量。这些特征可以是设备的可用的但对程序开发者而言未知的特征(例如,配置参数、默认情况下不活动但可以被激活或被调用的潜在功能等)。在示例场景中,项目分析组件214可以基于记录在设备的简档906中的功能规范来发现设备的可用特征,并且确定任何未使用的特征是否可能与系统项目302的方面相关或者是否可以改进系统项目302的性能度量。例如,项目分析组件214可以确定:调用设备的当前未使用的操作模式可以减少设备的存储器占用空间(footprint)或网络带宽使用,可以提高自动化系统的产品吞吐量,可以降低整个项目的能耗或材料消耗,可以减少产品浪费,或者可以解锁项目的操作中的另一个无法预料的改进。如果标识出这种可能的设计改进,则用户接口组件204可以向设计者(或与客户相关联的另一个用户实体)发送推荐设计修改的通知。在示例场景中,基于作为系统项目302的一部分而包括的设备配置文件,项目分析组件214可以确定驱动器的未使用特征(例如,再生制动)可以减少总体功耗,并且生成标识驱动器并指示未使用特征的通知。该通知还可以提供关于在控制序列期间何时应当调用该特征以获得预测的益处的推荐。
项目分析组件214还可以确定系统项目302的任何方面是否偏离工业标准或工厂标准。这可以基于项目遥测数据902与标准定义1014(其可以存储在知识库502中)中记录的工业标准或客户储存库1006中存储的工厂标准1010中记录的内部标准之间的比较。在工业标准的情况下,与系统项目302相比较的特定标准的集合可以是系统项目302将在其中操作的工业纵向市场(例如,汽车、药物、食品和药品、石油和天然气等)的功能,因为一些类型的工业可能需要遵守特定于纵向市场的控制标准或要求的集合。因此,知识库502可以根据工业纵向市场对标准定义1014进行分类,从而允许项目分析组件214选择适当的标准集合以应用于系统项目302。标准定义1014可以将这样的工业标准定义为必须被保留为备用容量的所需量的未使用的I/O、排放或能耗要求、安全完整性等级(SIL)要求、应当与给定类型的控制操作相关联的互锁或许可(例如,将“阀打开”命令与罐的填充物位相关联,从而在满足指定的安全互锁之前阻止机器启动命令)或其他这样的标准。
可以记录在客户的工厂标准1010中并应用于系统项目302的示例内部标准可以包括但不限于控制编码标准,其设备被批准在工厂内使用的优选供应商、要与某些控制功能相关联的安全互锁或许可、或其他这样的标准。
项目分析组件214还可以执行项目分析中的任何一个,并且生成设计反馈518中的任何一个,上面如由项目生成组件206执行所描述的。一些项目分析结果还可能触发专家支持检查,使得项目分析组件214启动由技术支持实体进行项目的远程检查,这依设计者的许可情况而定(如下面结合图11更详细讨论的)。
由于由项目遥测组件212和项目分析组件214执行的控制项目分析可以标识或推断将由系统项目302使用的设备和网络,因此项目分析组件214还可以生成由客户的项目302所使用的工业资产或设备的库存。IDE系统202可以将该资产库存存储在与系统项目302的所有者相关联的客户储存库1006中。此外,如果发现的设备或工业资产中的任何一个具有通过资产的供应商可获得并存储在供应商储存库904上的相关联的数字设备简档906,则IDE系统202可以从供应商储存库904中检索这些设备简档906并且将简档906存储在客户储存库1006中作为与设备相对应的资产模型。在这点上,设备简档906可以表示其表示的资产的通用数字表示,并且项目分析组件214可以基于项目遥测数据902将这些通用设备简档906转换为表示客户的唯一配置的资产的定制资产模型。给定工业设备(例如,工业控制器、马达驱动器、安全设备等)的设备简档906可以被定制,例如,通过将设计者针对该设备的特定配置参数(如从项目遥测数据902获得的)应用于设备简档906以产生设备的定制资产模型。这些资产模型可以用作自动化系统的数字孪生的基础,该数字孪生可以用于模拟和测试系统项目302。
对项目遥测数据902执行的分析的结果还可以被格式化和被过滤,以供参与生态系统——其通过IDE系统202的基于云的版本变得可能——的装备提供商(例如,装备供应商、OEM等)使用,并且该信息可以作为装备使用统计信息1004对装备提供商可用。例如,对于在系统项目302中使用其装备的每个装备供应商,项目分析组件214可以向供应商提供报告以下的数据:如基于对系统项目302的分析而确定的其设备中的哪些正在被使用、每个设备中有多少正在被使用(例如,供应商的控制器中有多少在客户的设施处服务)、以及那些设备中的哪些特征正在被利用。可以以如下方式将该数据提供给供应商:对最终客户进行匿名并防止供应商能够查看客户的专有信息(例如,配方数据、生产统计信息等)。通常,IDE系统202在提供足够的访问权以提供服务的同时保护客户的专有数据。用户接口组件204可以允许用户容易地控制如何向也参与IDE平台的外部实体暴露或隐藏专有数据。
对于给定的装备提供商,用户接口组件204可以对来自由多个不同客户提交的多个控制项目302的这些设备或装备统计信息进行编译,并且以任何合适的演示格式来展现该聚合的装备使用情况和特征利用信息。例如,关于装备提供商的设备或资产中的哪些正在被使用的信息可以被展现为客户站点处正在使用的每种资产的数目、指示在何处使用资产的地理明细、指示供应商的产品线的相对受欢迎程度的图表等。类似的演示可以用于传达:如根据从使用供应商的产品的多个最终客户收集的聚合项目遥测数据902确定的,供应商的产品中的每一个的哪些特征(例如,操作模式、配置参数等)正在被使用、或者他们的产品正被利用到其功能能力的确切程度(例如,控制器的可用内存的百分之多少正在被使用)。装备提供商可以使用这些统计信息1004来做出关于是否由于不受欢迎而停止产品的决定;标识他们的客户未充分利用并因此应当大力推广的潜在有用的产品特征;基于客户使用这些资源的程度来决定是增加还是减少某些产品的内存、处理或I/O资源;或者做出关于产品设计和推广的其他明智决定。
虽然可以以使最终客户匿名的方式向装备提供商展现一些装备使用统计信息1004(例如,出于全球产品使用情况分析的目的),但是可以基于装备提供商与其客户之间的服务或许可协议在每个客户的基础上展现所选择的其他这样的统计信息1004。例如,一些装备提供商(例如OEM)可以提供其装备的使用情况作为订阅服务,在订阅服务中,客户针对指定程度的装备使用情况(例如,每月指定数目的操作周期、可用装备特征的有限子集等)购买许可。在这样的情况下,项目分析组件214可以基于对项目遥测数据902的分析来确定提供商的装备的估计的使用频率,并且出于许可实施的目的使该信息(作为使用统计信息1004)对于装备提供商可用。
针对特定客户(例如,从供应商购买设备和装备的工业企业)生成的个性化使用统计信息1004也可以被提供给供应商或其他支持实体并由供应商或其他支持实体使用以增强由供应商提供给客户的支持。在示例场景中,供应商可以将感兴趣的客户的客户标识符输入到IDE系统202中,以便访问和检查所标识的客户的使用统计信息1004,所述使用统计信息1004向供应商通知诸如以下:供应商的产品中的哪些产品正在被客户使用、这些产品的配置方式、哪些产品特征正在被使用以及哪些产品特征当前没有被利用、当前正在被消耗的每种产品的资源的百分比(例如,内存、处理能力、I/O容量等)以及其他这样的使用行为。供应商可以使用该信息作为主动推荐、技术支持和特征指导的基础。
例如,基于客户的使用统计信息1004——基于从客户的项目302获得的遥测数据902生成的——供应商可以确定客户没有使用供应商的产品之一上可用的特征,如果利用该特征,可以提高性能或降低当前在客户的控制系统上正经历的错误的频率。然后,供应商可以安排与客户协商以说明可用特征和对设备配置的推荐修改,以根据客户的控制应用适当地解锁和配置特征。在另一示例中,客户的使用统计信息1004可以向供应商指示由客户使用的控制设备之一正在接近最大内存使用、处理能力或I/O容量,基于该知识,供应商可以向客户通知具有更高可用容量的类似产品可用。
此外,在一些实施方式中,项目分析组件214可以捆绑从项目遥测数据902得出的使用统计信息1004——其提供关于客户如何使用构成他们的工业自动化系统的工业资产的信息——以及关于自动化系统正在经历的错误的频率的信息。这可以协助供应商或其他技术支持人员标识客户的设计选择或资产利用与由执行系统项目302的工业控制系统所经历的错误的频率之间的相关性。例如,可以确定客户的一组特定的设备功能的使用——如从使用统计信息1004确定的——可能与机器停机时间发生的过度频率相关联。
根据可以应用于项目遥测数据902的另一类型的分析,项目分析组件214可以将系统项目302或其提取的项目遥测数据902与由其他最终客户提交的类似的归档项目1012进行比较,并且标识所提交的系统项目302的明显偏离类似的归档项目1012的相应方面的方面。然后,用户接口组件204可以将指示系统项目302的偏离方面并推荐项目修改的通知呈现为项目推荐1002,该项目修改将使系统项目302与通用实践一致。以这种方式,IDE系统202可以利用共同的工业专业知识或通用实践来提供关于相对于所提交的控制项目的最佳实践的推荐。可以以这种方式进行比较的提交的系统项目302的方面可以包括但不限于给定类型的控制操作的互锁设计、设备配置参数(例如,马达驱动器设置、网络基础设施设备设置、安全设备设置等)、控制设置点、给定类型的控制操作或序列的操作顺序或定时、各种类型的控制操作的最佳控制编程实践或其他这样的项目方面。
该偏差分析的结果也可以作为使用统计信息1004的一部分被提供给控制装备的供应商。以这种方式,可以向供应商通知以非标准方式使用他们的装备的客户将执行给定的工业控制应用,从而给供应商提供机会来主动与这些客户协商,以推荐将使他们的设计与标准实践一致的控制设计改变。在一些实施方式中,IDE系统202还可以将客户的自动化系统的错误频率统计信息与偏差分析的结果进行捆绑,从而为供应商提供如下有用信息,该有用信息用于确定系统设计偏差是否可能是相对于操作类似工业应用的其他客户而言操作错误的频率过高的原因。
远程支持人员也可以在提供设计推荐、错误校正和特征指导方面利用通过基于遥测的使用统计信息1004编码的关于给定客户的项目设计的信息。图11是示出使用IDE服务作为基于工厂的项目开发者与远程技术支持人员之间的代理的图。在该实施方式中,工业IDE服务802(IDE系统202的基于云的实施方式)包括(由代理组件216实现的)相关联的代理服务1108,相关联的代理服务1108管理开发者的客户端设备504与远程技术支持之间的连接性和数据交换。在基于云的实现方式中,在云平台上安全地维护每个最终用户的系统项目302(例如,用于当前运转着的自动化系统的完成的系统项目302或用于要委托的自动化系统的开发中的未决系统项目302)。代理服务1108可以允许(与客户端设备1110相关联的)授权的技术支持人员使用IDE服务802访问给定客户的使用项目统计信息1004中的一些或全部以代理客户的数据。技术支持实体可以是例如IDE服务802的管理员、制造针对其正在开发控制程序的机器的OEM、系统集成商、装备供应商或另一个这样的实体。在一些实施方式中,最终用户可以选择性地允许访问其使用统计信息1004数据的选定子集,同时禁止技术支持人员访问其使用统计信息或系统项目302的其他部分,从而保护敏感或专有项目信息。
在某些场景下,协作管理组件210可以经由代理组件216启动到现场或自动化专家的通信通道,自动化专家可以提供设计协助、对系统项目302的推荐改进,或者提醒开发者可以改善系统项目302及其相关联的自动化系统的性能的可用但当前未使用的特征。在一些实施方式中,IDE系统202可以响应于开发者在开发与设计目标有关的系统项目302的一部分时经历困难的推断而自动地建立与专家的连接。替选地,IDE开发接口可以包括允许最终用户提交启动与专家的协作的协助请求的控制器。协助请求可以指定需要协助的系统项目302的特定方面(例如,控制代码例程、可视化屏幕、设备选择或兼容性、指定工业设备的配置等)。在一些实施方式中,代理组件216可以在向远程支持代表发送请求之前对协助请求执行附加处理。代理组件216可以部分地基于先前捕获的正在开发中的最终用户的自动化系统或客户的较大工厂设施的知识来执行该附加处理。例如,代理组件216可以搜集可以协助解决正在请求协助的设计问题的附加的特定于客户的情境。这样的情境可以包括:关于构成正在针对其开发系统项目302的自动化系统的设备和/或机器的附加信息(例如,这样的设备的身份以及它们在整个工业系统中的角色和它们彼此的功能关系)、与正被设计的自动化系统有关的其他上游或下游处理、其操作可能对新自动化系统的操作具有影响等。响应于接收到协助请求,代理组件216可以选择被确定为有资格协助请求的可用技术支持人员——例如,基于指示每个人的培训水平、专业知识的领域、这个人针对其具有经验的装备等的存储在相应技术支持人员的能力简档中的信息——以及打开到所选择的技术支持人员的远程通信信道。
一旦建立了该通信信道,技术支持人员就可以访问、查看和修改客户的系统项目302的选定子集以及由项目分析组件214(基于由项目遥测组件212从项目中提取的项目遥测数据902)针对项目302生成的使用统计信息1004。基于对这些使用统计信息1004的检查,技术支持人员可以以如下形式提交项目推荐1106:对最终用户的系统项目302的方面的直接修改(例如,控制代码重写、设备配置的设置等)、或提交给最终用户的推荐某些设计修改的设计反馈、错误校正、关于可用但未使用的设备特征的指导、或者提供其他设计指导。在一些实施方式中,基于云的IDE系统202还可以用作可信代理,技术支持人员可以通过该可信代理远程访问最终用户的工厂设施处的装备,例如,出于远程配置用户的设备、查看或修改工业控制器上的控制程序或HMI终端上的可视化屏幕等目的。
通过提取和分析客户的控制系统项目302的项目遥测——包括评估控制项目中正在使用的设备或资产、这些设备的特征和容量利用率以及客户的控制系统设计的其他这样的方面——并且基于该分析来生成设计推荐和指导,本文中描述的IDE系统202可以实现设计反馈回路,该设计反馈回路协助控制系统设计者基于经编码的工业专业知识、与对等项目的比较、以及工业设备规范和特征的知识来细化和优化他们的控制项目。
图12a至图12b示出了根据本申请的一个或更多个实施方式的方法。尽管出于简化说明的目的,本文中示出的方法被示出和描述为一系列动作,但是应当理解和意识到,本发明不受动作的顺序限制,因为根据本发明,一些动作可以以与本文示出和描述的顺序不同的顺序发生和/或与其他动作同时发生。例如,本领域技术人员将理解并意识到,方法可以替选地被表示为诸如状态图中的一系列相互关联的状态或事件。此外,并非所有示出的动作都是实现根据本发明的方法所必须的。此外,当不同的实体制定方法的不同部分时,交互图可以表示根据本公开内容的方法学或方法。此外,所公开的示例方法中的两个或更多个可以彼此结合地被实现,以实现本文中描述的一个或更多个特征或优点。
图12a示出了用于基于对工业控制项目的分析来生成控制设计反馈的示例方法1200a的第一部分。首先在1202处,经由与工业IDE系统的交互来接收工业设计数据,其中设计数据指定正在被安装或被更新的工业自动化系统的设计方面。工业设计数据可以以以下中的一个或更多个的形式被提交:工业控制器程序(例如,梯形逻辑、顺序功能图、脚本控制代码例如工业DSL等)、HMI屏幕开发输入、工业设备或装备选择、工程制图输入等。在一些实施方式中,工业设计数据还可以包括完整的工程制图(例如,P&ID制图、电气制图、机械制图等),可以由工业IDE对所述完整的工程图进行解析和分析以标识正被设计的工业自动化系统的组件(例如,工业设备、机器、装备、导管、管道等)以及这些组件之间的功能和物理关系。
在1204处,做出关于项目开发是否完成的确定。例如,可以响应于来自开发者的自动化系统项目准备好被解析和被编译的指示而做出该确定。如果开发没有完成(在步骤1204处为“否”),则方法返回至步骤1202。重复步骤1202和1204直到开发完成(在步骤1204处为“是”),此时方法进行到步骤1206。
在1206处,在步骤1202处接收的工业设计数据被编译成包括一个或更多个可执行文件的系统项目,可以在相应的工业设备上部署和执行所述一个或更多个可执行文件以促进对针对其开发项目的工业自动化系统的监测和控制。可执行文件可以被部署到的目标工业设备可以包括例如工业控制设备(例如,PLC或另一类型的工业控制设备)、人机接口终端、马达驱动器或其他类型的设备。
在1208处,基于对控制系统项目的分析来生成项目遥测数据。项目遥测数据至少标识在针对其设计系统项目的自动化系统中正在使用的工业设备以及工业设备的由控制设计正在利用的特征。
在1210处,分析在步骤1208处生成的项目遥测数据,以确定在工业设备之一的可用但未使用的特征将被利用的情况下该特征是否可能改善自动化系统的性能度量。可以由IDE系统基于对工业设备的规范数据的访问来确定设备的可用特征,工业设备的规范数据可以被存储在与设备的供应商相关联的基于云的供应商储存库中。未使用特征的利用是否可能改善性能度量的确定可以基于由自动化系统正在执行的工业应用的类型的确定、关于工业应用的经编码的专业知识以及设备的未使用特征可以在应用的环境中如何被使用,系统项目与使用设备的特征执行类似工业应用的其他系统项目的比较、或者其他这样的考虑。
然后该方法进行到图12b中示出的第二部分1200b。在1212处,如果确定未使用的特征可能改善性能度量,则方法进行到步骤1214,在步骤1214处,生成修改系统项目以利用工业设备的未使用特征的推荐。该推荐可以被呈现在IDE系统的开发接口上,从而给开发者提供通过经由接口提交进一步的设计输入来实现提议的修改的机会。如果没有标识出可以改善性能度量的未使用特征,则该方法返回至步骤1202。
本文中描述的实施方式、系统和组件以及可以执行本说明书中阐述的各个方面的控制系统和自动化环境可以包括能够跨网络进行交互的计算机或网络组件,例如服务器、客户端、可编程逻辑控制器(PLC)、自动化控制器、通信模块、移动计算机、用于移动车辆的车载计算机、无线组件、控制组件等。计算机和服务器包括一个或更多个处理器——采用电信号执行逻辑运算的电子集成电路——所述一个或更多个处理器被配置成执行存储在诸如随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器以及可移除存储器设备的介质中的指令,所述可移除存储器设备可以包括存储棒、存储卡、闪存驱动器、外部硬盘驱动器等。
类似地,本文中使用的术语“PLC或自动化控制器”可以包括可以跨多个组件、系统和/或网络共享的功能。作为示例,一个或更多个PLC或自动化控制器可以跨网络与各种网络设备进行通信和协作。这可以包括经由网络进行通信的基本上任何类型的控制器、通信模块、计算机、输入/输出(I/O)设备、传感器、致动器和人机接口(HMI),所述网络包括控制网络、自动化网络和/或公共网络。PLC或自动化控制器还可以与各种其他设备进行通信并控制各种其他设备进,所述各种其他设备例如是包括模拟模块、数字模块、编程/智能I/O模块的标准或安全额定I/O模块、其他可编程控制器、通信模块、传感器、致动器、输出设备等。
网络可以包括诸如因特网的公共网络、内联网以及诸如控制和信息协议(CIP)网络的自动化网络,所述控制和信息协议(CIP)网络包括设备网(DeviceNet)、控制网(ControlNet)、安全网络和以太网/IP。其他网络包括以太网、DH/DH+、远程I/O、现场总线、Modbus、过程现场总线(Profibus)、CAN、无线网络、串行协议等。另外,网络设备可以包括各种可能性(硬件组件和/或软件组件)。这些包括诸如具有虚拟局域网(VLAN)能力的交换机、LAN、WAN、代理、网关、路由器、防火墙、虚拟专用网(VPN)设备、服务器、客户端、计算机、配置工具、监测工具和/或其他设备的组件。
为了提供所公开的主题的各个方面的情境,图13和图14以及以下讨论旨在提供对在其中可以实现所公开的主题的各个方面的合适环境的简要、概括描述。尽管以上已经在可以在一个或更多个计算机上运行的计算机可执行指令的总体背景下描述了各个实施方式,但是本领域技术人员将认识到,各个实施方式也可以结合其他程序模块来实现和/或作为硬件与软件的组合来实现。
通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域技术人员将理解,本发明的方法可以用其他计算机系统配置来实践,所述其他计算机系统配置包括单处理器或多处理器计算机系统、小型计算机、大型计算机、物联网(IoT)设备、分布式计算系统、以及个人计算机、手持式计算设备、基于微处理器的或可编程消费电子产品等,这些中的每一个都可以可操作地耦接至一个或更多个相关联的设备。
本文中所示出的实施方式也可以在分布式计算环境中被实践,在分布式计算环境中,某些任务由通过通信网络进行链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地存储器存储设备和远程存储器存储设备二者中。
计算设备通常包括各种介质,所述各种介质可以包括计算机可读存储介质、机器可读存储介质和/或通信介质,这两个术语在本文中如下彼此不同地被使用。计算机可读存储介质或机器可读存储介质可以是可以由计算机访问的任何可用存储介质并且包括易失性介质和非易失性介质、可移除介质和不可移除介质。作为示例而非限制,计算机可读存储介质或机器可读存储介质可以结合用于存储诸如计算机可读指令或机器可读指令、程序模块、结构化数据或非结构化数据的信息的任何方法或技术来实现。
计算机可读存储介质可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、蓝光盘(BD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、固态驱动器或其他固态存储设备或者可以用于存储期望信息的其他有形和/或非暂态介质。在这点上,在本文中如应用于存储装置、存储器或计算机可读介质的术语“有形”或“非暂态”应当被理解为作为修饰语仅排除传播暂态信号本身并且不放弃对不是仅传播暂态信号本身的所有标准存储装置、存储器或计算机可读介质的权利。
计算机可读存储介质可以由一个或更多个本地计算设备或远程计算设备例如经由访问请求、查询或其他数据检索协议来访问,以针对通过介质存储的信息进行各种操作。
通信介质通常以数据信号例如经调制的数据信号例如载波或其他传输机制来体现计算机可读指令、数据结构、程序模块或其他结构化或非结构化的数据,并且包括任何信息传递或传输介质。术语“经调制的数据信号”或信号是指以在一个或更多个信号中对信息进行编码的方式设置或改变其特性中的一个或更多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质以及诸如声学、RF、红外的无线介质和其他无线介质。
再次参照图13,用于实现本文中描述的各方面的各个实施方式的示例环境1300包括计算机1302,计算机1302包括处理单元1304、系统存储器1306和系统总线1308。系统总线1308将包括但不限于系统存储器1306的系统组件耦接至处理单元1304。处理单元1304可以是各种可商购的处理器中的任何一种。也可以采用双微处理器和其他多处理器架构作为处理单元1304。
系统总线1308可以是若干类型的总线结构中的任何一种,所述总线结构还可以使用各种可商购的总线架构中的任何一种来互连至存储器总线(带有存储器控制器或不带有存储器控制器)、外围总线和局部总线。系统存储器1306包括ROM 1310和RAM 1312。基本输入/输出系统(BIOS)可以被存储在诸如ROM、可擦除可编程只读存储器(EPROM)、EEPROM的非易失性存储器中,其中该BIOS包含有助于例如在启动期间在计算机1302内的元素之间传送信息的基本例程。RAM 1312还可以包括诸如用于缓存数据的静态RAM的高速RAM。
计算机1302还包括内部硬盘驱动器(HDD)1314(例如,EIDE、SATA)、一个或更多个外部存储设备1316(例如,磁软盘驱动器(FDD)1316、存储棒或闪存驱动器读取器、存储卡读取器等)以及光盘驱动器1320(例如,其可以从CD-ROM盘、DVD、BD等读取或向CD-ROM盘、DVD、BD等写入)。虽然内部HDD 1314被示出为位于计算机1302内,但是内部HDD 1314还可以被配置用于在合适的机箱(未示出)的外部使用。另外,虽然在环境1300中未示出,但是除了HDD1314以外还可以使用固态驱动器(SSD)或者代替HDD 1314使用固态驱动器(SSD)。HDD1314、外部存储设备1316和光盘驱动器1320可以分别通过HDD接口1324、外部存储接口1326和光学驱动器接口1328连接至系统总线1308。用于外部驱动器实现方式的接口1324可以包括通用串行总线(USB)和电气与电子工程师协会(IEEE)1394接口技术中的至少一个或两者。其他外部驱动器连接技术在本文中描述的实施方式的考虑之内。
驱动器及其相关联的计算机可读存储介质提供数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机1302,驱动器和存储介质以合适的数字格式适应任何数据的存储。尽管以上对计算机可读存储介质的描述是指相应类型的存储设备,但本领域技术人员应当理解,计算机可读的其他类型的存储介质,无论是当前存在的还是将来开发的,也可以在示例操作环境中被使用,并且此外,任何这样的存储介质可以包含用于执行本文中描述的方法的计算机可执行指令。
多个程序模块可以被存储在驱动器和RAM 1312中,所述多个程序模块包括操作系统1330、一个或更多个应用程序1332、其他程序模块1334以及程序数据1336。操作系统、应用、模块和/或数据中的全部或部分也可以被缓存在RAM 1312中。本文中描述的系统和方法可以利用各种可商购的操作系统或操作系统的组合来实现。
计算机1302可以可选地包括仿真技术。例如,管理程序(未示出)或其他中间物可以仿真用于操作系统1330的硬件环境,并且仿真的硬件可以可选地不同于图13中示出的硬件。在这样的实施方式中,操作系统1330可以包括在计算机1302处托管的多个虚拟机(VM)中的一个VM。此外,操作系统1330可以为应用程序1332提供运行时环境,例如Java运行时环境或.NET框架。运行时环境是允许应用程序1332在包括该运行时环境的任何操作系统上运行的一致执行环境。类似地,操作系统1330可以支持容器,并且应用程序1332可以呈容器的形式,所述容器是轻量级的、独立的、可执行的软件包,所述软件包包括例如代码、运行时间、系统工具、系统库和针对应用的设置。
此外,可以利用诸如可信处理模块(TPM)的安全模块来启用计算机1302。例如,利用TPM,引导组件在时间上散列(hash)接下来的引导组件,并且在加载接下来的引导组件之前等待结果与安全值的匹配。该处理可以发生在计算机1302的代码执行栈中的任何层处,例如在应用执行级处或在操作系统(OS)内核级处被应用,从而使实现代码执行的任何级处的安全性。
用户可以通过一个或更多个有线/无线输入设备例如键盘1338、触摸屏1340和诸如鼠标1342的定点设备将命令和信息输入至计算机1302中。其他输入设备(未示出)可以包括麦克风、红外(IR)遥控器、射频(RF)遥控器、或其他遥控器、操纵杆、虚拟现实控制器和/或虚拟现实头戴式耳机、游戏手柄、触控笔、图像输入设备(例如,相机)、姿势传感器输入设备、视觉移动传感器输入设备、情绪或面部检测设备、生物特征输入设备(例如,指纹或虹膜扫描仪)等。这些输入设备和其他输入设备通常通过可以耦接至系统总线1308的输入设备接口1344连接至处理单元1304,但也可以通过其他接口例如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口、接口等被连接。/>
监视器1344或其他类型的显示设备也可以经由诸如视频适配器1346的接口连接至系统总线1308。除了监视器1344以外,计算机通常包括其他外围输出设备(未示出),例如扬声器、打印机等。
计算机1302可以经由至诸如远程计算机1348的一个或更多个远程计算机的有线和/或无线通信、使用逻辑连接在联网环境中进行操作。远程计算机1348可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐仪器、对等设备或其他常见网络节点,并且通常包括关于计算机1302所描述的许多或所有元件,然而为了简洁起见,仅示出了存储器/存储设备1350。所描绘的逻辑连接包括至局域网(LAN)1352和/或更大的网络例如广域网(WAN)1354的有线/无线连接。这样的LAN和WAN联网环境在办公室和公司中是常见的,并且促进诸如内联网的企业范围的计算机网络,所有这些都可以连接至全球通信网络例如因特网。
当在LAN联网环境中被使用时,计算机1302可以通过有线和/或无线通信网络接口或适配器1356连接至局域网1352。适配器1356可以促进至LAN 1352的有线或无线通信,LAN1352还可以包括布置在其上的用于以无线模式与适配器1356进行通信的无线接入点(AP)。
当在WAN联网环境中被使用时,计算机1302可以包括调制解调器1358,或者可以经由用于通过WAN 1354建立通信的其他手段例如通过因特网来连接至WAN 1354上的通信服务器。可以是内部或外部以及有线设备或无线设备的调制解调器1358可以经由输入设备接口1342连接至系统总线1308。在联网环境中,相对于计算机1302或其部分描绘的程序模块可以被存储在远程存储器/存储设备1350中。将理解的是,所示出的网络连接是示例,并且可以使用在计算机之间建立通信链路的其他手段。
当在LAN或WAN联网环境中被使用时,除了如上所述的外部存储设备1316之外,计算机1302还可以访问云存储系统或其他基于网络的存储系统,或者代替如上所述的外部存储设备1316,计算机1302可以访问云存储系统或其他基于网络的存储系统。通常,可以例如分别通过适配器1356或调制解调器1358经由LAN 1352或WAN 1354来建立计算机1302与云存储系统之间的连接。在将计算机1302连接至相关联的云存储系统时,外部存储接口1326可以在适配器1356和/或调制解调器1358的帮助下,如管理其他类型的外部存储一样管理由云存储系统提供的存储。例如,外部存储接口1326可以被配置成提供对云存储源的访问,就好像那些源被物理地连接至计算机1302一样。
计算机1302可以可操作成与操作上以无线通信布置的任何无线设备或实体进行通信,所述任何无线设备或实体例如为打印机、扫描仪、台式计算机和/或便携式计算机、便携式数据助理、通信卫星、与可无线检测的标签相关联的任何装备或位置(例如,亭、报摊、商店货架等)以及电话。这可以包括无线保真(Wi-Fi)和无线技术。因此,通信可以是如常规网络的预定义结构或者仅仅是至少两个设备之间的自组织通信。
图14是所公开的主题可以与之交互的样本计算环境1400的示意性框图。样本计算环境1400包括一个或更多个客户端1402。客户端1402可以是硬件和/或软件(例如,线程、进程、计算设备)。样本计算环境1400还包括一个或更多个服务器1404。服务器1404也可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,服务器1404可以容纳线程,以通过采用本文中所描述的一个或更多个实施方式来执行变换。客户端1402与服务器1404之间的一种可能的通信可以是适于在两个或更多个计算机进程之间传输的数据分组的形式。样本计算环境1400包括可以用于促进客户端1402与服务器1404之间的通信的通信框架1406。客户端1402可操作地连接至一个或更多个客户端数据存储装置1408,所述一个或更多个客户端数据存储装置1408可以用于将信息本地存储至客户端1402。类似地,服务器1404可操作地连接至一个或更多个服务器数据存储装置1410,所述一个或更多个服务器数据存储装置1410可以用于将信息本地存储至服务器1404。
以上所描述的内容包括本发明的示例。当然,不可能为了描述所公开的主题而描述每种可想到的组件或方法的组合,但是本领域普通技术人员可以认识到,本发明的许多另外的组合和排列也是可能的。因此,所公开的主题旨在涵盖落入所附权利要求书的精神和范围内的所有这样的改变、修改和变型。
特别地以及关于由上面描述的组件、设备、电路、系统等执行的各种功能,除非另有说明,否则用于描述这样的组件的术语(包括对“手段”的提及)旨在对应于执行所描述的组件的特定功能的任何组件(例如,功能上等同的任何组件),即使在结构上不等同于所公开的结构,该组件仍然执行本文示出的所公开主题的示例性方面中的功能。在这点上,还将认识到,所公开的主题包括系统以及具有用于执行所公开的主题的各种方法的动作和/或事件的计算机可执行指令的计算机可读介质。
另外,虽然可能仅针对若干实现方式中的一个实现方式公开了所公开的主题的特定特征,但是这样的特征可以与其他实现方式的一个或更多个其他特征进行组合,这对于任何给定应用或特定应用来说可能是期望且有利的。此外,就在具体实施方式或权利要求书中使用术语“包括(includes)”和“包括(including)”及其变型而言,这些术语旨在以类似于术语“包括(comprising)”的方式是包括性的。
在本申请中,词语“示例性”用于表示用作示例、实例或说明。在本文中被描述为“示例性”的任何方面或设计不一定被解释为比其他方面或设计优选或有利。相反地,使用词语“示例性”旨在以具体的方式来呈现构思。
可以使用标准编程和/或工程技术将本文描述的各个方面或特征实现为方法、装置或制品。如本文所使用的术语“制品”旨在涵盖能够从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储设备(例如,硬盘、软盘、磁条……)、光盘(例如,致密盘(CD)、数字多功能盘(DVD)……)、智能卡和闪存设备(例如,卡、棒、密钥驱动器……)。
Claims (20)
1.一种用于提供工业控制系统设计指导的系统,包括:
存储器,所述存储器存储可执行组件;以及
处理器,所述处理器可操作地耦接至所述存储器,所述处理器执行所述可执行组件,所述可执行组件包括:
用户接口组件,所述用户接口组件被配置成呈现集成开发环境IDE接口并且经由与所述IDE接口的交互来接收设计输入,所述设计输入定义用于监测和控制工业系统的控制项目的各方面;
项目生成组件,所述项目生成组件被配置成基于所述设计输入来生成系统项目数据,所述系统项目数据包括可执行工业控制程序、工业可视化应用或工业设备配置数据中的至少一个;
项目遥测组件,所述项目遥测组件被配置成基于对所述系统项目数据的第一分析来生成项目遥测数据,所述项目遥测数据标识由所述控制项目使用的工业设备、由所述控制项目使用的工业设备的特征和所述工业设备的未使用的可用特征;以及
项目分析组件,所述项目分析组件被配置成:基于对所述项目遥测数据执行的第二分析来生成用于修改所述控制项目的推荐。
2.根据权利要求1所述的系统,其中,
所述项目分析组件被配置成:预测工业设备的未使用的一个可用特征的使用、所述工业设备的未使用的多个可用特征的使用是否将改善所述工业系统的性能度量,以及
所述推荐包括修改所述控制系统以利用未使用的可用特征的推荐。
3.根据权利要求2所述的系统,其中,所述项目分析组件被配置成基于以下中的至少一个来预测所述未使用的可用特征的使用是否将改善所述性能度量:对所述工业设备的供应商规范的参考、或者所述控制项目与用于监测和控制与所述工业系统类似的工业系统的其它控制项目的比较。
4.根据权利要求1所述的系统,其中,
所述第二分析确定:所述控制项目将导致所述工业设备之一在所述工业设备之一的额定资源容量附近或以上操作,以及
所述推荐包括利用具有比所述工业设备之一更大的资源容量的替换工业设备来替换所述工业设备之一的推荐。
5.根据权利要求4所述的系统,其中,所述额定资源容量是存储器容量、处理容量或I/O容量中的至少一个。
6.根据权利要求1所述的系统,其中,所述项目分析组件还被配置成:基于所述第二分析来生成特定于装备供应商的工业设备的子集的使用统计信息,并且呈现能够由所述装备供应商访问的使用统计信息。
7.根据权利要求6所述的系统,其中,所述使用统计信息包括以下中的至少一个:所述装备供应商的产品中的哪些产品正被所述控制项目使用的指示、所述装备供应商的产品的哪些特征正被所述控制项目使用的指示、以及所述装备供应商的产品的已使用的资源容量的指示。
8.根据权利要求1所述的系统,其中,
所述项目分析组件还被配置成基于所述第二分析来生成所述工业设备的使用统计信息,所述使用统计信息包括以下中的至少一个:由所述控制项目使用的工业设备的身份、由所述控制项目使用的工业设备的特征、所述工业设备的未使用的可用特征、或者所述控制项目对所述工业设备的资源利用率,以及
所述可执行组件还包括协作管理组件,所述协作管理组件被配置成将所述使用统计信息发送至技术支持实体。
9.根据权利要求8所述的系统,其中,所述协作管理组件还被配置成:将所述使用统计信息和指示所述工业系统的操作错误的频率的错误频率数据一起发送。
10.一种用于提供工业控制系统设计指导的方法,包括:
由包括处理器的系统在客户端设备上呈现集成开发环境IDE接口;
由所述系统经由与所述IDE接口的交互来接收从所述客户端设备接收的工业设计输入,所述工业设计输入定义用于监测和控制工业系统的控制项目的各方面;
由所述系统基于所述工业设计输入来生成系统项目数据,所述系统项目数据包括可执行工业控制程序、工业可视化应用或工业设备配置数据中的至少一个;
由所述系统基于对所述系统项目数据的第一分析来生成项目遥测数据,所述项目遥测数据标识由所述控制项目使用的工业设备、由所述控制项目使用的工业设备的特征和所述工业设备的未使用的可用特征;以及
由所述系统基于对所述项目遥测数据执行的第二分析来生成用于修改所述控制项目的推荐。
11.根据权利要求10所述的方法,还包括:由所述系统基于所述第二分析来确定工业设备的未使用的一个可用特征的使用、所述工业设备的未使用的多个可用特征的使用是否将改善所述工业系统的性能度量,
其中,生成推荐包括:生成修改所述控制系统以利用未使用的可用特征的推荐。
12.根据权利要求11所述的方法,其中,所述确定包括基于以下中的至少一个来确定所述未使用的可用特征的使用是否将改善所述性能度量:对所述工业设备的供应商规范的参考、或者所述控制项目与用于监测和控制与所述工业系统类似的工业系统的其它控制项目的比较。
13.根据权利要求10所述的方法,还包括由所述系统基于所述第二分析来确定:所述控制项目将导致所述工业设备之一在所述工业设备之一的额定资源容量附近或以上操作,以及
所述推荐包括利用具有比所述工业设备之一更大的资源容量的替换工业设备来替换所述工业设备之一的推荐。
14.根据权利要求13所述的方法,其中,所述额定资源容量是存储器容量、处理容量或I/O容量中的至少一个。
15.根据权利要求10所述的方法,还包括:
由所述系统基于所述第二分析来生成特定于装备供应商的工业设备的子集的使用统计信息,以及
由所述系统呈现能够由所述装备供应商访问的使用统计信息。
16.根据权利要求15所述的方法,其中,所述使用统计信息包括以下中的至少一个:所述装备供应商的产品中的哪些产品正被所述控制项目使用的指示、所述装备供应商的产品的哪些特征正被所述控制项目使用的指示、以及所述装备供应商的产品的已使用的资源容量的指示。
17.根据权利要求10所述的方法,还包括:
由所述系统基于所述第二分析来生成所述工业设备的使用统计信息,所述使用统计信息包括以下中的至少一个:由所述控制项目使用的工业设备的身份、由所述控制项目使用的工业设备的特征、所述工业设备的未使用的可用特征、或者所述控制项目对所述工业设备的资源利用率,以及
由所述系统将所述使用统计信息发送至技术支持实体。
18.根据权利要求10所述的方法,其中,所述发送包括:将所述使用统计信息和指示所述工业系统的操作错误的频率的错误频率数据一起发送至所述技术支持实体。
19.一种非暂态计算机可读介质,所述非暂态计算机可读介质上存储有指令,所述指令响应于执行而使包括处理器的系统执行操作,所述操作包括:
在客户端设备上呈现集成开发环境IDE接口;
经由与所述IDE接口的交互来接收从所述客户端设备接收的工业设计输入,所述工业设计输入定义用于监测和控制工业系统的控制项目的各方面;
基于所述工业设计输入来生成系统项目数据,所述系统项目数据包括可执行工业控制程序、工业可视化应用或工业设备配置数据中的至少一个;
基于对所述系统项目数据的第一分析来生成项目遥测数据,所述项目遥测数据标识由所述控制项目使用的工业设备、由所述控制项目使用的工业设备的特征和所述工业设备的未使用的可用特征;以及
基于对所述项目遥测数据执行的第二分析来生成用于修改所述控制项目的推荐。
20.根据权利要求19所述的非暂态计算机可读介质,其中,所述操作还包括:基于所述第二分析来确定工业设备的未使用的一个可用特征的使用、所述工业设备的未使用的多个可用特征的使用是否将改善所述工业系统的性能度量,
其中,生成推荐包括:生成修改所述控制系统以利用未使用的可用特征的推荐。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/482,530 | 2021-09-23 | ||
US17/482,530 US20230091963A1 (en) | 2021-09-23 | 2021-09-23 | Industrial automation project design telemetry |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115857379A true CN115857379A (zh) | 2023-03-28 |
Family
ID=83283233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210960939.7A Pending CN115857379A (zh) | 2021-09-23 | 2022-08-11 | 工业自动化项目设计遥测 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230091963A1 (zh) |
EP (1) | EP4155903A1 (zh) |
CN (1) | CN115857379A (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140336791A1 (en) * | 2013-05-09 | 2014-11-13 | Rockwell Automation Technologies, Inc. | Predictive maintenance for industrial products using big data |
US9361073B2 (en) * | 2013-12-31 | 2016-06-07 | Rockwell Automation Technologies, Inc. | Development environment for a safety relay configuration system |
US9971344B2 (en) * | 2015-03-27 | 2018-05-15 | Rockwell Automation Technologies, Inc. | Systems and methods for assessing a quality of an industrial enterprise |
US20200103877A1 (en) * | 2018-09-28 | 2020-04-02 | Rockwell Automation Technologies, Inc. | Industrial automation recommendation engine |
US11048483B2 (en) * | 2019-09-24 | 2021-06-29 | Rockwell Automation Technologies, Inc. | Industrial programming development with an extensible integrated development environment (IDE) platform |
US11574219B2 (en) * | 2019-09-27 | 2023-02-07 | Rockwell Automation Technologies, Inc. | System and method for industrial automation rules engine |
US20210096523A1 (en) * | 2019-09-27 | 2021-04-01 | Rockwell Automation Technologies, Inc. | System and method for smart selection and building of industrial automation control systems from industrial automation control libraries and objects |
US11656609B2 (en) * | 2021-01-14 | 2023-05-23 | Fisher-Rosemount Systems, Inc. | Detecting component degradation in industrial process plants based on loop component responsiveness |
-
2021
- 2021-09-23 US US17/482,530 patent/US20230091963A1/en active Pending
-
2022
- 2022-08-11 CN CN202210960939.7A patent/CN115857379A/zh active Pending
- 2022-09-12 EP EP22195087.6A patent/EP4155903A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230091963A1 (en) | 2023-03-23 |
EP4155903A1 (en) | 2023-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112558929B (zh) | 用于开发或创建工业应用的系统和方法及计算机可读介质 | |
US12001818B2 (en) | Extensible IDE platform with open APIs | |
CN112559315B (zh) | 用于自动化对象的测试框架 | |
US11947943B2 (en) | Industrial automation smart object inheritance | |
US11163536B2 (en) | Maintenance and commissioning | |
US11900082B2 (en) | Industrial automation multi-developer control code synchronization | |
EP4137937A1 (en) | Industrial automation project library cross sharing | |
EP4060479A1 (en) | Notifications from an industrial automation development environment | |
US20230152790A1 (en) | System model smart object configuration | |
EP4057086A1 (en) | Industrial automation smart object inheritance break and singleton creation | |
US20230091963A1 (en) | Industrial automation project design telemetry | |
US11835941B2 (en) | Industrial automation smart object parent/child data collection propagation |
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 |