CN112558555B - 维护和调试 - Google Patents

维护和调试 Download PDF

Info

Publication number
CN112558555B
CN112558555B CN202010238979.1A CN202010238979A CN112558555B CN 112558555 B CN112558555 B CN 112558555B CN 202010238979 A CN202010238979 A CN 202010238979A CN 112558555 B CN112558555 B CN 112558555B
Authority
CN
China
Prior art keywords
industrial
data
automation
project
maintenance
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.)
Active
Application number
CN202010238979.1A
Other languages
English (en)
Other versions
CN112558555A (zh
Inventor
安德鲁·R·斯顿普
安东尼·卡拉拉
埃什沃·斯里尼瓦桑
克里斯托弗·W·科莫
沙伦·M·比利-杜兰
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.)
Rockwell Automation Technologies Inc
Original Assignee
Rockwell Automation Technologies Inc
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 Rockwell Automation Technologies Inc filed Critical Rockwell Automation Technologies Inc
Publication of CN112558555A publication Critical patent/CN112558555A/zh
Application granted granted Critical
Publication of CN112558555B publication Critical patent/CN112558555B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total 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/41885Total 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 modeling, simulation of the manufacturing system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23008Computer aided software engineering, program generation, case tools, CASE
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32339Object oriented modeling, design, analysis, implementation, simulation language
    • 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/80Management or planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Manufacturing & Machinery (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Mathematical Physics (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本发明涉及维护和调试。工业集成开发环境(IDE)支持促进将自动化***项目智能地部署至适当的工业设备(例如,工业控制器、驱动器、HMI终端等)的调试特征。在一些实施方式中,工业IDE***可以生成可以在调试期间用于验证***并且管理项目验证签署过程的验证检查列表。在***的调试之后,IDE***还可以支持多个运行时的监测特征,包括在操作期间监测自动化***并且提供关于检测、预测和校正维护问题的帮助。

Description

维护和调试
技术领域
本发明涉及工业自动化***,更具体地,涉及维护和调试。
背景技术
本文公开的主题总体上涉及工业自动化***,并且例如涉及工业编程开发平台。
发明内容
为了提供对本文所描述的一些方面的基本理解,下面展示了简化的概述。该概述不是广泛的综述,也不旨在标识关键/重要元素或描绘本文描述的各方面的范围。其唯一目的是以简化形式展现一些概念,作为稍后展示的更详细描述的序言。
在一个或更多个实施方式中,提供了一种用于开发工业应用的***,该***包括:用户接口部件,其被配置成呈现集成开发环境(IDE)界面并且经由与IDE界面的交互来接收限定工业自动化***的各方面的工业设计输入;项目生成部件,其被配置成基于工业设计输入来生成***项目数据,其中,***项目数据限定包括可执行工业控制程序、工业可视化应用或工业设备配置数据中的至少两个的***项目;以及调试部件,其被配置成基于对***项目数据的分析来针对工业自动化***生成验证检查列表数据,其中,用户接口部件还被配置成将验证检查列表数据呈现在客户端设备上。
此外,一个或更多个实施方式提供了一种用于开发工业应用的方法,该方法包括:由包括处理器的***在客户端设备上呈现集成开发环境(IDE)界面;由该***经由与IDE界面的交互来接收限定工业控制和监测***的各方面的工业设计输入;由该***基于工业设计输入来生成***项目数据,其中,所述生成包括生成可执行工业控制程序、工业可视化应用或工业设备配置数据中的至少两个;由该***基于对***项目数据的分析来针对工业控制和监测***生成验证检查列表数据;以及由该***将验证检查列表数据作为验证检查列表呈现在客户端设备上。
此外,根据一个或更多个实施方式,提供了一种其上存储有指令的非暂态计算机可读介质,该指令响应于执行而使***执行操作,所述操作包括:在客户端设备上呈现集成开发环境(IDE)界面;经由与IDE界面的交互从客户端设备接收限定工业自动化***的控制设计方面的工业设计输入;基于工业设计输入来生成***项目数据,其中,所述生成包括生成可执行工业控制程序、工业可视化应用或工业设备配置数据中的至少两个;基于对***项目数据的分析来针对工业自动化***生成验证检查列表数据;以及将验证检查列表数据作为验证检查列表显示在客户端设备上。
为了实现前述目的和相关目的,本文结合下面的描述和附图描述了某些说明性方面。这些方面指示可以被实践的各种方式,所有这些方式都旨在被涵盖在本文中。当结合附图考虑时,其他优点和新颖特征将根据下面的详细描述变得明显。
附图说明
图1是示例工业控制环境的框图。
图2是示例集成开发环境(IDE)***的框图。
图3是示出工业IDE***的通用架构的图。
图4是示出可以由IDE***结合构建、部署和执行***项目来利用的若干示例自动化对象特性的图。
图5是示出与使用工业IDE***创建用于正被设计的自动化***的***项目相关联的示例数据流的图。
图6是示出将自动化对象合并至项目模型中的示例***项目的图。
图7是示出对***项目进行调试的图。
图8是示出其中使用基于云的IDE服务来开发工业应用并将工业应用部署至工厂环境的示例架构的图。
图9是示出由工业IDE***的项目测试部件对示例***项目进行测试的图。
图10是示出生成验证检查列表数据的图。
图11是示出由工业IDE***收集电子签名的图。
图12是示出可以由工业IDE***提供的运行时的维护服务的图。
图13是示出在对设计的自动化***进行调试之后工业IDE***利用数据输入来生成AR表示的图。
图14是示出了用于传递交互式工作流表示的工业IDE***、工业设备和可穿戴装置之间的示例数据流的图。
图15a是用于开发和部署工业自动化***项目的示例方法学的第一部分的流程图。
图15b是用于开发和部署工业自动化***项目的示例方法学的第二部分的流程图。
图16a是用于根据工业设计数据生成验证检查列表的示例方法学的第一部分的流程图。
图16b是用于根据工业设计数据生成验证检查列表的示例方法学的第二部分的流程图。
图17是示例计算环境。
图18是示例联网环境。
具体实施方式
现在参照附图描述本公开内容,在附图中相同的附图标记始终用于表示相同的元素。在下面的描述中,出于说明的目的,阐述了许多具体细节以提供对本公开内容的透彻理解。然而,显然,可以在没有这些具体细节的情况下实践本公开内容。在其他实例中,以框图形式示出了公知的结构和设备以便于对其进行描述。
如本申请中所使用的,术语“部件”、“***”、“平台”、“层”、“控制器”、“终端”、“站”、“节点”、“接口”旨在指代计算机相关实体或者与具有一个或更多个特定功能的操作装置相关的实体或者作为具有一个或更多个特定功能的操作装置的一部分的实体,其中这样的实体可以是硬件、硬件和软件的组合、软件或者执行中的软件。例如,部件可以是但不限于是在处理器上运行的进程、处理器、硬盘驱动器、包括固定的(例如,用螺钉或螺栓固定的)或可移除的固定固态存储驱动器的(光存储介质或磁存储介质的)多个存储驱动器;对象;可执行文件;执行线程;计算机可执行程序和/或计算机。作为说明,服务器和在服务器上运行的应用都可以是部件。一个或更多个部件可以驻留在执行的进程和/或线程内,并且部件可以位于一个计算机上和/或分布在两个或更多计算机之间。此外,本文所述的部件可以从其上存储有各种数据结构的各种计算机可读存储介质执行。这些部件可以例如根据具有一个或更多个数据包的信号(例如,来自与本地***、分布式***中的另一部件进行交互和/或通过诸如因特网之类的网络经由该信号与其他***进行交互的一个部件的数据)经由本地和/或远程进程进行通信。作为另一示例,部件可以是具有由电气电路或电子电路操作的机械部件提供的特定功能的装置,该电气电路或电子电路由处理器执行的软件或固件应用来操作,其中处理器可以在该装置的内部或外部并且执行软件或固件应用的至少一部分。作为另一示例,部件可以是通过电子部件而不是机械部件来提供特定功能的装置,电子部件中可以包括处理器以执行至少部分地提供电子部件的功能的软件或固件。作为另一示例,接口可以包括输入/输出(I/O)部件以及相关联的处理器、应用或应用编程接口(API)部件。虽然前述示例针对部件的各方面,但是所例示的方面或特征也适用于***、平台、接口、层、控制器、终端等。
如本文所使用的,术语“推出”和“推断”通常是指从经由事件和/或数据捕获的观察结果的集合中推出或推断***、环境和/或用户的状态的过程。例如,推断可以被应用于识别特定的环境或动作,或者可以生成状态的概率分布。推断可以是概率性的,即,基于对数据和事件的考虑来计算感兴趣的状态的概率分布。推断也可以指用于根据事件和/或数据的集合构造更高级事件的技术。这种推断致使根据观察到的事件和/或存储的事件数据的集合构造新的事件或动作,而不管事件是否在时间上紧密相关,以及事件和数据是否来自一个或若干个事件和数据源。
此外,术语“或”旨在表示包含性的“或”而不是排他性的“或”。也就是说,除非另外指定,或者根据上下文中而清楚,语句“X采用A或B”旨在表示任何自然的包含性排列。也就是说,语句“X采用A或B”满足于以下任何情况:X采用A;X采用B;或者X采用A和B两者。此外,除非另外指定或根据上下文而清楚指向单数形式,否则本申请和所附权利要求中使用的冠词“一”和“一个”通常应当被解释为表示“一个或更多个”。
此外,如本文所使用的术语“集合”排除空集合,例如其中没有元素的集合。因此,本公开内容中的“集合”包括一个或更多个元素或实体。作为说明,控制器的集合包括一个或更多个控制器;数据资源的集合包括一个或更多个数据资源等。同样,如本文所用的术语“组”是指一个或更多个实体的集合,例如,一组节点是指一个或更多个节点。
将根据可以包括多个设备、部件、模块等的***来展示各个方面或特征。应当理解和意识到,各种***可以包括附加的设备、部件、模块等,以及/或者可以不包括结合附图讨论的所有设备、部件、模块等。也可以使用这些方法的组合。
图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可以通过工厂网络116与工业控制器118中的一个或更多个进行通信,并且与工业控制器交换数据以便于在一个或更多个预先开发的操作者接口屏幕上对与受控工业过程有关的信息进行可视化。HMI 114还可以被配置成使得操作者能够将数据提交至工业控制器118的指定数据标签或存储器地址,从而为操作者提供向受控***发出命令(例如,循环启动命令、设备致动命令等)以修改设定点值等的手段。HMI 114可以生成一个或更多个显示画面,操作者通过该显示画面与工业控制器118交互,并且从而与受控过程和/或***交互。示例显示画面可以使用显示计量的或计算的值的过程的图形表示来可视化工业***或其相关联的设备的当前状态,采用基于状态的颜色或位置动画,呈现警报通知,或采用其他这样的技术以用于向操作者展示相关数据。以这种方式展示的数据由HMI 114从工业控制器118读取并且根据由HMI开发者选择的显示格式展现显示画面中的一个或更多个。HMI可以包括具有用户安装的或预先安装的操作***以及用户安装的或预先安装的图形应用软件的固定位置或移动设备。
一些工业环境还可以包括与受控工业***的特定方面相关的其他***或设备。这些可以包括例如聚合并存储从工业控制器118或其他数据源收集的生产信息的数据历史记录装置110、包含用于构成受控工业***的各种工业设备的电子文档的设备文档存储、库存跟踪***、工作订单管理***、用于机器或过程制图和文档的储存库、供应商产品文档存储、供应商知识库、内部知识库、工作调度应用或其他这样的***,它们中的一些或全部可以驻留在工业环境的办公网络108上。
高级***126可以执行与工厂现场的工业自动化***的控制不太直接相关并且替代地涉及长期规划、高级监督控制、分析、报告或其他这样的高级功能的功能。这些***126可以驻留在相对于工厂设施的外部位置处的办公网络108上,或者驻留在可以访问办公网络和/或工厂网络的云平台上。高级***126可以包括但不限于云存储和分析***、大数据分析***、制造执行***、数据湖、报告***等。在一些情景中,在企业的这些更高级运行的应用可以被配置成分析控制***操作数据,并且该分析的结果可以被反馈至控制***处的操作者或者直接反馈至控制***中的控制器118或设备120。
构成工业环境的各种控制、监测和分析设备必须使用特定于每个设备的相应配置应用来编程或配置。例如,工业控制器118通常使用诸如(例如,在客户端设备124上执行的)梯形逻辑编辑器的控制编程开发应用来配置和编程。使用这样的开发平台,设计者可以编写用于执行期望的工业序列或过程的控制编程(例如,梯形逻辑、结构化文本、功能框图等)并且将得到的程序文件下载至控制器118。单独地,开发者使用(例如,在客户端设备122上执行的)HMI开发平台为HMI 114设计可视化画面和相关联的导航结构并且将得到的可视化文件下载至HMI 114。一些工业设备120——例如马达驱动器、遥测设备、安全输入设备等——也可能需要使用特定于将被配置的设备的(例如,在客户端设备128上执行的)单独的设备配置工具进行配置。这样的设备配置工具可以用于设置设备参数或操作模式(例如,高/低限制、输出信号格式、比例因子、能耗模式等)。
需要使用单独的配置工具来对工业自动化***的不同方面进行编程和配置造成了碎片化的设计方法,由此在不同的开发环境上单独地设计、配置和编程自动化***的不同但相关或交叠的方面。例如,运动控制***可能需要使用控制逻辑编程平台对工业控制器进行编程并且对控制回路进行调谐,使用另一配置平台对马达驱动器进行配置,以及使用可视化开发平台对相关联的HMI进行编程。相关的******——例如视觉***、安全***等——可能也需要使用单独的编程或开发应用进行配置。
这种分离的开发方法也可能需要相当多的测试和调试工作以确保单独配置的***方面的适当集成。在这点上,由于未能适当地协调不同的编程工作,不同***方面之间的预期数据接口或协调动作可能需要大量调试。
为了解决这些或其他问题中的至少一些,本文描述的一个或更多个实施方式提供了用于使用通用设计环境和数据模型来设计、编程和配置工业自动化***的多个方面的集成开发环境(IDE)。工业IDE的实施方式可用于以通用的方式配置和管理自动化***设备,以促进控制***的控制、可视化和其他方面的集成的、多学科编程。
通常,工业IDE支持跨越整个自动化生命周期的特征,包括设计(例如,设备选择和尺寸设计、控制器编程、可视化开发、设备配置、测试等);安装、配置和调试;操作、改进和管理;以及故障排除、扩展和升级。
工业IDE的实施方式可以包括特定于工业纵向市场和这些纵向市场内的通用工业应用的模块化代码和可视化的库。这些代码和可视化模块可以简化开发并缩短开发周期,并且还支持跨工业企业的一致性和重复使用。
在一些实施方式中,工业IDE还可以支持用于自动化的测试框架,该测试框架核验项目的所有方面(例如,控制器代码、HMI画面或其他可视化、面板布局、布线计划表等)的操作。作为该测试框架的一部分,工业IDE支持的自动化对象可以包括被设计成执行适合于正在被测试的自动化对象的类型的一个或更多个测试情景的相关联的测试脚本。测试脚本也可以与***项目的各部分相关联。通常,测试平台以整体的方式将测试应用于作为整体的自动化项目,而不是应用于控制程序的特定部分,以核验可能以其他方式无法测试的跨设计平台的链接(例如,控制代码、可视化、面板布局、布线、管道等)。
在工业自动化项目的设计阶段完成之后,由工业IDE支持的调试特征可以促进将***项目智能地部署至适当的工业设备(例如,工业控制器、驱动器、HMI终端等)。在一些实施方式中,IDE***可以生成可以在调试期间用于验证***和管理项目验证签署(sign-off)过程的验证检查列表。在***调试之后,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可以被配置成执行与自动化对象222或***项目的其他元素相关联的测试脚本以验证项目的各方面的正确执行。调试部件212可以被配置成针对设计的自动化***生成验证检查列表并且管理验证签署数据的收集。设备接口部件214可以被配置成在运行期间监测来自构成自动化***的工业设备的实时操作和状态数据。维护部件216可以被配置成监测所收集的工业数据,基于对数据的分析相对于预期性能来评估实际***性能,并且生成维护推荐或采取预防性动作来解决检测到的性能问题。
一个或更多个处理器218可以执行本文中参照所公开的***和/或方法描述的功能中的一个或更多个。存储器220可以是存储用于执行本文中参照所公开的***和/或方法描述的功能的计算机可执行指令和/或信息的计算机可读存储介质。
图3是示出根据一个或更多个实施方式的工业IDE***202的通用架构的图。工业IDE***202可以实现不仅跨设计而且跨调试、操作和维护的服务和工作流的通用集合。在设计方面,IDE***202不仅可以支持工业控制器编程和HMI开发,而且可以支持***部件、设备/***配置、AR/VR可视化和其他特征的尺寸设计和选择。IDE***202还可以包括简化所得到的项目的调试并使所得到的项目的调试自动化并且在运行期间帮助部署的***的后续管理的工具。
在云平台上实现的IDE***202的实施方式还促进协作项目开发,由此多个开发者304向通用自动化***项目302贡献设计和编程输入。IDE***支持的协作工具可以管理来自多个贡献者的设计贡献并执行聚合***项目302的版本控制以确保项目一致性。
基于来自一个或更多个开发者304的设计和编程输入,IDE***202生成包括一个或更多个项目文件的***项目302。***项目302对以下中的一个或更多个进行编码:控制编程;HMI、AR和/或VR可视化;设备或子***配置数据(例如,驱动参数、视觉***配置、遥测设备参数、安全区域定义等)或者正在设计的工业自动化***的其他这种方面。IDE***202可以识别***项目302的相应方面应当在其上执行的适当的目标设备306(例如,工业控制器、HMI终端、变频驱动器、安全设备等),将***项目302转化成可以在相应目标设备上执行的可执行文件,并且将可执行文件部署至其对应的目标设备306以供执行,从而将***项目302委派至工厂现场以实现自动化项目。
为了支持增强的开发能力,IDE***202的一些实施方式可以建立在基于对象的数据模型上而不是基于标签的架构上。自动化对象222用作这样的基于对象的开发架构的构建块。图4是示出可以由IDE***202结合构建、部署和执行***项目302来利用的若干示例自动化对象特性的图。自动化对象222可以在设计期间被创建和扩充、可以被集成到较大数据模型中并且在运行期间使用。这些自动化对象222提供了跨IDE***202的通用数据结构并且可以存储在对象库(例如,存储器220的一部分)中以供重复使用。对象库可以存储表示真实工业资产402的各种分类的预定义自动化对象222,包括但不限于泵、罐、阀、马达驱动器(例如,变频驱动器)、工业机器人、致动器(例如,气动或液压致动器)或其他这样的资产。自动化对象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和存储在工业知识库(预定义代码模块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智能地相关联。IDE***202可以结合生成***项目302的代码或项目数据根据需要利用基于物理学的规则516以及预定义代码模块508和可视化510。
IDE***202还可以确定预定义可视化内容是否可用于在制图中发现的任何对象并且基于这些预定义可视化生成用于所发现的对象的适当HMI画面或AR/VR内容。为此,IDE***202可以存储可由项目生成部件206按需访问的特定于工业、特定于资产的和/或特定于应用的可视化510。这些可视化510可以根据工业或工业纵向市场(例如,汽车、食品和药品、石油和天然气、药物等)、工业资产的类型(例如,机器或工业设备的类型)、工业应用的类型(例如,批处理、流量控制、幅面张力控制(web tension control)、金属板冲压、水治理等)或其他这样的类别来分类。预定义可视化510可以包括各种格式的可视化,包括但不限于HMI画面或窗口、聚合来自多个预先指定的源的数据的混搭、AR叠加、表示相关联的工业资产的3D虚拟化的VR对象或其他这样的可视化格式。IDE***202可以基于对象类型与可视化内容之间的预定义关联来选择给定对象的合适的可视化。
在另一示例中,由用户应用于工程制图的标记可以被项目生成部件206的一些实施方式理解以传达特定的设计意图或参数。例如,红色笔的标记可以被理解为指示安全区域,由虚线连接的两个圆可以被解释为齿轮关系,以及粗线可以指示凸轮关系。以这种方式,设计者可以以IDE***202可以理解并利用的方式在现有的制图上草拟设计目标以生成代码和可视化。在另一示例中,项目生成部件206可以基于对用户的CAD制图的分析来学***台本身内开发工程制图的设计工具,并且项目生成部件206可以在用户为新项目创建制图时生成该代码作为后台进程。在一些实施方式中,项目生成部件206还可以将状态机制图转换成对应的编程序列,以至少产生可由开发者根据需要用附加编程细节来增强的骨架代码。
此外,或者另外,IDE***202的一些实施方式可以支持基于目标的自动化编程。例如,用户接口部件204可以允许用户指定正在设计的自动化***的生产目标(例如,指定正在设计的装瓶车间必须能够在正常操作期间每秒生产至少5000个瓶子)和应用于该设计项目的任何其他相关设计约束(例如,预算限制、可用现场空间、可用控制柜空间等)。基于这种信息,项目生成部件206将生成***项目302的各部分以满足指定的设计目标和约束。可以以这种方式生成的***项目302的各部分可以包括但不限于设备和装备选择(例如,将需要多少泵、控制器、站、输送机、驱动器或其他资产来满足指定目标的定义)、相关联的设备配置(例如,调谐参数、网络设置、驱动器参数等)、控制编码或适于使正在设计的自动化***可视化的HMI画面。
项目生成部件206的一些实施方式还可以基于对已经为正在开发的项目而订购的部件的知识来生成***项目302的至少一些项目代码。这可以涉及访问由设备供应商维护的客户的账户信息以识别已经针对项目购买的设备。基于这种信息,项目生成部件206可以添加对应于所购买资产的适当的自动化对象222和相关联的代码模块508,由此提供项目开发的起点。
项目生成部件206的一些实施方式还可以监测用于通用编程的功能(例如,泵送应用、批处理、码垛堆积操作等)的特定于客户的设计方法并且基于设计者的目标的推断和实现该目标而学习的方法来生成用于用户可能希望合并到当前设计项目中的设计模块(例如,代码模块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实现基于规则的编程,由此基于编码的工业专业知识和最佳实践(例如,识别正被开发的代码中的低效部分并且推荐适当的校正)来呈现诸如动态智能自动校正、输入提示或编码建议的编程反馈(设计反馈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的属性——包括将在本文中更详细讨论的与自动化对象222相关联的测试脚本和验证协议——中的至少一些属性是由IDE***202基于与由对象表示的资产有关的编码工业专业知识而限定的默认属性。开发者可以根据需要(经由设计输入512)修改或添加其他属性以针对正在针对其开发***项目302的特定资产和/或工业应用定制对象222。这可以包括例如对与所选择的自动化对象222相关联的定制的控制代码、HMI画面、AR表示、或帮助文件进行关联。以这种方式,自动化对象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并且将该控制程序文件702(例如,经由工厂网络116)发送至控制器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的基于云的实现方式可以促进被授权访问IDE服务802的多个远程开发者进行的协作开发。当***项目302准备好部署时,可以经由办公网络108或工厂网络116与云平台806之间的安全连接将项目302委派给工厂设施。如上面所讨论的,工业IDE服务802可以将***项目302转化成一个或更多个适当的可执行文件——控制程序文件702、可视化应用704、设备配置文件708、***配置文件812——并将这些文件部署至工厂设施中的适当设备以促进自动化项目的实现。
为了减少编写用于测试和调试***项目302的测试脚本的需要,IDE***202可以支持在所有级别上核验项目302的操作的测试框架。除了上面结合图4讨论的自动化对象222的各种特性和属性以外,自动化对象222还可以包括可用于跨一系列相关情景验证***项目302的相关联的测试元素作为该测试框架的一部分。图9是示出由IDE***的项目测试部件210对示例***项目302进行测试的图。如上所述,用作***项目302的基础的项目数据模型602限定自动化对象222之间的层次关系,所述自动化对象222可以表示自动化***的各方面,例如工业资产(例如,控制器、罐、阀、缸、工业机器人、泵等)、工业过程、工业设备或其他***方面。除了如上面结合图4讨论的与自动化对象222相关联的其他特性和属性(例如,逻辑元素、可视化元素等)以外,自动化对象222还可以包括测试特性作为由IDE***202支持的全局测试框架的一部分。这些测试特性可以包括被设计成测试和调试自动化对象222和参考对象222的***项目302的相关联方面的特定于对象的测试脚本902。对象的测试特性还可以包括限定可以有利地针对自动化对象222和参考对象222的相关联的项目元素运行的一个或更多个测试情景的特定于对象的测试情景限定904。测试情景限定904可以基于关于由自动化对象222表示的工业资产或过程的工业专业知识来设计。
自动化对象222可以被提供有特定于由自动化对象222表示的工业资产的类型的预先捆绑的测试脚本902和/或测试情景限定904。在如上面所描述的***项目302的开发期间或之后,IDE***的项目测试部件210可以适时执行与一个或更多个所选择的自动化对象222相关联的测试脚本902以核验***项目302的正确响应,从而验证该项目。为此,测试脚本902可以限定要提供至自动化对象222和/或其中使用对象222的相关联的项目代码的模拟测试输入912以及自动化对象222及其相关联的项目代码对模拟输入912的预期响应。
根据示例测试过程,项目测试部件210可以针对***项目302执行与相应一个或更多个自动化对象222相关联的一个或更多个测试脚本902。测试脚本902的执行可以涉及例如根据由测试脚本902限定的序列将模拟测试输入912馈送至***项目302的控制代码或其他元素、根据限定的序列设置由***项目302限定的数字或模拟程序变量的值、根据限定的序列启动***项目302的控制例程、测试由***项目302限定的动画对象或其他可视化元素、核验控制例程之间的数据链接、核验程序元素与制图元素之间的关系、确认设备配置设置或参数值适合于由***项目302执行的给定工业应用、或者根据由测试脚本902限定的测试过程以其他方式与***项目302进行交互。在测试期间,项目测试部件210可以监测测试结果906或***项目302对由测试脚本902限定的测试交互的响应并且确定这些测试结果906是否与由测试脚本902限定的预期结果相匹配。以这种方式,可以在不需要开发定制测试脚本来调试***项目代码的情况下在部署之前核验***项目302的正确操作。
在一些测试情景中,测试脚本902可以限定测试序列,该测试序列以整体的方式应用于作为整体的***项目302,而不是应用于特定的控制程序或例程。例如,项目测试部件210可以执行测试脚本902,该测试脚本902核验可能以其他方式无法测试的跨设计平台的链接或关系例如控制代码、可视化应用、电气制图、面板布局定义、布线计划表、管道图等。
如果测试结果906指示***项目302的一个或更多个方面的不正确操作,则项目测试部件210可以生成并呈现一个或更多个设计推荐908,所述一个或更多个设计推荐908指示将校正项目的操作的对***项目302的可能修改。这些设计推荐908可以包括例如控制代码修改或替换、对数据标签地址的推荐的校正、对HMI图形对象参考的推荐的校正、用于与控制代码保持一致的对机械制图或电气制图的推荐的校正(例如,将缺失的输出设备添加至与控制编程所参考的输出设备相对应的电气制图)、对工业设备的配置参数的推荐的修改或其他这样的校正。
一些自动化对象222的测试特性可以限定应当在对象222及其对应的控制代码和项目元素上运行的多个测试情景904,以确保对象222和相关代码的全面测试。这些情景904基于与由自动化对象及其相关项目元素表示的工业资产或过程相关的预先学***台的正确操作(控制编程、可视化配置、制图、设备配置等)。
IDE***202的一些实施方式还可以包括调试部件212,调试部件212被配置成基于对***项目302的分析来生成验证检查列表并且经由用户接口部件204输出该验证检查列表。图10是示出根据一个或更多个实施方式的生成验证检查列表数据1008的图。调试部件212分析***项目以确定应当与调试正在针对其开发***项目302的自动化***相结合地执行的现场测试和检查。这些验证检查可以包括应当对自动化***的硬件、电气连接执行的测试以及对无法仅经由***项目302的软件测试执行的控制例程的响应。
例如,调试部件212可以检查***项目302以识别由构成自动化***的工业控制器的控制编程或I/O模块配置定义的I/O点(例如,数字输入和输出以及模拟输入和输出),并且将这些I/O点转换为I/O核验检查列表,现场工程师可以使用该I/O核验检查列表来跟踪哪些I/O点已经核验了它们从控制器到它们对应的现场设备的电气路径。调试部件212还可以识别在***项目302中限定的应当在将自动化***联机之前在现场验证其操作的控制例程,并且将这些例程与关于应当如何运用和验证该例程的指令一起列出作为验证检查列表数据1008的一部分。
调试部件212还可以基于对诸如面板布局图、安装区域内的(例如,根据作为设计输入512的一部分提交并且编码在***项目302中的视频或图像数据查明的)物理元素的已知位置和取向、在***项目302中限定的已知在操作之前需要视觉核验或检查序列的机器的身份或其他这样的项目特征之类的***项目方面的检查来推断在运行时间之前应当对自动化***的部件进行的视觉检查或核验。
在一些情景中,调试部件212还可以制定应当被执行以核验对手动控制的正确***响应的手动操作者面板交互的序列,并且将这些手动操作序列包括在验证检查列表上。验证检查列表的这些部分可以限定以指定顺序执行的一个或更多个手动操作者动作(例如,使用三位开关在自动模式、半自动模式和手动模式之间切换;按下开始按钮;按下主页(Home)按钮等)并且指示对每个动作或动作的集合的预期***响应。调试部件212可以基于对包括在***项目302中的控制代码、包括在***项目302中的I/O或面板布局图、或***项目302的其他这样的方面的分析来确定这些手动测试序列。
对于包括安全***的自动化***,调试部件212还可以限定应当对这些安全***执行以确保安全操作的安全检查,并且将这些检查包括在验证检查列表上。例如,可以生成验证检查列表以包括构成安全***的安全输入设备(例如,紧急停止按钮、安全垫、安全拉线、光幕、安全门开关等)的列表以及针对每个输入设备用于核验对安全输入设备的致动的正确***响应的指令。
在一些实施方式中,调试部件212可以基于***项目302被设计用于的工业纵向市场来生成验证检查列表数据1008的至少一部分。在这方面,某些工业纵向市场(例如,药物、食品和药品等)可能需要对在该纵向市场内操作以符合工业标准的自动化***或过程执行的规定验证序列。因此,调试部件212可以根据自动化***将在其中操作的工业纵向市场的验证要求来格式化验证检查列表。
用户接口部件204可以在客户端设备上将验证检查列表数据1008呈现为恰当格式的验证检查列表以供在***的现场调试期间参考。如果需要硬拷贝记录,也可以打印该确认检查列表。
在一些实施方式中,给定类型的工业资产(例如,马达驱动器)的验证序列信息可以嵌入到与该资产相关联的自动化对象222中作为验证序列属性914。该验证序列属性914可以限定用于测试或验证该资产的一个或更多个适当的方法。因此,当给定类型的工业资产的自动化对象222包括在***项目302中时,调试部件212可以识别对象222及其相关联的验证序列属性914,并且基于在验证序列属性914中限定的验证指示来生成验证检查列表数据1008的至少一部分即验证检查列表的指示如何验证资产的该部分。在一些情景中,用于验证给定资产的序列可以取决于资产在其中使用的工业纵向市场或工业应用。因此,针对这样的资产的自动化对象222的验证序列属性914可以限定多个验证序列,所述多个验证序列分别特定于给定的纵向市场或工业应用,并且调试部件212可以基于对***项目302针对其开发的纵向市场或应用的确定来选择适当的资产验证序列以包括在验证检查列表数据1008中。
在一些实施方式中,IDE***202还可以管理与验证检查列表相关联的数字签名或电子签名。图11是示出根据一个或更多个实施方式的由IDE***202收集数字签名的图。在该示例中,验证检查列表数据1008已经被传送至与需要在***项目302的各方面签署(signoff)的人员相关联的客户端设备504。验证检查列表是交互式的,使得每个用户可以经由与检查列表的交互来提交针对验证检查列表1008上相应项的数字签名1104。在IDE***202处,从客户端设备接收数字签名1104,并且调试部件212将所接收的签名1104的记录保存为签署跟踪数据1102,该签署跟踪数据1102跟踪针对验证检查列表上的每个项已经接收到哪些签名1104以及已经从谁接收到签名1104。该签署追踪数据1102随后可以被参考以用于审计的目的。在一些实施方式中,IDE***的项目部署部件208可以被配置成仅在指示对***项目302的部件(例如,控制代码、HMI可视化应用、设备配置等)的批准的所有必要签名1104已经被调试部件212接收到之后将这些部件部署至它们对应的现场设备。
在对***项目302进行调试之后,工业IDE***202的一些实施方式可以为运行时的***提供持续的维护服务。图12是示出在一个或更多个实施方式中可以由IDE***提供的运行时的维护服务的图。在该示例中,(作为云平台806上的IDE服务的集合操作的)IDE***包括被配置成从执行***项目302的各种元素的工业设备1204(例如,工业控制器118、马达驱动器710等)收集运行时的工业数据1202的设备接口部件214。该工业数据1202可以包括在自动化***的操作期间由这些工业资产生成的操作和状态数据。IDE***202的维护部件216可以将如由工业数据1202指示的资产的实际性能与根据***项目302确定的预期性能进行比较,在部署之后该预期性能被保存在IDE***202上。基于这些比较的结果,用户接口部件204可以生成维护信息1206并将其传递至所选择的客户端设备504。
在一些实施方式中,给定工业资产(例如,机器、过程或工业设备)的预期性能可以由与表示该资产的自动化对象222相关联的维护属性916(参见图9和图10)来限定。这些维护属性916可以包括例如资产的维护特性、机器或资产属性、资产生命周期管理(ALM)属性、应用性能测量(APM)属性或可以由维护部件216利用以将实际性能与预期性能进行比较并且生成推荐或适时采取预防性动作的其他属性。在一些实施方式中,资产的自动化对象222还可以对指定在故障或性能降级的情况下如何维修资产的维护训练信息进行编码。该训练信息被附加至自动化对象222作为维护属性916的一部分并且可以由可视化***(包括AR/VR***)读取和解释以结合对资产执行维护来呈现给用户。
该维护信息1206可以包括例如针对作为整体的自动化***或针对***的各个部件的性能报告、期望使实际性能与预期性能一致的推荐的***配置或操作修改、引导用户完成对工业***的一方面执行维护的过程的训练展现或维护工作流或者其他这样的信息。该维护信息1206中的至少一些可以从构成***项目302的自动化对象222的维护属性916获得。
在一些实施方式中,除了展现维护信息1206以外或作为展现维护信息1206的替选方案,设备接口部件214的一些实施方式可以被配置成基于检测到的与预期性能的偏离来对构成自动化***的工业设备1204执行控制修改。维护部件216可以基于偏离的性质、对自动化***的哪些关键性能指标已经偏离其预期值的确定、对哪些工业资产对该偏离有影响的确定、对应当如何修改这些资产的操作以使偏离性能符合预期的推断或者其他这样的考虑来确定合适的控制修改。为了实现控制修改,维护部件216可以检查***项目302——例如,如***项目302所限定的相关控制例程和关联于那些例程的相关联的数据标签——以识别其值应当被修改以实现控制修改的数据标签,并且设备接口部件214可以将更新的值写入适当的工业设备(例如,工业控制器、马达驱动器等)上的这些数据标签。这可以包括设置或重新设置数字数据标签或将新的模拟值(例如,设定点)写入模拟数据标签。
在一些实施方式中,构成***项目302的自动化对象222可以被利用以在***被调试之后在新的自动化***的运行期间向用户展现定制的增强现实(AR)或虚拟现实(VR)表示。图13是示出在对设计的自动化***进行调试之后IDE***202利用数据输入来生成AR表示的图。由用户接口部件204支持的呈现引擎被配置成基于在工厂模型1002中指定的呈现定义来生成工业区域的交互式AR表示。用户接口部件204可以用收集到的工业数据1202的所选择的子集(以及基于工厂工业数据1202的子集计算的生产或操作统计)来填充该增强现实表示,并且将得到的聚合AR表示作为AR/VR表示数据1304传送至可穿戴装置1302。用户接口部件204可以生成使得工业数据1202的项被覆盖在用户视野内的将数据项放置在与数据项相关的工业资产的图形表示上或其附近的位置处的表示。
被选择用于在给定时间呈现在装置1302上的工业数据1202的子集以及数据被呈现的位置是从装置1302接收的指示装置的当前位置、取向和视线的位置和取向数据1308的函数。所呈现的数据还可以是(如由从可穿戴装置1302接收的用户身份或角色数据1306所指示的)穿戴者的身份或角色的函数。该身份或角色数据1306可以与用户简档1322交叉参考,该用户简档限定允许相应的用户或用户角色查看的信息的类型或集合。可以针对其限定定制视图的角色可以包括但不限于操作者、工程师、维护人员、工厂管理者、会计人员等。
自动化对象222的一些实施方式可以包括限定相关联资产的合适AR表示的AR属性。例如,罐自动化对象222可以具有相关联的代码、窗口小部件(widget)、文档、图表等以及用作资产的数字表示以便可视化的相关联的AR对象。该AR对象可以(例如,使用自动化对象的地理标记的位置属性)链接至其对应的物理资产,使得即使资产改变位置,其AR表示也跟随该资产。
利用包括限定其相关联工业资产的AR/VR虚拟化的自动化对象222的***项目302,可穿戴装置1302的穿戴者可以根据穿戴者在穿过(traversal)工厂期间希望看到的信息的类型来启动过滤展示在装置1302上的可用AR数据的模式。例如,穿戴者可以在穿戴者穿过工厂现场时请求仅与现有警报或性能问题相关的数据显示在装置1302上作为AR表示的一部分。其他示例数据过滤模式可以包括呈现与维护问题相关的信息的预测性维护模式、呈现相应资产的能量利用信息的能量消耗模式、清洁模式或其他这样的过滤模式。该AR数据可以在可穿戴装置1302上被呈现为用户的视野内的、在视野内的将AR数据的项目放置在相关工业资产上或附近的位置处的覆盖图。经由可穿戴装置1302呈现的AR数据还可以是用户角色(操作者、工程师、工厂管理者等)的函数。
在一些实施方式中,IDE***202还可以例如通过基于编码在IDE***中的特定于纵向市场的行业专业知识确定最适合呈现的数据和针对给定环境的最佳格式来在操作期间动态地优化呈现给用户的AR可视化。例如,IDE***202可以意识到温度是锅炉的重要度量。因此,当用户在穿戴装置1302的同时正在查看锅炉时(如基于从装置1302接收的位置和取向数据1308所确定的),则用户接口部件204可以将温度数据添加至用户的视图。与给定类型的工业资产相关的数据类型的知识可以编码在该资产的标准自动化对象222中作为对象的AR属性的一部分。
在一些实施方式中,除了AR数据覆盖图以外,用户接口部件204还可以被配置成向用户的可穿戴装置1302呈现自动化***的虚拟现实(VR)表示。在这样的实施方式中,用户接口部件204可以部分地基于从***项目302获得的设计或项目数据来生成自动化***的VR模型。例如,表示构成自动化***的工业资产的自动化对象222可以包括限定其对应资产的图形VR表示和行为的VR属性。用户接口部件204可以与呈现那些资产的动画VR表示结合地利用这些VR属性。用户接口部件204还可以基于描述自动化***的布局的物理环境数据在VR表示内定位和定向这些资产。在一些情景中,该物理环境数据可以从***项目302获得,该***项目302基于先前作为设计输入512的一部分提交的图像或视频数据来记录该信息。
用户接口部件204可以使该VR表示动画化以模拟由***项目302限定的控制代码的执行并且将自动化***的这种动画化VR表示传送至可穿戴装置1302作为AR/VR表示数据1304。装置1302的穿戴者可以使用适当的手势——由可穿戴装置1302检测并传送至IDE***202——来与VR表示进行交互,以模拟人与物理自动化***的交互,并且用户接口部件204将使VR表示以模拟物理***对该交互的响应的方式进行响应。以这种方式,VR模拟可以用作新操作者或维护人员的训练工具,使得在不会使物理装备处于危险的情况下新人员能够学习新***的操作。
如上所述,工业IDE***202的一些实施方式可以被配置成使用针对检测到的操作或维护问题定制的交互式工作流表示来帮助用户解决所述检测到的问题。图14是示出了用于传送交互式工作流表示的IDE***202、工业设备1204和可穿戴装置1302之间的示例数据流的图。图14中所示的示例描绘了其中用户接口部件204响应于检测到的状况而动态地选择工作流程呈现1402并将其传送至用户的可穿戴装置1302的情景。
如上所述,当设备接口部件214从工厂现场上的工业设备和***收集工业数据1310时,维护部件216监测工业数据1310的所选数据项,并且响应于确定一个或更多个数据项指示自动化***或设备具有值得来自一个或更多个注册用户的注意的问题而发起合适的工作流表示1402的传送。例如,基于一个或更多个工业设备的当前状态和/或操作信息(例如,操作参数、关键性能指标等),维护部件216可以检测工业设备或***何时生成警报或故障、经历停机状况、执行无序操作或其他这样的状况。维护部件216还可以基于实时工业数据1202与由构成***项目302的自动化对象222限定的维护属性916的比较来检测工业过程或机器的性能度量(例如KPI或其他类型的度量)何时偏离到可接受容限范围之外。
为了便于生成工作流表示以帮助检测到的问题,IDE***202可以参考构成***项目320的相关自动化对象222的维护属性916,维护属性916可以限定为校正与对象的对应工业资产相关的各种问题而要采取的动作以及用于呈现执行这些动作的指令的VR/AR表示。例如,与用于工业资产的自动化对象222相关联的工作流数据的集合可以限定被确定成对于从该资产所经历的特定警报状况恢复而言有效的工作流。响应于检测到该警报状况,维护部件216可以发起向用户的可穿戴装置1302传送该工作流作为VR/AR工作流表示1402。
响应于检测到限定的工作流针对其可用的问题,维护部件216可以向用户接口部件204发送识别到检测的问题的指示1410,这发起将合适的工作流表示1402向与被确定为能够或被授权解决检测到的问题的一个或更多个用户相关联的可穿戴装置1302的传送。由维护部件216发送的指指示1410可以包括标识所检测的事件和/或相关工业***的工业数据1202的子集。基于该信息,用户接口部件204选择与被认为与检测到的问题相关的自动化对象222——即,表示检测到的问题中涉及的工业资产的自动化对象222——相关联的工作流数据的集合并且将工作流表示数据1402传送至一个或更多个选择的可穿戴装置1302。
在一些实施方式中,用户接口部件204可以将工作流表示呈现为将指示的序列呈现为用户视野上的覆盖图的增强现实表示。这些表示可以包括指向或以其他方式视觉地识别在工作流的当前步骤期间用户的注意力应当集中在其上的设备、工作站或机器部件的图形指示符覆盖图、向用户通知要执行的下一步骤的字母数字指示、指示何时步骤已经被正确执行或用户何时已经偏离正确的工作流序列的反馈图形以及其他这样的信息。工作流表示可以包括字母数字指示以及示出工作流的某些步骤的图形指南。这些图形指南可以包括例如示出要执行的动作的图、演示如何执行给定步骤的照片或视频数据、设备文档或其他这样的指南。可以从***项目302获得所述工作流信息中的至少一些,包括但不限于工程原理图、推荐的设备参数设置、控制编程示例或其他这样的信息。
图15a至图16b示出了根据本申请的一个或更多个实施方式的各种方法学。虽然出于简化说明的目的,本文所示的一个或更多个方法学被示出且描述为一系列动作,但是应当理解和明白,本发明不受动作的次序限制,因为根据本发明,一些动作可以按与本文所示和所述的次序不同的次序发生以及/或者与其他动作同时发生。例如,本领域技术人员将理解和明白,方法学可以替选地被表示为诸如状态图中的一系列相互关联的状态或事件。此外,并非所有示出的动作都是实现根据本发明的方法学所必需的。此外,当不同的实体制定方法学的不同部分时,交互图可以表示根据本公开内容的方法学或方法。此外,所公开的示例方法中的两个或更多个可以彼此结合地实现以实现本文描述的一个或更多个特征或优点。
图15a示出了用于开发和部署工业自动化***项目的示例方法学的第一部分1500a。初始地,在1502处,经由与工业IDE***的交互来接收工业设计数据,其中设计数据指定被安装或更新的工业自动化***的设计方面。工业设计数据可以以工业控制器编程(例如,梯形逻辑、顺序功能图表、诸如工业DSL的脚本控制代码等)、HMI画面开发输入、工业设备或装备选择、工程制图输入等中的一个或更多个的形式提交。在一些实施方式中,工业设计数据还可以包括完成的工程制图(例如,P&ID制图、电气制图、机械制图等),所述工程制图可以由工业IDE解析和分析以识别正在设计的工业自动化***的部件(例如,工业设备、机器、装备、导管、管道等)以及这些部件之间的功能和物理关系。
在1504处,作出项目开发是否完成的确定。可以例如响应于来自开发者的自动化***项目准备好被解析和编译的指示来作出该确定。如果开发未完成(步骤1504处为否),则该方法学返回至步骤1502。重复步骤1502至步骤1504直到开发完成(步骤1504处为是),此时该方法学进行至步骤1506。
在1506处,将在步骤1502处接收的工业设计数据编译成包括可以被部署至相应的工业设备上并且在其上执行以便于监测和控制针对其开发项目的工业自动化***的一个或更多个可执行文件的***项目。可执行文件可以被部署至的目标工业设备可以包括例如工业控制设备(例如,PLC或另一类型的工业控制设备)、人机接口终端、马达驱动器或其他类型的设备。
在1508处,识别可执行文件要部署至的工业设备的集合。在这点上,可以以对于可执行文件将在其上执行的目标工业设备的特定供应商和/或型号不可知的方式来开发***项目,并且工业IDE***随后——可以在项目开发完成之后——将每个可执行文件转换成该文件将在其上执行的特定设备平台可支持的格式。在一些情景中,在步骤1508处,可以基于由开发者提供的显式设备标识信息来识别所述工业设备的集合。可替选地,IDE***可以扫描设备驻留在其上的工业网络并且基于所发现的设备架构来识别或推断哪些设备要执行相应的可执行文件。
在1510处,由IDE***将在步骤1506处生成的可执行文件转换成由在步骤1508处识别的它们对应的工业设备所支持的相应格式。在1512处,将经转换的可执行文件部署至它们对应的工业设备。
该方法学继续图15b中所示的第二部分1500b。在1514处,在自动化***的操作期间从工业设备接收运行时的数据。IDE***可以被实现在可访问自动化***在其上操作的工厂网络的云平台上,并且可以经由工厂网络从工业资产收集实时工业数据。在1516处,将由在步骤1514处接收的运行时的数据指示的自动化***的实际性能与由***项目中限定的自动化对象的维护属性限定的预期性能进行比较。这些维护属性可以包括关于维护特性、机器属性、资产生命周期管理、应用性能测量的信息或者特定于由相应自动化对象表示的工业资产的其他这样的信息。
在1518处,基于在步骤1516处执行的比较作出关于实际性能是否偏离预期性能的确定。如果检测到这样的偏离(步骤1518处为是),则该方法学进行至步骤1520,在步骤1520处由IDE***将维护推荐呈现在一个或更多个客户端设备上。该维护推荐指示使自动化***的实际性能与预期性能一致的建议的维护动作或操作修改。
图16a示出了用于根据工业设计数据生成验证检查列表的示例方法学的第一部分1600a。初始地,在1602处,经由与工业IDE***的交互来接收工业设计数据,其中设计数据指定被安装或更新的工业自动化***的设计方面(类似于方法学1500的步骤1502)。在1604处,将在步骤1602处接收的工业设计数据编译成包括可以被部署至相应的工业设备上并在其上执行以便于监测和控制针对其开发项目的工业自动化***的一个或更多个可执行文件的***项目(类似于方法1500的步骤1506)。
在1608处,作出关于项目开发是否完成的确定。在项目开发完成的情况下(步骤1608处为是),则该方法学进行至步骤1610,在步骤1610处生成用于验证自动化***的验证检查列表。IDE***可以基于对与包括在***项目中的自动化对象相关联的验证序列属性的检查来生成该验证检查列表,其中这些验证序列属性指定用于核验由自动化对象表示的工业资产的正确操作的预定义的验证序列。在1612处,将在步骤1610处生成的验证检查列表呈现在一个或更多个客户端设备上。
该方法学继续图16b所示的第二部分1600b。在1614处,经由与一个或更多个客户端设备上的验证检查列表的交互来接收指示***项目的各方面的批准的数字签名。在1616处,将跟踪数字签名的接收的数字签名跟踪信息(例如,***项目的哪些方面已经接收到数字签名、提交每个签名的人员的身份等)记录在IDE***上。
本文描述的实施方式、***和部件以及可以在其中执行本说明书中阐述的各个方面的控制***和自动化环境可以包括计算机或网络部件例如能够跨网络进行交互的服务器、客户端、可编程逻辑控制器(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)设备、服务器、客户端、计算机、配置工具、监测工具和/或其他设备的部件。
为了提供所公开的主题的各方面的环境,图17和图18以及以下讨论旨在提供对其中可以实现所公开的主题的各方面的合适环境的简要、一般描述。虽然上面已经在可以在一个或更多个计算机上运行的计算机可执行指令的一般环境中描述了各实施方式,但是本领域的技术人员将认识到,各实施方式也可以结合其他程序模块实现和/或被实现为硬件和软件的结合。
通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、部件、数据结构等。此外,本领域的技术人员将理解,本发明的方法可以用其他计算机***配置来实践,所述其他计算机***配置包括单处理器或多处理器计算机***、小型计算机、大型计算机、物联网(IoT)设备、分布式计算***、以及个人计算机、手持式计算设备、基于微处理器的或可编程消费电子产品等,其中每一个都可以可操作地耦接至一个或更多个相关联的设备。
本文所示出的实施方式也可以在分布式计算环境中实践,在分布式计算环境中某些任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地存储器存储设备和远程存储器存储设备两者中。
计算设备通常包括各种介质,其可以包括计算机可读存储介质、机器可读存储介质和/或通信介质,这两个术语在本文中如下彼此不同地使用。计算机可读存储介质或机器可读存储介质可以是可以由计算机访问的任何可用存储介质并且包括易失性介质和非易失性介质、可移动介质和不可移动介质两者。作为示例而非限制,计算机可读存储介质或机器可读存储介质可以结合用于存储诸如计算机可读或机器可读指令、程序模块、结构化数据或非结构化数据等信息的任何方法或技术来实现。
计算机可读存储介质可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、蓝光盘(BD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、固态驱动器或其他固态存储设备或者可以用于存储期望信息的其他有形和/或非暂态介质。在这方面,应将如应用于存储装置、存储器或计算机可读介质的本文的术语“有形”或“非暂态”理解为仅排除传播暂态信号本身作为修饰语并且不放弃对不是仅传播暂态信号本身的所有标准存储装置、存储器或计算机可读介质的权利。
计算机可读存储介质可以由一个或更多个本地计算设备或远程计算设备例如经由访问请求、查询或其他数据检索协议来访问以针对由介质存储的信息进行各种操作。
通信介质通常以数据信号例如经调制数据信号例如载波或其他传输机制来体现计算机可读指令、数据结构、程序模块或其他结构化或非结构化数据,并且包括任何信息传递或传输介质。术语“经调制数据信号”或信号指以在一个或更多个信号中编码信息的方式设置或改变其特性中的一个或更多个特性的信号。作为示例而非限制,通信介质包括有线介质例如有线网络或直接连线连接和无线介质例如声学、RF、红外和其他无线介质。
再次参照图17,用于实现本文描述的各方面的各实施方式的示例环境1700包括计算机1702,计算机1702包括处理单元1704、***存储器1706和***总线1708。***总线1708将包括但不限于***存储器1706的***部件耦接至处理单元1704。处理单元1704可以是各种可商购的处理器中的任何一种。也可以采用双微处理器和其他多处理器架构作为处理单元1704。
***总线1708可以是若干类型的总线结构中的任一种,该总线结构还可以使用各种可商购的总线架构中的任一种来互连至存储器总线(带有存储器控制器或不带有存储器控制器)、***总线和局部总线。***存储器1706包括ROM 1710和RAM 1712。基本输入/输出***(BIOS)可以被存储在诸如ROM、可擦除可编程只读存储器(EPROM)、EEPROM的非易失性存储器中,该BIOS包含有助于例如在启动期间在计算机1702内的元素之间传输信息的基本例程。RAM 1712还可以包括诸如用于高速缓存数据的静态RAM的高速RAM。
计算机1702还包括内部硬盘驱动器(HDD)1714(例如,EIDE、SATA)、一个或更多个外部存储设备1716(例如,磁软盘驱动器(FDD)1716、存储棒或闪存驱动器读取器、存储卡读取器等)以及光盘驱动器1720(例如,其可以从CD-ROM盘、DVD、BD等读取或写入)。虽然内部HDD 1714被示为位于计算机1702内,但是内部HDD 1714还可以被配置成在合适的机箱(未示出)中在外部使用。另外,虽然在环境1700中未示出,但是除了HDD 1714以外或者代替HDD1714,还可以使用固态驱动器(SSD)。HDD 1714、(一个或多个)外部存储设备1716和光盘驱动器1720可以分别通过HDD接口1724、外部存储接口1726和光盘驱动器接口1728连接至***总线1708。用于外部驱动器实现方式的接口1724可以包括通用串行总线(USB)和电气与电子工程师协会(IEEE)1394接口技术中的至少一个或两者。其他外部驱动器连接技术在本文描述的实施方式的考虑内。
驱动器及其相关联的计算机可读存储介质提供数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机1702,驱动器和存储介质以合适的数字格式容纳任何数据的存储。尽管上面对计算机可读存储介质的描述涉及相应类型的存储设备,但是本领域技术人员应当理解,也可以在示例操作环境中使用计算机可读的其他类型的存储介质,无论所述存储介质是当前存在的还是将来开发的,并且此外,任何这样的存储介质可以包含用于执行本文所描述的方法的计算机可执行指令。
多个程序模块可以被存储在驱动器和RAM 1712中,所述多个程序模块包括操作***1730、一个或更多个应用程序1732、其他程序模块1734和程序数据1736。操作***、应用、模块和/或数据中的全部或部分也可以被高速缓存在RAM 1712中。本文描述的***和方法可以利用各种可商购的操作***或操作***的组合来实现。
计算机1702可以可选地包括仿真技术。例如,管理程序(未示出)或其他中间设备可以仿真用于操作***1730的硬件环境,并且所仿真的硬件可以可选地不同于图17中所示的硬件。在这样的实施方式中,操作***1730可以包括在计算机1702处托管的多个虚拟机(VM)中的一个VM。此外,操作***1730可以为应用程序1732提供运行环境,例如Java运行环境或.NET框架。运行环境是使得应用程序1732能够在包括该运行环境的任何操作***上运行的一致执行环境。类似地,操作***1730可以支持容器,并且应用程序1732可以是容器的形式,所述容器是包括例如代码、运行时间、***工具、***库和应用的设置的轻量级、独立的、可执行的软件包。
此外,计算机1702可以用安全模块例如可信处理模块(TPM)来启用。例如,使用TPM,引导部件对时间上的下一引导部件进行哈希处理,并且在加载下一引导部件之前等待结果与安全值的匹配。该过程可以发生在计算机1702的代码执行栈中的任何层,例如,应用在应用执行级或操作***(OS)内核级,从而在任何代码的执行级实现安全性。
用户可以通过一个或更多个有线/无线输入设备例如键盘1738、触摸屏1740和诸如鼠标1742的定点设备将命令和信息输入至计算机1702中。其他输入设备(未示出)可以包括麦克风、红外(IR)遥控器、射频(RF)遥控器、或其他遥控器、操纵杆、虚拟现实控制器和/或虚拟现实头戴式耳机、游戏垫、触摸笔、诸如摄像装置的图像输入设备、姿势传感器输入设备、视觉移动传感器输入设备、情绪或面部检测设备、诸如指纹或虹膜扫描仪的生物测定输入设备等。这些输入设备和其他输入设备通常通过可以耦接至***总线1708的输入设备接口1744连接至处理单元1704,但也可以通过其他接口例如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口、等进行连接。
监测器1744或其他类型的显示设备也可以经由诸如视频适配器1746的接口连接至***总线1708。除了监测器1744以外,计算机通常包括其他***输出设备(未示出)例如扬声器、打印机等。
计算机1702可以使用经由到诸如远程计算机1748的一个或更多个远程计算机的有线和/或无线通信的逻辑连接在联网环境中操作。远程计算机1748可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他通用网络节点,并且通常包括相对于计算机1702所描述的许多或所有元件,尽管为了简明起见仅示出了存储器/存储设备1750。所描绘的逻辑连接包括到局域网(LAN)1752和/或更大的网络例如广域网(WAN)1754的有线/无线连接。这样的LAN和WAN联网环境在办公室和公司中是常见的,并且促进了诸如内联网的企业范围的计算机网络,所有这些计算机网络都可以连接至诸如因特网的全球通信网络。
当在LAN联网环境中使用时,计算机1702可以通过有线和/或无线通信网络接口或适配器1756连接至局域网1752。适配器1756可以促进到LAN 1752的有线或无线通信,LAN1752还可以包括布置在其上的无线接入点(AP),以用于以无线模式与适配器1756进行通信。
当在WAN联网环境中使用时,计算机1702可以包括调制解调器1758,或者可以经由用于通过WAN 1754建立通信的其他手段例如通过因特网来连接至WAN 1754上的通信服务器。调制解调器1758——其可以是内部的或外部的并且可以是有线设备或无线设备——可以经由输入设备接口1742连接至***总线1708。在联网环境中,相对于计算机1702或其部分描绘的程序模块可以被存储在远程存储器/存储设备1750中。将理解,所示的网络连接是示例并且可以使用在计算机之间建立通信链路的其他手段。
当在LAN或WAN联网环境中使用时,除了或代替如上所述的外部存储设备1716,计算机1702还可以访问云存储***或其他基于网络的存储***。通常,可以例如分别通过适配器1756或调制解调器1758通过LAN 1752或WAN 1754来建立计算机1702与云存储***之间的连接。在将计算机1702连接至相关联的云存储***时,外部存储接口1726可以在适配器1756和/或调制解调器1758的帮助下如管理其他类型的外部存储一样管理由云存储***提供的存储。例如,外部存储接口1726可以被配置成提供对云存储源的访问,就好像这些源物理地连接至计算机1702一样。
计算机1702能够***作成与可操作地布置在无线通信中的任何无线设备或实体进行通信,所述无线设备或实体例如打印机、扫描仪、桌上型和/或便携式计算机、便携式数据助理、通信卫星、与无线可检测标签相关联的任何设备或位置(例如,亭、报摊、商店货架等)以及电话。这可以包括无线保真(Wi-Fi)和无线技术。因此,通信可以是如常规网络的预定义结构或者仅仅是至少两个设备之间的自组织通信。
图18是所公开的主题可以与之交互的样本计算环境1800的示意性框图。样本计算环境1800包括一个或更多个客户端1802。客户端1802可以是硬件和/或软件(例如,线程、进程、计算设备)。样本计算环境1800还包括一个或更多个服务器1804。服务器1804也可以是硬件和/或软件(例如,线程、进程、计算设备)。服务器1804可以容纳线程以通过采用例如本文所述的一个或更多个实施方式来执行变换。客户端1802与服务器1804之间的一种可能的通信可以是适于在两个或更多个计算机进程之间传输的数据分组的形式。样本计算环境1800包括可以用于促进客户端1802与服务器1804之间的通信的通信框架1806。客户端1802可操作地连接至可用于存储客户端1802本地的信息的一个或更多个客户端数据存储设备1808。类似地,服务器1804可操作地连接至可用于存储服务器1804本地的信息的一个或更多个服务器数据存储设备1810。
上面所描述的内容包括本发明的示例。当然,不可能为了描述所公开的主题而描述部件或方法学的每个可设想到的组合,但是本领域普通技术人员可以认识到,本发明的许多另外的组合和置换是可能的。因此,所公开的主题旨在涵盖落入所附权利要求书的精神和范围内的所有这样的改变、修改和变型。
尤其是关于由上面描述的部件、设备、电路、***等执行的各种功能,除非另外指出,否则用于描述这样的部件的术语(包括对“手段”的引用)旨在对应于执行所描述的部件的指定功能的任何部件(例如,功能上等效的任何部件),即使在结构上不等效于所公开的结构而该部件执行本文示出的所公开主题的示例性方面中的功能也是如此。在这点上,还将认识到,所公开的主题包括***以及具有用于执行所公开的主题的各种方法的动作和/或事件的计算机可执行指令的计算机可读介质。
此外,虽然可能仅针对若干实现方式中的一个实现方式公开了所公开的主题的特定特征,但是这样的特征可以如针对任何给定应用或特定应用来说可能期望有利的与其他实现方式的一个或更多个其他特征组合。此外,就在说明书或权利要求书中使用术语“包含”和“具有”及其变型来说,这些术语旨在以类似于术语“包括”的方式包括在内。
在本申请中,词语“示例性”用于表示用作示例、实例或说明。本文描述为“示例性”的任何方面或设计不一定被解释为比其他方面或设计优选或有利。在某种程度上,词语示例性的使用旨在以具体方式表现概念。
本文描述的各个方面或特征可以使用标准编程和/或工程技术实现为方法、装置或制品。如本文所使用的术语“制品”旨在涵盖可从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁条…)、光盘(例如,压缩盘(CD)、数字多功能盘(DVD)…)、智能卡和闪存设备(例如,卡、棒、钥匙驱动器…)。

Claims (17)

1.一种用于开发工业应用的***,包括:
存储器,其存储可执行部件;以及
处理器,其可操作地耦接至所述存储器,所述处理器执行所述可执行部件,所述可执行部件包括:
用户接口部件,其被配置成呈现集成开发环境界面并且经由与所述集成开发环境界面的交互来接收限定工业自动化***的各方面的工业设计输入;
项目生成部件,其被配置成基于所述工业设计输入来生成***项目数据,其中,所述***项目数据限定包括可执行工业控制程序、工业可视化应用或工业设备配置数据中的至少两个的***项目;以及
调试部件,其被配置成基于对所述***项目数据的分析来针对所述工业自动化***生成验证检查列表数据,
其中,所述用户接口部件还被配置成将所述验证检查列表数据呈现在客户端设备上,
其中,所述验证检查列表数据限定在允许所述自动化***的正常操作之前要对所述自动化***执行的测试,所述测试包括I/O布线核验、控制例程核验、视觉检查或手动操作者面板交互的核验中的至少一个。
2.根据权利要求1所述的***,还包括项目部署部件,所述项目部署部件被配置成将所述***项目数据转换成所述可执行工业控制程序、工业可视化应用或工业设备配置数据中的所述至少两个,并且将所述可执行工业控制程序、工业可视化应用或工业设备配置数据中的所述至少两个发送至相应工业资产以供执行。
3.根据权利要求1所述的***,其中,所述调试部件被配置成基于与所述工业自动化***在其中操作的工业纵向市场相关联的认证要求来生成所述验证检查列表数据。
4.根据权利要求1所述的***,其中,所述用户接口部件被配置成将所述验证检查列表数据作为交互式验证检查列表呈现在所述客户端设备上,并且响应于与所述验证检查列表的交互来接收与所述验证检查列表上的相应项相关联的数字签名。
5.根据权利要求4所述的***,其中,所述调试部件被配置成结合所述验证检查列表跟踪所述数字签名和从其他客户端设备接收的其他数字签名的接收。
6.根据权利要求2所述的***,还包括维护部件,所述维护部件被配置成监测在所述工业自动化***的操作期间由所述工业资产生成的运行时的数据,并且识别由所述运行时的数据表示的实际性能与由所述***项目数据限定的预期性能的偏离,
其中,所述用户接口部件被配置成基于对所述偏离的检测向客户端设备发送维护信息。
7.根据权利要求6所述的***,其中,
所述***项目数据包括表示相应工业资产并且具有与其相关联的相应维护属性的自动化对象,并且
所述维护部件被配置成基于所述自动化对象中的至少一个自动化对象的维护属性来确定所述预期性能。
8.根据权利要求7所述的***,其中,所述自动化对象中的自动化对象的维护属性包括由所述自动化对象表示的工业资产的维护特性、所述工业资产的机器属性、所述工业资产的资产生命周期管理属性或所述工业资产的应用性能测量属性中的至少一个。
9.根据权利要求6所述的***,其中,所述维护信息包括所述工业自动化***的性能数据、用于改进所述工业自动化***的性能的推荐、呈现所述运行时的数据的至少一部分的增强现实数据或者提供用于对所述工业自动化***执行维护操作的指示的维护工作流中的至少一个。
10.根据权利要求6所述的***,其中,
所述维护信息包括提供用于以使所述实际性能与所述预期性能一致的方式修改所述工业自动化***的指示的增强现实工作流表示,并且
所述工作流表示包括至少对维护问题的识别和用于校正所述维护问题的维护动作的序列。
11.一种用于开发工业应用的方法,包括:
由包括处理器的***在客户端设备上呈现集成开发环境界面;
由所述***经由与所述集成开发环境界面的交互来接收限定工业控制和监测***的各方面的工业设计输入;
由所述***基于所述工业设计输入来生成***项目数据,其中,所述生成包括生成可执行工业控制程序、工业可视化应用或工业设备配置数据中的至少两个;
由所述***基于对所述***项目数据的分析针对所述工业控制和监测***生成验证检查列表数据;以及
由所述***将所述验证检查列表数据作为验证检查列表呈现在客户端设备上,
其中,生成所述验证检查列表数据包括限定在允许所述工业控制和监测***的正常操作之前要对所述工业控制和监测***执行的测试,所述测试包括I/O布线核验、控制例程核验、视觉检查或手动操作者面板交互的核验中的至少一个。
12.根据权利要求11所述的方法,其中,生成所述验证检查列表数据包括基于所述工业控制和监测***在其中操作的工业纵向市场的验证要求来生成要对所述工业控制和监测***执行的一个或更多个验证检查。
13.根据权利要求11所述的方法,其中
呈现所述验证检查列表数据包括在所述客户端设备上呈现交互式验证检查列表,并且
所述方法还包括响应于与所述验证检查列表的交互来接收与所述验证检查列表的相应项相关联的数字签名。
14.根据权利要求13所述的方法,还包括由所述***针对所述验证检查列表跟踪所述数字签名和从其他客户端设备接收的其他数字签名的接收。
15.根据权利要求11所述的方法,还包括:
由所述***监测由所述工业控制和监测***在操作期间生成的运行时的数据;
由所述***识别由所述运行时的数据表示的实际性能与由所述***项目数据限定的预期性能的偏离;以及
由所述***基于对所述偏离的检测向客户端设备发送维护信息。
16.根据权利要求15所述的方法,其中,识别所述偏离包括
参考与由所述***项目数据限定的自动化对象相关联的维护属性,所述自动化对象表示相应工业资产,以及
基于所述维护属性确定所述预期性能。
17.一种其上存储有指令的非暂态计算机可读介质,所述指令响应于执行而使包括处理器的***执行操作,所述操作包括:
在客户端设备上呈现集成开发环境界面;
经由与所述集成开发环境界面的交互从所述客户端设备接收限定工业自动化***的控制设计方面的工业设计输入;
基于所述工业设计输入来生成***项目数据,其中,所述生成包括生成可执行工业控制程序、工业可视化应用或工业设备配置数据中的至少两个;
基于对所述***项目数据的分析来针对所述工业自动化***生成验证检查列表数据;以及
将所述验证检查列表数据作为验证检查列表显示在所述客户端设备上,
其中,生成所述验证检查列表数据包括限定在允许所述工业自动化***的正常操作之前要对所述工业自动化***执行的测试,所述测试包括I/O布线核验、控制例程核验、视觉检查或手动操作者面板交互的核验中的至少一个。
CN202010238979.1A 2019-09-26 2020-03-30 维护和调试 Active CN112558555B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/584,470 2019-09-26
US16/584,470 US11163536B2 (en) 2019-09-26 2019-09-26 Maintenance and commissioning

Publications (2)

Publication Number Publication Date
CN112558555A CN112558555A (zh) 2021-03-26
CN112558555B true CN112558555B (zh) 2024-02-13

Family

ID=70058205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010238979.1A Active CN112558555B (zh) 2019-09-26 2020-03-30 维护和调试

Country Status (3)

Country Link
US (2) US11163536B2 (zh)
EP (1) EP3798758B1 (zh)
CN (1) CN112558555B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3161301A1 (en) * 2019-11-12 2021-05-20 Bright Machines, Inc. A software defined manufacturing/assembly system
US11553618B2 (en) * 2020-08-26 2023-01-10 PassiveLogic, Inc. Methods and systems of building automation state load and user preference via network systems activity
US11467948B2 (en) * 2020-09-10 2022-10-11 Doppelio Technologies Private Limited Device virtualization and simulation of a system of things
CN113341870B (zh) * 2021-06-24 2022-08-16 上海交通大学宁波人工智能研究院 一种控制代码异常识别的***和方法
US11868121B2 (en) * 2021-07-20 2024-01-09 International Business Machines Corporation Self-learning manufacturing using digital twins
US11972398B2 (en) 2021-07-23 2024-04-30 Fiix Inc. Machine learning powered anomaly detection for maintenance work orders
WO2023031900A1 (en) * 2021-08-30 2023-03-09 Claroty Ltd. Automated detection and alert of misconfigured industrial automation devices
WO2023033792A1 (en) * 2021-08-31 2023-03-09 Siemens Corporation Just-in-time safety systems
CN113569328B (zh) * 2021-08-31 2024-02-23 重庆允丰科技有限公司 一种工厂三维模型搭建方法
US20240152437A1 (en) * 2022-11-04 2024-05-09 Schneider Electric Systems Italia S.P.A. Closed-loop input/output points testing
US20240176332A1 (en) * 2022-11-30 2024-05-30 Rockwell Automation Technologies, Inc. Industrial design environment automation controller program conversion and export
CN115934463A (zh) * 2022-12-09 2023-04-07 Abb瑞士股份有限公司 用于监测和维护电力设备的健康状态的方法和电子设备

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526522A (en) * 1991-03-08 1996-06-11 Nec Corporation Automatic program generating system using recursive conversion of a program specification into syntactic tree format and using design knowledge base
CN101009018A (zh) * 2007-01-17 2007-08-01 白涛 房屋所有权证、卡防伪核验查询信息***
CN101720098A (zh) * 2009-11-06 2010-06-02 ***通信集团云南有限公司 基站维护信息管理***及其应用方法
CN103792857A (zh) * 2012-10-31 2014-05-14 洛克威尔自动控制技术股份有限公司 可扩展的自动化***
CN104142660A (zh) * 2013-05-09 2014-11-12 洛克威尔自动控制技术股份有限公司 用于工业自动化的经由云平台的远程协助
CN104750062A (zh) * 2013-12-31 2015-07-01 洛克威尔自动控制技术股份有限公司 具有编辑器和图形对象移动可视化的工业自动化设备
CN104950741A (zh) * 2014-03-26 2015-09-30 洛克威尔自动控制技术股份有限公司 用于***连接的多控制器的配置管理接口
CN104977874A (zh) * 2014-04-04 2015-10-14 洛克威尔自动控制技术股份有限公司 工业使能移动设备
CN107077574A (zh) * 2014-10-20 2017-08-18 微软技术许可有限责任公司 用于客户端设备的信任服务
CN108073277A (zh) * 2016-11-08 2018-05-25 罗克韦尔自动化技术公司 用于工业自动化的虚拟现实和增强现实
CN108089696A (zh) * 2016-11-08 2018-05-29 罗克韦尔自动化技术公司 用于工业自动化的虚拟现实和增强现实
CN108769064A (zh) * 2018-06-26 2018-11-06 广东电网有限责任公司信息中心 实现漏洞治理的分布式资产识别及变更感知方法与***
CN109474607A (zh) * 2018-12-06 2019-03-15 连云港杰瑞深软科技有限公司 一种工业控制网络安全保护监测***
CN109558380A (zh) * 2017-09-27 2019-04-02 西门子股份公司 用于处理工业自动化环境中的工程对象的方法和***

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058617B1 (en) 1996-05-06 2006-06-06 Pavilion Technologies, Inc. Method and apparatus for training a system model with gain constraints
US6993456B2 (en) 1999-09-30 2006-01-31 Rockwell Automation Technologies, Inc. Mechanical-electrical template based method and apparatus
US6993745B1 (en) 2000-03-09 2006-01-31 Electronic Data Systems Corporation Method and system for modeling a legacy computer system
US7917863B2 (en) 2000-06-13 2011-03-29 National Instruments Corporation System and method for graphically creating a sequence of motion control operations
US6516451B1 (en) 2000-07-05 2003-02-04 Clarence Wayne Patin Standards-integrated design software
US7313609B1 (en) 2000-08-09 2007-12-25 Schneider Automation Inc. Method and apparatus for programming an automation device
US8131827B2 (en) 2001-05-09 2012-03-06 Rockwell Automation Technologies, Inc. PLC with web-accessible program development software
WO2003001376A1 (en) 2001-06-22 2003-01-03 Wonderware Corporation A customizable system for creating supervisory process control and manufacturing information applications
US6799718B2 (en) 2001-07-10 2004-10-05 Borland Software Corp. Development assistance for mixed-language sources
US6819960B1 (en) 2001-08-13 2004-11-16 Rockwell Software Inc. Industrial controller automation interface
US7500224B2 (en) 2002-11-01 2009-03-03 Microsoft Corporation Code blueprints
US20050187643A1 (en) 2004-02-19 2005-08-25 Pavilion Technologies, Inc. Parametric universal nonlinear dynamics approximator and use
US7650574B2 (en) 2004-05-11 2010-01-19 National Instruments Corporation Visually indicating problems found during programmatic analysis of a graphical program
US7650594B2 (en) 2004-05-27 2010-01-19 National Instruments Corporation Graphical program analyzer with framework for adding user-defined tests
US20060041440A1 (en) 2004-08-20 2006-02-23 International Business Machines Corporation Method, system and program product for managing a project
US7599897B2 (en) 2006-05-05 2009-10-06 Rockwell Automation Technologies, Inc. Training a support vector machine with process constraints
US7975233B2 (en) 2006-07-24 2011-07-05 National Instruments Corporation Automatic conversion of a textual language into a graphical program representation
US7934201B2 (en) 2006-10-17 2011-04-26 Artoftest, Inc. System, method, and computer readable medium for universal software testing
US8464209B2 (en) 2007-03-19 2013-06-11 Microsoft Corporation Using collaborative development information in a team environment
US20090064103A1 (en) 2007-09-04 2009-03-05 Shih Hsueh-Fu Method for editing programmer logic controller (plc) program
US7930639B2 (en) 2007-09-26 2011-04-19 Rockwell Automation Technologies, Inc. Contextualization for historians in industrial systems
US20090089234A1 (en) 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Automated code generation for simulators
WO2009062527A1 (en) 2007-11-13 2009-05-22 Telefonaktiebogalet Lm Ericsson (Publ) Technique for automatically generating software in a software development environment
US20100082133A1 (en) 2008-09-30 2010-04-01 Ics Triplex Isagraf Inc. Application builder for industrial automation
EP2177986A1 (en) 2008-09-30 2010-04-21 ICS Triplex ISaGRAF Inc. Application builder for industrial automation
US8661409B2 (en) * 2009-05-18 2014-02-25 National Instruments Corporation Editing a graphical data flow program in a browser
US9477936B2 (en) 2012-02-09 2016-10-25 Rockwell Automation Technologies, Inc. Cloud-based operator interface for industrial automation
US20130332212A1 (en) 2012-06-06 2013-12-12 Alon Cohen Methods and systems for developing an optimised operational system in a network
US20140013313A1 (en) 2012-07-03 2014-01-09 Johan Eker Editor/Development Tool for Dataflow Programs
US20140047413A1 (en) 2012-08-09 2014-02-13 Modit, Inc. Developing, Modifying, and Using Applications
WO2014092694A1 (en) 2012-12-11 2014-06-19 Hewlett-Packard Development Company, L.P. Provisioning tools for application development
US20140229389A1 (en) * 2013-02-14 2014-08-14 Rockwell Automation Technologies, Inc. Industrial automation social media paradigms
US20140337277A1 (en) 2013-05-09 2014-11-13 Rockwell Automation Technologies, Inc. Industrial device and system attestation in a cloud platform
US9786197B2 (en) 2013-05-09 2017-10-10 Rockwell Automation Technologies, Inc. Using cloud-based data to facilitate enhancing performance in connection with an industrial automation system
US9880820B2 (en) 2013-06-02 2018-01-30 Microsoft Technology Licensing, Llc Programming language with extensions using dynamic keywords
CN105159656A (zh) 2014-06-16 2015-12-16 上海宝信软件股份有限公司 Plc软件编程辅助设计方法
CN107077339B (zh) 2014-10-02 2021-09-14 西门子公司 利用紧密耦合逻辑和物理仿真的3d图形编辑器中的编程自动化
US10372107B2 (en) 2014-10-15 2019-08-06 Rockwell Automation Technologies, Inc. Custom properties in an application environment
US20160182309A1 (en) * 2014-12-22 2016-06-23 Rockwell Automation Technologies, Inc. Cloud-based emulation and modeling for automation systems
US11513477B2 (en) 2015-03-16 2022-11-29 Rockwell Automation Technologies, Inc. Cloud-based industrial controller
US11461936B2 (en) 2015-03-17 2022-10-04 Raytrx, Llc Wearable image manipulation and control system with micro-displays and augmentation of vision and sensing in augmented reality glasses
US10025287B2 (en) * 2015-03-30 2018-07-17 Rockwell Automation Germany Gmbh & Co. Kg Method for assignment of verification numbers
EP3101565A1 (en) * 2015-06-01 2016-12-07 Airbus Operations GmbH Aircraft assembly system
EP3304229B1 (en) 2015-06-04 2022-08-17 Siemens Aktiengesellschaft Method and system for generating plc code with a connectivity model
WO2016205800A1 (en) 2015-06-19 2016-12-22 Serious Simulations, Llc Processes systems and methods for improving virtual and augmented reality applications
KR102092721B1 (ko) 2016-03-23 2020-04-23 포그혼 시스템스 인코포레이티드 실시간 데이터플로우 프로그래밍에서 패턴 구동형 반응의 구성
GB201608576D0 (en) 2016-05-16 2016-06-29 Pro Intex It Ltd Functional behaviour test system and method
US20180025286A1 (en) 2016-07-25 2018-01-25 International Business Machines Corporation Detecting trends in evolving analytics models
US20180039905A1 (en) 2016-08-03 2018-02-08 International Business Machines Corporation Large scale distributed training of data analytics models
US20180052451A1 (en) 2016-08-19 2018-02-22 Rockwell Automation Technologies, Inc. Remote industrial automation site operation in a cloud platform
US10764255B2 (en) * 2016-09-21 2020-09-01 Rockwell Automation Technologies, Inc. Secure command execution from a cloud monitoring system to a remote cloud agent
WO2018132622A1 (en) 2017-01-11 2018-07-19 Taqtile Managing virtual reality objects
US20180246803A1 (en) 2017-02-28 2018-08-30 Ca, Inc. Targeted software testing
US10782668B2 (en) 2017-03-16 2020-09-22 Siemens Aktiengesellschaft Development of control applications in augmented reality environment
US10748443B2 (en) 2017-06-08 2020-08-18 Honeywell International Inc. Apparatus and method for visual-assisted training, collaboration, and monitoring in augmented/virtual reality in industrial automation systems and other systems
US10521612B2 (en) 2017-06-21 2019-12-31 Ca, Inc. Hybrid on-premises/software-as-service applications
US20190057548A1 (en) 2017-08-16 2019-02-21 General Electric Company Self-learning augmented reality for industrial operations
CN107463147A (zh) 2017-08-22 2017-12-12 北京天诚同创电气有限公司 Plc程序开发方法及装置
WO2019051492A1 (en) 2017-09-11 2019-03-14 Cubic Corporation TOOLS AND ARCHITECTURE OF IMMERSIVE VIRTUAL ENVIRONMENT (IVE)
US10445944B2 (en) 2017-11-13 2019-10-15 Rockwell Automation Technologies, Inc. Augmented reality safety automation zone system and method
CN109840085A (zh) 2017-11-29 2019-06-04 德阳市福利叔网络开发有限责任公司 一种基于人工智能的软件设计方法
US11023349B2 (en) 2017-12-15 2021-06-01 Aveva Software, Llc Load test framework
US10564955B2 (en) 2018-01-03 2020-02-18 Huawei Technologies Co., Ltd. Method to manage multiple versions of parts of a software application and to retire older versions in a dynamically updatable software system
US10635409B2 (en) 2018-01-15 2020-04-28 Cognizant Technology Solutions India Pvt. Ltd. System and method for improving software code quality using artificial intelligence techniques
WO2019136754A1 (zh) 2018-01-15 2019-07-18 深圳鲲云信息科技有限公司 人工智能处理装置的编译方法及***、存储介质及终端
US20190279132A1 (en) 2018-03-08 2019-09-12 General Electric Company Analytics core and aggregation
CN208314755U (zh) 2018-04-27 2019-01-01 李喜 一种人工智能开发平台和***
CN108829024B (zh) 2018-05-30 2020-10-27 广州明珞软控信息技术有限公司 一种plc程序生成方法及***
US10705511B2 (en) 2018-07-11 2020-07-07 Siemens Aktiengesellschaft Abstraction layers for automation applications
US10739763B2 (en) 2018-11-13 2020-08-11 Rockwell Automation Technologies, Inc. Industrial control system with predictive machine learning module
US11526777B2 (en) 2018-12-04 2022-12-13 Accenture Global Solutions Limited Interactive design and support of a reference architecture
CN109765836A (zh) 2019-02-02 2019-05-17 宁波吉利汽车研究开发有限公司 Plc程序的自动生成方法、装置和实现装置
US11048483B2 (en) 2019-09-24 2021-06-29 Rockwell Automation Technologies, Inc. Industrial programming development with an extensible integrated development environment (IDE) platform
US11733669B2 (en) 2019-09-27 2023-08-22 Rockwell Automation Technologies, Inc. Task based configuration presentation context
US20210096704A1 (en) 2019-09-27 2021-04-01 Rockwell Automation Technologies, Inc. User interface logical and execution view navigation and shifting

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526522A (en) * 1991-03-08 1996-06-11 Nec Corporation Automatic program generating system using recursive conversion of a program specification into syntactic tree format and using design knowledge base
CN101009018A (zh) * 2007-01-17 2007-08-01 白涛 房屋所有权证、卡防伪核验查询信息***
CN101720098A (zh) * 2009-11-06 2010-06-02 ***通信集团云南有限公司 基站维护信息管理***及其应用方法
CN103792857A (zh) * 2012-10-31 2014-05-14 洛克威尔自动控制技术股份有限公司 可扩展的自动化***
CN104142660A (zh) * 2013-05-09 2014-11-12 洛克威尔自动控制技术股份有限公司 用于工业自动化的经由云平台的远程协助
CN104750062A (zh) * 2013-12-31 2015-07-01 洛克威尔自动控制技术股份有限公司 具有编辑器和图形对象移动可视化的工业自动化设备
CN104950741A (zh) * 2014-03-26 2015-09-30 洛克威尔自动控制技术股份有限公司 用于***连接的多控制器的配置管理接口
CN104977874A (zh) * 2014-04-04 2015-10-14 洛克威尔自动控制技术股份有限公司 工业使能移动设备
CN107077574A (zh) * 2014-10-20 2017-08-18 微软技术许可有限责任公司 用于客户端设备的信任服务
CN108073277A (zh) * 2016-11-08 2018-05-25 罗克韦尔自动化技术公司 用于工业自动化的虚拟现实和增强现实
CN108089696A (zh) * 2016-11-08 2018-05-29 罗克韦尔自动化技术公司 用于工业自动化的虚拟现实和增强现实
CN109558380A (zh) * 2017-09-27 2019-04-02 西门子股份公司 用于处理工业自动化环境中的工程对象的方法和***
CN108769064A (zh) * 2018-06-26 2018-11-06 广东电网有限责任公司信息中心 实现漏洞治理的分布式资产识别及变更感知方法与***
CN109474607A (zh) * 2018-12-06 2019-03-15 连云港杰瑞深软科技有限公司 一种工业控制网络安全保护监测***

Also Published As

Publication number Publication date
CN112558555A (zh) 2021-03-26
US11163536B2 (en) 2021-11-02
US20210096824A1 (en) 2021-04-01
EP3798758A1 (en) 2021-03-31
EP3798758B1 (en) 2022-11-30
US20210405975A1 (en) 2021-12-30

Similar Documents

Publication Publication Date Title
CN112558555B (zh) 维护和调试
CN112559315B (zh) 用于自动化对象的测试框架
CN112558929B (zh) 用于开发或创建工业应用的***和方法及计算机可读介质
CN112558974B (zh) 用于协作开发工业应用的***、方法和计算机介质
CN112631210B (zh) 用于开发工业控制程序的***、编程方法及计算机介质
CN113495539B (zh) 基于云的协作工业自动化设计环境
US11947943B2 (en) Industrial automation smart object inheritance
CN112631555A (zh) 具有开放api的可扩展ide平台
EP4137937A1 (en) Industrial automation project library cross sharing
US20230152790A1 (en) System model smart object configuration
EP4057086A1 (en) Industrial automation smart object inheritance break and singleton creation
EP4060479A1 (en) Notifications from an industrial automation development environment
EP4134815A1 (en) Industrial automation smart object parent/child data collection propagation
CN115857379A (zh) 工业自动化项目设计遥测

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
GR01 Patent grant
GR01 Patent grant