含糊神经网络是含糊逻辑操控和神经网络两者结合的产品。这两者独自运用时存在必定缺点。含糊逻辑在必定的论域上具有很好的收敛性,并具有含糊量运算优势;而神经网络具有强自学习、自适应、并行运算和准确核算的才能。因而,这两者相结合可大大提高归纳才能。
plc在工业操控中运用广泛,因而,功能强大,运用方便。因而,将含糊神经网络算法运用于PLC中具有实践运用价值,使PLC在机械、民用等范畴广泛运用。这儿提出一种依据PLC的含糊神经网络算法完成办法。
1、含糊神经网络系统结构
含糊神经网络具有很多种结构和算法,关于不同操控方针,归纳考虑运算速度和精度,含糊神经网络结构也有所不同。因为该完成办法没有实践操控方针,为了阐明在PLC上能完成含糊神经网络算法,故挑选含糊神经网络,如图1所示。假定其间输入两个变量X1、X2,输出变量为Y。将每个输入因子分为:NM,NS,ZO,PS,PM等5个含糊状况。
2、含糊神经网络的学习进程
挑选在线学习,在线学习期间学习速度不变。在线学习停止条件是性能指标E小于等于某一数值。这个指标值随操控方针的改动而改动的。当确认操控方针时,该指标值可依据经历确认。可是为了便于阐明问题这儿设置该指标值为0.002。详细学习进程是:①θji、σji、ωi及η的初始值在[0,1]之间随机选取,η的值为稳定值,依据经历决议。②依据含糊神经算法核算出比较抱负的θji(k+1)、σji(k+1)、ωi(k+1)值。③依据含糊神经算法核算E,若E≤0.002,迭代完毕。不然,令θji(k+1)、σji(k+1)、ωi(k+1)为初始值并回来②。
3、含糊神经网络算法在PLC的运用
3.1含糊神经网络学习阶段的完成
在学习阶段完成进程中,运用上位机向下位机传输样本数据,详细运算进程是由下位机完成。
3.1.1学习阶段上位机程序完成
依据含糊神经网络理论知识可知,样本值是依据实践操控方针的需求而定的。为了阐明问题,选用含有两个输入值和一个输出希望值的较为简略的样本值。学习进程中上位机程序设计流程如图2所示,详细进程如下:
(1)初始化初始化样本值和为后续传输样本值做预备,经过PLC指令把样本值写入PLC的贮存地址,再次赋值给发送区的数据区,并把存储第一个样本值地址别离赋给VD712,VD716,VD720地址指针,这样可为再次发送样本值做预备。因为要发送的样本值是不断改变的,可是发送区不能改变,故运用地址指针到达两者同步。
(2)承受恳求接纳下位机向上位机传送的数据,该数据是告之上位机是否向下位机传送样本值。
(3)判别VB703数据恳求标志位VB703,对所接纳的数据,判别其值是否等于16#FF。而16#FF是通讯协议中规则上位机给下位机传送数据的标志。假如等于16#FF,则向下位机传输数据;不然就再次回来上一步。
(4)发送数据经过上位机通讯程序向下位机发送样本值,发送完后就完毕第一次传送样本值,发动新接纳,等候下位机恳求数据传送信号。
3.1.2下位机程序完成
图3为下位机程序流程,从中能够看到学习阶段下位机程序的根本设想。
针对下位机程序流程这儿需求阐明的是:
(1)初始化首要随机选取[0,1]内θji、σji、ωi及η的初始值,经过PLC指令把这些值赋给存储单元;其次对学习进程中用到的常数赋值,相同赋给存储单元;最终,要把恳求数据传送的标志位VB703置位。
(2)初始值核算因为初始化中恳求数据传送,首要经过下位机的通讯程序获得数据,而且接纳样本数据后.复位VB703,奉告上位机不再传送数据。接着运用初始化已赋值的第一组权值,核算第一组样本值为输入时输出值、输出值与希望输出值的差值以及后续核算所要用到的数据。
(3)权值、E(性能指标)值核算在第上一步的基础上核算权值和E值。详细算法可参阅含糊神经网络算法.且易于在PLC平台上完成。
(4)E值判别把核算的E值与0.002相比较。假如E≤0.002,阐明核算的函数变量、权值已到达预期方针,学习进程完毕。完毕的一起触发外接设备的开关量,运用外接设备读取这些核算结果。相反,则需持续学习进程。并将不满足性能指标第3步核算出的函数变量、权值赋给下一步从头核算y值所需的地址内,把恳求数据标志位VB703置位.并向上位机发送,从而为新y值的核算做好预备。