CN116982008A - 用于工业自动化的基于策略的工程 - Google Patents
用于工业自动化的基于策略的工程 Download PDFInfo
- Publication number
- CN116982008A CN116982008A CN202180094423.2A CN202180094423A CN116982008A CN 116982008 A CN116982008 A CN 116982008A CN 202180094423 A CN202180094423 A CN 202180094423A CN 116982008 A CN116982008 A CN 116982008A
- Authority
- CN
- China
- Prior art keywords
- agv
- policy
- request
- machine
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 25
- 230000008859 change Effects 0.000 claims description 14
- 230000001960 triggered effect Effects 0.000 claims 1
- 230000001934 delay Effects 0.000 abstract description 2
- 238000004519 manufacturing process Methods 0.000 description 38
- 230000006870 function Effects 0.000 description 29
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000003860 storage Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004801 process automation Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
工业自动化系统通常不灵活,这可能导致延迟或停机时间,造成高成本和不便。具体地,在本文认识到,自动化系统实现的工程阶段当前代表自动化系统的总成本的重要的部分。如在本文所述,自动化系统配置可以根据能够在运行时间实现的各种策略自动生成。
Description
背景技术
工业自动化系统可以用于以系统方式控制机器和其他组件的操作。自动化系统可以包括各种自动化领域,诸如工厂自动化、过程自动化、建筑物自动化、能量自动化等。自动化系统还可以包括来自多个供应商的装备。在一些情况下,自动化系统内的装备和机器可以使用与它们各自的生态系统相关联的各种机制,诸如各种运行时间环境、协议和编程语言(例如,供应商特定的编程语言)。作为示例,自动化功能通常是平台专用的和/或以专有方式实现。因此,产生可与其他自动化功能互操作的自动化功能可能是麻烦且耗时的。
此外,当今的自动化系统通常是硬连线的,使得硬件(例如,生产机器、机器人、CNC机器)在工程阶段与特定配置中的软件绑定。例如,当今的工业自动化系统通常由具有通用固件(系统软件)的硬件设备组成,该通用固件被配置用于手头的特定任务。操作员又通常每天与此类自动化系统一起工作以改变参数设置并执行系统功能。因此,当今的自动化系统通常缺乏适应给定工厂、机器或生产过程中的改变的灵活性。具体地,此类改变通常需要自动化工程师,因为操作员不具有重新配置或重新编程系统的能力。在一些情况下,当存在对系统的新要求(例如,新硬件)或系统另外需要重新配置时,此类系统在其被重新设计或重新配置时停止操作。
在本文认识到,此类不灵活的系统可能导致延迟,造成高成本和不便。在本文还认识到,自动化系统实现的工程阶段当前代表自动化系统的总成本的重要的部分。
发明内容
本发明的实施例通过提供用于基于各种策略自动生成自动化系统配置的方法、系统和装置来解决和克服在本文描述的一个或多个缺点或技术问题。
在示例方面中,可以在包括多个机器的工业系统中执行的方法,这些机器限定了相应的硬件和与该硬件相关联的自动化技能。工业系统的控制模块可以获得对第一自动化技能的第一请求。基于该第一请求,该控制模块可以发送用于识别该工业系统内能够提供该第一自动化技能的机器的发现调用。策略处理程序规则引擎截取发现调用。基于发现调用,策略处理程序规则引擎可以确定与第一请求相关联的策略。基于该策略并且在该工业系统的运行时间期间,可以选择该多个机器中的第一机器。该控制模块可以触发该第一机器执行该第一自动化技能。在一些示例中,在运行时间期间,系统可以识别与第一请求相关联的策略中的改变。例如,基于与第一请求相关联的策略中的改变,控制模块可选择多个机器中的第二机器,并触发第二机器执行第一自动化技能。在另一示例中,控制模块可以获得对第一自动化技能的第二请求。此外,基于该策略并且在该工业系统的运行时间期间,该控制模块可以确定该多个机器中不同于该第一机器的第二机器,并且触发该第二机器来执行该第一自动化技能。在一些情况下,策略可以限定用于选择机器的规则,并且规则可以基于执行第一自动化技能的位置。
附图说明
当结合附图阅读时,从以下详细描述最佳地理解本发明的前述和其他方面。为了说明本发明,在附图中示出了目前优选的实施例,然而,应当理解,本发明不限于所公开的特定手段。附图中包括以下附图:
图1是根据示例性实施例的包括控制模块的示例性自动化系统的框图。
图2是图示了根据示例性实施例的另一示例性自动化系统和在该自动化系统内发送的消息的框图。
图3描绘了根据示例性实施例的示例性策略运行时间服务器。
图4示出了其中可以实现本公开的实施例的计算环境的示例。
具体实施方式
作为介绍,工业4.0代表制造技术和过程中朝向自动化和数据交换的趋势,其可以包括网络物理系统(CPS)、物联网、工业物联网(IIOT)、云计算、认知计算和人工智能。代表工业4.0的工厂可以包括增加了无线连接能力的机器和传感器,其可以连接到可以可视化整个生产线并且自行做出判定的系统。在本文认识到,自适应行为对于此类系统特别重要。在本文进一步认识到,通过允许在运行时间和在工程时间期间选择和配置功能,可以启用自适应行为。在本文描述的各种实施例限定了用于在运行时间选择功能和配置系统的可缩放低成本方法。例如,根据在本文描述的实施例,自动化功能可以以灵活的方式互连和再使用,以便使没有编程技能的操作员能够管理各种自动化任务。
首先参考图1,示例性自动化系统100包括包含控制逻辑、主机web服务器等的多个子系统。例如,自动化系统可以包括办公室或公司IT网络102以及通信地耦接到IT网络102的操作工厂或生产网络104。生产网络104可以包括贯穿生产网络104的多个控制模块106。示例控制模块106连接到IT网络102。控制模块106的布置可以根据需要改变,并且所有此类布置都被认为在本公开的范围内。例如,控制模块106可以是分布式的,使得生产网络104内的每个组件可以限定控制模块106。例如,控制模块106可以限定在生产网络104内的组件上运行的软件。因此,控制单元106可以按分层结构布置。生产网络104可以包括被配置为一起工作以执行一个或多个制造操作的各种生产机器。生产网络104的示例性生产机器可以包括但不限于机器人108和可以由相应PLC 114控制的其他现场设备,诸如传感器110、致动器112或其他机器,诸如自动引导车辆(AGV)。在各种示例中,给定的AGV限定控制模块106。PLC114可以向各个现场设备发送指令。在一些情况下,给定的PLC 114可以耦接到人机接口(HMI)116。应当理解,出于示例的目的,简化了自动化系统100。也就是说,自动化系统100可以包括限定可替代配置的附加或可替代节点或系统,例如其他网络设备,并且所有此类配置都被认为在本公开的范围内。
自动化系统100,具体是生产网络104,可以限定现场总线部分118和以太网部分120。例如但不限于,现场总线部分118可以包括机器人108、PLC 114、传感器110、致动器112、HMI 116和AGV。现场总线部分118可以限定一个或多个生产线或控制区。给定生产线内的PLC 114、传感器110、致动器112和HMI 116可以经由相应的现场总线122彼此通信。每个控制区可以由相应的PLC 114限定,使得PLC 114以及相应的控制区可以经由以太网连接124连接到以太网部分120。机器人108和AGV可以被配置为经由Wi-Fi连接126与现场总线部分118内的其他设备通信。类似地,机器人108和AGV可以经由Wi-Fi连接126与以太网部分120,具体是监控和数据采集(SCADA)服务器128通信。生产网络104的以太网部分120可以包括经由以太网连接124通信地耦接在一起的各种计算设备或子系统。以太网部分120中的示例计算设备或子系统包括但不限于移动数据收集器130、HMI 132、SCADA服务器128、控制单元106、无线路由器134、制造执行系统(MES)136、工程系统(ES)138和日志服务器140。ES138可以包括一个或多个工程工作站。在示例中,MES136、HMI 132、ES138和日志服务器140直接连接到生产网络104。无线路由器134还可以直接连接到生产网络104。因此,在一些情况下,移动用户,例如移动数据收集器130和机器人108(例如,AGV),可以经由无线路由器134连接到生产网络104。
自动化系统100的示例性用户包括,例如但不限于,工业工厂的操作员或可以更新工厂的控制逻辑的工程师。作为示例,操作员可以与HMI132交互,该HMI 132可以位于给定工厂的控制室中。可替代地或另外,操作员可以与远离生产网络104的系统100的HMI交互。类似地,例如,工程师可以使用可以位于自动化系统100的工程房间中的HMI 116。可替代地或另外,工程师可以与远离生产网络104的自动化系统100的HMI交互。
自动化系统100可以包括不同型号的人机接口(HMI)116,可编程逻辑控制器(PLC)114、机器人108等,它们也可以来自不同的制造商。作为进一步的示例,在一些情况下,自动化系统100可以包括一个或多个自动引导车辆(AGV),其可以在不同的房间或工厂或发电厂的部分中操作,以便执行不同的任务。如在本文所述,在本文认识到,对自动化系统的改变,诸如对自动化系统100的硬件改变,当前可要求停止生产并在系统重新投入使用之前对机器重新编程。
自动化系统实现的工程阶段通常包括编程和配置。举例来说,编程通常包括系统逻辑的开发(例如,条件),并且配置通常包括系统参数的调整。在本文认识到,编程和配置在当今的自动化系统实现中紧密耦接。作为示例,西门子完全集成自动化(TIA)门户项目通常以硬件配置开始,该硬件配置之后是编程。在一些情况下,经由改变配置或编程并评估对另一配置或编程的影响的迭代来改进工程设计。此外,在本文认识到,现有的自动化工程方法通常将软件硬编码到硬件,这可以强制上述工程的迭代过程。在本文进一步认识到,在现有方法中,运行时间期间的改变还可以迫使工程(或重新工程)的进一步迭代和细化。
根据在本文所描述的各种实施例,编程可为前加载的并且配置可为后加载的。前加载通常是指在配置之前,运行时间之前进行的编程。后加载通常是指在执行编程之后或在运行时间期间执行的配置。具体地,在示例中,自动化系统100确定并选择在运行时间在其上运行自动化代码的硬件,以便减少与工程阶段相关联的前端加载时间和成本。在本文认识到,此类增加的后加载操作可能引入与实现和管理灵活且可重复使用的自动化功能和配置的互连相关联的技术问题。在本文描述的各种实施例尤其解决了这些问题。
设计工业自动化系统通常包括各种任务,诸如编程(实现)自动化功能、配置系统、测试系统、调试系统以及维护系统。实现自动化功能可以包括为特定硬件编程自动化功能,这可以抑制自动化功能的再使用。此外,当硬连线/硬编码的自动化系统被更新时,当前的工程自动化系统的方法可能需要重新实现控制逻辑。例如,可能需要更新自动化系统以在不同的环境或情况下工作,或者改变硬件(例如,IO)。具体地,自动化工程师可能需要为新的控制逻辑改变(例如,添加、更新、替换)硬件或软件模块。此外,操作员可能需要关闭自动化系统以更新系统,然后用更新的功能重新启动系统。作为工程自动化系统的现有方法的另一示例,假设工厂正在根据能量价格改变更新生产线,诸如通过调整生产参数。为了自动化控制以便执行更新,工厂可能需要例如添加控制机器、开发新的HMT应用、执行测试、关闭并利用附加控制重启系统等。此外,如果能量价格再次改变,则HMI应用可能需要重新编程和/或可能需要重复其他操作。
如上所述,此类对硬连线/硬编码自动化系统的更新会增加与硬件和软件开发以及系统停机时间相关的各种成本。根据各种实施例,例如,通过减少与适配系统相关联的时间,重新加载各种工程任务可以减少与软件开发和系统停机时间相关联的成本。根据各种实施例,自动化功能和各种自动化配置可以以可以由工程师和操作员等访问的灵活且自动化的方式来选择和实现。
现在参考图2,自动化系统,例如自动化系统100或另一示例性自动化系统200,可以包括控制模块106,该控制模块106被配置为截取和处理消息,例如发现调用(discoverycall)。系统200还可以包括策略处理程序规则引擎204,该策略处理程序规则引擎可以被配置为例如基于基于Rete算法等的算法来执行规则。在一些情况下,策略处理程序规则引擎204可以存储各种规则和策略。在各种示例中,策略处理程序规则引擎204管理规则链接,其中规则的执行结果触发另一规则的执行。策略处理程序规则引擎204可以进一步被配置为基于其规则和策略来过滤调用,以便确定如何处理该调用。基于策略处理程序规则引擎204的确定,控制模块106可以执行动作,例如但不限于阻止给定调用、选择自动化功能、选择设置、选择或调整返回值等。在一些示例中,策略处理程序规则引擎204可以被配置为作为控制模块106的插件来操作。在示例中,控制模块106可以截取技能请求,并且策略处理程序规则引擎204可以过滤该技能请求,以便确定可以满足该技能请求的技能提供者。
自动化系统200可以包括限定判定点的各种子系统和设备。例如,自动化系统可以包括第一子系统206、第二子系统208和一个或多个自动引导车辆(AGV)210。判定点,例如第一子系统206、第二子系统208及AGV 210,可以做出各种决定,诸如使用哪个函数、使用哪个参数组等。在一些情况下,控制模块106可以限定被配置为翻译不同域模型的域模型翻译器层。例如,控制模块106可以将给定判定点的域模型转换为策略处理程序规则引擎204的不同域模型。在一些情况下,功能组件中使用的模型被映射或转换到规则引擎204中的模型,使得规则引擎可以理解消息。作为示例,请求可能涉及汽车,但是规则引擎可能仅理解汽车,因此该请求需要被翻译。
在一些示例中,系统200还可以包括被配置为存储策略和规则的数据库或储存库,例如策略储存库212。给定策略可以指一组规则。如在本文所使用的,策略和规则可以互换使用而没有限制,除非另有说明。策略可以涉及不同的自适应行为情况。例如,策略可以规定给定特定位置的AGV210的最大速度。在各种示例中,规则可以应用于特定行为的特定条件,使得规则解析为真或假。与AGV 210处于通常有更多人的大厅时的较低最大速度相比,示例性规则可以限定AGV 210处于人有限的特定大厅时的较高最大速度。作为进一步的示例,操作员可以规定AGV 210将在其中操作的位置,并且与AGV和/或位置相关联的策略可以确定AGV 210的配置。自动化系统还可以包括一个或多个web服务器或工具/浏览器,例如web服务器214,其被配置为监视策略和规则的执行。用户还可以经由web服务器214或不限于web的任何备选输入/输出应用来管理与策略处理程序规则引擎204相关联的策略和规则。
应当理解,被描述为由自动化系统200的程序模块支持的功能可以由硬件、软件和/或固件的任意组合来实现。应进一步了解,在各种实施例中,上述模块中的每一者可表示所支持功能的逻辑分区。该逻辑分区是为了便于解释功能而描绘的,并且可以不代表用于实现该功能的软件、硬件和/或固件的结构。因此,应了解,在各种实施例中,描述为由特定模块提供的功能性可至少部分地由一个或多个其他模块提供。此外,在某些实施例中可不存在一个或多个所描绘的模块,而在其他实施例中,可存在未描绘的额外模块且可支持该功能性和/或额外功能性的至少一部分。此外,虽然某些模块可被描绘和描述为另一模块的子模块,但在某些实施例中,此类模块可被提供为独立模块或其他模块的子模块。因此,还应当理解,自动化系统200被简化以示出示例,并且自动化系统200可以根据需要改变,并且所有此类自动化系统都被认为在本公开的范围内。
在各种实施例中,用于选择功能和配置的编程用运行时间规则应用代替,以便限定基于策略的工程。例如,可以在系统启动期间将预限定的策略加载到策略处理程序规则引擎204中。运行时间判定点,例如子系统206、子系统208或AGV 210,可以利用策略处理程序规则引擎204来做出判定。在运行时间期间,用户可以从策略储存库212或策略处理程序规则引擎204更新、添加或删除策略。此外,在运行时间期间,用户可以监视策略和规则的执行。
作为示例,自动化系统200可以包括能够被配置为生产多个产品的生产线,使得多个产品可以共享该生产线。生产线可以执行基于技能的生产工艺。例如,生产线,具体是第一子系统206,可以限定配置为拾取生产零件的Kuka站216。生产线,具体是第二子系统208可以限定被配置为拾取生产零件的机架站218。在该示例中,Kuka站216比机架站218更快和更昂贵。因此,示例性策略可规定第一产品是高优先级,而第二产品是低优先级。基于这些策略,在运行期间,控制模块106可以仅使用机架站218来拾取用于第二产品的零件。相反,基于这些策略,在运行时间期间,控制模块106可以使用Kuka站216或机架站218来拾取用于第一产品的零件。具体地,例如,请求消息可以指示与产品相关联的类型,其中产品部分正被拾取。基于产品类型,策略处理程序规则引擎204可以选择规定所使用的技能或站(例如,子系统)的策略。在一些情况下,策略可基于产品类型禁止特定技能或站(例如,子系统)。
作为另一示例,操作员可能想要在诸如大厅的特定位置使用AGV 210用于环境成像。大厅可以与光量相关联,使得基于光量来选择与AGV 210一起使用以收集环境图像的相机。可以配置各种策略,使得可以在运行时间基于特定位置和/或与AGV 210的操作相关联的光量来选择适当的相机或红外光。例如,根据策略,当光的量低于特定阈值时,可以选择红外光。相反,根据该策略,当光的量高于某个阈值时,可以选择照相机。具体地,例如,请求消息可以指示与AGV 210的预期操作相关联的位置或大厅。基于该位置,策略处理程序规则引擎204可以选择规定用于收集图像的相机或光的策略。
作为又一示例,可以配置与AGV 210的速度或加速度相关或限制AGV 210的速度或加速度的各种策略。例如,请求消息可以指示与AGV210的预期操作相关联的位置或大厅。基于该位置,策略处理程序规则引擎204可选择规定AGV 210能够在该位置内操作的最大速度或加速度的策略。例如,每个位置可以与该位置内的硬件/设备和/或该位置内的人员相关联。因此,与可以在比第一位置更不拥挤的第二位置(例如,设备和/或人)实现的更快的速度或加速度相比,策略可以指示在第一位置实现更慢的速度或加速度。例如,第二位置可以比第一位置大,具有比第一位置小的物体,或者具有比第一位置小的碰撞可能性。此类策略可以在运行时间期间实现,以便确保安全并避免AGV 210与该位置内的各种对象之间的冲突。例如,策略可以基于AGV 210操作的位置或大厅来选择AGV 210的配置。类似地,策略可以基于AGV 210操作的位置或大厅禁止AGV 210的特定配置。在一些示例中,操作员可能希望针对特定环境微调参数。例如,AGV在特定位置内的最大速度可被调节或微调,直到操作员满意或获得其他条件。
继续参考图2,根据示例,在220,控制模块106从服务或技能的消费者接收消息。例如,产品订单可以由控制模块106接收。在一些情况下,可以在与控制模块106通信的云上部署的一个或多个工程应用上生成220处的产品订单。在各种示例中,220处的产品订单可以限定用于生产的少量,在单次运行中制造的订单等,以便限定批量一个产品订单。在某些情况下,此类批量的一个产品订单可以依靠数字孪生来完成该订单。具体地,例如,自动化系统200可以包括各种物理实体,诸如致动器,其改变和控制现实世界的状态以便完成订单。此类物理实体的数字化状态可以保存在数字孪生中,该数字孪生可以指物理系统的当前状态的过程映像。在一些示例中,在220处接收对技能的请求。在220处,自动化系统200(例如控制模块106)可以基于产品订单或技能请求来确定生产或技能需求。
在示例中,仍然参考图2,控制模块106可以获得(在220)对第一自动化技能的第一请求。基于该第一请求,在222处,控制模块106可以发送用于识别该工业系统内的能够提供第一自动化技能的机器的发现调用。策略处理程序规则引擎204可以截取发现调用,或者可以由控制模块106调用。基于发现调用或呼叫,策略处理程序规则引擎(在224)可以确定与第一请求相关联的策略。基于该策略并且在该工业系统的运行时间期间,可以选择该多个机器中的第一机器。在226,控制模块106可以触发第一机器(例如,Kuka 216、机架218或AGV210)以执行第一自动化技能。
在另一示例中,控制模块106能够在AGV 210上操作。因此,AGV 210的控制模块106可以接收例如指示AGV 210行进到特定位置的请求。基于该请求,AGV 210可以确定与执行该请求相关联的特定参数。例如,AGV 210的控制模块106可以使用策略处理程序规则引擎204来确定与请求相关联的策略。基于策略并且在AGV 210的运行时间期间,可以选择与请求相关联的各种参数,诸如速度、路径、加速度等。因此,AGV 210的控制模块106可以指示和控制AGV 210根据策略的参数进行操作。
在一些示例中,在运行时间期间,系统200可以识别与第一请求相关联的策略中的改变。例如,基于与第一请求相关联的策略中的改变,控制模块106可选择多个机器中的第二机器,并触发第二机器执行第一自动化技能。在另一示例中,控制模块106可以获得对第一自动化技能的第二请求(在220)。此外,基于该策略并且在该工业系统的运行时间期间,该控制模块可以选择该多个机器中不同于该第一机器的第二机器,并且触发该第二机器(在226处)执行该第一自动化技能。在一些情况下,策略可以限定用于选择机器的规则,并且规则可以基于执行第一自动化技能的位置。
仍然参考图2,自动化系统200可以包括各种机器,例如多个按使用付费的机器。这些机器可以与多个自动化服务或技能相关联。机器114可以提供技能或功能作为服务,并且可以由控制模块106发现。除非另有说明,否则技能,功能和服务在本文可以互换使用而没有限制。
还参考图3,自动化系统可以限定策略管理器,例如集中式策略管理器300,其可以利用模块化自动化并且可以为完整的自动机器系统提供策略和规则。如图3所示,实施例不限于在本文描述的示例性策略或功能,而是可以应用于自动化系统的所有级别,以便限定系统的自适应行为。具体地,例如,策略管理器300可以包括与不同类别的系统配置和操作有关的各种策略,诸如安全、按次计费使用、测试、维护、诊断、工作流、与选择机器有关的策略、与选择参数有关的策略(例如,AGV策略)、与选择自动化功能有关的策略等。此外,可以由策略管理器规则引擎204访问主存在策略处理程序300上的每个策略,策略管理器规则引擎204可以是分布式的并且耦接到策略管理器300,或者可以包括策略管理器300本身。此类策略可以确定或影响各种操作或配置,诸如例如但不限于安全性(例如,基于光的操作速度、人的存在等)、测试操作、业务逻辑、计划(例如,停机时间、特定机器操作)、工作流程、机器选择、自动化功能/技能的选择等。
因此,不受理论的约束,根据各种实施例,策略包括用于判定作出逻辑的规则,使得在调试和运行时间期间执行用于自适应行为的工程任务。具体地,商业和操作策略可以与自动化功能分离,使得策略(例如,控制逻辑)也可以被测试。
图4图示了可以在其中实现本公开的实施例的计算环境的示例。计算环境800包括计算机系统810,该计算机系统可以包括诸如系统总线821或用于在计算机系统810内传递信息的其他通信机制等通信机制。计算机系统810还包括与系统总线821耦接的用于处理信息的一个或多个处理器820。工业系统100可以包括或耦接到一个或多个处理器820。
处理器820可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)或本领域已知的任何其他处理器。更一般地,在本文描述的处理器是用于执行存储在计算机可读介质上的机器可读指令的设备,用于执行任务,并且可以包括硬件和固件中的任何一者或其组合。处理器还可以包括存储可执行用于执行任务的机器可读指令的存储器。处理器通过操纵、分析、修改、转换或传输信息以供可执行程序或信息设备使用和/或通过将该信息路由到输出设备来对信息起作用。处理器可以使用或包括例如计算机、控制器或微处理器的能力,并且使用可执行指令来调节以执行不是由通用计算机执行的专用功能。处理器可以包括任何类型的合适的处理单元,包括但不限于中央处理单元、微处理器、精简指令集计算机(RISC)微处理器、复杂指令集计算机(CISC)微处理器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、片上系统(SoC)、数字信号处理器(DSP)等等。此外,处理器820可具有任何合适的微架构设计,该微架构设计包括任何数目的组成组件,诸如例如寄存器、复用器、算术逻辑单元、用于控制对高速缓存存储器的读/写操作的高速缓存控制器、分支预测器等。处理器的微架构设计能够支持多种指令集中的任何指令集。处理器可以与能够在其间进行交互和/或通信的任何其他处理器耦接(电耦接和/或包括可执行组件)。用户接口处理器或发生器是已知的元件,该元件包括用于产生显示图像或其部分的电子电路或软件或两者的组合。用户界面包括使用户能够与处理器或其他设备交互的一个或多个显示图像。
系统总线821可以包括系统总线、存储器总线、地址总线或消息总线中的至少一者,并且可以允许在计算机系统810的各种组件之间交换信息(例如,数据(包括计算机可执行代码)、信令等)。系统总线821可以包括但不限于存储器总线或存储器控制器、外围总线、加速图形端口等。系统总线821可以与任何适当的总线架构相关联,包括但不限于工业标准架构(ISA)、微通道架构(MCA)、增强型ISA(EISA)、视频电子标准协会(VESA)架构、加速图形端口(AGP)架构、外围组件互连(PCI)架构、PCI-Express架构、个人计算机存储卡国际协会(PCMCIA)架构、通用串行总线(USB)架构等等。
继续参考图4,计算机系统810还可以包括耦接到系统总线821的系统存储器830,用于存储要由处理器820执行的信息和指令。系统存储器830可以包括易失性和/或非易失性存储器形式的计算机可读存储介质,诸如只读存储器(ROM)831和/或随机存取存储器(RAM)832。RAM 832可以包括其他动态存储设备(例如,动态RAM、静态RAM和同步DRAM)。ROM831可以包括其他静态存储设备(例如,可编程ROM、可擦除PROM和电可擦除PROM)。此外,系统存储器830可以用于在处理器820执行指令期间存储临时变量或其他中间信息。包含有助于诸如在启动期间在计算机系统810内的元件之间传递信息的基本例程的基本输入/输出系统833(BIOS)可以存储在ROM 831中。RAM 832可包含可以由处理器820立即访问和/或当前正由处理器820操作的数据和/或程序模块。系统存储器830还可以包括例如操作系统834、应用程序835和其他程序模块836。应用程序835还可以包括用于开发应用程序的用户门户,允许输入参数并在必要时进行修改。
操作系统834可以被加载到存储器830中,并且可以提供在计算机系统810上执行的其他应用软件与计算机系统810的硬件资源之间的接口。更具体地,操作系统834可以包括用于管理计算机系统810的硬件资源以及用于向其他应用提供公共服务(例如,管理各种应用之间的存储器分配)的一组计算机可执行指令。在某些示例性实施例中,操作系统834可以控制被描绘为存储在数据存储840中的一者或多者程序模块的执行。操作系统834可以包括现在已知的或者将来可能开发的任何操作系统,包括但不限于任何服务器操作系统、任何大型机操作系统或者任何其他专有或非专有操作系统。
计算机系统810还可以包括耦接到系统总线821以控制用于存储信息和指令的一个或多个存储设备的盘/介质控制器843,诸如磁硬盘841和/或可移除介质驱动器842(例如,软盘驱动器、光盘驱动器、磁带驱动器、闪存驱动器和/或固态驱动器)。存储设备840可以使用适当的设备接口(例如,小型计算机系统接口(SCSI)、集成设备电子器件(IDE)、通用串行总线(USB)或FireWire)添加到计算机系统810。存储设备841、842可以在计算机系统810的外部。
计算机系统810还可以包括耦接至系统总线821的现场设备接口865,以控制现场设备866,诸如在生产线中使用的设备。计算机系统810可以包括用户输入接口或GUI 861,该用户输入接口或GUI 861可以包括一个或多个输入设备,诸如键盘、触摸屏、输入板和/或定点设备,用于与计算机用户交互并向处理器820提供信息。
计算机系统810可以响应于处理器820执行包含在诸如系统存储器830的存储器中的一个或多个指令的一个或多个序列,来执行本发明的实施例的处理步骤的一部分或全部。此类指令可以从存储840的另一计算机可读介质(诸如,磁硬盘841或可移动介质驱动器842)读入系统存储器830。硬磁盘841和/或可移动介质驱动器842可包含由本公开的实施例使用的一个或多个数据存储装置和数据文件。数据存储840可以包括但不限于数据库(例如,关系的、面向对象的等)、文件系统、平面文件、其中数据被存储在计算机网络的多个节点上的分布式数据存储、对等网络数据存储等。数据存储装置可以存储各种类型的数据,例如技能数据、传感器数据或根据本公开的实施例生成的任何其他数据。数据存储内容和数据文件可以被加密以提高安全性。处理器820也可以用在多处理布置中,以执行包含在系统存储器830中的一者或多者指令序列。在可替代实施例中,硬连线电路可以代替软件指令或与软件指令结合使用。因此,实施例不限于硬件电路和软件的任何特定组合。
如上所述,计算机系统810可以包括至少一个计算机可读介质或存储器,用于保存根据本发明的实施例编程的指令,以及用于包含数据结构、表、记录或在本文描述的其他数据。在本文使用的术语“计算机可读介质”是指参与向处理器820提供指令以供执行的任何介质。计算机可读介质可以采取许多形式,包括但不限于非暂时性、非易失性介质、易失性介质和传输介质。非易失性介质的非限制性示例包括光盘、固态驱动器、磁盘和磁光盘,诸如磁硬盘841或可移动介质驱动器842。易失性介质的非限制性示例包括动态存储器,诸如系统存储器830。传输介质的非限制性示例包括同轴电缆、铜线和光纤,包括构成系统总线821的导线。传输介质还可以采取声波或光波的形式,诸如在无线电波和红外数据通信期间生成的那些。
用于执行本公开的操作的计算机可读介质指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言(诸如Smalltalk、C++等)以及常规的过程式编程语言(诸如“C”编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务供应商通过因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本公开的方面。
在本文参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图来描述本公开的各方面。应当理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机可读介质指令来实现。
计算环境800可以进一步包括使用到诸如远程计算设备880等一个或多个远程计算机的逻辑连接在联网环境中操作的计算机系统810。网络接口870可以实现例如经由网络871与其他远程设备880或系统和/或存储设备841、842的通信。远程计算设备880可以是个人计算机(膝上型或台式)、移动设备、服务器、路由器、网络PC、对等设备或其他常见的网络节点,并且通常包括以上相对于计算机系统810描述的许多或所有元件。当在联网环境中使用时,计算机系统810可以包括用于通过诸如因特网等网络871建立通信的调制解调器872。调制解调器872可以经由用户网络接口870或经由其他适当的机制连接到系统总线821。
网络871可以是本领域中公知的任何网络或系统,包括因特网、内联网、局域网(LAN)、广域网(WAN)、城域网(MAN)、直接连接或一系列连接、蜂窝电话网络、或能够便于计算机系统810和其他计算机(例如,远程计算设备880)之间的通信的任何其他网络或介质。网络871可以是有线的、无线的或其组合。有线连接可以使用以太网、通用串行总线(USB)、RJ-6或本领域公知的任何其他有线连接来实现。无线连接可以使用Wi-Fi、WiMAX和蓝牙、红外、蜂窝网络、卫星或本领域公知的任何其他无线连接方法来实现。另外,若干网络可单独工作或彼此通信以促进网络871中的通信。
应当理解,图4中描绘为存储在系统存储器830中的程序模块、应用、计算机可执行指令、代码等仅是说明性的而非穷举性的,并且被描述为由任何特定模块支持的处理可以替换地分布在多个模块上或由不同模块执行。此外,可以提供各种程序模块、脚本、插件、应用编程接口(API)或本地主存在计算机系统810、远程设备880上和/或主存在可经由一个或多个网络871访问的其他计算设备上的任何其他合适的计算机可执行代码,以支持由图中描绘的程序模块、应用或计算机可执行代码提供的功能和/或附加或可替代功能。此外,功能可以被不同地模块化,使得描述为由图中描绘的程序模块集合共同支持的处理可以由更少或更多数量的模块来执行,或者描述为由任何特定模块支持的功能可以至少部分地由另一模块来支持。此外,支持在本文所描述的功能的程序模块可形成可以根据任何合适的计算模型,诸如例如客户-服务器模型、对等模型等跨任何数量的系统或设备执行的一个或多个应用的一部分。另外,被描述为由附图中所描绘的任何程序模块支持的任何功能可以至少部分地在任何数量的设备上的硬件和/或固件中实现。
应当进一步理解,计算机系统810可以包括除了所描述或描绘的那些之外的替代和/或附加硬件、软件或固件组件,而不脱离本公开的范围。更具体地,应当理解,被描绘为形成计算机系统810的一部分的软件、固件或硬件组件仅仅是说明性的,并且在各种实施例中可以不存在一些组件或者可以提供附加组件。虽然各种说明性程序模块已被描绘和描述为存储在系统存储器530中的软件模块,但应当理解,被描述为由程序模块支持的功能可以由硬件、软件和/或固件的任何组合来启用。应进一步了解,在各种实施例中,上述模块中的每一者可表示所支持功能的逻辑分区。该逻辑分区是为了便于解释功能而描绘的,并且可以不代表用于实现该功能的软件、硬件和/或固件的结构。因此,应了解,在各种实施例中,描述为由特定模块提供的功能性可至少部分地由一个或多个其他模块提供。此外,在某些实施例中可不存在一个或多个所描绘的模块,而在其他实施例中,可存在未描绘的额外模块且可支持该功能性和/或额外功能性的至少一部分。此外,虽然某些模块可被描绘和描述为另一模块的子模块,但在某些实施例中,此类模块可被提供为独立模块或其他模块的子模块。
虽然已经描述了本公开的特定实施例,但是本领域的普通技术人员将认识到,在本公开的范围内存在许多其他修改和可替代实施例。例如,关于特定设备或组件描述的任何功能和/或处理能力可以由任何其他设备或组件来执行。此外,虽然已经根据本公开的实施例描述了各种说明性实现和架构,但是本领域普通技术人员将理解,对在本文描述的说明性实现和架构的许多其他修改也在本公开的范围内。另外,应当理解,在本文描述为基于另一操作、元素、组件、数据等的任何操作、元素、组件、数据等可另外基于一个或多个其他操作、元素、组件、数据等。因此,短语“基于”或其变体应被解释为“至少部分基于”。
虽然已经用结构特征和/或方法动作专用的语言描述了实施例,但是应当理解,本公开不必限于所描述的具体特征或动作。相反,这些具体特征和动作是作为实现这些实施例的说明性形式而公开的。除非另外具体说明或者在所使用的上下文内另外理解,否则条件语言(诸如“能够”、“可能”或“可以”)一般旨在表达某些实施例可以包括而其他实施例不包括某些特征、元件和/或步骤。因此,此类条件语言通常不是要暗示特征、元件和/或步骤以任何方式对于一个或多个实施例是必需的,或者一个或多个实施例必须包括用于在有或没有用户输入或提示的情况下决定这些特征、元件和/或步骤是否被包括在任何特定实施例中或者是否将在任何特定实施例中执行的逻辑。
附图中的流程图和框图图示了根据本公开的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图和框图中的每个框可以表示指令的模块、区段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些可替代实现中,框中所提及的功能可不按图中所提及的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。进一步将注意到,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现。
Claims (15)
1.一种在工业系统内执行的方法,所述工业系统包括限定相应硬件和与所述硬件相关联的自动化技能的多个机器,所述方法包括:
由所述工业系统的控制模块,获得对第一自动化技能的第一请求;
基于所述第一请求,由所述控制模块发送用于识别所述工业系统内的能够提供所述第一自动化技能的机器的发现调用;
基于所述发现调用,策略处理程序规则引擎确定与所述第一请求相关联的策略;
基于所述策略并且在所述工业系统的运行时间期间,选择所述多个机器中的第一机器;以及
触发所述第一机器以执行所述第一自动化技能。
2.根据权利要求1所述的方法,所述方法进一步包括:在运行时间期间,识别与所述第一请求相关联的策略中的改变。
3.根据权利要求2所述的方法,所述方法进一步包括:
基于与所述第一请求相关联的策略中的改变,选择所述多个机器中的第二机器;以及
触发所述第二机器以执行所述第一自动化技能。
4.根据权利要求1所述的方法,所述方法进一步包括:
由所述控制模块获得对所述第一自动化技能的第二请求;
基于所述策略并且在所述工业系统的运行时间期间,选择所述多个机器中不同于所述第一机器的第二机器;以及
触发所述第二机器以执行所述第一自动化技能。
5.根据权利要求4所述的方法,
其中,所述策略限定用于选择所述机器的规则,所述规则基于执行所述第一自动化技能的位置。
6.一种工业系统,所述工业系统包括:
处理器;和
存储指令的存储器,所述指令在由所述处理器执行时将所述系统配置为:
获得对第一自动化技能的第一请求;
基于所述第一请求,发送用于识别所述工业系统内的能够提供所述第一自动化技能的机器的发现调用;
基于所述发现调用,确定与所述第一请求相关联的策略;
基于所述策略并且在所述工业系统的运行时间期间,选择多个机器中的第一机器;以及
触发所述第一机器以执行所述第一自动化技能。
7.根据权利要求1所述的系统,所述存储器进一步存储指令,所述指令在由所述处理器执行时进一步将所述系统配置为:
在运行时间期间,识别与所述第一请求相关联的策略中的改变。
8.根据权利要求7所述的系统,所述存储器进一步存储指令,所述指令在由所述处理器执行时进一步将所述系统配置为:
基于与所述第一请求相关联的策略中的改变,选择所述多个机器中的第二机器;以及
触发所述第二机器以执行所述第一自动化技能。
9.根据权利要求1所述的系统,所述存储器进一步存储指令,所述指令在由所述处理器执行时进一步将所述系统配置为:
获得对所述第一自动化技能的第二请求;
基于所述策略并且在所述工业系统的运行时间期间,选择所述多个机器中不同于所述第一机器的第二机器;以及
触发所述第二机器以执行所述第一自动化技能。
10.根据权利要求9所述的系统,
其中,所述策略限定用于选择所述机器的规则,所述规则基于执行所述第一自动化技能的位置。
11.一种自动引导车辆(AGV),所述AGV包括:
处理器;和
存储指令的存储器,所述指令在由所述处理器执行时将所述AGV配置为:
获得用于操作所述AGV的第一请求;
基于所述第一请求,确定与所述第一请求相关联的策略;
基于所述策略并且在所述AGV的运行时间期间,选择用于操作所述AGV的第一参数;以及
触发所述AGV以根据所述第一参数进行操作。
12.根据权利要求11所述的AGV,所述存储器进一步存储指令,所述指令在由所述处理器执行时进一步将所述AGV配置为:
在运行时间期间,识别与所述第一请求相关联的策略中的改变。
13.根据权利要求12所述的AGV,所述存储器进一步存储指令,所述指令在由所述处理器执行时进一步将所述AGV配置为:
基于与所述第一请求相关联的策略中的改变,选择用于操作所述AGV的第二参数;以及
触发所述AGV以根据所述第二参数而不是所述第一参数进行操作。
14.根据权利要求11所述的AGV,其中,所述第一参数和第二参数限定用于操作所述AGV的相应最大速度。
15.根据权利要求11所述的AGV,
其中,所述策略限定用于操作所述AGV的规则,所述规则基于能操作所述AGV的位置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2021/019152 WO2022182326A1 (en) | 2021-02-23 | 2021-02-23 | Policy-based engineering for industrial automation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116982008A true CN116982008A (zh) | 2023-10-31 |
Family
ID=74885052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180094423.2A Pending CN116982008A (zh) | 2021-02-23 | 2021-02-23 | 用于工业自动化的基于策略的工程 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4278237A1 (zh) |
CN (1) | CN116982008A (zh) |
WO (1) | WO2022182326A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016201075A1 (de) * | 2016-01-26 | 2017-07-27 | Wago Verwaltungsgesellschaft Mbh | Modul für eine technische Anlage und System und Verfahren zur Durchführung eines technischen Prozesses |
US11308534B2 (en) * | 2019-04-05 | 2022-04-19 | Packsize Llc | Automated third-party cost estimation and production |
-
2021
- 2021-02-23 CN CN202180094423.2A patent/CN116982008A/zh active Pending
- 2021-02-23 WO PCT/US2021/019152 patent/WO2022182326A1/en active Application Filing
- 2021-02-23 EP EP21712637.4A patent/EP4278237A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022182326A1 (en) | 2022-09-01 |
EP4278237A1 (en) | 2023-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11822906B2 (en) | Industrial programming development with a converted industrial control program | |
EP3285127B1 (en) | Remote industrial automation site operation in a cloud platform | |
US11227080B2 (en) | Industrial automation information contextualization method and system | |
RU2747966C2 (ru) | Централизованное управление программно-определяемой автоматизированной системой | |
US10607466B2 (en) | Method to configure control system alarms by associating alarms to tags | |
US7853336B2 (en) | Dynamic versioning utilizing multiple controller engine instances to limit complications | |
US11212322B2 (en) | Automated discovery of security policy from design data | |
EP3002649B1 (en) | Industrial simulation using redirected i/o module configurations | |
US7869887B2 (en) | Discoverable services | |
CN113454551A (zh) | 用于工业生态系统之间互操作性的自动化代码生成器 | |
Rossini et al. | REPLICA: A Solution for Next Generation IoT and Digital Twin Based Fault Diagnosis and Predictive Maintenance. | |
Lyu et al. | Evaluating a self-manageable architecture for industrial automation systems | |
US9767308B2 (en) | Custom security policies for multiple objects | |
CN116982008A (zh) | 用于工业自动化的基于策略的工程 | |
US11900082B2 (en) | Industrial automation multi-developer control code synchronization | |
US20230152790A1 (en) | System model smart object configuration | |
EP4060479A1 (en) | Notifications from an industrial automation development environment | |
US11500429B2 (en) | Input signal coordination and method for use with an expansion module | |
EP4377756A1 (en) | Low code engineering function orchestrator | |
Engelsberger et al. | Dynamic management of cloud-and fog-based resources for cyber-physical production systems with a realistic validation architecture and results | |
US20240086182A1 (en) | Method for connecting a web socket session with an object instance with automation device association | |
US20230050387A1 (en) | Method and system for imposing constraints in a skill-based autonomous system | |
EP3669239B1 (en) | Apparatus and method for autonomously adding and removing of functionality in programmable logic controllers (plcs) | |
WO2021230876A1 (en) | Skill logic controller (slc) | |
CN116868137A (zh) | 发现匹配使用(dmu)自动化系统 |
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 |