CN114375428A - Plc通信的抽象 - Google Patents

Plc通信的抽象 Download PDF

Info

Publication number
CN114375428A
CN114375428A CN202080060606.8A CN202080060606A CN114375428A CN 114375428 A CN114375428 A CN 114375428A CN 202080060606 A CN202080060606 A CN 202080060606A CN 114375428 A CN114375428 A CN 114375428A
Authority
CN
China
Prior art keywords
plc
consumer
interface
memory
automation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080060606.8A
Other languages
English (en)
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 CN114375428A publication Critical patent/CN114375428A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/052Linking several PLC's
    • 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/31112Interface, SIOMS standard I-O for mechatronic systems, device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)

Abstract

目前集成工业生态***的方法,例如集成不同可编程逻辑控制器(PLC)供应商之间的自动化功能,缺乏效率和能力。在示例方面,消耗者,例如PLC,可以轮询多个PLC用于自动化功能。响应于轮询,包括限定多个专用存储区的存储器的第一PLC可以从注册表存储区检索接口,该注册表存储区存储关于多个专用存储区的提供者存储区中的可用接口的信息,使得消耗者发现该接口。消耗者可以绑定到接口,以便在自动化功能运行时在消耗者和第一PLC之间建立连接。在某些情况下,多个专用存储区进一步限定消耗者存储区。第一PLC可以在多个专用存储区的注册表存储区中跟踪与第一PLC相关联的可用接口。

Description

PLC通信的抽象
相关申请的交叉引用
本申请要求于2019年8月29日提交的美国临时申请序列号62/893,425的权益,其公开内容以引用的方式整体并入本文。
技术领域
背景技术
自动化***可以用来以***的方式控制机器和其他部件的运行。自动化***可以包括各种自动化领域,例如工厂自动化、过程自动化、楼宇自动化、能源自动化等。自动化***还可以包括来自多个供应商的设备。在某些情况下,自动化***中的设备和机器可能使用与其各自生态***相关联的不同机制,例如不同的运行环境、协议和编程语言(例如,特定于供应商的编程语言)。例如,自动化功能通常是特定于平台的和/或以专有方式实现的。因此,生成与其他自动化功能互操作的自动化功能可能很麻烦且很耗时。
具体地,自动化***通常包括来自不同供应商的可以包括用于连接的各种接口的可编程逻辑控制器。如此多的接口可能会造成互操作性方面的困难。例如,在自动化***中,在开发人员没有了解接口如何工作的详细信息,以便在程序之上开发应用程序协议的情况下,用高级编程语言(如C、C++、C#)编写的程序可能无法与给定的PLC进行互操作。作为进一步的示例,使给定的PLC与给定的程序应用互操作可以包括在PLC侧和程序应用(例如,C,C++,C#)侧编写适配器,以及调试和测试相应的通信路径。此外,该过程可能必须在每次接口更改时重复。
因此,本文认识到,当前集成工业生态***的方法,特别是将各种应用与各种PLC集成的方法,缺乏效率和能力。例如,***集成商经常需要开发用作不同应用程序和PLC之间的适配器的特殊软件。在这种情况下,适配器通常特定于一组特定的设备或通信信道,这会限制可重用性以及其他技术缺陷。
发明内容
本发明的实施例通过提供用于建立可编程逻辑控制器(PLC)之间的互操作性的方法、***和设备来解决并克服本文描述的一个或多个缺点或技术问题。
在示例方面,消耗者,例如PLC,可以轮询多个PLC用于自动化功能。响应于轮询,包括限定多个专用存储区的存储器的第一PLC可以从注册表存储区检索接口,该注册表存储区存储关于多个专用存储区的提供者存储区中的可用接口的信息,使得消耗者发现该接口。注册表存储区可以循环轮询相关PLC提供的自动化功能。当PLC提供给定接口(自动化功能)时,关于所提供接口的信息可以存储在注册表存储区中。消耗者可以绑定到接口,以便在自动化功能运行时在消耗者和第一PLC之间建立连接。在某些情况下,多个专用存储区限定提供者存储区、注册表存储区和消耗者存储区。例如,如果给定的PLC消耗接口,则PLC可以包括消耗者存储区。限定消耗者存储区和注册表存储区。第一PLC可以在多个专用存储区的注册表存储区中跟踪与第一PLC相关联的可用接口。因此,另一客户端可以轮询注册表存储区中的数据,以发现与提供者存储区和消耗者存储区相关联的位置信息。在各种示例中,第一PLC将与作为提供者运行的PLC相关联的接口存储在提供者存储区中,并将与作为消耗者运行的PLC相关联的接口存储在消耗者存储区中。绑定后,消耗者通过接口向第一PLC发送数据,以及PLC通过接口向消耗者发送数据。
此外,绑定后,可向第一PLC发送功能调用以执行自动化功能。
附图说明
当结合附图阅读时,从下面的详细描述可以最好地理解本发明的前述和其他方面。为了说明本发明,在附图中示出了目前优选的实施例,然而,可以理解,本发明不限于所公开的特定工具。附图中包括以下图:
图1是示出根据示例实施例的示例自动化***和用于该自动化***的示例用例的框图。
图2是示出根据示例实施例的另一示例***的框图,该***包括示例节点和具有用于承担提供者或消耗者角色的专用存储区的可编程逻辑控制器(PLC)。
图3是与图2中所示的PLC的示例功能调用(FC)相关联的状态机。
图4描述了根据示例实施例的可与图2所示的PLC相关联的示例FC块。
图5示出了根据示例实施例的可由用于与给定PLC相关联的接口的生成器模块生成的示例代码。
图6是描述根据示例实施例的包括一个或多个可编程逻辑控制器(PLC)的自动化***的示例操作的流程图。
图7示出了可实现本公开的实施例的计算环境的示例。
具体实施方式
首先,在当前集成自动化***,特别是将给定的可编程逻辑控制器(PLC)与给定的应用程序集成的方法中,开发人员通常需要识别PLC的可用协议,选择适合于应用程序的协议,并了解由PLC和应用程序限定的协议或接口的细节。在某些情况下,构建基本通信信道,这可能涉及发现或配置用于连接的给定PLC。例如,可能需要研究所发现的PLC以确定如何在应用程序和PLC之间交换数据。此外,可能需要开发应用协议和/或使其适配由PLC实现的业务逻辑。在某些情况下,构建通信信道可能需要用于PLC和应用程序的适配器。对于适配器,开发人员可能需要考虑编组和解编组(例如,将调用转换为特定布局中的数据)。然后可能需要测试信道和信道之上的应用层。此外,当应用程序的需求发生变化时,开发人员可能需要手动更改适配器。可替代地,或者另外,如果底层通信层不再支持应用程序的需求,开发人员可能需要重新开始。
本文描述的实施例解决了上述问题等,以便有效地将各种应用程序与各种PLC集成。参考图1,示例自动化***100限定多个生态***或领域。具体地,示例***100可包括产品生态***108、生产生态***102、生产生态***104和生产生态***106。示例工业***100可以限定工厂或为工厂的一部分,例如用于制造或组装各种产品的工厂。根据该示例,生产生态***102包括龙门站(gantry station)112,生产生态***104包括机器人站114,以及生产生态***106包括运输站116,尽管可以理解,生产生态***可以根据需要包括任何站。还将理解,虽然示出了示例自动化***100的四个生态***,但本文描述的自动化***可以包括任何数量的生态***,并且所有这样的***都被认为在本公开的范围内。
每个生态***可以包括物理资产,物理资产可以由被配置为控制相应物理资产的自动化设备来控制。这种自动化设备可以包括一个或多个可编程逻辑控制器(PLC)101。例如,龙门站可包括龙门PLC101a,运输站可包括运输PLC101b,机器人站114可包括机器人PLC101c。PLC,以及由此自动化设备,可以特定于相应生态***中的一个或多个物理资产。自动化***100可以被配置成执行各种自动化功能。自动化***100还可以限定抽象层110,其抽象(公开)可由自动化设备和物理资产执行的自动化功能。
仍然参考图1,抽象层(abstraction layer)110可以从自动化设备,具体是PLC101抽象能够限定自动化功能的各种功能特征。自动化功能可以软连接在一起,使得抽象层110可以充当各种开发环境和各种自动化设备之间的中介。因此,自动化***100,具体是抽象层110,可以提供对应于物理组件的功能,例如自动化设备和/或物理资产。在这样做时,开发人员可以在一个或多个开发环境(例如,他们选择的开发环境)中操作,以经由抽象层110使用各种自动化功能,并且自动化功能可以由自动化设备和物理资产执行。具体地,抽象层110可以使来自不同领域的自动化功能能够彼此互操作。开发环境可以限定一种或多种语言或平台,例如Java、C、Matlab、Python、Siemens全集成自动化(TIA)门户等。因此,各种开发环境可以通过抽象层110利用来自各种领域的各种自动化设备。
根据各种实施例,抽象层110可包括本文进一步描述的生成器模块或自动化代码生成器114。抽象层110可以在运行环境中执行,以便提供到自动化功能的接口。抽象层110以及由此的生成器模块114可以在服务器、基于云的计算环境、特定于供应商的运行平台环境或诸如计算机***510的其他工业计算***上实现。
工业自动化***100的每个生产生态***102、104和106可以提出或提供各种生产技能,以便执行各种工业任务,例如拾取和放置、运输、组装等。产品生态***108可以使用或消耗生产生态***102、104和106中的一个或多个来组装或制造一个或多个产品。示例产品包括在具有PLC的生产厂中生产的各种产品,例如但不限于车辆部件(例如,轮胎、车门、发动机安装件)、食品和饮料(例如,混合成分、用于装瓶厂的控制机器人)、医药产品等,尽管应当理解,根据本文描述的实施例可以生产任何需要机器操作的产品,并且所有这些产品都被认为在本公开的范围内。
继续参考图1,在某些情况下,龙门站112、机器人站114和运输站116可分别由不同的设备供应商提供,这可产生本文提出的互操作性问题以及其他挑战。例如,生产生态***102可以包括与由工业自动化***100组装或制造的产品相关联的自动化设备,例如产品控制器118。例如,产品控制器118可以是基于PC的,并且可以由第一编程语言(例如C)编程。产品控制器118可以在给定产品的生命周期期间执行各种活动。例如,在设计状态期间,可以在产品控制器118内建立给定产品的期望状态。期望状态可以指产品或机器在生产过程中或生产后的整体状况。期望状态可以指示各种信息,例如,绝对位置信息、相对于其他物理资产的位置信息、温度限制、压力水平限制等。期望状态可以从到产品控制器118的输入来确定,例如但不限于工艺单(BOP)、材料单(BOM)、材料的性质和3D模型(例如,CAD模型)或产品的其他物理模型。
在某些情况下,可以根据用户输入手动定义产品的各个方面。在某些示例中,处理是部分自动化或全部自动化的。在示例实施例中,产品控制器118包括用于从标准BOP和BOM文档中提取相关信息的文本处理实用程序。产品控制器118还可以包括用于理解产品的物理模型或制造环境的处理实用程序。在示例中,在从输入提取相关信息之后,该信息可用于设置由产品控制器118管理的产品的期望状态的值。在一些实施例中,可以基于编码到产品控制器118中的一组规则来设置这些值。在其他示例中,产品控制器118可包括经训练以基于类似于所提取信息的信息生成输入的一个或多个机器学习模型。
在生产状态期间,作为进一步的示例,产品控制器118可以通过与配置成监视产品的传感器通信,来控制其产品的生产。基于从传感器接收的信息,产品控制器118可以将实际产品状态与期望状态进行比较。基于比较,在某些情况下,产品控制器118可以例如经由抽象层110识别工业自动化***100内的机器或功能,以实现期望状态。例如,产品控制器可以经由抽象层110调用龙门站112、机器人站114或运输站116的各种自动化设备以实现特定的期望状态。
作为实际示例,在汽车的装配期间,具体是在将车门安装到汽车车身上期间,生成生态***102可以包括与汽车相对应的PC或产品控制器118,并且因此可以知道或确定在装配过程的各个步骤中与汽车的期望状态有关的信息。这样的信息可以包括,例如,但不限于,车门相对于车身的位置。如本文进一步描述的,生产生态***102的PC或产品控制器118可经由抽象层110与生产生态***通信,以完成汽车的装配。
龙门站112可由以不同于产品控制器118的第一编程语言的第二编程语言编程的自动化设备控制。例如,龙门PLC 101a可以限定来自Siemens(例如,SIMATIC S7-1517)的以第二编程语言(例如,TIA门户工程环境中的IEC61131)编程的一个或多个可编程逻辑控制器。继续该示例,机器人站114可以由来自Kuka的自动化设备来控制,例如以不同于第一和第二编程语言的第三编程语言(例如,基于Java的)编程的Kuka机器人PLC 101c。运输站116可由运输PLC101b控制,其可来自MagneMotion并提供以第四编程语言(例如,基于Web或基于C++)编程的控制节点。因此,不受特定示例的限制,每个PLC 101a-101c和产品控制器118的功能可以用其相应生态***的设备供应商支持的语言和工具来编程。此外,PLC 101a-101c和基于PC的产品控制器118中的每一个都可以实现彼此调用的一个或多个功能。因此,在各种用例中,各种PLC 101a-101c和基于PC的产品控制器118需要彼此交互。
例如,现在参考图1描述示例产品组装或生产。将理解,该组装是作为示例呈现的,并且需要PLC和基于PC的***之间的额外或替代交互的各种其他过程可以由自动化***执行,并且所有这样的自动化***都被认为是在本公开的范围内。在120,产品控制器118可以发送请求,以使龙门站112对给定产品的部分执行拾取和放置操作。具体地,该请求可以由龙门PLC101a处理。在某些情况下,120处的请求可由抽象层110处理。另外,在122,产品控制器118可以请求运输站116将给定产品移动到组装站(例如龙门站112)以进行组装。具体地,产品控制器118可以经由抽象层110向运输PLC101b发送请求。类似地,产品控制器118可以请求运输站116将给定产品移动到另一组装站(例如机器人站114)以进行组装。产品控制器118还可以请求机器人站114,具体是机器人PLC101c,执行期望的操作。在124,例如当机器人站114已经完成组装操作时,机器人站114可以请求运输站116将产品移动到例如存储位置。具体的,机器人PLC101c可以例如经由抽象层110与运输PLC101b交互。类似地,在126,当龙门站112已经完成其拾取和放置操作时,例如,龙门站112(具体是龙门PLC 101a),可以请求运输站116(具体是运输PLC 101c)将产品移动到例如存储位置。
因此,根据各种实施例,并且如图1所例示的,组件(例如,PC、PLC等)可以发现和利用其他网络组件的接口。例如,PC可以发现PLC上提供的接口。PLC可以发现并使用在其他PLC、PC或云或服务器上实现的接口。如本文进一步描述的,PLC还可以发现和使用由它们自己的用户程序使用专用存储区提供的接口。在某些示例中,映射到存储区的接口也可以用于具有PC操作***和工业PLC的机器或设备。具体地,例如,设备可以包括PLC侧和PC侧,并且产品的业务逻辑可以在PC侧实现,以及自动化功能(例如,PickPlace)可以在设备的PLC侧实现。
还参考图2,示例***200包括示例PLC202和示例节点204。节点204可以限定与抽象层110相关联的设备(例如,PLC或PC)或自动化功能。例如,PLC 101a-PLC c可以限定PLC202,并且产品控制器118可以限定节点204,尽管将理解,实施例不限于此。在各种示例中,节点204可以作为消耗者206或提供者208执行。类似地,根据各种实施例,PLC202可以作为消耗者206或提供者208执行。例如,节点204可以调用由PLC202提供的自动化功能,使得PLC202可以作为提供者208执行,并且节点204可以作为消耗者206执行。可选地或附加地,PLC202可以调用节点204以获取功能或数据,使得PLC202作为消耗者206起作用,而节点204作为提供者208起作用。
在各种示例中,在使用给定接口之前,该接口由消耗者206发现。例如,PLC202上可用的自动化功能可以通过它们相应的接口访问。具体地,例如,PLC202可以提供通过PickPlace接口访问的拾取和放置自动化功能。PickPlace接口可以包含用于执行相关自动化功能的操作(例如,连接、断开连接、移动、拾取、放置、缓冲拾取、缓冲放置)(例如,参见图4)。关于该可用接口和其他接口的信息(例如在提供者存储区214中可以访问接口的位置)可以存储在注册表存储区212中。为了发现接口,消耗者206可以浏览注册表存储区212,以便找到与接口相关联的信息。例如,消耗者206可以浏览注册表存储区212,以便发现可用接口的提供者存储区214中的特定方位或位置。
PLC202可以包括可以限定各种专用区的存储器210,例如注册表存储区212、提供者存储区214和消耗者存储区216。例如,PLC202可以跟踪存储器210的专用存储区(例如注册表存储区212)中的接口。在示例PLC中,注册表存储区212限定具有恒定块号的全局数据块。PLC202可以在注册表存储区212中存储关于已经(由PLC202)消耗或提供的接口的信息。例如,PLC202可以在注册表存储区212中存储与消耗和提供的接口相关的位置信息。具体地,例如,注册表存储区212可以指示所提供的接口在提供者存储区214中的位置。注册表存储区212还可以指示在消耗者存储区216中已由PLC202消耗的位置或接口。
具体地,例如,PLC202可以包括接口224,并且节点204可以限定接口226。节点之间的每个接口,例如节点204和PLC202之间的每个接口,可以包括末节区域(stub)和框架(skeleton)。因此,给定的末节区域和框架可以统称为胶合代码或接口。例如,节点204的接口226的末节区域可以是基于PC的,并且可以包括在动态链接库(DLL)或静态库中实现的功能。这样的库可以***到产品生态***108中,例如,在某些情况下,库可以由产品控制器118存储。类似地,PLC202的接口224的框架可以基于PLC202的语言。框架可以存储在提供者存储区214内,例如,以便可由***200内的自动化设备访问。框架可以用特定于PLC202的语言(例如,功能块)来实现。框架可以存储在PLC202的全局程序存储器中。然后,这些功能可以在提供者存储区214中工作,例如读数据和写数据。
继续参考图2,***200可进一步限定节点204与PLC202之间的通信信道218。PLC202可以包括存储器210和通信信道218之间的网关220。节点204还可以包括通信信道218和节点204的其他模块之间的网关222。通信信道218两侧的网关220和222可被配置为将请求转换为可被处理的消息。在某些情况下,消息被直接写入存储区,例如写入注册表存储区212、提供者存储区214和消耗者存储区216。可替代地,或者附加地,可以将消息传递到另一个网关进行处理。例如,基于由给定消息限定的通信协议,网关222可以将消息发送到网关220。此外,基于由特定消息限定的通信协议,网关222可以将消息直接发送到存储区212、214或216。因此,各种通信协议可能需要网关,因为各种通信协议可能不允许直接访问存储器210或特定存储区212、214和216。
在某些情况下,消耗者发现接口后,消耗者绑定到接口。在某些示例中,通过接口的名称(例如,IPickPlace)来发现接口。在某些情况下,消耗者可以通过网关浏览目标PLC的注册表存储区。如果目标PLC提供了消耗者感兴趣的接口,则关于提供者存储区中的位置的信息可以返回给消耗者。然后消耗者可以锁定这个特定的接口,例如,通过将其标识号存储在提供者存储区中。这样的锁定可以保证这个单一消耗者对接口的独占访问。在消耗者使用这个接口之后,锁定可以被移除,该接口可以再次用于其他消耗者。在节点204限定消耗者206的示例中,消耗者206可以向网关222发送发现消息,以便发现接口224并绑定到接口224。绑定可以在运行时在消耗者206和接口224之间建立连接。在各种示例中,在用户代码的编译期间不指定消耗者和接口之间的连接。例如,PLC接口(例如PLC202的接口224)可以在运行期间通过分配存储器210的存储区并将接口信息记录在注册表存储区212中来注册和取消注册。在绑定成功之后,消耗者206可以将数据序列化、反序列化、向所连接的接口发送数据以及从所连接的接口接收数据。例如,由节点204限定的消耗者206可以将数据序列化、反序列化、经由网关222向接口224发送数据以及从接口224接收数据。在PLC202上,在某些情况下,各种功能调用(FC)228用于访问存储区212、214和216。
还参考图3,描述了示出用于对PLC(例如PLC204)的示例功能调用(FC)的示例状态机300的示例。在示例中,消耗者206是节点204,并且PLC202是提供者208,尽管将理解PLC202可替换地是消耗者206。在该示例中,消耗者206已经发现接口224并且连接到接口224。在该示例中,消耗者希望通过调用PLC202的接口224的对应末节区域中的功能来执行PLC202上的操作。如下文进一步描述的,在某些情况下,为了将功能调用映射到给定存储区,将状态存储在提供者存储区214中。
继续参考图3,在302(或状态0),PLC202的操作可自由使用。在某些情况下,该状态是消耗者206侧的末节区域开始操作的前提条件。在304(或状态1),消耗者侧(例如,接口226)上的末节区域可以控制PLC202的操作(例如,通过将运行状态标志值改变为1)以指示该操作现在被保留给该操作的请求消耗者(例如,节点204)。PLC还可以例如经由运行状态标志指示末节区域正在将运行参数传送到提供者存储区214。在306(或状态2),当传输完成时,224的框架FC可以读取提供者存储区214中的相应数据区域,并在PLC上执行自动化功能。此外,末节区域可以改变运行状态标志的值(例如,为2),以便向框架发出参数被传输的信号。这样的信号可以进一步向框架指示框架解编组(反序列化)参数。它现在调用实际提供者对象上的操作。具体地,PLC202可以调用用于操作的对象,例如拾取和放置操作。在308(或状态3),在对提供者对象执行操作之后,框架可以在该状态下编组(序列化)返回参数,以便指示返回参数通过网络,具体是例如通过通信信道218被传输回末节区域。在310(或状态4),末节区域可以将调用返回给消耗者(例如,节点204),以便指示操作的结束。在某些情况下,当末节区域接收到所有返回参数时,就会发生此返回。在一些示例中,在312(或状态5),如果在操作执行期间发生任何错误,或者如果在参数传输期间有任何失败,则设置错误状态标志。在这种情况下,末节区域可以返回消耗者的不成功调用并退出操作。
图3所示的每个操作的状态可以由边缘控制器,例如网关220和222来管理。在示例中,与PLC202的数据交换基于来自网关222的循环轮询。与PLC202相关联的每个接口(可以包括末节区域和框架)可以在PLC202上定义专用存储区,用于跟踪每个操作的状态以及传输运行参数。例如,SIMATIC PLC可以具有模板数据块作为其专用存储区,这在SCL(SIMATIC结构化语言)中进行了描述。这样的块可以由生成器模块114生成。
还参考图4,示出了示例FC块400。在示例中,PLC202上的连接的框架部分可以通过SIMATIC FC解编组和编组与来自提供者存储区114的每个操作相关联的运行参数来实现。可以为PickPlace接口的PLC框架生成示例FC块400。具体地,可以为每个接口生成FC 402(获取操作状态_“接口名称”),以便评估运行状态标志。此外,FC402可以触发PLC202内部的操作的执行。因为,在各种示例中,循环地执行PLC用户程序,FC402可以重复地,例如循环地,检查是否有新的请求。
参考图1和图5,生成器模块114可自动生成末节区域和框架,其可统称为胶合代码或接口。具体地,在示例操作500中,生成器模块114可以在边缘控制器级生成上末节区域代码和PLC用户程序中的框架。在示例中,生成器模块114可以从输入502(例如接口描述文件,其可以限定抽象接口)生成新接口。从输入502,生成器模块114可以生成可导入到PLC开发环境的PLC特定接口代码506。例如,PLC特定接口代码506可以包括SCL和PLCopenXML文件。具体参考图5,在示例中,python PEG解析器-解释器可用于解析接口模型并将其存储在抽象语法树504中。PEG解析器-解释器完成后,接口可以存储在python对象树中,遍历该对象树生成边缘控制器专用代码和PLC专用代码506。在示例中,PLC代码506的格式包括可以在西门子PLC开发工具TIA-Portal中导入的SIMATIC结构化语言(SCL)文件。Beckhoff自动化可以支持PLCopen XML文件的导入。
现在参考图6,示例操作600可以在***100或200内执行,例如由两个以上个PLC执行。在602,消耗者,例如PLC,可以轮询多个PLC用于自动化功能。在604,响应于轮询,包括限定多个专用存储区的存储器的第一PLC可以从注册表存储区检索接口,该注册表存储区存储关于多个专用存储区的提供者存储区中的可用接口的信息,使得消耗者发现该接口。在606,消耗者可以绑定到接口,以便在自动化功能运行时在消耗者和第一PLC之间建立连接。在某些情况下,多个专用存储区进一步限定消耗者存储区、提供者存储区和注册表存储区。第一PLC可以在多个专用存储区的注册表存储区中跟踪与第一PLC相关联的可用接口。在各种示例中,第一PLC将与作为提供者运行的PLC相关联的接口存储在提供者存储区中,并将与作为消耗者运行的PLC相关联的接口存储在消耗者存储区中。绑定后,消耗者可通过接口将数据发送给第一PLC,并且PLC可通过接口将数据发送给消耗者。
此外,在608,在绑定之后,可以向第一PLC发送功能调用以执行自动化功能。响应于该功能调用,消耗PLC的末节区域可以改变提供者PLC的提供者存储区内的运行状态标志,以便为消耗者保留自动化功能。在对功能调用的进一步响应中,PLC可以通过接口将与自动化功能相关联的运行参数传输给消耗者。在传输运行参数后,PLC可改变运行状态标志,以表示运行参数传输完成。在610,PLC可以调用自动化功能,以便由PLC执行自动化功能。在执行自动化功能之后,与自动化功能相关联的返回参数可以通过接口从第一PLC返回给消耗者。在某些情况下,根据本文描述的各种实施例,第二PLC限定消耗者,使得PLC可以执行消耗者或提供者的角色。
图7示出了可实现本公开的实施例的计算环境的示例。计算环境700包括计算机***510,计算机***510可以包括通信机制,例如用于在计算机***510内传送信息的***总线521或其他通信机制。计算机***510还包括与***总线521耦合用于处理信息的一个或多个处理器520。本文描述的PLC可以包括一个或多个处理器520,或者耦合到一个或多个处理器520。
处理器520可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)或本领域中已知的任何其他处理器。更一般而言,本文所述的处理器是用于执行存储在计算机可读介质上的机器可读指令以执行任务的设备,并且可以包括硬件和固件中的任何一个或硬件和固件的组合。处理器还可包存储用于执行任务的可执行的机器可读指令的存储器。处理器通过操纵、分析、修改、转换或传递供可执行过程或信息设备使用的信息、和/或通过将信息路由到输出设备来对信息起作用。处理器可以例如使用或包括计算机、控制器或微处理器的能力,并且可以使用可执行指令来进行调节,以执行通用计算机没有执行的特殊目的功能。处理器可以包括任何类型的合适处理单元,包括但不限于中央处理单元、微处理器、精简指令集计算机(RISC)微处理器、复杂指令集计算机(CISC)微处理器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、片上***(SoC)、数字信号处理器(DSP)等。此外,处理器520可以具有任何合适的微体系结构设计,包括任何数量的组成组件,诸如,例如寄存器、多路复用器、算术逻辑单元、用于控制对高速缓存存储器的读/写操作的高速缓存控制器、分支预测器等。处理器的微体系结构设计可能能够支持多种指令集中的任何一种。处理器可以与能够在其间进行交互和/或通信的任何其他处理器耦接(电形式和/或包括可执行组件)。用户界面处理器或生成器是包括用于生成显示图像或其一部分的电子电路或软件或两者的组合的已知元件。用户界面包括使得用户能够与处理器或其他设备进行交互的一个或多个显示图像。
***总线521可以包括***总线、存储器总线、地址总线和消息总线中的至少一种,并且可以允许在计算机***510的各个组件之间交换信息(例如,数据(包括计算机可执行代码)、信令等)。***总线521可以包括但不限于存储器总线或存储器控制器、***总线、加速图形端口等。***总线521可以与任何合适的总线架构相关联,包括但不限于工业标准架构(ISA)、微通道架构(MCA)、增强型ISA(EISA)、视频电子标准协会(VESA)架构、加速图形端口(AGP)架构、***组件互连(PCI)架构、PCI快捷架构、国际个人计算机存储卡协会(PCMCIA)架构、通用串行总线(USB)架构等。
继续参考图7,计算机***510还可以包括耦接到***总线521的***存储器530,用于存储信息和将由处理器520执行的指令。***存储器530可包括易失性和/或非易失性存储器形式的计算机可读存储介质,例如只读存储器(ROM)531和/或随机存取存储器(RAM)532。RAM 532可以包括其他动态存储设备(例如,动态RAM、静态RAM、以及同步DRAM)。ROM531可以包括其他静态存储设备(例如,可编程ROM、可擦除PROM和电可擦除PROM)。另外,***存储器530可用于在处理器520执行指令期间存储临时变量或其他中间信息。可以在ROM531中存储基本输入/输出***533(BIOS),该基本输入/输出***533(BIOS)包含诸如在启动期间帮助在计算机***510内的元件之间传递信息的基本例程。RAM 532可以包含数据和/或程序模块,这些数据和/或程序模块可以被处理器520立即访问和/或当前被处理器520操作。***存储器530可以附加地包括例如操作***534、应用程序535和其他程序模块536。应用程序535还可以包括用于开发应用程序的用户门户,允许根据需要输入和修改输入参数。
操作***534可以被加载到存储器530中,并且可以提供在计算机***510上执行的其他应用软件与计算机***510的硬件资源之间的接口。更具体地,操作***534可以包括用于管理计算机***510的硬件资源以及向其他应用程序提供公共服务(例如,管理各种应用程序之间的存储器分配)的一组计算机可执行指令。在某些示例实施例中,操作***534可以控制被描绘为存储在数据存储装置540中的一个或多个程序模块的执行。操作***534可以包括现在已知或将来可以开发的任何操作***,包括但不限于任何服务器操作***、任何大型机操作***或任何其他专有或非专有操作***。
计算机***510还可以包括耦合到***总线521的盘/媒体控制器543,以控制用于存储信息和指令的一个或多个存储设备,诸如磁硬盘541和/或可移动介质驱动器542(例如,软盘驱动器、光盘驱动器、磁带驱动器、闪存驱动器和/或固态驱动器)。可以使用适当的设备接口(例如,小型计算机***接口(SCSI)、集成电路设备(IDE)、通用串行总线(USB)或火线)将存储设备540添加到计算机***510。存储设备541、542可以在计算机***510的外部。
计算机***510还可以包括耦合到***总线521的现场设备接口565,以控制现场设备566,例如在生产线中使用的设备。计算机***510可包括用户输入接口或GUI 561,其可包括用于与计算机用户交互并向处理器520提供信息的一个或多个输入设备,例如键盘、触摸屏、平板和/或指向设备。
计算机***510可响应于处理器520执行包含在诸如***存储器530的存储器中的一个或多个指令的一个或多个序列,执行本发明实施例的部分或全部处理步骤。这样的指令可以从存储装置540的另一计算机可读介质(例如磁性硬盘541或可移动介质驱动器542)读入***存储器530。磁性硬盘541和/或可移动介质驱动器542可以包含本公开的实施例使用的一个或多个数据存储和数据文件。数据存储装置540可以包括但不限于数据库(例如,关系型、面向对象等)、文件***、平面文件、数据存储在计算机网络的一个以上节点上的分布式数据存储装置、对等网络数据存储装置等。数据存储装置可以存储各种类型的数据,例如技能数据、传感器数据或根据本公开的实施例生成的任何其他数据。数据存储内容和数据文件可以被加密以提高安全性。处理器520还可以在多处理布置中使用,以执行***存储器530中包含的一个或多个指令序列。在替代实施例中,可以使用硬连线电路来代替软件指令或与软件指令结合使用。因此,实施例不限于硬件电路和软件的任何特定组合。
如上所述,计算机***510可以包括至少一个计算机可读介质或存储器,用于保存根据本发明的实施例编程的指令并且用于包含本文描述的数据结构、表、记录或其他数据。如本文所使用的术语“计算机可读介质”是指参与向处理器520提供指令以供执行的任何介质。计算机可读介质可以采用许多形式,包括但不限于非暂时性、非易失性介质、易失性介质和传递介质。非易失性介质的非限制性示例包括光盘、固态驱动器、磁盘和磁光盘,例如磁性硬盘541或可移动介质驱动器542。易失性介质的非限制性示例包括动态存储器,例如***存储器530。传递介质的非限制性示例包括同轴电缆、铜线和光纤、包括构成***总线521的布线。传递介质也可以采用声波或光波的形式,例如在无线电波和红外数据通信过程中产生的那些。
用于执行本公开的操作的计算机可读介质指令可以是汇编程序指令,指令集架构(ISA)指令,机器指令,机器相关指令,微代码,固件指令,状态设置数据或以一种或多种编程语言的任意组合编写的源代码或目标代码,该编程语言包括面向对象的编程语言,例如Smalltalk,C++等,以及常规的过程编程语言,例如“C”编程语言或类似的编程语言。计算机可读程序指令可以完全在用户计算机上执行,部分在用户计算机上执行,作为独立软件包执行,部分在用户计算机上并且部分在远程计算机上或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以与外部计算机建立连接(例如,通过使用互联网服务提供者的互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化,从而执行计算机可读程序指令,以便执行本公开的多个方面。
本文参考根据本公开的实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本公开的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读介质指令来实现。
计算环境700还可以包括使用到诸如远程计算设备580的一个或多个远程计算机的逻辑连接在网络环境中操作的计算机***510。网络接口570可以使得能够例如经由网络571与其他远程设备580或***和/或存储设备541、542进行通信。远程计算设备580可以是个人计算机(笔记本电脑或台式机)、移动设备、服务器、路由器、网络PC、对等设备或其他公共网络节点,并且通常包括上面相对于计算机***510描述的许多或所有元件。当在联网环境中使用时,计算机***510可以包括调制解调器572,用于通过诸如互联网的网络571建立通信。调制解调器572可以经由用户网络接口570或经由另一适当的机制连接至***总线521。
网络571可以是本领域中通常已知的任何网络或***,包括互联网、内联网、局域网(LAN)、广域网(WAN)、城域网(MAN)、直接连接或一系列连接、蜂窝电话网络或能够促进计算机***510与其他计算机(例如,远程计算设备580)之间的通信的任何其他网络或介质。网络571可以是有线的、无线的或其组合。可以使用以太网、通用串行总线(USB)、RJ-6或本领域通常已知的任何其他有线连接来实现有线连接。可以使用Wi-Fi、WiMAX和蓝牙、红外、蜂窝网络、卫星或本领域通常已知的任何其他无线连接方法来实现无线连接。另外,多个网络可以单独工作或彼此通信以促进网络571中的通信。
应当理解,图7描述的存储在***存储器530中的程序模块、应用、计算机可执行指令、代码等仅是示例性的,并且不是穷举性的,并且被描述为受任何特定模块支持的处理可以替代地分布在多个模块中或由不同模块执行。另外,可以提供各种程序模块、脚本、插件、应用程序编程接口(API)、或本地托管在计算机***510、远程设备580和/或托管在可通过一个或多个网络571访问的其他计算设备上的任何其他合适的计算机可执行代码,以支持由图7所示的程序模块、应用或计算机可执行代码提供的功能和/或其他或替代功能。此外,功能可以被有区别地模块化,使得描述为由图中所示的程序模块集合共同支持的处理可以由更少或更多数量的模块来执行,或者被描述为由任何特定模块支持的功能可以至少部分地由另一模块支持。另外,支持本文所述功能的程序模块可以形成可以根据任何合适的计算模型(例如客户端-服务器模型,对等模型等)在任何数量的***或设备上执行的一个或多个应用程序的一部分。另外,被描述为由图中描绘的任何程序模块支持的任何功能可以至少部分地在任意数量的设备上以硬件和/或固件来实现。
应进一步理解,在不偏离本公开的范围的情况下,计算机***510可包括超出所描述或描绘的那些的替代和/或附加硬件、软件或固件组件。更具体地说,应该理解,被描述为形成计算机***510的一部分的软件、固件或硬件组件仅仅是说明性的,并且在各种实施例中,一些组件可以不存在或者可以提供附加组件。尽管已经将各种说明性程序模块描绘和描述为存储在***存储器530中的软件模块,但应当理解,被描述为由程序模块支持的功能可以通过硬件、软件和/或固件的任何组合来启用。还应理解,在各种实施例中,上述模块中的每一个可以表示所支持的功能的逻辑分区。描述该逻辑分区是为了便于解释该功能,并且该逻辑分区可能不代表用于实现该功能的软件、硬件和/或固件的结构。因此,应当理解,在各种实施例中,描述为由特定模块提供的功能可至少部分地由一个或多个其他模块提供。此外,在某些实施例中可以不存在一个或多个所示模块,而在其他实施例中,可以存在未示出的附加模块,并且可以支持所述功能和/或附加功能的至少一部分。此外,虽然某些模块可被描绘和描述为另一模块的子模块,但在某些实施例中,这些模块可被提供为独立模块或作为其他模块的子模块。
尽管已经描述了本公开的特定实施例,但本领域普通技术人员将认识到许多其他修改和替代实施例都在本公开的范围内。例如,关于特定设备或组件描述的任何功能和/或处理能力可由任何其他设备或组件执行。此外,尽管已经根据本公开的实施例描述了各种说明性实现和体系结构,但本领域普通技术人员将理解,对本文描述的说明性实现和体系结构的许多其他修改也在本公开的范围内。此外,应当理解,本文描述为基于另一操作、元素、组件、数据等的任何操作、元素、组件、数据等可以另外基于一个或多个其他操作、元素、组件、数据等。因此,“基于”一词或其变体应解释为“至少部分基于”。
尽管已经用特定于结构特征和/或方法行为的语言描述了实施例,但应当理解,本公开不一定限于所描述的特定特征或行为。相反,特定特征和行为被公开为实现所述实施例的说明性形式。条件性语言,例如,除其他外,“可以”、“能够”、“可能”或“可”,除非另有特别说明,或者在所使用的上下文中以其他方式理解,通常旨在传达某些实施例可以包括,而其他实施例不包括某些特征、元素和/或步骤。因此,这样的条件性语言通常不旨在暗示特征、元素和/或步骤以任何方式对于一个或多个实施例是必需的或者一个或多个实施例必须包括用于在有或没有用户输入或提示的情况下决定这些特征、元素和/或步骤是否被包括在任何特定实施例中或将在任何特定实施例中执行的逻辑。
图中的流程图和框图示出了根据本公开的各种实施例的***、方法和计算机程序产品的可行实现的体系结构、功能和操作。就这一点而言,流程图或框图中的每个块可以表示指令的模块、段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些可选的实现中,块中的功能可能以图中的顺序以外的顺序出现。例如,事实上,根据所涉及的功能,连续示出的两个块可以基本上同时执行,或者这些块有时可以以相反的顺序执行。还将注意到,方框图和/或流程图图示中的每个块以及方框图和/或流程图图示中的块的组合,可以由执行指定功能或行为或执行专用硬件和计算机指令的组合的基于专用硬件的***来实现。

Claims (15)

1.一种在自动化***中执行的方法,所述自动化***包括限定相应物理资产的多个生态***和被配置成控制所述物理资产的多个可编程逻辑控制器(PLC),所述方法包括:
由来自所述多个生态***之一的消耗者轮询所述PLC,以获得自动化功能;
响应于所述轮询,由包括限定多个专用存储区的存储器的多个PLC中的第一PLC从注册表存储区中检索接口,所述注册表存储区存储关于所述多个专用存储区的提供者存储区中的可用接口的信息,使得所述消耗者发现接口;以及
所述消耗者绑定到所述接口,以便在所述自动化功能运行时在所述消耗者和所述第一PLC之间建立连接。
2.根据权利要求1所述的方法,其中,所述多个专用存储区限定消耗者存储区和所述注册表存储区,所述方法还包括:
由所述第一PLC在所述多个专用存储区的所述注册表存储区中跟踪与所述第一PLC相关联的可用接口。
3.根据权利要求2所述的方法,所述方法还包括:
将与作为提供者运行的所述PLC相关联的接口存储在所述提供者存储区中;以及
将与作为所述消耗者运行的所述PLC相关联的接口存储在所述消耗者存储区中。
4.根据权利要求1所述的方法,所述方法还包括:
绑定后,所述消耗者通过所述接口向所述第一PLC发送数据。
5.根据权利要求1所述的方法,所述方法还包括:
绑定后,所述消耗者通过所述接口接收来自所述第一PLC的数据。
6.根据权利要求1所述的方法,所述方法还包括:
绑定后,向所述第一PLC发送功能调用以执行所述自动化功能;以及
响应于所述功能调用,所述第一PLC改变所述提供者存储区内的运行状态标志,以便为所述消耗者保留所述自动化功能。
7.根据权利要求6所述的方法,所述方法还包括:
进一步响应所述功能调用,经由所述接口将与所述自动化功能相关联的运行参数传送给所述消耗者。
8.根据权利要求6所述的方法,所述方法还包括:
传送运行参数后,改变所述运行状态标志,以指示所述运行参数传送完成;以及
调用所述自动化功能,以便通过所述第一PLC执行所述自动化功能。
9.根据权利要求8所述的方法,所述方法还包括:
执行所述自动化功能后,通过所述接口将与所述自动化功能相关联的返回参数从所述消耗者传送到所述第一PLC。
10.根据前述权利要求中任一项所述的方法,其中,所述多个PLC包括限定所述消耗者的第二PLC。
11.一种可编程逻辑控制器(PLC),所述PLC包括:
处理器;以及
限定多个专用存储区的存储器,所述存储器存储指令,当由所述处理器执行时,所述指令将所述PLC配置为:
响应于来自消耗者的轮询,从注册表存储区检索接口,所述注册表存储区存储关于所述多个专用存储区的提供者存储区中的可用接口的信息,使得所述消耗者发现接口;以及
使用所述接口在自动化功能运行时在所述消耗者和所述PLC之间建立连接。
12.根据权利要求11所述的PLC,其中,所述多个专用存储区还限定消耗者存储区和所述注册表存储区,所述存储器还存储指令,当由所述处理器执行时,所述指令还将所述PLC配置为:
在所述多个专用存储区的所述注册表存储区中跟踪与所述PLC相关联的可用接口。
13.根据权利要求12所述的PLC,所述存储器还存储指令,当由所述处理器执行时,所述指令还将所述PLC配置为:
将与作为提供者运行的所述PLC相关联的接口存储在所述提供者存储区中;以及
将与作为消耗者运行的所述PLC相关联的接口存储在所述消耗者存储区中。
14.根据权利要求11所述的PLC,所述存储器还存储指令,当由所述处理器执行时,所述指令还将所述PLC配置为:
绑定后,通过所述接口接收来自所述消耗者的数据;以及
绑定后,通过所述接口向所述消耗者发送数据。
15.根据权利要求12所述的PLC,所述存储器还存储指令,当由所述处理器执行时,所述指令还将所述PLC配置为:
绑定后,接收来自所述消耗者的功能调用,以执行所述自动化功能;并且
响应于所述功能调用,改变所述提供者存储区内的运行状态标志,以便为所述消耗者保留所述自动化功能。
CN202080060606.8A 2019-08-29 2020-08-28 Plc通信的抽象 Pending CN114375428A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962893425P 2019-08-29 2019-08-29
US62/893,425 2019-08-29
PCT/US2020/048353 WO2021041774A1 (en) 2019-08-29 2020-08-28 Abstraction of plc communication

Publications (1)

Publication Number Publication Date
CN114375428A true CN114375428A (zh) 2022-04-19

Family

ID=72428380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080060606.8A Pending CN114375428A (zh) 2019-08-29 2020-08-28 Plc通信的抽象

Country Status (4)

Country Link
US (1) US20220291668A1 (zh)
EP (1) EP4004659B1 (zh)
CN (1) CN114375428A (zh)
WO (1) WO2021041774A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1880253A2 (en) * 2005-05-13 2008-01-23 Rockwell Automation Technologies, Inc. Distributed database in an industrial automation environment
WO2010043629A1 (de) * 2008-10-13 2010-04-22 Schneider Electric Automation Gmbh Verfahren zur entwicklung eines multi-agenten-systems sowie multi-agenten-system
CN101765817A (zh) * 2007-07-26 2010-06-30 乔治洛德方法研究和开发液化空气有限公司 可编程逻辑控制器协议转换器
US20130212160A1 (en) * 2012-02-09 2013-08-15 Rockwell Automation Technologies, Inc. Industrial automation app-store
CN105589923A (zh) * 2014-11-07 2016-05-18 洛克威尔自动控制技术股份有限公司 用于工业环境的动态搜索引擎
US20170126841A1 (en) * 2015-11-04 2017-05-04 Rockwell Automation Technologies, Inc. Method for topology tree to learn about, present, and configure device information by automatically uploading device description files from device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7962213B2 (en) * 2005-05-12 2011-06-14 Cardiac Pacemakers, Inc. Interconnected electrode assembly for a lead connector and method therefor
US7650405B2 (en) * 2005-05-13 2010-01-19 Rockwell Automation Technologies, Inc. Tracking and tracing across process boundaries in an industrial automation environment
US8799800B2 (en) * 2005-05-13 2014-08-05 Rockwell Automation Technologies, Inc. Automatic user interface generation
US7809683B2 (en) * 2005-05-13 2010-10-05 Rockwell Automation Technologies, Inc. Library that includes modifiable industrial automation objects
WO2008024507A1 (en) * 2006-08-24 2008-02-28 Siemens Energy & Automation, Inc. Devices, systems, and methods for configuring a programmable logic controller
US9489832B2 (en) * 2014-04-04 2016-11-08 Rockwell Automation Technologies, Inc. Industrial-enabled mobile device
US10387392B2 (en) * 2016-05-17 2019-08-20 Rockwell Automation Technologies, Inc. Method to automate historian configuration using controller based tag meta attribute
SE1751114A1 (en) * 2017-09-13 2019-03-14 Beijer Electronics Ab A method of configuring an automation system
US10700924B2 (en) * 2017-12-08 2020-06-30 Rockwell Automation, Inc. Remote line integration
EP3999917B1 (en) * 2019-08-21 2023-08-02 Siemens Aktiengesellschaft Method and system for generating a digital representation of asset information in a cloud computing environment
EP4025992A1 (en) * 2019-10-10 2022-07-13 Siemens Aktiengesellschaft Auto-generated modular connectors for automation ecosystem integration

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1880253A2 (en) * 2005-05-13 2008-01-23 Rockwell Automation Technologies, Inc. Distributed database in an industrial automation environment
CN101765817A (zh) * 2007-07-26 2010-06-30 乔治洛德方法研究和开发液化空气有限公司 可编程逻辑控制器协议转换器
WO2010043629A1 (de) * 2008-10-13 2010-04-22 Schneider Electric Automation Gmbh Verfahren zur entwicklung eines multi-agenten-systems sowie multi-agenten-system
US20130212160A1 (en) * 2012-02-09 2013-08-15 Rockwell Automation Technologies, Inc. Industrial automation app-store
CN105589923A (zh) * 2014-11-07 2016-05-18 洛克威尔自动控制技术股份有限公司 用于工业环境的动态搜索引擎
US20170126841A1 (en) * 2015-11-04 2017-05-04 Rockwell Automation Technologies, Inc. Method for topology tree to learn about, present, and configure device information by automatically uploading device description files from device

Also Published As

Publication number Publication date
EP4004659B1 (en) 2023-12-20
US20220291668A1 (en) 2022-09-15
WO2021041774A1 (en) 2021-03-04
EP4004659C0 (en) 2023-12-20
EP4004659A1 (en) 2022-06-01

Similar Documents

Publication Publication Date Title
Buschmann et al. Pattern-oriented Software Architecture: a Pattern Language for Distributed Computing, Volume 4
US20220128980A1 (en) Automation code generator for interoperability across industrial ecosystems
US20180113799A1 (en) Model generation for model-based application testing
US11797273B2 (en) System and method for enhancing component based development models with auto-wiring
Wenger et al. Connecting PLCs with their asset administration shell for automatic device configuration
EP3134835A1 (en) A model driven computational platform for integrated design of products, materials and manufacturing processes
Theiss et al. Software agents in industry: A customized framework in theory and praxis
Redeker et al. A digital twin platform for Industrie 4.0
Rajput Hands-On Microservices–Monitoring and Testing: A performance engineer’s guide to the continuous testing and monitoring of microservices
Phaithoonbuathong et al. Web services-based automation for the control and monitoring of production systems
Gil et al. Survey on open‐source digital twin frameworks–A case study approach
EP4332754A1 (en) Automated application deployment
US20220342374A1 (en) Auto-Generated Modular Connectors For Automation Ecosystem Integration
Santos et al. Specifying software services for fog computing architectures using recursive model transformations
Becker et al. A safety-certified vehicle OS to enable software-defined vehicles
CN114375428A (zh) Plc通信的抽象
Kalinin et al. Socrat platform design: A web architecture for interactive visual analytics applications
Arrais et al. ROBIN: An open-source middleware for plug ‘n’produce of Cyber-Physical Systems
Bhattacharjee et al. Cloudcamp: A model-driven generative approach for automating cloud application deployment and management
US20230350358A1 (en) Endpoint registry across ecosystems
Velesaca et al. Optimizing Smart Factory Operations: A Methodological Approach to Industrial System Implementation based on OPC-UA
Martins et al. A full‐stack model proposal to remotely help the development of IoT sensor devices
Pereira Interoperability middleware for IIoT gateways based on international standard ontologies and standardized digital representation
Nakakaze et al. Adaptive retrofitting for industrial machines: utilizing webassembly and peer-to-peer connectivity on the edge
WO2020245770A1 (en) Traceability based impact analysis

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