CN107407918A - 利用app扩展可编程逻辑控制器 - Google Patents
利用app扩展可编程逻辑控制器 Download PDFInfo
- Publication number
- CN107407918A CN107407918A CN201680009734.3A CN201680009734A CN107407918A CN 107407918 A CN107407918 A CN 107407918A CN 201680009734 A CN201680009734 A CN 201680009734A CN 107407918 A CN107407918 A CN 107407918A
- Authority
- CN
- China
- Prior art keywords
- app
- plc
- programmable logic
- logic controller
- containers
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15116—Pc implements plc, in application program, plc instruction register
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
本发明涉及一种可编程逻辑控制器,包括处理器、PLC运行环境、装置存储器和app容器。PLC运行环境被配置成执行提供多个技能功能的控制器自动化程序。装置存储器包括多个app,其被配置成使用多个技能功能来执行一组离散的自动化功能。app容器与PLC运行环境在逻辑上分离,并被配置成为app提供运行时环境。
Description
相关申请的交叉引用
本申请要求在2015年2月12日提交的美国临时专利申请第62/115,410号的权益,该申请的全部内容通过引用合并于此。
技术领域
本发明大体涉及利用App运行时环境(App Runtime Environment)扩展可编程逻辑控制器(PLC)的系统、方法和装置,其中该App运行时环境配置成执行一个或多个离散软件应用,或“app”。例如,所公开的技术可用于增强控制器在不同自动化情况下的灵活性。
背景技术
可编程逻辑控制器(PLC)为在工业环境中使用的专用自动化装置。PLC被配置成执行连续收集输入装置状态数据的软件,以控制输出装置的状态。PLC通常包括三个主要部件:处理器(其包括易失性存储器)、包括应用程序的非易失性存储器以及用于连接到自动化系统中其他装置的输入/输出(I/O)端口。
有效运行和维护PLC的其中一个问题是传统的这些系统非常不灵活。具体地,一旦安装和配置了PLC,就很难修改PLC的行为和操作。PLC缺乏灵活性通常限制了装置所有者可以执行的定制水平。例如,装置所有者可购买若干经过编程以执行某些功能的PLC。随着时间的推移,装置所有者可能希望基于所有者业务的需求以及其他新的或不断变化的客户需求来修改或扩展该功能。对于常规系统,装置专家(例如,工程师)必须重新设计装置软件以执行所需的功能。然后,在PLC上安装重新设计的软件需要停止、更新和重新启动PLC。这种对软件更改的方法可能是昂贵的,因为工厂操作可能需要暂时停止,直到更新完成。
发明内容
通过提供与利用app扩展可编程逻辑控制器相关的方法、系统和装置,本发明的实施例解决和克服了上述一个或多个缺点和缺陷。简而言之,本文所述的技术使用App容器(App Container)和实时数据主干(RTDB)的组合来为控制器上的app提供运行环境。这种运行环境通过使处理更加模块化来增强控制器的灵活性。例如,通过使用本文所述的技术,App可以是无状态的,并且可以被添加、替换或移除到控制器而不影响其他app,从而提供在运行时的“即插即用”实施方案。
根据一些实施例,可编程逻辑控制器包括处理器、PLC运行环境、装置存储器和app容器。PLC运行环境被配置成执行提供多个技能功能的控制器自动化程序。装置存储器包括多个app,该多个app被配置成使用多个技能功能来执行一组离散的自动化功能。app容器与PLC运行环境在逻辑上分离,并被配置成为app提供运行时环境。该app容器可例如包括本地共享存储器,在扫描周期期间在执行app之前加载该本地共享存储器。例如响应于外部事件或根据扫描周期,可触发app的执行。
在一些实施例中,上述可编程逻辑控制器还包括实时数据主干,实时数据主干被配置成维护与多个技能功能和多个app相关联的状态信息。另外,可编程逻辑控制器可包括通信容器,通信容器被配置成促进在实时数据主干和一个或多个外部源之间的通信。这些外部源可包括例如第二可编程逻辑控制器中的第二实时数据主干。
在上述可编程逻辑控制器的一些实施例中,多个app包括一个或多个app序列,并且app容器被配置成执行一个或多个单线程调度程序中的一个或多个app序列中的每个。然后,app容器可按顺序执行包含在每个app序列中的app。在一个实施例中,每个app序列由不同的单线程调度程序执行。app还可包括一个或多个未排序的app,在与用于执行app序列的每个不同的单个线程调度程序不同的线程中,异步地执行一个或多个未排序的app。
根据其他实施例,第二类型的可编程逻辑控制器包括PLC运行环境、装置存储器、app容器的第一实例和app容器的第二实例。PLC运行环境被配置成执行提供多个技能功能的控制器自动化程序。装置存储器包括被配置成使用技能功能来执行一组离散的自动化功能的app。app容器的第一实例在逻辑上与PLC运行环境分离,并被配置成为app的第一子集提供第一运行时环境。app容器的第二实例也在逻辑上与PLC运行环境分离,并被配置成为app的第二子集提供第二运行时环境。app的第一和第二子集可例如分别包括周期同步的app和自由运行的app。在一些实施例中,上述第二类型的可编程逻辑控制器还包括实时数据主干,实时数据主干能够操作地耦合到app容器的第一实例和app容器的第二实例。该实时数据主干被配置成维护与app相关联的状态信息。此外,在一些实施例中,实时数据主干也包括与受控进程(即,I/O装置)相关的状态信息。
在上述第二类型的可编程逻辑控制器中,其中app容器的第一实例和app容器的第二实例可各自包括本地共享存储器,其中利用在控制器的扫描周期期间的app状态信息更新本地共享存储器。两个app容器的分区允许在不同的实施例中不同地执行app。例如,在一个实施例中,app的第一子集包括在不同的单线程调度程序中按顺序执行的app序列。然后,第二子集app可包括未排序的app,在与每个不同的单线程调度程序不同的线程中异步地执行该未排序的app。
根据其他实施例,可编程逻辑控制器包括PLC运行环境、一个或多个app容器和实时数据主干。在这些实施例中,PLC运行环境被配置成执行控制器自动化程序。一个或多个app容器被配置成为多个app提供运行时环境。实时数据主干维护与app相关联的状态信息,并且促进在多个app与PLC运行环境之间的通信。
根据以下描述的实施例的、参考了附图进行的详细描述,本发明的附加特征和优点将变得显而易见。
附图说明
从下面结合附图阅读的详细描述可以更好地理解本发明的上述和其他方面。出于描述本发明的目的,在附图中示出了当前优选的实施例,但是应理解,本发明不限于所公开的具体手段。附图中包括以下图:
图1提供了根据本发明的一些实施例如何将app集成到自动化系统中的示图;
图2示出了根据一些实施例的控制器;
图3示出了根据一些实施例的具有PLC环境的控制器和托管app的app容器;
图4示出了根据所公开的实施例的、用于控制器的以数据为中心的设计;
图5示出了根据一些实施例App容器如何支持同步的和异步的执行模型;
图6示出了根据一些实施例app容器使用App图像;
图7示出了如可在一些实施例中实现的关于异步App的时序图;
图8A提供了根据一些实施例PLC如何经由作为虚拟I/O的实时数据主干与App通信的示图;以及
图8B提供了根据一些实施例PLC如何经由作为虚拟S7通信机制的实时数据主干与App通信的示图。
具体实施方式
下面的公开内容根据几个实施例描述了本发明,实施例针对涉及使用一个或多个离散可执行软件应用(本文称为“app”)来扩展可编程逻辑控制器(PLC)的功能的方法、系统和装置。根据本文描述的不同实施例,App运行时环境安装在PLC上以促进执行app。此App运行时环境包括在逻辑上与PLC运行环境分离的App容器;因此,可以执行app而不影响PLC的功能。在一些实施例中,采用以数据为中心的设计,其中app和技能功能(SF)仅通过实时数据主干(RTDB)交互。此RTDB为通用数据存储库,其负责管理所有app/SF的已发布状态并提供例如持久性和历史服务。以此方式,App与其他app或SF脱离,并没有被通信端点绑定在一起。因此,通过使用本文所述的技术,可扩展和定制PLC的功能而不改变现有的PLC程序。
图1提供了根据本发明的一些实施例如何将app集成到自动化系统100中的示图。该示例在概念上将工业环境划分为生产层105、控制层110和IT层115。在常规系统中,大多数数据处理功能以及制造执行系统(MES)中的其他功能(诸如分析、工作流和资产管理)都在IT层115执行。然而,通过使用本文所述的技术,app被安装在控制层装置上,以将许多这些数据处理功能向下推到控制层110。在图1的示例中,控制层装置包括两个控制器110E和110F以及八个现场装置110A、110B、110C、110D、110G、110H、110I和110J。作为控制层装置,这些控制器和现场装置可用于在装置上直接执行离散自动化功能(例如,工程化),从而增加他们各自的机器和处理效率。
简而言之,从生产单元(例如,单元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的功能。
控制层110中的一个或多个装置包括能够执行app的App运行时环境(RTE)。这些应用可以执行各种功能。可由app执行的示例功能包括与产品工程、生产工程、试运行、感测/作用、控制、监测、优化、协作、诊断和商业智能中的一个或多个相关的任务。例如,在一些实施例中,每个控制层装置包括提供板载工程工具的App,其允许用户在不需要工作站工程程序的情况下进行基本配置和工程化。另外,由于这些app在控制层110上运行,所以他们可能会利用通常在较高层不可用的数据。例如,在一些实施例中,app可使用诸如控制知识、环境条件和服务事件的附加情境维度来丰富数据。这样可以根据数据分析获得具有更高置信度和更高质量的见解。另外的情境维度也可产生新的见解。此外,在一些实施例中,可在控制层110使用增强装置来扩展传统上在控制层装置中可用的功能。例如,在一些实施例中,在控制层110使用可编程自动化控制器(PAC)来将SCADA/MES功能共定位在作为PLC的相同的集成过程控制硬件上,同时保留图1所示的传统自动化架构。
图2示出了根据一些实施例的控制器200。该示例中的控制器200包括逻辑上彼此分离的PLC环境202和App RTE 204。PLC环境202和App RTE 204都被分成应用层212和技能层214。在应用层212,执行多个应用层app(AA1...、AAn和AAa。)每个技能功能和技能app可以在逻辑上与装置层216中的一个或多个装置相关(由Dx、Dy...Dz和D1、D2...DN表示)。这些装置可为例如I/O或IT装置或本领域中通常已知的任何其他装置。在图2中,元件之间的箭头表示逻辑关系。应指出的是,不能从App RTE 204直接访问由PLC控制的装置,并且反之亦然。
在技能层214中,App RTE包括多个技能app(由SA1、SA2...SAn表示),而PLC环境202包括多个技能功能(由SF1、SF2...SFN表示)。在此情况下,技能表示可重复使用的应用不可知功能,诸如生产模块的特定行为或能力、或控制器200的系统特征。技能可与功能块(FB)或功能调用(FC)一样精细化,或者可替代地,技能可包括一组更高级的操作,诸如连续功能图(CFC)、顺序功能图(SFC)或组织块(OB)。以此方式,可使用app编排这些技能将新功能添加到控制器200。技能app的示例包括关键性能指标(KPI)app和通信app。
图3示出了根据一些实施例具有PLC环境302的控制器300和托管app 306A、306B和306C的App容器304。App容器304具有保护控制器300适当运行以防止行为不当app的能力。App容器304的角色示例包括但不限于app的生命周期管理(例如,下载、启动、初始化、调度、停止和删除App)、app的安全沙盒、app访问PLC数据的安全和受控方式(例如,进程映射或数据库)、心跳监测和终止无响应app以及从崩溃的app回收资源。控制器300包括执行技能功能308A、308B、308C和308n的PLC环境302。另外,控制器300可以与I/O装置310A、310B、310C和310n交互。
图4示出了根据所公开的实施例用于控制器400的以数据为中心的设计。在该示例中,控制器400包括具有进程映射410和技能功能SF1、SF2...SNn的PLC环境402。另外,控制器400包括两个App容器403、404,每个App容器包括一个或多个app。支持App容器的多个实例允许app在控制器400中更灵活地构建和分组。例如,在一些实施例中,一个App容器403托管周期同步app并且其他App容器404托管自由运行的app。
如上所述,App方法的一个显着优点在于由于运行中即插即用的概念的灵活性。因此,可以下载并启动(或终止和移除)新的App而无需将系统停止。在图4的示例中,这通过以数据为中心的设计来实现,其中App容器403、404中的app和PLC环境402中的SF仅通过RTDB418交互。RTDB为通用数据存储库,其负责管理所有app/SF的已发布状态并提供例如持久性和历史服务。以此方式,App与其他app/SF脱离,并没有被通信端点绑定在一起。RTDB 418还可以与通信容器420通信,该通信容器然后可以与外部数据源或输出通信。例如,如图4所示,这些外部数据源可包括远程RTDB、网站或接口以及开放连接(OPC)接口。需注意,在某些实施例中,该数据驱动范例仅在App至App/SF交互中被强制实施。与系统部件(例如,App至容器、容器至RTDB、RTDB至PLC)以及系统部件之间的交互可能存在或不存在类似的约束,其可能涉及例如消息传递操作。
在一些实施例中,RTDB 418被实施为事件总线,该事件总线使用推送技术以低延迟方式将数据分发到App容器403、404中的app和PLC环境402中的SF。RTDB 418在概念上类似于证券交易所显示板。App和SF就像楼层交易者,调查板上可用的信息。这不是常规系统使用的常用事件总线范例。app和SF可使用应用程序编程接口(API)以使用基于事件的消息范例(诸如但不限于发布/订阅、点对点、和远程过程调用)来分发信息。在一些实施例中,除了基本通信之外,RTDB 418可提供其他数据处理功能,诸如监测数据传输、记录数据传输、产生基于数据传输的警告以及促进关于数据传输的安全通信。本领域已知的通用事件总线可适用于RTDB 418,或者另选地,事件总线可以被开发成特别在控制器400中使用。例如,当现有解决方案不能满足控制器400的延迟要求时,可使用后一方法。
图5示出了根据一些实施例控制器500的一部分,其示出App容器505如何支持同步的和异步的执行模型。App容器505提供执行序列中的一组app 506A、506B、506C...506n的机制。属于相同序列的App由单线程调度程序532按照在配置时间预定义的顺序按顺序执行。这种类型的执行模型通常用于自动化和控制应用,诸如材料流控制。App容器505可托管不止一个这样的、每个由其自己的调度程序执行的序列。除了按顺序执行的app之外,App容器505具有根据未排序的执行模型执行的App 507。在触发时,该App 507在其自身的线程中异步地运行(例如通过诸如定时器的触发器或RTDB中值的更改)。例如,在执行以IT为中心的app,诸如产生转移结束报告中,可使用未排序的执行。
为提供一组强大的选项,App容器505可提供可用于执行各个app的各种模型。因此,可基于App的功能来选择执行模型。在一些实施例中,App容器505可被配置成支持用于执行app的其他技术。例如,app可在配置时间被定义为同步或异步的。然后,App容器505可在与调度程序相同的线程中执行同步app(例如,使用上面讨论的顺序执行模型)。相反,App容器505可在异步运行到调度程序的单独线程中执行每个异步App(例如,使用上面讨论的未排序的执行模型)。在一些实施例中,可基于App的处理要求来选择性地应用同步执行。例如,包含在由调度程序532执行的序列中的所有app将会在扫描结束之前完成。为了平衡对更短周期时间的需求,长时间运行的app可被配置成一旦它们按顺序运行就在自己的线程中异步执行。
在一些实施例中,App容器505提供用于App调度程序的两种执行模式:事件驱动或基于扫描。例如,可以使用事件驱动序列来支持面向IT的应用。例如,转移结束事件可能会触发App1生成报告、App2维护次序等的序列。在其他实施例中,可以使用基于周期、扫描的执行,以例如用于其中相应的进程被持续监测的自动化和控制应用。例如,在每次扫描中,App1确定机器的状态,App2确定机器资源可用性,App3确定可以处理输入缓冲区中的哪些工件,等等。
图6示出了根据一些实施例控制器600的一部分,该部分示出了App容器606使用App镜像640。该示例扩展了上面关于图5讨论的一般概念。自动化功能通常涉及以预定义的序列循环执行app。例如,在实时材料流控制中,在完成工件操作后,App1将根据生产工作流确定下一个要执行的操作,App2将确定哪个生产模块用于下一个操作,App3将选择运输手段等等。为了连续性,App容器606实现在开始执行app之前在扫描开始时利用来自RTDB 618的主要当前数据更新的App镜像640(例如,本地共享存储器)。这可确保同一序列中的所有app读取相同的输入值,并与RTDB 618中的后续更改分离。
图7示出了如可在一些实施例中实现的相对于异步App的时序图700。为了确定性,app容器实现了一个时间分片的调度程序。调度程序的周期时间为所配置的时间片的倍数。默认情况下,调度程序会在开始下次扫描时利用当前扫描的更改了的app镜像值来更新RTDB。这确保了时间等距输出对于诸如运动控制的自动化任务至关重要。异步app 706按顺序执行,并从app容器中的app镜像中读取其输入。由于后续app不会依靠于输出的时间安排,所以它们可直接写入RTDB。
图8A提供了根据一些实施例PLC如何经由作为虚拟I/O的实时数据主干与App通信的示图。在该示例中,PLC 802经由PLC I/O机制以安全和受控的方式与RTDB 818同步地交换数据。这里,过程镜像810中的数据将被映射到作为虚拟I/O(其可以类似于到物理过程836的物理I/O)的RTDB 818中的数据。
图8B提供了根据一些实施例PLC如何经由作为虚拟S7通信机制的实时数据主干与App通信的示图。该示例可应用于在RTDB 818和PLC 802之间的批量数据的异步交换。在图8B中,S7通信机制(例如BSEND/BRCV)用于在PLC 802和人机接口(HMI)834之间的数据交换。这里,仅可实现虚拟S7通信协议。因此,该协议仅在协议栈的应用层而不是物理层实现。
本文所描述的由可编程逻辑控制器使用的处理器可包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)或本领域已知的任何其他处理器。更一般来说,本文使用的处理器为用于执行存储在计算机可读介质上的用于执行任务的机器可读指令并且可包括硬件和固件中的任何一个或其组合的装置。处理器也可包括存储可用于执行任务的机器可读指令的存储器。处理器通过操纵、分析、修改、转换或发送由可执行程序或信息装置使用的信息和/或通过将信息路由到输出装置来对信息进行操作。例如,处理器可使用或包括计算机、控制器或微处理器的功能,并且使用可执行指令进行调节,以执行不由通用计算机执行的特殊功能。处理器可与能够在其间进行交互和/或通信的任何其他处理器耦合(电和/或包括可执行部件)。用户接口处理器或发生器为包括用于产生显示图像或其部分的电子电路或软件或二者的组合的已知元件。用户界面包括使得用户能够与处理器或其他装置进行交互的一个或多个显示图像。
本文所描述的、包括但不限于可编程逻辑控制器和相关的计算基础设施的各种装置可包括用于保存根据本发明的实施例编程的指令的并且用于包含数据结构、表、记录或本文所述的其他数据的至少一个计算机可读介质或存储器。本文所用的术语“计算机可读介质”是指参与向一个或多个处理器提供指令以供执行的任何介质。计算机可读介质可采取许多形式,包括但不限于非暂态、非易失性介质、易失性介质和传输介质。非易失性介质的非限制性实例包括光盘、固态驱动器、磁盘和磁光盘。易失性介质的非限制性实例包括动态存储器。传输介质的非限制性示例包括同轴电缆、铜线和光纤,包括构成系统总线的电线。传输介质也可采取诸如在无线电波和红外数据通信期间产生的那些声波或光波的形式。
如本文所使用的,可执行应用包括代码或机器可读指令,其用于调节处理器以例如响应于用户命令或输入来实现诸如操作系统、情境数据获取系统或其他信息处理系统的预定功能。可执行程序为用于执行一个或多个特定过程的代码片段或机器可读指令、子例程或代码的其他不同部分或可执行应用的一部分。这些过程可包括接收输入数据和/或参数、对接收到的输入数据执行操作和/或响应于接收到的输入参数执行功能并提供所得的输出数据和/或参数。
本文的功能和处理步骤可响应于用户命令自动、或全部或部分地执行。自动执行的动作(包括步骤)响应于一个或多个可执行指令或装置操作而执行,无需用户直接引发动作。
在本申请中,术语“包含”和“包括”及其派生词意指包括但不限于:术语“或”是包容性的,意指和/或;短语“与...相关联”和“与之相关联”及其派生词可指的是包括、被包含在内、与之互连、包含、被包含在内、连接到或与其连接、耦合到或与之耦合、通信、配合、交错、并列、接近、被绑定至或与其绑定、具有、或具有类似的属性;以及术语“控制器”是指控制至少一个操作的任何装置、系统或其部分,无论此装置在硬件、固件、软件或其中的至少两者的一些组合中实现。应当指出的是,与任何特定控制器相关联的功能可为集中式的或分布式的,无论其是本地的还是远程的。在本专利文献中提供了某些单词和短语的定义,并且本领域普通技术人员应理解,此定义适用于许多先前以及未来使用此类定义的单词和短语的情况(如果不是大多数情况)。尽管一些术语可包括各种各样的实施例,但是所附权利要求可明确地将这些术语限制到特定实施例。
附图的系统和处理不是排他性的。可根据本发明的原理导出其他系统、处理和菜单以实现相同的目的。尽管已经参考特定实施例描述了本发明,但是应理解,本文所示和所述的实施例和变体仅用于说明的目的。在不脱离本发明的范围的情况下,本领域技术人员可实现对当前设计的修改。如本文所述,可以使用硬件部件、软件组件和/或其组合来实现各种系统、子系统、代理、管理器和进程。本文中的任何权利要求不得根据35U.S.C.112第六段的规定进行解释,除非使用短语“用于..的装置”明确叙述了该内容。
Claims (22)
1.一种可编程逻辑控制器,包括:
处理器;
PLC运行环境,配置成执行控制器自动化程序,该控制器自动化程序提供多个技能功能;
装置存储器,包括多个app,其中所述多个app配置成使用所述多个技能功能执行一组离散的自动化功能;以及
app容器,所述app容器在逻辑上与所述PLC运行环境分离,其中所述app容器配置成为所述多个app提供运行时环境。
2.根据权利要求1所述的可编程逻辑控制器,还包括实时数据主干,所述实时数据主干配置成维护与所述多个技能功能、所述多个app、以及由所述可编程逻辑控制器控制的一个或多个进程相关联的状态信息。
3.根据权利要求2所述的可编程逻辑控制器,还包括通信容器,所述通信容器配置成促进所述实时数据主干与一个或多个外部源之间的通信。
4.根据权利要求3所述的可编程逻辑控制器,其中,所述一个或多个外部源包括在第二可编程逻辑控制器中的第二实时数据主干。
5.根据权利要求2所述的可编程逻辑控制器,其中,所述app容器包括本地共享存储器,并且所述app容器还配置成(i)在扫描周期期间在执行所述多个app之前更新所述本地共享存储器,以及(ii)紧接着在所述扫描周期之后的后续扫描周期开始时对所述实时数据主干写入任何更改。
6.根据权利要求1所述的可编程逻辑控制器,其中,所述多个app包括一个或多个app序列,并且所述app容器配置成执行一个或多个单线程调度程序中的所述一个或多个app序列中的每一个app序列。
7.根据权利要求6所述的可编程逻辑控制器,其中,所述app容器配置成按顺序执行被包含在所述一个或多个app序列中的每一个中的app。
8.根据权利要求7所述的可编程逻辑控制器,其中,所述一个或多个app序列中的每一个由不同的单线程调度程序执行。
9.根据权利要求8所述的可编程逻辑控制器,其中,所述多个app包括一个或多个未排序的app,所述一个或多个未排序的app在与每个不同的单线程调度程序不同的线程中异步地执行,所述每个不同的单线程调度程序用于执行所述一个或多个app序列。
10.根据权利要求1所述的可编程逻辑控制器,其中,所述app容器配置成响应于接收到外部事件的指示而触发所述多个app的至少第一部分的执行。
11.根据权利要求10所述的可编程逻辑控制器,其中,所述app容器配置成根据扫描周期执行所述多个app的第二部分。
12.一种可编程逻辑控制器,包括:
PLC运行环境,配置成执行控制器自动化程序,所述控制器自动化程序提供多个技能功能;
装置存储器,包括多个app,其中所述多个app配置成使用所述多个技能功能执行一组离散的自动化功能;
app容器的第一实例,所述第一实例在逻辑上与所述PLC运行环境分离,其中所述app容器的所述第一实例配置成为所述多个app的第一子集提供第一运行时环境;
所述app容器的第二实例,所述第二实例在逻辑上与所述PLC运行环境分离,其中所述app容器的所述第二实例配置成为所述多个app的第二子集提供第二运行时环境。
13.根据权利要求12所述的可编程逻辑控制器,其中,
所述多个app的所述第一子集包括一个或多个周期同步的app;并且所述多个app的所述第二子集包括一个或多个自由运行的app。
14.根据权利要求12所述的可编程逻辑控制器,还包括实时数据主干,所述实时数据主干能够操作地耦合到所述app容器的所述第一实例和所述app容器的所述第二实例,其中所述实时数据主干配置成维护与所述多个app和由所述可编程逻辑控制器控制的一个或多个进程相关联的状态信息。
15.根据权利要求14所述的可编程逻辑控制器,还包括通信容器,所述通信容器配置成促进在所述实时数据主干与一个或多个外部源之间的通信。
16.根据权利要求14所述的可编程逻辑控制器,其中,所述app容器的所述第一实例和所述app容器的所述第二实例各自包括本地共享存储器,其中在所述可编程逻辑控制器的扫描周期期间利用app状态信息更新所述本地共享存储器。
17.根据权利要求16所述的可编程逻辑控制器,其中,对所述本地共享存储器的任何更改在紧接着所述扫描周期之后的后续扫描周期开始时,被写到所述实时数据主干。
18.根据权利要求12所述的可编程逻辑控制器,其中,所述多个app的所述第一子集包括一个或多个app序列,并且所述app容器的所述第一实例配置成执行在不同的单线程调度程序中的所述一个或多个app序列中的每一个app序列。
19.根据权利要求18所述的可编程逻辑控制器,其中,所述app容器的所述第一实例配置成按顺序执行被包含在所述一个或多个app序列中的每一个app序列中的app。
20.根据权利要求19所述的可编程逻辑控制器,其中,所述app容器的所述第一实例还配置成在与所述一个或多个app序列中的每一个app序列中所包含的其他app的执行分开的线程中,异步地执行多个app中的至少一个。
21.根据权利要求18所述的可编程逻辑控制器,其中,所述多个app的所述第二子集包括一个或多个未排序的app,所述一个或多个未排序的app在与每个不同的单线程调度程序不同的线程中异步地执行,所述每个不同的单线程调度程序用于执行所述一个或多个app序列。
22.一种可编程逻辑控制器,包括:
PLC运行环境,配置成执行控制器自动化程序;
一个或多个app容器,配置成为多个app提供运行时环境;以及
实时数据主干,配置成维护与所述多个app相关联的状态信息并促进在所述多个app与所述PLC运行环境之间的通信。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562115410P | 2015-02-12 | 2015-02-12 | |
US62/115,410 | 2015-02-12 | ||
PCT/US2016/017655 WO2016130873A1 (en) | 2015-02-12 | 2016-02-12 | Extending a programmable logic controller with apps |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107407918A true CN107407918A (zh) | 2017-11-28 |
CN107407918B CN107407918B (zh) | 2022-07-26 |
Family
ID=55404868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680009734.3A Active CN107407918B (zh) | 2015-02-12 | 2016-02-12 | 利用app扩展可编程逻辑控制器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10365626B2 (zh) |
EP (1) | EP3256915B1 (zh) |
CN (1) | CN107407918B (zh) |
WO (1) | WO2016130873A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542069A (zh) * | 2018-12-17 | 2019-03-29 | 上海交通大学 | 一种基于时间与事件混合驱动的分布式控制系统及方法 |
CN111143251A (zh) * | 2019-12-31 | 2020-05-12 | 惠州市德赛西威汽车电子股份有限公司 | 一种数据中心控制系统及其方法 |
CN111324094A (zh) * | 2018-12-17 | 2020-06-23 | 西门子股份公司 | 用于自动系统的工作流的动态适配的方法 |
CN112104782A (zh) * | 2019-06-18 | 2020-12-18 | 施耐德电器工业公司 | 用于提供移动应用的方法 |
TWI732466B (zh) * | 2020-02-25 | 2021-07-01 | 財金資訊股份有限公司 | 應用程式介面集中沙盒及其操作方法、電腦可讀取之記錄媒體及電腦程式產品 |
CN116710857A (zh) * | 2021-06-25 | 2023-09-05 | 三菱电机株式会社 | 输入单元、控制系统、通信方法及程序 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2638000C1 (ru) | 2017-02-08 | 2017-12-08 | Акционерное общество "Лаборатория Касперского" | Способ контроля системы исполнения программируемого логического контроллера |
EP3361332B1 (en) * | 2017-02-08 | 2019-08-07 | AO Kaspersky Lab | System and method of monitoring of the execution system of a programmable logic controller |
US10845996B2 (en) | 2017-05-24 | 2020-11-24 | Red Hat, Inc. | Managing data throughput for shared storage volumes using variable volatility |
CN107463195B (zh) * | 2017-08-02 | 2023-08-15 | 南阳师范学院 | 基于自定义web页面的养殖场环境远程监控系统 |
WO2019066883A1 (en) * | 2017-09-29 | 2019-04-04 | Siemens Aktiengesellschaft | DEPLOYMENT OF READY-TO-USE DECLARATIVE SECURITY FUNCTIONALITY FOR ENGINEERING PLATFORM |
US11754991B2 (en) * | 2018-10-25 | 2023-09-12 | SMP Logic Systems, LLC | Cloud-controlled manufacturing execution system (CLO-cMES) for use in pharmaceutical manufacturing process control, methods, and systems thereof |
US10635605B2 (en) * | 2018-03-13 | 2020-04-28 | International Business Machines Corporation | Shared memory inter-enclave communication |
US10705511B2 (en) * | 2018-07-11 | 2020-07-07 | Siemens Aktiengesellschaft | Abstraction layers for automation applications |
US10768923B2 (en) | 2019-01-29 | 2020-09-08 | Salesforce.Com, Inc. | Release orchestration for performing pre release, version specific testing to validate application versions |
US11003434B2 (en) | 2019-01-29 | 2021-05-11 | Salesforce.Com, Inc. | Cloud services release orchestration with a reusable deployment pipeline |
US10776099B2 (en) * | 2019-01-29 | 2020-09-15 | Salesforce.Com, Inc. | Release orchestration for cloud services |
CN110398936A (zh) * | 2019-07-26 | 2019-11-01 | 大连海心信息工程有限公司 | 一种手机app换热站控制系统 |
EP4040243A1 (en) * | 2021-02-09 | 2022-08-10 | Siemens Aktiengesellschaft | Plc-based support for zero-downtime upgrades of control functions |
CN115857418B (zh) * | 2023-02-28 | 2023-05-02 | 深圳华龙讯达信息技术股份有限公司 | 一种基于耦合设计的可编程逻辑控制系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1667534A (zh) * | 2004-03-11 | 2005-09-14 | 欧姆龙株式会社 | 同步控制器 |
CN101187869A (zh) * | 2006-11-22 | 2008-05-28 | Sap股份公司 | 用户接口协作框架 |
CN101855109A (zh) * | 2008-06-06 | 2010-10-06 | 克劳迪奥·R·巴拉德 | 用于通过使用电力/数据骨干网络集成多个模块的系统 |
CN102708033A (zh) * | 2011-01-28 | 2012-10-03 | 霍尼韦尔国际公司 | 优化基于条件的健康维护系统的性能的方法和可重配置系统 |
CN102929814A (zh) * | 2012-11-08 | 2013-02-13 | 广西工学院 | Plc输入采集与读取信息映像存储控制器 |
WO2013191684A1 (en) * | 2012-06-19 | 2013-12-27 | Siemens Aktiengesellschaft | Remote hmi panel having location based operational restrictions |
CN103649918A (zh) * | 2011-05-16 | 2014-03-19 | Abb研究有限公司 | 在线动态分配和配置分布式控制系统中应用的方法和系统 |
CN104350435A (zh) * | 2012-04-13 | 2015-02-11 | 西门子公司 | Plc平台上用于设备状态监控、诊断以及时间-故障/服务预测的嵌置预报 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE431584T1 (de) * | 2005-05-27 | 2009-05-15 | Charles Machine Works | Bestimmung der position eines fernbedienungsanwenders |
US9244455B2 (en) * | 2007-09-10 | 2016-01-26 | Fisher-Rosemount Systems, Inc. | Location dependent control access in a process control system |
US20110260581A1 (en) * | 2010-04-27 | 2011-10-27 | Sikorsky Aircraft Corporation | Flexible Phased Array Sensor |
WO2015171030A1 (en) * | 2014-05-08 | 2015-11-12 | Telefonaktiebolaget L M Ericsson (Publ) | Web application managment |
EP3243110B1 (en) * | 2015-01-09 | 2020-08-19 | Siemens Aktiengesellschaft | Provisioning of control layer applications for use in industrial control environments |
-
2016
- 2016-02-10 US US15/040,565 patent/US10365626B2/en active Active
- 2016-02-12 WO PCT/US2016/017655 patent/WO2016130873A1/en active Application Filing
- 2016-02-12 CN CN201680009734.3A patent/CN107407918B/zh active Active
- 2016-02-12 EP EP16705699.3A patent/EP3256915B1/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1667534A (zh) * | 2004-03-11 | 2005-09-14 | 欧姆龙株式会社 | 同步控制器 |
CN101187869A (zh) * | 2006-11-22 | 2008-05-28 | Sap股份公司 | 用户接口协作框架 |
CN101855109A (zh) * | 2008-06-06 | 2010-10-06 | 克劳迪奥·R·巴拉德 | 用于通过使用电力/数据骨干网络集成多个模块的系统 |
CN102708033A (zh) * | 2011-01-28 | 2012-10-03 | 霍尼韦尔国际公司 | 优化基于条件的健康维护系统的性能的方法和可重配置系统 |
CN103649918A (zh) * | 2011-05-16 | 2014-03-19 | Abb研究有限公司 | 在线动态分配和配置分布式控制系统中应用的方法和系统 |
CN104350435A (zh) * | 2012-04-13 | 2015-02-11 | 西门子公司 | Plc平台上用于设备状态监控、诊断以及时间-故障/服务预测的嵌置预报 |
WO2013191684A1 (en) * | 2012-06-19 | 2013-12-27 | Siemens Aktiengesellschaft | Remote hmi panel having location based operational restrictions |
CN102929814A (zh) * | 2012-11-08 | 2013-02-13 | 广西工学院 | Plc输入采集与读取信息映像存储控制器 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542069A (zh) * | 2018-12-17 | 2019-03-29 | 上海交通大学 | 一种基于时间与事件混合驱动的分布式控制系统及方法 |
CN111324094A (zh) * | 2018-12-17 | 2020-06-23 | 西门子股份公司 | 用于自动系统的工作流的动态适配的方法 |
CN112104782A (zh) * | 2019-06-18 | 2020-12-18 | 施耐德电器工业公司 | 用于提供移动应用的方法 |
CN111143251A (zh) * | 2019-12-31 | 2020-05-12 | 惠州市德赛西威汽车电子股份有限公司 | 一种数据中心控制系统及其方法 |
TWI732466B (zh) * | 2020-02-25 | 2021-07-01 | 財金資訊股份有限公司 | 應用程式介面集中沙盒及其操作方法、電腦可讀取之記錄媒體及電腦程式產品 |
CN116710857A (zh) * | 2021-06-25 | 2023-09-05 | 三菱电机株式会社 | 输入单元、控制系统、通信方法及程序 |
Also Published As
Publication number | Publication date |
---|---|
US10365626B2 (en) | 2019-07-30 |
EP3256915A1 (en) | 2017-12-20 |
WO2016130873A1 (en) | 2016-08-18 |
EP3256915B1 (en) | 2021-04-28 |
US20160239011A1 (en) | 2016-08-18 |
CN107407918B (zh) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107407918A (zh) | 利用app扩展可编程逻辑控制器 | |
EP3696622B1 (en) | Ai extensions and intelligent model validation for an industrial digital twin | |
EP3944034A1 (en) | Model-based design of linear synchronous motor transport systems | |
US8275680B2 (en) | Enabling transactional mechanisms in an automated controller system | |
EP2045684B1 (en) | Contextualization for historians in industrial systems | |
US10607466B2 (en) | Method to configure control system alarms by associating alarms to tags | |
CN108369533A (zh) | 软件定义自动化系统的集中化管理 | |
CN109656782A (zh) | 可视化调度监控方法、装置及服务器 | |
US7263598B2 (en) | Deterministic real time hierarchical distributed computing system | |
CN1766771A (zh) | 用于工业自动化的可升级和灵活的信息安全 | |
CN111506401B (zh) | 自动驾驶仿真任务调度方法、装置、电子设备及存储介质 | |
CN105745585A (zh) | 卸载人机交互任务 | |
EP3114538B1 (en) | Optimized method for sorting alarms | |
CN110569113A (zh) | 分布式任务的调度方法及系统、计算机可读存储介质 | |
CN103792857A (zh) | 可扩展的自动化系统 | |
US11592797B2 (en) | Control program and method for operating an engineering system for an industrial process automation system | |
US8301273B2 (en) | Method for providing functions in an industrial automation system, control program and industrial automation system | |
CN103699104B (zh) | 一种死锁避免控制方法、装置和自动化生产系统 | |
CN101449221B (zh) | 允许过程控制系统中的非确定性执行的系统和方法 | |
EP3032362A1 (en) | Automatic generation of hardware configuration for an automation system | |
CN114066409A (zh) | 一种服务构件的流水线自动编排方法及装置 | |
CN113254200A (zh) | 资源编排方法及智能体 | |
US20230297080A1 (en) | Tag driven data pipelines in an industrial automation environment | |
Le et al. | Application for Managing YAML Template for Kubernetes | |
Ploetzeneder et al. | Rethinking PLCs: Industrial Ethernet for Large-Scale Real-Time Distributed Control Applications |
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 |