[发明专利]BP神经网络在S7-300系列PLC中的实现方法有效
申请号: | 201410230726.4 | 申请日: | 2014-05-28 |
公开(公告)号: | CN104007659A | 公开(公告)日: | 2014-08-27 |
发明(设计)人: | 胡文金;苏盈盈;汤毅;刘显荣;李太福;范伟 | 申请(专利权)人: | 重庆科技学院 |
主分类号: | G05B13/04 | 分类号: | G05B13/04 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 401331 重*** | 国省代码: | 重庆;85 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了BP神经网络在S7-300系列PLC中的实现方法,在S7-300系列PLC系统中定义12个数据块(DB1~DB12),使其和BP神经网络迭代算式中的输入变量、隐含节点输入、隐含节点输出、输出节点输入、输出变量、权值wij、权值wjk、阈值aj、阈值bk、误差ek、学习效率η、期望输出等若干变量一一对应,将BP神经网络迭代算式中若干变量的存取操作转化为PLC系统对应数据块中变量的存取操作。使用PLC系统的指令系统,直接实现BP神经网络的迭代运算,通过提供单次迭代、误差限结束、限次结束三种运行模式,以适应PLC系统的多种应用场合,避免BP神经网络的运行时间过长而影响PLC系统的正常扫描功能。 | ||
搜索关键词: | bp 神经网络 s7 300 系列 plc 中的 实现 方法 | ||
【主权项】:
BP神经网络在S7‑300系列PLC中的实现方法,其特征在于按照以下步骤进行:第一步,在S7‑300系列PLC中定义12个数据块:数据块DB1~DB12分别存放BP神经网络迭代算式中的输入变量、隐含节点输入、隐含节点输出、输出层输入、输出变量、权值wij、权值wjk、阈值aj、阈值bk、误差ek、学习效率η和期望输出;第二步,初始化数据块:BP神经网络样本中的输入变量传送到DB1,样本中的输出变量传送到DB12,数据块DB6和DB7中的各变量初值设为零,数据块DB8和DB9中的各变量初值设为0.05,DB11中的学习效率初值设为0.5;第三步,计算隐含层输入:分别从数据块DB1和DB6中取出xi和wij,按下式计算隐含层的输入HIj:![]()
第四步,计算隐含层输出:分别从数据块DB2和DB8取出HIj和aj,按下式计算隐含层的输出HOj:![]()
第五步,计算输出层输入:分别从数据块DB3和DB7中取出HOj和wjk,按下式计算输出层的输入PIk:![]()
第六步,计算输出层输出:分别从数据块DB4和DB9中取出PIk和bk,按下式计算输出层的输出POk:POk=PIk‑bk k=1,2,…,m;第七步,计算预测误差:分别从数据块DB5和DB12中取出POk和yk,按下式计算预测误差ek:ek=yk‑POk k=1,2,…,m;第八步,更新权值wij和wjk:分别从数据块DB7、DB11、DB3和DB10中取出wjk、η、HOj和ek,按下式更新权值wjk:wjk=wjk+ηHOjek j=1,2,…,l;k=1,2,…,m;分别从数据块DB6、DB11、DB3、DB1、DB7和DB10中取出wij、η、HOj、xi、wjk和ek,按下式更新权值wij:![]()
第九步,更新阈值aj和bk:分别从数据块DB8、DB11、DB3、DB7和DB10中取出wij、η、HOj、wjk和ek,按下式更新阈值aj:![]()
分别从数据块DB9和DB10中取出bk和ek,按下式更新阈值bk:bk=bk+ek k=1,2,…,m;第十步,判断循环与结束:PLC系统实现的BP网络程序根据Mode标志的三种取值进行判断,Mode=0为单次迭代运行模式,Mode=1为限次迭代模式,Mode=2为误差限运行模式。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆科技学院,未经重庆科技学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410230726.4/,转载请声明来源钻瓜专利网。
- 上一篇:通用安全锁扣
- 下一篇:仿古建筑清水混凝土栏杆组合整体浇筑一次成型施工工艺