首页> 中国专利> 对角递归神经网络控制器在多平台中的实现方法

对角递归神经网络控制器在多平台中的实现方法

摘要

本发明涉及一种对角递归神经网络控制器在多平台中的实现方法,按照如下实现:建立DRNN神经网络控制器,其包括DRNC神经网络和DRNI神经网络;对DRNC神经网络和DRNI神经网络对应选取学习训练方法;通过计算单元模块组态的方式建立DRNN神经网络控制器拓扑结构;建立计算单元模块与通用中间件的映射关系;建立通用中间件与目标平台的映射关系;将通用中间件对应部署到目标平台中;在目标平台上对应解析通用中间件与目标平台间的映射关系;在目标平台上运行DRNN神经网络控制器。本发明所提出的方法可在多种不同类型的计算平台中相互移植与共享,支持在线组态和调试,其学习、训练以及测试应用均可在下位机中实现,能够满足工业现场长期稳定工作的需要。

著录项

  • 公开/公告号CN104834285A

    专利类型发明专利

  • 公开/公告日2015-08-12

    原文格式PDF

  • 申请/专利权人 福州大学;

    申请/专利号CN201510144288.4

  • 发明设计人 郑松;宋怡霖;

    申请日2015-03-30

  • 分类号G05B19/418(20060101);

  • 代理机构35100 福州元创专利商标代理有限公司;

  • 代理人蔡学俊

  • 地址 350108 福建省福州市闽侯县上街镇大学城学园路2号福州大学新区

  • 入库时间 2023-12-18 10:12:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-12

    授权

    授权

  • 2015-09-09

    实质审查的生效 IPC(主分类):G05B19/418 申请日:20150330

    实质审查的生效

  • 2015-08-12

    公开

    公开

说明书

技术领域

本发明涉及工业自动化软件控制技术领域,特别是一种对角递归神经网 络控制器在多平台中的实现方法。

背景技术

在复杂流程工业系统中,被控对象多为多输入多输出的动态时变参数系 统,难以建立精确的数学模型;同时,常规的PID控制方法在非线性系统的精 度控制与解耦控制上也难以达到理想的控制效果。神经网络控制技术作为一种智 能控制方法能够充分逼近未知非线性对象的动态行为,可以弥补常规PID方法 的局限性,常用来解决一些难以建模的非线性系统的控制问题。然而常用的多层 前向神经网络是一种静态网,其在控制系统中应用时必须先确定对象的模型,对 未知或先验知识很少的系统而言,既不准确又影响辨识和控制效果,而对角递归 神经网络(DRNN)具有内部反馈机制可用来记忆系统的动态响应,其用于系统 辨识与控制时无须知道详细的对象知识,可以有效改善控制系统的鲁棒性和适应 性,提高系统的控制性能。如何在工业控制系统中有效实现和应用DRNN等神 经网络算法,提高整个系统运行的稳定性和实时性是整个控制工程界需要解决的 问题。

在现有技术中,对角递归神经网络算法在控制领域中的实现方式主要有 以下三种:

(1)全PC机实现。目前对角递归神经网络控制器的研究通常都是借助PC 机上Matlab软件实现系统建模与仿真,多数停留在理论研究阶段,并未真正应 用到实际控制工程中,其算法程序也无法直接移植到工程现场中使用。

(2)PC+PLC架构实现。采用PC+PLC架构实现对角递归神经网络控制器 主要有两种方式:一是整个神经网络的模型在上位机(PC)中建立和训练,神 经网络算法仅为PLC控制站提供参数辨识的功能,如对PID控制参数进行优化, 而神经网络算法的执行并非在PLC中完成。

(3)全PLC实现。神经网络模型在上位机的组态软件中建立,可下载到PLC 中进行计算,但由于组态软件与PLC品牌相互绑定,神经网络算法程序只能运 行在特定品牌的PLC中。

而以上方法均存在不同层面的弊端:

首先,多数研究中神经网络模型的建立与计算都是在上位机中完成,而管理 上位机采用的是普通PC,其硬件及软件的可靠性均十分有限,可能对控制系统 的长期稳定运行造成不利影响;

其次,在上位机中运行的神经网络算法往往是在非实时数据库中进行数据处 理,控制站采集的实时数据也需要传输到上位机中计算,严重地影响了系统控制 的实时性;

再次,由于不同厂商生产的组态软件与特定品牌的PLC相互绑定,不同品牌 的控制器采用的编程规则也千差万别,针对一个品牌控制器编写的算法程序基本 不可能直接移植到另一个品牌控制器的平台上运行,因此现有技术中实现的神经 网络程序的通用性都较差。

最后,多数研究采用类C语言的编程方法实现对角递归神经网络控制器 算法程序,算法通用性差,当系统更复杂或模型稍作修改,就需要进入编程环境 重新编程,无法支持在线调试,调试过程也不直观。

有鉴于此,有必要提出一种通用的神经网络控制器实现方法以解决上述 问题。

发明内容

本发明的目的在于提供一种对角递归神经网络控制器在多平台中的实现 方法,用于解决现有技术中DRNN神经网络算法程序难以在不同类型计算器件 上移植、共享等技术问题,以克服现有技术的不足。

为实现上述目的,本发明的技术方案是:一种对角递归神经网络控制器 在多平台中的实现方法,其特征在于,按照如下步骤实现:

S1:建立DRNN神经网络控制器,所述DRNN神经网络控制器包括一DRNC 神经网络和一DRNI神经网络;

S2:分别对所述DRNC神经网络和所述DRNI神经网络对应选取学习训练方 法;

S3:通过计算单元模块组态的方式建立所述DRNN神经网络控制器的拓扑 结构,并对各个计算单元模块的计算顺序进行时序分析与判断;

S4:建立所述计算单元模块与通用中间件的映射关系;

S5:建立所述通用中间件与目标平台的映射关系;

S6:将所述通用中间件对应部署到所述目标平台中;

S7:在所述目标平台上对应解析所述通用中间件与所述目标平台间的映射关 系;

S8:在所述目标平台上运行所述DRNN神经网络控制器。

在本发明一实施例中,在所述步骤S1中,所述DRNI神经网络用于识别 未知的被控设备,并将被控设备的敏感度信息提供给所述DRNC神经网络;所 述DRNC神经网络用于调节系统中被控设备的输出和期望输出之间的误差,使 得被控设备的输出和期望输出之间的误差最小;所述DRNI神经网络的结构和所 述DRNC神经网络的结构均根据被控设备输入输出的个数来建立的。

在本发明一实施例中,在所述步骤S2中,所述DRNC神经网络和所述 DRNI神经网络的学习训练方法采用梯度下降法;所述DRNI神经网络与所述 DRNC神经网络中迭代过程的权值均采用如下该方式进行更新:

W(n+1)=W(n)+η(-EmW)

且在所述DRNI神经网络中,所述采用:

在所述DRNC神经网络中,所述采用:

其中W表示权重,W(n)和W(n+1)分别表示在迭代过程中,该权重的当前值 和下一时刻的值;η表示学习率,O(k)表示所述DRNI神经网络或所述DRNC 神经网络的输出;Em表示所述DRNI神经网络的一个周期的误差函数, em(k)=y(k)-ym(k)表示被控设备响应y(k)和所述DRNI神经网络响应ym(k)间 的误差;EC表示所述DRNC神经网络的一个周期的误差函数, eC(k)=yr(k)-y(k)表示期望响应yr(k)和被控设备响应y(k)之间的误差;yu(k) 为被控设备的敏感度,即被控设备的输入输出关系。

在本发明一实施例中,在所述步骤S3中,所述DRNN神经网络控制器包 括多个拓扑结构,且每个拓扑结构均包括多个节点以及与所述节点相连的连接 线;所述计算单元模块为所述拓扑结构中最小组成的节点;所述计算单元模块为 执行模拟量或数字量计算操作的控制单元;所述连接线用以表示数据变量信号类 型和信号流动方向;所述拓扑结构之间的数据流是通过每个拓扑结构对应的输入 控制单元或输出控制单元相互衔接。

在本发明一实施例中,在所述步骤S4中,所述通用中间件通过对所述计 算单元模块进行结构化数字编码,建立所述计算单元模块与所述通用中间件的映 射关系。

在本发明一实施例中,所述通用中间件用于连接所述拓扑结构与所述目 标平台,且该通用中间件包括:结构数据库、事务调度模块、中间件模块以及算 法执行模块;所述结构数据库用于接收和管理经结构化数字编码后计算单元模块 的组态信息;所述事务调度模块和所述算法执行模块用于读取所述组态信息以及 所述拓计算单元模块的时序定义信息,以及完成所述DRNN神经网络控制器的 计算与执行。

在本发明一实施例中,在所述步骤S5中,分析所述目标平台的编程规范, 在所述通用中间件的结构化数字编码系统与所述目标平台的指令系统之间建立 映射关系。

在本发明一实施例中,在所述步骤S7中,通过所述中间件模块来解析所 述通用中间件与目标平台之间的映射关系,并生成所述目标平台所支持的程序代 码。

相较于现有技术,本发明具有以下有益效果:本发明所提出的一种对角 递归神经网络控制器在多平台中的实现方法,其所对应的神经网络算法与PLC 硬件类型及其指令系统、PC机或工控机等的操作系统无关,程序的通用性好, 同一套DRNN算法程序可以直接移植到多种不同品牌的计算器件上运行,大幅 度提升了控制系统开发和维护的效率,降低了成本与风险;该方法能够在PLC、 PC等多种计算平台上实现神经网络控制器的复杂计算与应用,支持神经网络控 制器在下位机上的学习、训练与测试,稳定性好,突破了PLC控制器只能进行 简单逻辑运算及控制的壁垒,大大地提高系统运行和控制的实时性、稳定性,同 时支持在线组态与调试优化,有利于降低控制系统开发与运行维护成本。

附图说明

图1为本发明中DRNN神经网络控制器的实现流程图。

图2为本发明一实施例中DRNN神经网络控制器的结构图。

图3为本发明中DRNN神经网络控制器的部分拓扑结构示意图。

图4为本发明中DRNN神经网络控制器在多平台上实现的原理图。

具体实施方式

下面结合附图,对本发明的技术方案进行具体说明。

工业控制系统的目的是确定适当的输入控制量,使系统的实际输出接近 于期望的输出。神经网络实现直接控制的基本思想是:神经网络通过系统的实际 输出与期望输出之间的误差来调整神经网络的权重,即让神经网络学习,直至误 差趋于零的过程。为了提高神经网络控制器在控制系统中运行的稳定性和实时 性,本发明提供一种对角递归神经网络控制器在多平台中的实现方法,如图1 所示,其特征在于,按照如下步骤实现:

S1:建立DRNN神经网络控制器,所述DRNN神经网络控制器包括一DRNC 神经网络和一DRNI神经网络。所述DRNI神经网络和所述DRNC神经网络均 根据被控设备输入输出的个数来建立的。所述DRNI神经网络用于识别未知的被 控设备,并将被控设备的敏感度信息提供给所述DRNC神经网络;其中,被控 设备的敏感度信息包括被控对象的Jacobian信息,即被控设备的输入输出关系, 该关系一般是未知的,但可以由DRNI神经网络估计出。所述DRNC神经网络 用于控制未知的动态系统,并调节系统中被控设备的输出和期望输出之间的误 差,使得被控设备的输出和期望输出之间的误差最小;

S2:分别对所述DRNC神经网络和所述DRNI神经网络对应选取学习训练方 法。在本实施例中,所述DRNC神经网络和所述DRNI神经网络的学习训练方 法均采用梯度下降法,且所述DRNI神经网络与所述DRNC神经网络中迭代过 程的权值均采用如下该方式进行更新:

W(n+1)=W(n)+η(-EmW)

且在所述DRNI神经网络中,所述采用:

在所述DRNC神经网络中,所述采用:

其中W表示权重,W(n)和W(n+1)分别表示在迭代过程中,该权重的当前 值和下一时刻的值;η表示学习率,O(k)表示所述DRNI神经网络或所述DRNC 神经网络的输出;Em表示所述DRNI神经网络的一个周期的误差函数, em(k)=y(k)-ym(k)表示被控设备响应y(k)和所述DRNI神经网络响应ym(k)间 的误差;EC表示所述DRNC神经网络的一个周期的误差函数, eC(k)=yr(k)-y(k)表示期望响应yr(k)和被控设备响应y(k)之间的误差;yu(k) 为被控设备的敏感度,即被控设备的输入输出关系。

进一步的,如图2所示,为本实施例中一DRNN神经网络控制器结构图, 其中,控制对象是一个单输入单输出的非线性被控设备。所述DRNC神经网络 和所述DRNI神经网络均包含一个输入层、一个由递归神经元构成的隐含层和一 个输出层。设备即系统的被控设备,并用差分方程描述。 用差分方程yr(k+1)=0.6yr(k)+r(k)表示参考模型,其中 r(k)=sin(2πk/25)+sin(2πk/10)。将参考输入r(k)作为DRNC神经网络的输入, 将参考输出yr(k)用于DRNI神经网络识别设备敏感度,设备敏感度用 计算,其中Sj(k)是第j个递归神经元的输入 总和,f(·)是sigmoid函数,为输入层到隐层的权值。此外,图2中DBP表 示梯度下降法,用于DRNC神经网络和DRNI神经网络的学习训练,D表示取 上一时刻值。

S3:根据步骤S1和步骤S2中设计好的DRNN神经网络控制器的结构和 网络的学习与训练方法,通过计算单元模块组态的方式建立所述DRNN神经网 络控制器的拓扑结构,并对拓扑结构中各计算单元模块的计算顺序进行时序分析 与判断。

所述拓扑结构是指一种由节点与有向连接线相互连接形成的网络图形结 构,如图3所示,每个计算单元模块构成了DRNN神经网络控制器的拓扑结构 中的最小组成的节点,一系列代表数据变量信号类型(如模拟量和数字量的输入 输出)和信号流动方向的有向连线构成了网络的连接线。该拓扑结构包含了算法 计算策略、控制参数、设备通讯地址、数据变量的信号类型及其流动方向等组态 信息。整个DRNN神经网络控制器对应由多个拓扑结构构成,拓扑结构之间的 数据流是通过输入控制单元与输出控制单元相互衔接,且被控设备的输入输出数 据点与特定的输入控制单元、输出控制单元相关联。本发明方法中通过DRNN 神经网络控制器拓扑结构的建立即可确定控制器对应的控制算法的变量计算及 数据信号的传递过程。

在本实施例中,所述计算单元模块是所述拓扑结构中的节点;所述计算 单元模块是执行模拟量或数字量计算操作的控制单元,且如图3所示,该拓扑结 构包括输入控制单元、求和计算单元、布尔逻辑计算单元、高低限报警计算单元 产生以及输出控制单元。

S4:建立所述计算单元模块与通用中间件的映射关系。所述通用中间件通 过对所述计算单元模块进行结构化数字编码,建立所述计算单元模块与所述通用 中间件的映射关系。进一步的,通过将DRNN神经网络控制器的拓扑结构所含 的算法信息发送至通用中间件中,利用通用中间件将代表网络节点的计算单元模 块对应的程序进行结构化数字编码,建立其两者之间的映射关系。

所述通用中间件用于连接所述拓扑结构与所述目标平台,且该通用中间 件包括:基于内存的结构数据库、事务调度模块、中间件模块以及算法执行模块; 所述结构数据库用于接收和管理经结构化数字编码后计算单元模块的组态信息; 所述事务调度模块和算法执行模块用于读取所述组态信息以及所述拓扑结构中 计算单元模块的时序定义信息,以及完成所述DRNN神经网络控制器算法的计 算与执行。

其中,结构化数字编码过程涉及的因素有:实时数据、数据类型、数据 在系统中的标识、计算单元模块的控制逻辑及模块间的计算时序、通信地址等。

进一步的,如图4所示,通用中间件的功能是在DRNN神经网络控制器 对应的控制算法拓扑结构与多种目标平台之间建立关联关系,其工作原理如下:

(1)将DRNN神经网络控制器对应的算法拓扑结构所包含的组态信息按照 一定的结构化编码规则发送到通用中间件的结构数据库中;

(2)由事务调度模块与算法执行模块负责读取计算单元模块对应的控制算 法数据和拓扑结构时序定义文件,完成算法时序判断、通讯管理、算法模块的选 择、计算控制以及数据实时更新等任务;

(3)中间件模块负责解析控制算法数字编码与目标平台程序代码之间的映 射关系,并利用代码自动生成方法将其转换为各种目标平台可执行的程序代码, 从而驱动目标平台的硬件资源完成相应的计算。

S5:建立所述通用中间件与目标平台的映射关系。通过分析目标平台指令 系统的编程规范,并与通用中间件的结构化数字编码系统进行校对,在通用中间 件与目标平台之间建立一组映射关系。在本实施例中,目标平台采用多种品牌的 PLC控制器,可承载不同操作系统的PC机或工控机等,在控制系统中可作为下 位机控制站。

S6:将所述通用中间件对应部署到所述目标平台中,即在目标平台中下载 安装通用中间件对应的程序,为DRNN神经网络控制器算法提供完备的计算执 行环境。

S7:在所述目标平台上对应解析所述通用中间件与所述目标平台间的映射 关系。进一步的,通过所述中间件模块解析通用中间件与目标平台之间的映射关 系,生成目标平台所支持的程序代码。在本实施例中,通过利用中间件模块解析 通用中间件内结构化数字编码后控制算法与目标平台的程序代码之间的映射关 系,采用程序代码自动生成的方法将编码后的算法程序转化为不同平台计算硬件 及其指令系统所支持的可执行代码。其中,中间件模块由多种不同平台的计算硬 件对应的编程与代码指令体系组成,是一组专门用于解析程序结构化数字编码与 程序代码之间映射关系的程序集合。

S8:在所述目标平台上运行所述DRNN神经网络控制器。DRNN神经网 络控制器拓扑结构包含了控制算法执行过程中不发生改变的指令数据和参与实 时计算与更新的动态数据两部分信息。整个控制系统的运行时,目标平台只对实 时数据部分进行及时反馈和动态更新。

此外,在本实施例中,DRNN神经网络控制器的学习、训练、测试以及 应用均可在下位机的目标平台中计算实现。

以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生 的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号