CN111492321A - 替换传统可编程逻辑控制器的方法 - Google Patents
替换传统可编程逻辑控制器的方法 Download PDFInfo
- Publication number
- CN111492321A CN111492321A CN201880081518.9A CN201880081518A CN111492321A CN 111492321 A CN111492321 A CN 111492321A CN 201880081518 A CN201880081518 A CN 201880081518A CN 111492321 A CN111492321 A CN 111492321A
- Authority
- CN
- China
- Prior art keywords
- replacement
- legacy
- training
- output
- input
- 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
Images
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
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/13—Plc programming
- G05B2219/13004—Programming the plc
-
- 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/16—Plc to applications
- G05B2219/163—Domotique, domestic, home control, automation, smart, intelligent house
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Programmable Controllers (AREA)
Abstract
在过去的几十年里,半导体、自动化和控制***的快速发展导致了可编程逻辑控制器(PLC)在各种环境中的应用。当由于老化或故障等原因必须替换旧的PLC时,机器学习技术有助于训练替换PLC。这些技术有助于在工业环境中有效采用和正确操作替换PLC。
Description
相关申请的交叉引用
本申请要求2017年12月18日提交的序列号为62/607,037的美国临时申请的优先权,其全部内容通过引用结合于此。
技术领域
本公开涉及替换可编程逻辑控制器。更具体地,本公开涉及机器学习技术,该技术允许可编程逻辑控制器学习传统可编程逻辑控制器的正确行为,从而可以替换那些传统可编程逻辑控制器。
背景技术
在过去的几十年里,半导体、自动化和控制***的快速发展导致了可编程逻辑控制器(programmable logic controller,PLC)在各种各样的过程自动化环境中的应用。单个和相互连接的PLC被部署在非常广泛的工业控制***中,并执行各种各样的任务,但是随着它们的老化,它们也需要被替换。在替换传统PLC方面的改进将提高自动化环境继续正确运行的能力,并减少停机时间。
附图说明
图1显示了工业自动化环境的示例。
图2说明了用于替换传统PLC的示例逻辑。
图3只显示了一个ML-PLC实现的示例。
图4显示了另一个工业自动化环境的示例。
图5说明了用于替换传统PLC的另一个逻辑示例。
图6显示了虚拟化实例的示例。
图7说明了用于替换传统PLC的另一个逻辑示例。
具体实施方式
在过去的几十年里,半导体、自动化和控制***的快速发展导致了可编程逻辑控制器(PLC)在各种各样的过程自动化环境中的应用。在许多情况下,PLC是为在具有挑战性的工业环境中实现高可靠性而设计的,并且具有非常长的寿命。然而,这些优点在使用传统PLC时会产生技术问题。例如,技术问题包括缺少备件、专有编程终端不可用、缺少编程文档,以及编程、安装、故障排除和验证传统PLC操作所需的工程技能逐渐丧失。
下面描述的***和技术解决了在工业环境中替换传统PLC所涉及的技术问题,而不会产生从头构建新控制器所需的硬件和软件工程的显著成本,更不用说与生产停工期相关的损失。该***和技术还解决了PLC的其他技术问题。例如,选择特定的PLC通常会导致购买者被锁定在特定的自动化供应商那里很多年。部分原因在于专有的端到端协议和单片架构。因此,使生产环境适应新出现的一流的PLC硬件是一项技术挑战。
该***和技术结合了机器学习,诸如深度神经网络和深度强化学习,以训练传统PLC的替换PLC。机器学习便于使替换PLC学习传统PLC(或模拟控制环境)的行为。替换PLC因此可以模仿传统PLC,而不需要资源密集的专用编程。具有机器学习软件、硬件或两者兼有的PLC在下文中称为ML-PLC((machine learning-PLC,机器学习-PLC))。ML-PLC可以是单独的物理实体,例如具有ML硬件和软件的PLC,或者可以是例如作为软件模拟而存在的虚拟化实体。
该***和技术使用机器学习来理解给定的传统PLC在给定的自动化环境中正在做什么。该***和技术还使用机器学习来理解为什么传统PLC正在做它正在做的事情。在这点上,***和技术可以确定它们关于质量测量的“原因”,并且通过使用ML-PLC实现更好的结果,例如通过修改传统PLC为产生改进的动作而采取的动作,实际上改进自动化环境的操作。另一个技术优势是,***和技术记录和识别传统PLC的操作,这是一个重大挑战,因为缺乏如上所述的记录和经验。
图1示出了示例工业自动化环境100。自动化环境100包括装配线102和沿着装配线定位的多个制造设备,例如设备104、106、108、110、112、114和116。自动化环境100还包括传感器,例如提供来自环境100的反馈的传感器118、120、122、124、126、128、130、132、134、136和138。制造设备104-116可以是任何类型的受控机器或***,包括如几个示例:机器人、搅拌机、焊接机、传送带、输送机、升降机、注射器、车床、铣床、夹具、刨床等。传感器118-138可以是任何类型的反馈设备,包括如几个示例:照相机、麦克风、电流传感器、电压传感器、旋转传感器、振动传感器、rpm传感器、压力传感器、触摸传感器、接近传感器、热电偶、体积传感器、倾斜传感器、温度传感器等。
在图1中,传统PLC 140和传统PLC 142分别通过它们的PLC输出144和PLC输出146控制设备104-116。传统PLC 140和传统PLC 142分别响应于PLC输入148和PLC输入150生成它们的PLC输出144和PLC输出146。PLC输入148和PLC输入150可以包括来自传感器118-138、设备104-116、其他PLC和其他***、操作员输入或任何其他输入源的信号。
下面参照图1和图2所示的逻辑200进一步描述ML-PLC的一种实现。在图1中,ML-PLC 152在第一阶段与传统PLC 142并联(202)。传统PLC142可以是应该升级的任何品牌或型号的PLC。更一般地说,ML-PLC 152可以连接到任何应该被监控并可能被潜在升级或替换的***。此外,注意,尽管图2示出了强化学习技术,但是可以替代地或附加地实现其他类型的机器学习过程,包括例如反向强化学习。此外,任何类型的学习都可以是在线或离线学习。对于离线或批量学习,通常先收集一个训练数据集,然后作为一个整体用于训练,训练可以是基于模型的或无模型的。对于在线学习,训练在训练数据到达时发生,例如,在模拟的每个步骤,而不需要首先收集整个训练数据集。有许多可能实现的学习技术。几个示例包括:贝叶斯强化学习,神经拟合Q迭代(neural fitted Q-Iteration,NFQ),和深度强化学习。
在第一阶段,ML-PLC 152观察自动化环境100和传统PLC 142之间的输入和输出(204)。更具体地,ML-PLC 152观察传统PLC 142的PLC输入150和PLC输出146。ML-PLC 152利用这些输入和输出来训练操作模型,例如,作为深度强化学习或批量强化学习过程的一部分而开发的模型。ML-PLC152响应于PLC输入150生成ML-PLC输出154(208),并将ML-PLC输出154与已知参考进行比较(210)。已知参考可以代表基本事实,例如来自传统PLC 142的(假定正确的)PLC输出146。
如果来自ML-PLC 152的输出不相同或不相等(212)(例如,就在给定输入的情况下它们导致自动化环境100正常运行的意义上而言),则ML-PLC152惩罚(penalize)当前操作模型的改变(214)。另一方面,如果输出相同或相等,则奖励当前操作模型的改变(216)。利用这种方法,ML-PLC 152随时间改善其操作模型(218),直到操作模型成功地表示传统PLC142的行为(220)。换句话说,ML-PLC 152将其操作模型收敛于传统PLC 142的正确操作。在这方面,ML-PLC 152中的强化学习定义了奖励函数,该奖励函数提供关于ML-PLC 152与传统PLC 142相比的性能的反馈。ML-PLC 152使用奖励函数来找到最大化预期未来奖励的最佳策略。
在第二阶段,在收敛之后,ML-PLC 152可以被合并到自动化环境100中(222)。也就是说,在训练之后,ML-PLC 152可以接管传统PLC 142的控制操作。在被ML-PLC替换之后,传统PLC 142可以从自动化环境100中移除。
作为替代,在训练之后,ML-PLC 152可以通过投票***连接到自动化环境100(224)。投票***从传统PLC 142和经训练的ML-PLC 152获取输入。投票***确定来自ML-PLC 152的输出是否与来自传统PLC 142的输出相同或相等。如果它们相同或相等,则投票***允许ML-PLC 152通过将ML-PLC152的输出传递给自动化环境100来控制自动化环境100。
作为另一种替代,操作模型被翻译成特定的语言。作为一个示例,该语言可以是用于可编程逻辑控制器的国际电工委员会(International Electrotechnical Commission,IEC)61131-3。这种转换有助于劳动部门或其他机构的过程认证。
当以这种方式训练ML-PLC时,在操作过程中可能不会观察到传统PLC的所有状态。例如,在训练过程中可能永远不会观察到特别罕见的状态或特定的错误情况。为了涵盖这些方面,操作员可以修改操作模型或相关的编程控制代码,以解决任何特定的预定情况。例如,操作员可以定义允许的输出参数空间和安全状态转换。如果自动***接收到会导致不期望的输出结果(例如,在允许的输出参数空间之外)的错误输入,则添加的场景可能导致***转换到安全状态。作为另一个示例,操作员可以教导操作模型或改变控制代码,以覆盖很少观察到的条件,例如,当外部空气温度达到40℃以上时,启动附加的冷却机制。
图3仅示出了ML-PLC实现300的一个示例。实现300包括通信接口302、***电路304、输入/输出(I/O)接口306和显示电路308。***电路304可以包括硬件、软件、固件或其他电路的任意组合。***电路304可以例如用一个或多个片上***(SoC)、专用集成电路(ASIC)、微处理器、微控制器、离散模拟和数字电路以及其他电路来实现。
***电路304是ML-PLC 152中任何期望功能的实现的一部分。因此,***电路304可以实现上面参考图1和图2描述的ML-PLC训练、传统PLC复制和传统PLC替换。
显示电路308和I/O接口306可以包括图形用户接口、触敏显示器、语音或面部识别输入、按钮、开关、扬声器和其他用户接口元件。I/O接口306的其他示例包括工业以太网、控制器局域网(CAN)总线接口、通用串行总线(USB)、串行高级技术附件(SATA)、***组件互连快速(PCIe)接口和连接器、存储卡插槽以及其他类型的输入。I/O接口128还可以包括通用串行总线(USB)接口、音频输出、磁性或光学介质接口(例如,CDROM或DVD驱动器)、网络(例如,以太网或电缆(例如,DOCSIS(Data Over Cable Service Interface Specifications,有线电缆数据服务接口规范))接口)或其他类型的串行、并行或网络数据接口。
通信接口302可以包括用于有线或无线通信的收发器。收发器可以包括调制/解调电路、数模转换器(DAC)、整形表、模数转换器(ADC)、滤波器、波形整形器、滤波器、前置放大器、功率放大器和/或用于通过物理(例如线缆)介质(诸如同轴电缆、以太网电缆或电话线)或通过一个或多个天线发送和接收的其他电路。因此,射频(RF)发射(Tx)和接收(Rx)电路310通过一个或多个天线132处理信号的发射和接收,例如,支持蓝牙(BT)、无线LAN(WLAN)、近场通信(NFC)以及2G、3G和4G/长期演进(LTE)通信。
类似地,非无线收发器314可以包括电和光网络收发器。电网络收发器的示例包括Profinet、Ethercat、OPC-UA、TSN、HART和WirelessHART收发器,尽管收发器可以采取其他形式,诸如同轴电缆网络收发器,例如符合DOCSIS的收发器、以太网和异步传输模式(ATM)收发器。光网络收发器的示例包括同步光网络(SONET)和同步数字体系(SDH)收发器、无源光网络(PON)和以太网无源光网络(EPON)收发器以及同轴电缆EPON协议(EPoC)收发器。
ML-PLC 152可以从本地或远程过程数据储存库316存储和检索数据。数据可以训练ML-PLC。例如,过程数据储存库316可以存储批量数据318,用于利用多组采样或捕获的PLC输入150和PLC输出146来训练ML-PLC152。在其他实现中,当实时过程数据从自动化环境100流入时,过程数据储存库316可以存储实时过程数据(包括采样或捕获的PLC输入150和PLC输出146)。
注意,***电路304可以包括一个或多个控制器322,例如微处理器、微控制器、FGPA、GPU、英特尔Movidius(TM)或ARM Trillium(TM)控制器,以及存储器324。例如,控制器322可以是通用或定制的AI硬件加速器。存储器324存储例如操作***326和控制指令328,控制器322执行操作***326和控制指令328来实现ML-PLC 152的期望功能。因此,控制指令328可以执行强化学习,以定义和训练操作模型332来复制传统PLC 142的行为,并学习传统PLC 142为什么执行其动作。控制参数330为控制指令328提供并指定配置和操作选项。
图4示出了替换传统PLC的另一个示例,图5示出了相应的逻辑500。具体而言,图4示出了自动化环境100的示例,在该自动化环境100中,ML-PLC 152直接与传统PLC 142通信以执行训练(502)。在(例如)控制指令328的控制下,ML-PLC 152生成到传统PLC 142的PLC输入150,并观察来自传统PLC 142的PLC输出146(504)。在一些情况下,传统PLC 142被从自动化环境100移除或断开,以例如通过断开开关402来执行ML-PLC训练。
因此,ML-PLC可以映射传统PLC 142的输入/输出相关性,并且可以更容易地确定优化的成本函数。如同图1和图2中所示的示例,ML-PLC可以监控其已经测试的参数空间中的哪些状态以及哪些状态仍未测试(506)。然而,在这种情况下,ML-PLC可以选择对应于状态或状态序列的传统PLC 142的输入,以覆盖任何期望的测试空间,例如,覆盖ML-PLC 152尚未遇到的状态空间中的间隙。此外,ML-PLC 152可以人工创建未经测试的场景,以了解传统PLC 142如何响应这些场景。在一些实现中,ML-PLC 152在复制传统PLC 142的操作时报告状态空间覆盖,例如,通过经由显示电路308生成覆盖用户界面。
注意,对于任何训练技术,ML-PLC 152可以遵循预定义的操作策略,例如,在控制参数330中定义的操作策略。操作策略可以以多种不同的方式指导ML-PLC 152的学习行为。举例来说,操作策略可指导ML-PLC 152花费更多的时间来训练指定的测试用例以确保正确性,或者花费更多的迭代来找到正确的操作,例如,当接收到敏感的模拟输入时。作为另一个示例,操作策略可以定义安全功能,该安全功能被明确地定义为避免ML-PLC 152从传统PLC 142学习相应规则的需要。
如图所示,作为示例,ML-PLC 152采用的学习方法可以是强化学习或模仿(imitation)学习。模仿学习技术旨在模仿给定任务中的行为。也就是说,ML-PLC 152的目标是复制传统PLC 142的行为。如果没有奖励被定义或可用,则可以应用诸如行为克隆的技术,该技术在状态-动作对上,根据专家轨迹(例如,传统PLC 142输出)学习策略作为有监督的学习问题。或者,反向强化学习可以应用于ML-PLC 152。在反向强化学习中,ML-PLC 152通过观察传统PLC 142的行为来确定传统PLC 142的目标、值或奖励,并试图确定导致传统PLC 142的行为的奖励函数。
图6示出了虚拟化实例600的示例。图7示出了使用虚拟化实例600替换传统PLC的逻辑700的另一个示例。虚拟化实例600包括通过任何数量和类型的网络652连接到例如自动化环境100的主机***650。
主机***650包括通信接口602、***电路604、输入/输出(I/O)接口606和显示电路608。***电路604可以包括硬件、软件、固件或其他电路的任意组合。***电路604可以例如用一个或多个片上***(SoC)、专用集成电路(ASIC)、微处理器、微控制器、离散模拟和数字电路以及其他电路622和存储器624来实现。
***电路604包括操作***626、控制参数628和控制指令630。***电路604由此可以创建、执行和维护虚拟化环境632(702)。在这点上,虚拟化环境632可以定义模拟的ML-PLC 634,并且为模拟的ML-PLC 634定义、训练和收敛操作模型638。例如,模拟的ML-PLC634可以是物理ML-PLC 152的“数字双胞胎”。这种情况的一个好处是,主机***650可以训练模拟的ML-PLC 634,而无需将PLC硬件物理地分配给自动化环境100。
例如,主机***650可以从过程数据储存库316获取训练数据。在一些情况下,过程数据储存库316可以包括批量数据318,用于利用多组采样或捕获的PLC输入150和PLC输出146来训练ML-PLC 152。在其他实现中,当实时过程数据从自动化环境100流入时,过程数据储存库316可以存储实时过程数据(包括采样或捕获的PLC输入150和PLC输出146)。结合图4和图5中讨论的技术,主机***650可以跟踪被覆盖的状态空间,并且自身可以生成测试用例。也就是说,训练可以以图1-图5中所述的任何方式进行,包括跟踪状态空间(704)并生成或获取对传统PLC的输入,以及观察来自传统PLC的输出(706)。
此外,虚拟化环境632还可以定义模拟的自动化环境636。模拟的自动化环境636执行自动化环境100的模拟或虚拟实例。这样,模拟的自动化环境636可以提供所有或一些PLC输入150和PLC输出146以及用于训练模拟的ML-PLC 634的其他数据。
如上所述,主机***650可以使用强化学习技术来训练模拟的ML-PLC634(708),生成模拟的ML-PLC的输出(710),并将模拟的ML-PLC的输出与已知参考进行比较(712)。图6和图7所示方法的一个技术优势是不需要对物理的ML-PLC进行传统的编程。另一个优点是主机***650可以加速模拟的ML-PLC 634的训练;这可以允许主机***650比在实际生产环境中更快地收敛操作模型。
在收敛之后,主机***650还可以通过对照任何期望的测试用例集测试操作模型来验证操作模型。在测试之后,操作模型638可以被传输并存储在物理的ML-PLC(例如,ML-PLC 152)中,其将复制传统PLC 142的功能并替换传统PLC 142(714)。注意,在安装后,ML-PLC 152仍然可以配置有控制指令328,控制指令328基于可用的过程数据继续改进操作模型。
注意,结合上述任何技术,对抗网络可以帮助测试ML-PLC 152。更详细地,对抗网络可以创建测试场景(例如,在受控环境中),该测试场景执行任何指定的动作状态。例如,对抗网络可以分析在训练ML-PLC时已经被跟踪的状态空间,并且可以生成ML-PLC还没有经历过的测试用例。
描述上述技术的另一种方式是,它们教导ML-PLC 152复制和优化传统PLC 142。在这点上,这些技术可以实现自主学习过程,该过程被动地观察自动化环境100并使用过程数据来:a)识别相关的状态空间;b)学习过程/***模拟和关键性能指标(key performanceindicator,KPI)-预测模型,使用例如卷积神经网络来结合时间相关性和递归神经网络来捕获相关的***动态;c)通过使用例如贝叶斯神经网络,根据状态来学习过程和***数据的不确定性;并识别过程/***数据之间的相关性。注意,过程或***KPI可以被识别或手动选择/输入。
这些技术可以采用强化学习方法和卷积神经网络来学习传统PLC 142的控制策略。在一个实现中,最优目标和奖励措施是原始控制器操作和通过强化学习训练的操作模型之间的最小偏差。为了测量偏差,在用与上述自主学习过程相关联的最长识别时间相关性进行初始化之后,执行已知控制策略和操作模型之间的闭环交互,以推断在适当的时间段内ML-PLC 154将如何执行。为了进一步优化训练,过程***KPI可以被添加到强化学习的奖励措施中,从而导致ML-PLC 152的改进操作(尽管这可能偏离传统PLC 142的原始操作)。注意,贝叶斯神经网络可以估计过程/***和控制器的不确定性。就复制精度和/或过程KPI(可经由仿真模型预先检查)而言,上述技术可有目的地修改由ML-PLC 152采取的动作,以在具有高不确定性或低覆盖的状态空间区域中获得进一步的洞察力和更多的信息。
上述方法、设备、处理、电路和逻辑可以以许多不同的方式以及硬件和软件的许多不同组合来实现。例如,实现的全部或部分可以是包括指令处理器的电路,诸如中央处理器(CPU)、微控制器或微处理器;或者作为专用集成电路(ASIC)、可编程逻辑器件(PLD)或现场可编程门阵列(FPGA);或者作为包括离散逻辑或其他电路组件的电路,包括模拟电路组件、数字电路组件或两者;或者它们的任意组合。作为示例,该电路可以包括分立的互连硬件组件,或者可以组合在单个集成电路管芯上,分布在多个集成电路管芯中,或者在公共封装中的多个集成电路管芯的多芯片模块(MCM)中实现。
因此,电路可以存储或访问用于执行的指令,或者可以仅在硬件中实现其功能。指令可以存储在除了瞬时信号之外的有形存储介质中,诸如闪存、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM);或者在磁盘或光盘上,诸如光盘只读存储器(CDROM)、硬盘驱动器(HDD)或其他磁盘或光盘;或者在另一机器可读介质中或另一机器可读介质上。诸如计算机程序产品的产品可以包括存储介质和存储在介质中或介质上的指令,并且当指令由设备中的电路执行时,可以使得设备实现上述或附图中所说明的任何处理。
实现可以是分布式的。例如,电路可以包括多个不同的***组件,诸如多个处理器和存储器,并且可以跨越多个分布式处理***。参数、数据库和其他数据结构可以单独存储和管理,可以合并到单个存储器或数据库中,可以以许多不同的方式进行逻辑和物理组织,并且可以以许多不同的方式实现。示例实现包括链表、程序变量、哈希表、数组、记录(例如,数据库记录)、对象和隐式存储机制。指令可以形成单个程序的部分(例如,子程序或其他代码段),可以形成多个单独的程序,可以分布在多个存储器和处理器中,并且可以以许多不同的方式实现。示例实现包括独立程序,以及作为库的一部分,诸如动态链接库(DynamicLink Library,DLL)等共享库。举例来说,库可以包含共享数据和一个或多个共享程序,该共享程序包括当由电路执行时执行上文所描述或图中所说明的任何处理的指令。
已经具体描述了各种实现。然而,许多其他实现也是可能的。
Claims (20)
1.一种用于替换传统可编程逻辑控制器(PLC)的方法,包括:
在包括传统PLC的自动化环境中连接替换PLC;
用所述替换PLC获取到所述传统PLC的PLC输入和来自所述传统PLC的PLC输出;
用所述PLC输入和所述PLC输出训练所述替换PLC中的操作模型,以使所述替换PLC复制传统PLC行为;以及
训练后,用所述替换PLC代替所述传统PLC来控制所述自动化环境的至少一部分。
2.根据权利要求1所述的方法,还包括:
在训练期间跟踪所述传统PLC的状态空间覆盖;以及
基于所述状态空间覆盖中的间隙,生成用于所述替换PLC的训练案例。
3.根据权利要求1所述的方法,其中:
训练包括:使用机器学习来训练用于所述替换PLC的操作模型。
4.根据权利要求1所述的方法,其中:
训练包括:使用强化学习来训练用于所述替换PLC的操作模型。
5.根据权利要求1所述的方法,其中:
训练包括:通过深度强化学习、贝叶斯强化学习,或两者来应用批量强化学习、在线强化学习或两者,训练用于所述替换PLC的操作模型。
6.根据权利要求1所述的方法,其中控制包括:
从所述自动化环境中移除所述传统PLC;以及
将所述替换PLC添加到所述自动化环境中,以取代所述传统PLC。
7.根据权利要求1所述的方法,其中控制包括:
将来自所述替换PLC的替换PLC输出连接到投票***;
将来自传统PLC的传统PLC输出连接到所述投票***;以及
在所述投票***的控制下,将所述替换PLC输出或所述传统PLC输出传递到所述自动化环境。
8.根据权利要求1所述的方法,其中:
获取包括:当所述PLC输入和所述PLC输出在自动化环境中发生时,被动地监听所述PLC输入和所述PLC输出。
9.根据权利要求1所述的方法,其中:
获取包括:用所述替换PLC生成用于所述传统PLC的所述PLC输入。
10.一种替换可编程逻辑控制器(PLC),包括:
通信接口,其可操作用于在包括传统PLC的自动化环境中连接所述替换PLC;
***存储器,其定义用于所述替换PLC的操作模型;以及
与所述***存储器和所述通信接口通信的***电路,所述***电路被配置成:
用所述替换PLC获取到所述传统PLC的PLC输入和来自所述传统PLC的PLC输出;以及
用所述PLC输入和所述PLC输出训练所述***存储器中的操作模型,以使所述替换PLC复制传统PLC行为;以及
输入/输出(I/O)接口,可操作用于在所述操作模型被训练之后,用所述替换PLC代替所述传统PLC来控制所述自动化环境的至少一部分。
11.根据权利要求10所述的替换PLC,其中:
所述***电路还被配置成:
在训练期间跟踪所述传统PLC的状态空间覆盖;以及
基于所述状态空间覆盖的间隙,生成用于所述替换PLC的训练案例。
12.根据权利要求10所述的替换PLC,其中:
所述***电路还被配置成:
使用机器学习训练用于所述替换PLC的操作模型。
13.根据权利要求10所述的替换PLC,其中:
所述***电路定义控制操作关键性能指标(KPI),其表征所述替换PLC的性能,其中所述控制操作KPI是明确预定义的,从所述传统PLC的观察中获取的,或者两者都有;以及
***电路还被配置成:
使用在线强化学习来训练用于所述替换PLC的操作模型,以针对所述控制操作KPI优化所述替换PLC的控制策略。
14.根据权利要求10所述的替换PLC,其中:
所述***电路还被配置成:
通过使用神经拟合的Q迭代、深度强化学习、贝叶斯强化学习或其任意组合来应用批量强化学习,训练用于所述替换PLC的操作模型。
15.根据权利要求10所述的替换PLC,其中:
I/O接口配置为:
将来自所述替换PLC的替换PLC输出连接到投票***。
16.根据权利要求10所述的替换PLC,其中:
所述***电路被配置为通过以下方式获取所述PLC输入和所述PLC输出:
当所述PLC输入和所述PLC输出在所述自动化环境中发生时,被动地监听所述PLC输入和所述PLC输出。
17.根据权利要求10所述的替换PLC,其中:
所述***电路还被配置为通过以下方式获取所述PLC输入:
用所述替换PLC生成用于所述传统PLC的PLC输入。
18.一种用于训练替换可编程逻辑控制器(PLC)的***,包括:
过程数据储存库,其包括:
包括传统PLC的自动化环境的操作模型训练数据;以及
***电路,其定义:
定义模拟的替换PLC的虚拟化环境;
所述模拟的替换PLC的操作模型;以及
强化训练控制指令,其被配置为用所述操作模型训练数据来强化训练用于所述模拟的替换PLC的操作模型,以使所述模拟的替换PLC复制传统PLC行为。
19.根据权利要求18所述的***,其中:
所述虚拟化环境还包括:
模拟的自动化环境,其被配置为生成所述过程数据储存库中的所述操作模型训练数据。
20.根据权利要求18所述的***,其中:
所述***电路被配置成:
在强化训练之后,将所述操作模型传输到用于所述自动化环境中的所述传统PLC的物理替换PLC。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762607037P | 2017-12-18 | 2017-12-18 | |
US62/607,037 | 2017-12-18 | ||
PCT/US2018/044277 WO2019125519A1 (en) | 2017-12-18 | 2018-07-30 | Method for replacing legacy programmable logic controllers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111492321A true CN111492321A (zh) | 2020-08-04 |
CN111492321B CN111492321B (zh) | 2023-07-18 |
Family
ID=63174410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880081518.9A Active CN111492321B (zh) | 2017-12-18 | 2018-07-30 | 替换传统可编程逻辑控制器的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11550288B2 (zh) |
EP (1) | EP3729214B1 (zh) |
CN (1) | CN111492321B (zh) |
WO (1) | WO2019125519A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112859789A (zh) * | 2021-01-29 | 2021-05-28 | 重庆邮电大学 | 一种基于cfd构建数据中心数字孪生体的方法及*** |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11341373B1 (en) * | 2019-03-11 | 2022-05-24 | Apple Inc. | End-to-end training of a machine learning node that interfaces with a fixed function node |
CN112529160A (zh) * | 2020-12-09 | 2021-03-19 | 南京大学 | 一种摄像器材记录的视频图像数据的高维模仿学习方法 |
US20240160170A1 (en) * | 2021-04-06 | 2024-05-16 | Rakuten Mobile, Inc. | Autonomous software controller adaptation |
DE102021119818A1 (de) * | 2021-07-30 | 2023-02-02 | Dspace Gmbh | Computerimplementiertes Verfahren zur Herstellung eines für eine numerische Simulation geeigneten Software-Abbildes zumindest eines Teils eines realen Steuergeräts |
EP4312094A1 (en) | 2022-07-26 | 2024-01-31 | Charles Gish | Connecting system comprising a device configuration for an artificial neural network |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040249480A1 (en) * | 2003-06-05 | 2004-12-09 | Lefebvre W. Curt | Method for implementing indirect controller |
DE102009028655A1 (de) * | 2009-08-19 | 2011-02-24 | Endress + Hauser Process Solutions Ag | Verfahren zum Austausch eines Feldgeräts der Automatisierungstechnik durch ein typengleiches Feldgerät |
US20150346706A1 (en) * | 2014-06-01 | 2015-12-03 | Ilan GENDELMAN | Industrial control system smart hardware monitoring |
CN105830417A (zh) * | 2013-11-22 | 2016-08-03 | Abb技术有限公司 | 用于替换和调试现场设备的方法和*** |
CA2927826A1 (en) * | 2016-04-25 | 2017-10-25 | Si-Ga Data Security (2014) Ltd. | Industrial control system smart hardware monitoring |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8849462B2 (en) * | 2009-12-02 | 2014-09-30 | Velvetwire Llc | Method and apparatus for automation of a programmable device |
DE102009054905A1 (de) | 2009-12-17 | 2011-06-22 | Robert Bosch GmbH, 70469 | Verfahren zum Ermitteln von Funktionsparametern für ein Steuergerät |
US8949668B2 (en) * | 2011-05-23 | 2015-02-03 | The Boeing Company | Methods and systems for use in identifying abnormal behavior in a control system including independent comparisons to user policies and an event correlation model |
US9823626B2 (en) * | 2014-10-06 | 2017-11-21 | Fisher-Rosemount Systems, Inc. | Regional big data in process control systems |
EP3304229B1 (en) * | 2015-06-04 | 2022-08-17 | Siemens Aktiengesellschaft | Method and system for generating plc code with a connectivity model |
EP3458918B1 (en) * | 2016-05-20 | 2024-06-26 | Georgia Tech Research Corporation | Systems and methods for detecting anomalous software on a programmable logic controller |
EP3611581B1 (en) * | 2016-05-25 | 2021-11-10 | Siemens Aktiengesellschaft | Industrial controller and method configured to control an industrial activity |
JP6834446B2 (ja) * | 2016-12-14 | 2021-02-24 | オムロン株式会社 | 制御システム、制御プログラムおよび制御方法 |
US10426055B2 (en) * | 2017-10-02 | 2019-09-24 | Fisher-Rosemount Systems, Inc. | In-place retrofit of PLC control systems |
-
2018
- 2018-07-30 WO PCT/US2018/044277 patent/WO2019125519A1/en unknown
- 2018-07-30 CN CN201880081518.9A patent/CN111492321B/zh active Active
- 2018-07-30 EP EP18753515.8A patent/EP3729214B1/en active Active
- 2018-07-30 US US16/768,380 patent/US11550288B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040249480A1 (en) * | 2003-06-05 | 2004-12-09 | Lefebvre W. Curt | Method for implementing indirect controller |
DE102009028655A1 (de) * | 2009-08-19 | 2011-02-24 | Endress + Hauser Process Solutions Ag | Verfahren zum Austausch eines Feldgeräts der Automatisierungstechnik durch ein typengleiches Feldgerät |
CN105830417A (zh) * | 2013-11-22 | 2016-08-03 | Abb技术有限公司 | 用于替换和调试现场设备的方法和*** |
US20160291563A1 (en) * | 2013-11-22 | 2016-10-06 | Abb Technology Ltd. | A method and a system for replacing and commissioning of a field device |
US20150346706A1 (en) * | 2014-06-01 | 2015-12-03 | Ilan GENDELMAN | Industrial control system smart hardware monitoring |
CA2927826A1 (en) * | 2016-04-25 | 2017-10-25 | Si-Ga Data Security (2014) Ltd. | Industrial control system smart hardware monitoring |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112859789A (zh) * | 2021-01-29 | 2021-05-28 | 重庆邮电大学 | 一种基于cfd构建数据中心数字孪生体的方法及*** |
CN112859789B (zh) * | 2021-01-29 | 2024-02-06 | 重庆邮电大学 | 一种基于cfd构建数据中心数字孪生体的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111492321B (zh) | 2023-07-18 |
US20200293013A1 (en) | 2020-09-17 |
US11550288B2 (en) | 2023-01-10 |
EP3729214A1 (en) | 2020-10-28 |
EP3729214B1 (en) | 2022-02-23 |
WO2019125519A1 (en) | 2019-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111492321A (zh) | 替换传统可编程逻辑控制器的方法 | |
US8543370B2 (en) | Multiple PLC simulation system | |
US8724481B2 (en) | Field device controlling system | |
US9124999B2 (en) | Method and apparatus for wireless communications in a process control or monitoring environment | |
US11262722B2 (en) | Monitoring and controlling unit for use in an autonomous system with self-x properties | |
JP6961740B2 (ja) | 産業用コントローラのデータ完全性を保証するためのaiの使用 | |
JP2019079452A (ja) | 異常判定システム、データ送受装置、モータ制御装置、及び異常判定方法 | |
US12008072B2 (en) | Control system and control method | |
US20210200167A1 (en) | Control program code conversion | |
Al Sunny et al. | Remote monitoring and online testing of machine tools for fault diagnosis and maintenance using MTComm in a cyber-physical manufacturing cloud | |
EP3699775A1 (en) | Predictive graph query system for automation engineering systems | |
US20180063606A1 (en) | High-speed converter, measurement system, and computer-readable medium | |
US20220026884A1 (en) | Autonomous coordination of devices in industrial environments | |
JP2023181157A (ja) | シンプレックスi/oコンポーネントの非中断的交換のための装置及び方法 | |
EP3718291B1 (en) | Dynamically establishing communication between mobile equipment and a process controller | |
US20210109764A1 (en) | Interface Device and Method for Configuring the Interface Device | |
CN117795436A (zh) | 用于产生真实的控制装置的至少一部分的适用于数值模拟的软件映射的计算机实现的方法 | |
US20220377004A1 (en) | Network simulator, network simulation method, and computer-readable recording medium | |
Carrijo et al. | A New Approach for Using Asset Management Integrated with Profibus PA Networks From Mobile Devices Through a Secure Channel | |
TWI632037B (zh) | 控制機器人系統及控制機器人方法 | |
Salimifard et al. | An Intelligent-Based Multiplicative Actuator Fault Estimation and Accommodation of Nonlinear Cooperative Systems | |
US20200137167A1 (en) | System and method for supporting wired and wireless communications in industrial safety systems | |
JP2016091393A (ja) | オンライン試験方法 | |
RU2427873C1 (ru) | Устройство для моделирования процедуры распознавания сложного динамического объекта на временном интервале | |
WO2021083600A1 (en) | Method for virtual configuration of an automation system |
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 |