CN110716510A - 用于自动化应用的抽象层 - Google Patents

用于自动化应用的抽象层 Download PDF

Info

Publication number
CN110716510A
CN110716510A CN201910626621.3A CN201910626621A CN110716510A CN 110716510 A CN110716510 A CN 110716510A CN 201910626621 A CN201910626621 A CN 201910626621A CN 110716510 A CN110716510 A CN 110716510A
Authority
CN
China
Prior art keywords
automation
instructions
abstraction
automation device
production environment
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.)
Granted
Application number
CN201910626621.3A
Other languages
English (en)
Other versions
CN110716510B (zh
Inventor
哈特穆特·路德维希
库尔特·迪尔克·贝滕豪森
赫尔曼·弗里德里克
王凌云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of CN110716510A publication Critical patent/CN110716510A/zh
Application granted granted Critical
Publication of CN110716510B publication Critical patent/CN110716510B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation
    • 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/4185Total 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 the network communication
    • G05B19/4186Total 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 the network communication by protocol, e.g. MAP, TOP
    • 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
    • G05B15/00Systems controlled by a computer
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/31From computer integrated manufacturing till monitoring
    • G05B2219/31082NDDS network data delivery service, producers and consumers model
    • 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/31From computer integrated manufacturing till monitoring
    • G05B2219/31368MAP manufacturing automation protocol
    • 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/31From computer integrated manufacturing till monitoring
    • G05B2219/31369Translation, conversion of protocol between two layers, networks
    • 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
    • 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/34Director, elements to supervisory
    • G05B2219/34263OLE object linking and embedding, OPC ole for process control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • General Factory Administration (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本发明涉及用于自动化应用的抽象层。用于通过抽象层实现自动化功能的系统包括控制应用和在运行时间环境中可执行的自动化设备抽象框架。控制应用被设计为使用一个或多个自动化功能与自动化设备通信。每个自动化功能包括一个或多个设备兼容的指令。在执行控制应用期间,自动化设备抽象框架接收设备兼容的指令和自动化设备的特定单元的指示。自动化设备抽象框架将设备兼容的指令转译为可在自动化设备的特定单元上执行的设备专用自动化指令。然后可将这些设备专用自动化指令发送到自动化设备的特定单元。

Description

用于自动化应用的抽象层
相关申请的交叉引用
本申请要求2018年7月11日提交的美国临时申请序列第62/696,470号的权益,该申请通过引用整体并入本文。
技术领域
本发明总体上涉及利用抽象层以允许以平台兼容的方式执行自动化功能的系统、方法和装置。所公开的技术可经应用以例如增强控制器对不同自动化场景的灵活性。
背景技术
自动化系统用于以系统方式控制机器和其他组件的操作。典型的自动化系统通常包括来自多个供应商的设备。每件设备都可使用供应商专用的编程语言、运行时间环境和协议。这使得整合设备的任务具有挑战性。例如,被设计为在来自特定供应商的设备上执行的自动化功能可无法在来自其他供应商的设备上执行。为了进一步使系统设计和集成复杂化,存在设备可使用的许多协议,以进行通信或用于与自动化系统的其他组件连接的其他活动。对于常规系统,对这些协议的支持必须被“硬编码”在自动化功能本身内;因此,使自动化功能更加依赖于特定系统实现方式。
为了减少开发和部署自动化功能所需的时间,期望提供将底层自动化系统和设备的实现细节抽象化的框架。
发明内容
本发明的实施例通过提供与通过软线连接的自动化功能在域之间使自动化设备和生产级细节抽象化的框架相关的方法、系统和装置来解决和克服上述缺点和缺陷中的一个或多个。
根据一些实施例,一种用于通过抽象层来实现自动化功能的系统包括控制应用和在运行时间环境中可执行的自动化设备抽象框架。控制应用被设计为使用一个或多个自动化功能与自动化设备通信。每个自动化功能包括一个或多个设备兼容的指令。在执行控制应用期间,自动化设备抽象框架接收设备兼容的指令和自动化设备的特定单元的指示。自动化设备抽象框架将设备兼容的指令转译为可在自动化设备的特定单元上执行的设备专用自动化指令。然后可将这些设备专用自动化指令发送到自动化设备的特定单元。
根据其他实施例,一种用于通过抽象层来实现自动化功能的系统包括控制应用和在运行时间环境中可执行的生产抽象框架。控制应用被设计为使用一个或多个自动化功能与自动化设备通信。每个自动化功能包括一个或多个生产环境兼容的指令。在执行控制应用期间,生产抽象框架接收生产环境兼容的指令和目标生产环境的指示。生产抽象框架将生产环境兼容的指令转译为可在目标生产环境中的自动化设备的特定单元上执行的生产环境专用自动化指令。然后可将生产环境专用自动化指令发送到自动化设备的特定单元。
根据其他实施例,一种用于通过抽象层来实现自动化功能的系统包括控制应用和运行时间环境。控制应用被设计为使用一个或多个自动化功能与自动化设备通信。每个自动化功能包括与自动化设备和生产环境兼容的指令。运行时间环境包括自动化设备抽象层,其将指令的至少一部分转译成可在自动化设备的特定单元上执行的设备专用自动化指令。运行时间环境还包括生产抽象层,其将指令的至少一部分转译成可由目标生产环境中的自动化设备的特定单元执行的生产环境专用自动化指令。
附图说明
通过参考附图进行的说明性实施例的以下详细描述,本发明的其他特征和优点将变得显而易见。
当结合附图阅读时,通过以下详细描述可最好地理解本发明的前述和其他方面。出于说明本发明的目的,在附图中示出目前优选的实施例,然而应该理解,本发明不限于所公开的具体手段。附图中包括以下图:
图1提供自动化系统的图示,其中,可实现本发明的一些实施例;
图2说明用于自动化系统抽象的框架,正如它可在一些实施例中实现那样。
具体实施方式
以下公开内容根据针对用于抽象自动化设备的框架的方法、系统和装置的若干实施例来描述本发明。如下面进一步详细描述的,前述框架允许开发“自动化功能”。每个自动化功能包括用于以通用(即,非设备专用)方式执行自动化任务的一组指令。本文描述的框架的目标之一是抽象化而不是替换不同计算系统的要求。例如,自动化设备可实现工业标准协议,诸如DDS、OPC UA或MTConnect。本文描述的框架将这些协议的细节抽象为开发者可用于开发自动化功能的接口,该自动化功能兼容于由代码在其上执行的底层硬件所使用的协议。
图1提供自动化系统100的图示,其中,可实现本发明的一些实施例。此示例在概念上将工业环境划分为生产层105、控制层110和IT层115。简言之,从生产单元(例如,单元105A、105B、105C和105D)接收的数据由控制层装置传送到IT层115。IT层115包括执行各种后处理和存储任务的系统。图1的示例包括管理控制和数据采集(SCADA)服务器(或网关)组件115A。此组件115A允许操作员远程监视和控制在控制层110和生产层105处的装置。另外,SCADA服务器组件115A从下层105、110收集数据并处理该信息以使其可用于统一工厂知识仓库115B。统一工厂知识仓库115B提供对从下层105、110接收的数据的进一步处理和存储。统一工厂知识仓库115B可执行在本发明的不同实施例中的各种功能。例如,在一些实施例中,统一工厂知识仓库115B包括用于基于由下层105、110生成的数据来支持业务分析115C的功能性。
在常规系统中,在每层的自动化设备都是基于特定计算架构深度定制的。例如,在图1中,控制器层110处的自动化设备包括两个控制器110E、110F和八个现场装置110A、110B、110C、110D、110G、110H、110I和110J。自动化设备的每个单元可能具有不同的计算架构(例如,操作系统、网络协议的使用和支持、信息模型等)。必须以专门考虑计算架构要求的方式开发每个单元上可执行的软件。作为示例,如果控制器110E执行特定操作系统和一组网络协议,则开发者必须定制软件以使用这些项中的每个。因为软件是为控制器110E定制的,所以除非两个控制器具有相同的计算架构,否则软件不能够容易地在控制器110F上重复使用。
利用本文描述的技术,可在控制层110处的自动化设备的每个单元处安装预集成插件,以允许对底层自动化设备的计算架构的抽象化。每个插件都实现自动化系统抽象框架(下面将详细介绍)。简而言之,该框架允许开发人员通过连接多个自动化功能来创建自动化程序。该框架将这些自动化功能与它们在其上执行的自动化设备、或与它们交互的自动化设备断开联系。每个自动化功能兼容于例如实际自动化设备硬件(例如,PLC或IPC)、底层通信协议(例如,DDS或OPC UA)和现场总线协议(例如,工业以太网(Profinet)或以太网)。每个自动化功能也兼容于工业执行环境(例如,IEC 61131或IEC 61499)。在框架的每一层都构建抽象层,以有利于自动化功能和自动化设备的关系解除。
图2说明用于自动化系统抽象的框架200,正如它可在一些实施例中实现那样。框架200的核心是在运行时间环境中执行的两个抽象层215、220。一旦构建抽象层215、220,为自动化功能编写的控制应用代码可在各处地方和每处地方运行。抽象层215、220可部署在例如PC上,基于云的计算环境中,或者在任何供应商专用的运行时间平台环境上。因为抽象层215、220为一个或多个自动化功能提供公共接口,所以相同的控制代码可在自动化设备的任何单元上运行。
自动化设备抽象层215包括将自动化设备225A、225B、225C、225D、225E、225F的不同功能特性抽象化的组件215A、215B、215C。简而言之,操作系统抽象组件215A将依赖于操作系统的功能性抽象化。作为简单的示例,假设控制器225A使用基于Windows的操作系统,而控制器225B使用基于UNIX的操作系统。这两种操作系统之间的基本操作和系统基元不同。操作系统抽象组件215A从自动化功能接收通用功能调用,并将该功能调用转译为适用于目标自动化设备的操作系统专用的功能调用。通信抽象组件215B以类似的方式操作,不同之处在于关于诸如DDS,OPC,TCP,MQTT等的通信协议,而信息抽象组件215C在可使用的不同信息模型之间转译信息。
应当注意,在每种情况下,抽象组件215A、215B、215C不实现操作系统、通信协议等的功能性;而是抽象组件215A、215B、215C隐藏已经存在的详情。因此,自动化设备抽象层215不实现自动化功能所需的实际功能;相反,自动化设备抽象层215预先集成现有的解决方案和标准。通过抽象,对功能性进行建模,这使得底层解决方案/标准可交换。因为这些通信协议中的每个都是预先集成的,所以开发人员可同时使用所有或部分的混合,无需任何编程工作以及很少或无配置工作。
自动化设备抽象层215与平台不同。平台从头开始构建并且基于标准或专有技术;它只会扩增。相反,自动化设备抽象层215位于自动化功能和由这些功能使用的自动化设备之间。自动化设备抽象层215允许在自动化功能和设备之间进行交换。像平台一样,自动化设备抽象层215可扩增和缩减,但与平台不同,自动化设备抽象层215也可左右扩增(growleft and right)以支持新的自动化功能和/或自动化设备。
生产抽象层220以类似于自动化设备抽象层215的方式操作,但是在于在生产环境的细节的背景下。站抽象组件220A类似于操作系统抽象组件215A,因为其将站的组装过程和其他活动的细节抽象化。位置抽象组件220B将关于生产环境的任何位置专用细节抽象化,并且产品抽象组件220C将关于正在生产的产品的细节抽象化。
开发人员通过选择开发环境205在工程层210处操作。通常,选择开发环境205可为本领域中已知的任何开发环境(例如,支持C、Java、Matlab、Python等)。例如,在一个实施例中,选择开发环境205是西门子全集成自动化(TIA)入口。工程层210包括组件210A、210B、210C,其有利于生成利用自动化设备抽象层215和生产抽象层220的能力的程序。
生产组合器组件210A允许使用一个或多个自动化功能来创建程序。可通过连接多个自动化功能来实现控制应用或其他自动化程序。自动化功能是“软线连接”在一起的。即,不是通过功能调用直接将自动化功能链接在一起,而是使用自动化设备抽象层215和生产抽象层220作为中介允许在整个软件架构随时间推移而进展时的更多灵活性。此外,因为自动化功能是平台兼容的,并且可在支持可重复使用自动化功能的抽象层215、220的任何设备上运行,并且可例如被创建和存储于在线市场中。在一些实施例中,生产组合器组件210A可包括允许自动化功能经软线连接的具有“拖放”或类似功能性的GUI,从而有利于快速开发自动化应用。
一旦通过生产组合器组件210A开发自动化程序,应用封装器组件210B就在自动化设备的一个或多个单元上部署该程序。这将自动化功能组合成可在自动化设备的目标单元上执行的一个或多个文件。在一些实施例中,用户可直接向应用封装器组件210B提供目标单元,使得该应用封装器组件210B可识别适当的编译器等。在其他实施例中,应用封装器组件210B可基于描述自动化设备在其中运行的系统的配置文件来自动检测目标计算机。
人机界面(HMI)生成器组件210C可用于生成可在生产环境中的自动化设备上显示的GUI和其他HMI。HMI生成器组件210C分析自动化功能,以确定应经由HMI向用户显示哪些信息。在一些实施例中,开发者可在自动化功能中添加具体代码以指示应该输出的值。例如,在一个实施例中,存在允许应该经由HMI输出的开发者的类型定义(例如,声明整数的“hmi_integer”)。在其他实施例中,可使用以类似于打印语句的方式起作用的功能调用。HMI生成器组件210C解析代码以检测这些项并相应地生成HMI。在一些实施例中,HMI生成器组件210C使用多个预生成的模板来生成HMI。HMI生成器组件210C可例如基于需要显示的值的类型来选择模板。例如,可为3个整数值预先生成模板;当HMI生成器组件210C发现自动化功能需要显示3个整数值时,此模板可被利用。一旦生成HMI,它就可例如经由HMI生成器组件210C和显示装置(图2中未示出)之间的连接来部署。另选地,应用封装器组件210B可用于将HMI包括在可部署到生产环境中的显示单元的插入件中。
自动化设备225A、225B、225C、225D、225E、225F的每个单元包括插件组件(图2中标记为“PI”)。每个插件组件安装在自动化设备的特定单元处,该插件组件有利于自动化设备的特定单元与运行时间环境之间的通信,该运行时间环境执行自动化设备抽象层215和生产抽象层220。在一些实施例中,运行时间环境在自动化设备本身的特定单元上执行。例如,控制器225A可执行提供运行时间环境的应用。在其他实施例中,运行时间环境可在经由一个或多个网络连接到自动化设备的特定单元的计算系统上执行。
多种技术可被用于实现运行时间环境。例如,在一些实施例中,运行时间环境包括为自动化设备的特定单元和生产环境定制的虚拟机。可将自动化功能编译成可在虚拟机中执行的应用。然后,虚拟机可使用自动化设备抽象层215和生产抽象层220的功能性来解译所述应用的每个指令并如有需要,进行转译。另外,虚拟机可使用即时(JIT)编译器将应用的代码编译为在执行运行时间环境的自动化设备上可执行的本机机器代码。当JIT编译器执行编译过程时,它根据需要使用自动化设备抽象层215和生产抽象层220的功能性以插入任何设备专用自动化指令或生产环境专用指令。
在一些实施例中,根据需要递增地且独立地下载自动化功能(AF)。因此,应用可被理解为在给定时间点的所有部署的AF的聚合体。即,当程序员希望使用AF时,程序员可键入描述(例如,名称、签名等),然后可从远程源检索相应的AF。在一些实施例中,可在运行时间应用按需部署的概念。例如,部署到自动化设备的代码可不包括用于AF本身的目标代码;相反,代码可包括对AF的参考,该参考可在运行时间被解析并且用于从远程源检索AF。在一些实施例中,对AF的参考可为显式的(例如,网络地址)。在其他实施例中,参考仅包括AF的名称或其他识别信息。然后,运行时间环境的组件(例如,前述虚拟机)可包括使组件能够从远程资源检索所标识AF的功能性。例如,上面讨论的虚拟机可配置有包括AF的服务器列表。在检测到AF时,联系服务器以检索AF。检索后,运行时间环境可按指定执行AF。
本文描述的由可编程逻辑控制器使用的处理器可包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)或本领域中已知的任何其他处理器。更一般地,本文使用的处理器是用于执行存储在计算机可读介质上的机器可读指令的用于执行任务的装置,并且可包括硬件和固件中的任何一个或硬件和固件的组合。处理器还可包括存储可执行以执行任务的机器可读指令的存储器。处理器通过操纵、分析、修改、转换或发送信息以供可执行过程或信息装置使用,和/或通过将信息路由到输出装置来对信息起作用。处理器可使用或包括例如计算机、控制器或微处理器的能力,并且可被使用可执行指令来调节以执行不由通用计算机执行的特殊用途功能。处理器可与任何其他处理器耦合(以电的方式和/或以包括可执行组件的方式),其中,任何其他处理器能够在其间交互和/或通信。用户接口处理器或发生器是包括电子电路或软件或两者的组合的已知元件,用于生成显示图像或其部分。用户界面包括使得用户能够与处理器或其他装置交互的一个或多个显示图像。
本文描述的各种装置包括但不限于可编程逻辑控制器并且相关计算基础设施可包括至少一个计算机可读介质或存储器,用于保存根据本发明实施例编程的指令并且用于包含数据结构、表格、记录或本文描述的其他数据。如本文使用的术语“计算机可读介质”是指参与向一个或多个处理器提供指令以供执行的任何介质。计算机可读介质可采用许多形式,包括但不限于非暂时性、非易失性介质、易失性介质和传输介质。非易失性介质的非限制性示例包括光盘、固态驱动器、磁盘和磁光盘。易失性介质的非限制性示例包括动态存储器。传输介质的非限制性示例包括同轴电缆、铜导线和光纤,包括构成系统总线的导线。传输介质也可采用声波或光波的形式,诸如在无线电波和红外数据通信期间产生的那些。
如本文所使用的,可执行应用包括代码或机器可读指令,该代码或机器可读指令例如作为用户命令或输入的响应用于调节处理器以实现预定功能,诸如操作系统、上下文数据采集系统或其他信息处理系统的那些预定功能。可执行过程是用于执行一个或多个特定过程的代码段或机器可读指令的片段、子例程或代码的其他不同部分或可执行应用的一部分。这些过程可包括接收输入数据和/或参数,对接收的输入数据执行运算和/或响应于接收的输入参数来执行功能,以及提供结果输出数据和/或参数。
本文的功能和处理步骤可响应于用户命令自动地、全部地或部分地执行。自动执行的活动(包括步骤)响应于一个或多个可执行指令或装置操作被执行,无需用户直接启动活动。
在本申请中,术语“包括”和“包含”及其派生词意指包含但不限于;术语“或”是包容性意义和/或;短语“与之相关联”和“与其相关联”的及其衍生词可意指包括,包含在其中,与之互连,含有,含有在……内,连接到或与之连接,耦合到或与之耦合,可与之通信,与之配合,交错,并置,接近于,结合到或与之结合,具有,具有……性质等;并且术语“控制器”意指控制至少一个操作的任何装置、系统或其部分,无论这类装置是以硬件、固件、软件还是其中至少两个的某种组合实现的。应当注意,与任何特定控制器相关联的功能性可为集中式或分布式(无论是以本地方式还是以远程方式)。贯穿专利文件中提供对某些单词和短语的定义,并且本领域普通技术人员将理解,这类定义将许多(如果不是大多数)实例应用于这类定义的单词和短语的先前和未来用途。虽然一些术语可包括各种的实施例,但是所附权利要求可将这些术语明确地限制于具体实施例。
附图的系统和过程不是排他性的。可根据本发明的原理导出其他系统、过程和菜单以实现相同的目的。尽管已经参考特定实施例描述本发明,但是应该理解,本文示出和描述的实施例和变型仅用于说明目的。在不脱离本发明的范围的情况下,本领域技术人员可实现对当前设计的修改。如本文所述,可使用硬件组件、软件组件和/或其组合来实现各种系统、子系统、代理人程序、管理器和过程。本文中的权利元素都不应根据35U.S.C 112(f)的规定来解释,除非使用短语“用于……的手段”明确叙述该元素。

Claims (10)

1.一种通过抽象层来实现自动化功能的系统,所述系统包括:
控制应用,被设计为使用一个或多个自动化功能与自动化设备通信,其中,每个所述自动化功能包括一个或多个设备兼容的指令;
自动化设备抽象框架,能够在运行时间环境中执行,其中,所述自动化设备抽象框架被配置为:
在执行所述控制应用期间,接收设备兼容的指令和自动化设备的特定单元的指示;
将所述设备兼容的指令转译为能够在所述自动化设备的所述特定单元上执行的设备专用自动化指令,
将所述设备专用自动化指令发送到所述自动化设备的所述特定单元。
2.根据权利要求1所述的系统,还包括:
插件组件,安装在所述自动化设备的所述特定单元上,所述插件组件有利于所述自动化设备的所述特定单元与所述自动化设备抽象框架之间的通信。
3.根据权利要求1所述的系统,其中,(a)所述自动化设备的所述特定单元由执行操作系统的控制器来控制;并且(b)所述自动化设备抽象框架包括操作系统抽象组件,所述操作系统抽象组件用于将所述设备兼容的指令转译成能够由所述操作系统执行的设备专用指令。
4.根据权利要求1所述的系统,其中,(a)所述自动化设备的所述特定单元能够使用通信协议经由网络来访问;并且(b)所述自动化设备抽象框架包括通信抽象组件,所述通信抽象组件用于使用所述通信协议在所述网络上发送所述设备兼容的指令。
5.根据权利要求1所述的系统,其中,所述自动化设备抽象框架包括产品组合器组件,所述产品组合器组件被配置为基于由用户经由图形用户界面请求的功能性而自动创建所述自动化功能。
6.一种用于通过抽象层实现自动化功能的系统,所述系统包括:
控制应用,所述控制应用被设计为使用一个或多个自动化功能与自动化设备通信,其中,每个自动化功能包括一个或多个生产环境兼容的指令;
生产抽象框架,能够在运行时间环境中执行,其中,所述生产抽象框架被配置为:
在执行所述控制应用期间,接收生产环境兼容的指令和目标生产环境的指示;
将所述生产环境兼容的指令转译为能够在所述目标生产环境中的自动化设备的特定单元上执行的生产环境专用自动化指令,
将所述生产环境专用自动化指令发送到所述自动化设备的所述特定单元。
7.根据权利要求6所述的系统,其中,(a)所述自动化设备的所述特定单元与所述目标生产环境中的特定站进行交互,并且(b)所述生产抽象框架包括站抽象组件,所述站抽象组件被配置为将所述生产环境兼容的指令的至少一部分转译成用于与所述目标生产环境中的所述特定站交互的站专用指令。
8.根据权利要求6所述的系统,其中,(a)所述目标生产环境位于特定地理位置;并且(b)所述生产抽象框架包括位置抽象组件,所述位置抽象组件被配置为将所述生产环境兼容的指令的至少一部分转译成用于访问在所述特定地理位置处的一个或多个资源的位置专用指令。
9.根据权利要求6所述的系统,其中,(a)所述目标生产环境被配置为生产特定产品;并且(b)所述生产抽象框架包括位置抽象组件,所述位置抽象组件被配置为将所述生产环境兼容的指令的至少一部分转译成用于与所述特定产品交互的产品专用指令。
10.根据权利要求6所述的系统,其中,所述生产抽象框架包括产品组合器组件,所述产品组合器组件被配置为基于由用户经由图形用户界面请求的功能性而自动创建所述自动化功能。
CN201910626621.3A 2018-07-11 2019-07-11 用于自动化应用的抽象层 Active CN110716510B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862696470P 2018-07-11 2018-07-11
US62/696,470 2018-07-11
US16/119,006 US10705511B2 (en) 2018-07-11 2018-08-31 Abstraction layers for automation applications
US16/119,006 2018-08-31

Publications (2)

Publication Number Publication Date
CN110716510A true CN110716510A (zh) 2020-01-21
CN110716510B CN110716510B (zh) 2023-12-22

Family

ID=67437663

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910626621.3A Active CN110716510B (zh) 2018-07-11 2019-07-11 用于自动化应用的抽象层

Country Status (7)

Country Link
US (1) US10705511B2 (zh)
EP (1) EP3594767A1 (zh)
JP (1) JP6899871B2 (zh)
KR (1) KR102233353B1 (zh)
CN (1) CN110716510B (zh)
BR (1) BR102019014309A2 (zh)
RU (1) RU2729209C1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11048483B2 (en) 2019-09-24 2021-06-29 Rockwell Automation Technologies, Inc. Industrial programming development with an extensible integrated development environment (IDE) platform
US10942710B1 (en) * 2019-09-24 2021-03-09 Rockwell Automation Technologies, Inc. Industrial automation domain-specific language programming paradigm
US11042362B2 (en) 2019-09-26 2021-06-22 Rockwell Automation Technologies, Inc. Industrial programming development with a trained analytic model
US11163536B2 (en) 2019-09-26 2021-11-02 Rockwell Automation Technologies, Inc. Maintenance and commissioning
US11392112B2 (en) 2019-09-26 2022-07-19 Rockwell Automation Technologies, Inc. Virtual design environment
US11733687B2 (en) 2019-09-26 2023-08-22 Rockwell Automation Technologies, Inc. Collaboration tools
US11080176B2 (en) 2019-09-26 2021-08-03 Rockwell Automation Technologies, Inc. Testing framework for automation objects
KR102242622B1 (ko) * 2020-02-19 2021-04-23 한국과학기술원 스마트 공장을 위한 솔루션 제공 방법 및 시스템
CN113495162A (zh) * 2020-03-20 2021-10-12 竑腾科技股份有限公司 自动光学检测设备的控制系统
US11308447B2 (en) 2020-04-02 2022-04-19 Rockwell Automation Technologies, Inc. Cloud-based collaborative industrial automation design environment
JP2023151976A (ja) * 2022-04-01 2023-10-16 オムロン株式会社 サーバ装置、情報モデルの提供方法、及び情報モデルの提供プログラム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040025173A1 (en) * 2002-04-24 2004-02-05 Gil Levonai Interaction abstraction system and method
US7203740B1 (en) * 1999-12-22 2007-04-10 Intel Corporation Method and apparatus for allowing proprietary forwarding elements to interoperate with standard control elements in an open architecture for network devices
CN101627377A (zh) * 2007-03-09 2010-01-13 微软公司 从操作系统中抽象出操作环境
US7725205B1 (en) * 2006-09-21 2010-05-25 Novellus Systems, Inc. Apparatus and methods for providing a homogenous I/O interface for controlling a heterogenous mixture of hardware I/O systems
US20110022198A1 (en) * 2006-09-29 2011-01-27 Rockwell Automation Technologies, Inc. Layered interface in an industrial environment
US20130339928A1 (en) * 2012-06-18 2013-12-19 Microsoft Corporation Adaptive portable libraries
US20140107994A1 (en) * 2012-10-15 2014-04-17 International Business Machines Corporation Enabling reuse of unit-specific simulation irritation in multiple environments
CN104571005A (zh) * 2014-11-17 2015-04-29 上海申美饮料食品有限公司 一种基于通用适配器的自动化生产控制系统及方法
US20160067864A1 (en) * 2014-09-05 2016-03-10 Accenture Global Services Limited Self-adaptive device intelligence as a service enterprise infrastructure for sensor-rich environments

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1154297C (zh) * 1993-07-30 2004-06-16 英国电讯公司 具有监视或控制功能的通信系统
US5862391A (en) * 1996-04-03 1999-01-19 General Electric Company Power management control system
US20030235211A1 (en) 2002-06-24 2003-12-25 Honeywell International Inc. Field abstraction layer
US20060271255A1 (en) * 2004-12-30 2006-11-30 Teradyne, Inc. System and method for vehicle diagnostics and prognostics
WO2012010216A2 (de) 2010-07-23 2012-01-26 Siemens Aktiengesellschaft Konfigurieren eines energieautomatisierungsgerätes
US20130201316A1 (en) * 2012-01-09 2013-08-08 May Patents Ltd. System and method for server based control
US9946244B2 (en) * 2014-08-25 2018-04-17 Siemens Aktiengesellschaft Intelligent programmable logic controller
CN107077117B (zh) * 2014-10-29 2019-10-01 西门子公司 基于上下文知识的自动压缩算法选择和参数调节
WO2016068929A1 (en) * 2014-10-30 2016-05-06 Siemens Aktiengesellschaft Using soft-sensors in a programmable logic controller
CN107250932B (zh) * 2014-11-18 2020-09-15 西门子公司 可编程逻辑控制器及其中的语义情境化方法
EP3243110B1 (en) 2015-01-09 2020-08-19 Siemens Aktiengesellschaft Provisioning of control layer applications for use in industrial control environments
US10365626B2 (en) * 2015-02-12 2019-07-30 Siemens Aktiengesellschaft Extending the functionality of a programmable logic controller (PLC) with apps without changing the PLC programming
EP3286655A4 (en) * 2015-04-18 2018-12-12 INTEL Corporation Multimodal interface
US20160378089A1 (en) 2015-06-24 2016-12-29 Siemens Aktiengesellschaft Logical Position Sensor
US10809692B2 (en) * 2015-06-24 2020-10-20 Siemens Aktiengesellschaft Control contextualization and reasoning about control
US10409254B2 (en) * 2015-07-16 2019-09-10 Siemens Aktiengesellschaft Knowledge-based programmable logic controller with flexible in-field knowledge management and analytics
WO2017027012A1 (en) * 2015-08-11 2017-02-16 Siemens Aktiengesellschaft Rich contextualization of automation data
CN111367187B (zh) * 2015-08-27 2023-10-24 江森自控泰科知识产权控股有限责任公司 用于改进对分布式网络中的传感器流数据的处理的方法
US9971610B2 (en) 2016-06-20 2018-05-15 Telefonaktiebolaget Lm Ericsson (Publ) Distributed application execution based on device-specific support for platform-independent device functions
US10642603B2 (en) * 2018-01-16 2020-05-05 Nutanix, Inc. Scheduling upgrades in distributed computing systems

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203740B1 (en) * 1999-12-22 2007-04-10 Intel Corporation Method and apparatus for allowing proprietary forwarding elements to interoperate with standard control elements in an open architecture for network devices
US20040025173A1 (en) * 2002-04-24 2004-02-05 Gil Levonai Interaction abstraction system and method
US7725205B1 (en) * 2006-09-21 2010-05-25 Novellus Systems, Inc. Apparatus and methods for providing a homogenous I/O interface for controlling a heterogenous mixture of hardware I/O systems
US20110022198A1 (en) * 2006-09-29 2011-01-27 Rockwell Automation Technologies, Inc. Layered interface in an industrial environment
CN101627377A (zh) * 2007-03-09 2010-01-13 微软公司 从操作系统中抽象出操作环境
US20130339928A1 (en) * 2012-06-18 2013-12-19 Microsoft Corporation Adaptive portable libraries
US20140107994A1 (en) * 2012-10-15 2014-04-17 International Business Machines Corporation Enabling reuse of unit-specific simulation irritation in multiple environments
US20160067864A1 (en) * 2014-09-05 2016-03-10 Accenture Global Services Limited Self-adaptive device intelligence as a service enterprise infrastructure for sensor-rich environments
CN104571005A (zh) * 2014-11-17 2015-04-29 上海申美饮料食品有限公司 一种基于通用适配器的自动化生产控制系统及方法

Also Published As

Publication number Publication date
US20200019147A1 (en) 2020-01-16
JP6899871B2 (ja) 2021-07-07
KR20200006939A (ko) 2020-01-21
BR102019014309A2 (pt) 2020-01-28
CN110716510B (zh) 2023-12-22
US10705511B2 (en) 2020-07-07
JP2020009451A (ja) 2020-01-16
RU2729209C1 (ru) 2020-08-05
KR102233353B1 (ko) 2021-03-26
EP3594767A1 (en) 2020-01-15

Similar Documents

Publication Publication Date Title
CN110716510B (zh) 用于自动化应用的抽象层
US12001818B2 (en) Extensible IDE platform with open APIs
EP3798756A1 (en) Industrial automation domain-specific language programming paradigm
US11481313B2 (en) Testing framework for automation objects
US11042362B2 (en) Industrial programming development with a trained analytic model
EP3798758B1 (en) System, method and medium for generating system project data
US11226605B2 (en) Provisioning of control layer applications for use in industrial control environments
EP4152110A1 (en) Graphical and text based co-design editor for industrial automation projects
Rodrigues et al. Adaptive multi-agent system for a washing machine production line
Eichelberger et al. Asset Administration Shells, Configuration, Code Generation: A power trio for Industry 4.0 Platforms
US11003517B2 (en) Device-based engineering system for programmable logic controllers
EP4155903A1 (en) Industrial automation project design telemetry
Wheeler et al. Cross-platform mobile application development for smart services
CN117992077A (zh) 流水线部署方法、装置、设备和存储介质
KR20230151336A (ko) 통합 인공지능 학습 프레임워크 시스템 및 그 방법

Legal Events

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