关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于S7-200 PLC的模糊神经网络算法设计

基于S7-200 PLC的模糊神经网络算法设计

作者:时间:2009-06-23来源:网络收藏

针对下位机程序流程这里需要说明的是:
(1)初始化首先随机选取[0,1]内θji、σji、ωi及η的初始值,通过指令把这些值赋给存储单元;其次对学习过程中用到的常数赋值,同样赋给存储单元;最后,要把请求数据传送的标志位VB703置位。
(2)初始值计算由于初始化中请求数据传送,首先通过下位机的通信程序取得数据,并且接收样本数据后.复位VB703,告知上位机不再传送数据。接着利用初始化已赋值的第一组权值,计算第一组样本值为输入时输出值、输出值与期望输出值的差值以及后续计算所要用到的数据。
(3)权值、E(性能指标)值计算在第上一步的基础上计算权值和E值。具体可参考.且易于在平台上实现。
(4)E值判断把计算的E值与0.002相比较。如果E≤0.002,说明计算的函数变量、权值已达到预期目标,学习过程结束。结束的同时触发外接设备的开关量,利用外接设备读取这些计算结果。相反,则需继续学习过程。并将不满足性能指标第3步计算出的函数变量、权值赋给下一步重新计算y值所需的地址内,把请求数据标志位VB703置位.并向上位机发送,从而为新y值的计算做好准备。
(5)学习过程中Y值计算由于已把请求数据标志位置位,因此,首先通过通信程序先取样本,取完样本值后复位VB703,告知上位机不再传样本值,接着计算新的Y值,以便计算新的函数变量、权值以及E值。学习过程下位机主程序实现如图4所示。

4.2 现场工作过程实现
当学习阶段结束后,通过现场采集数据,建立数据库并把采集的数据当做输人,运用训练好的权值和,得到控制对象所需的控制值。要实现以上工作步骤。仍然需要上下位机合作,故而程序分为上位机和下位机两部分。
4.2.1上位机程序实现
现场工作中上位机程序功能与学习阶段相一致,主要区别;在学习阶段初始化的和需要给下位机传送的样本值变成了通过外接设备现场采集到的数值。在程序的初始化中,把采集值从外接设备的地址中赋值到发送区的数据区。因为采集值是在一定的周期内变化的,所以是实时的。故无需地址指针使两者工作同步。
4.2.2 下位机程序实现
由图5现场工作过程中下位机程序流程可知.下位机在现场工作过程中的具体步骤:

(1)初始化下位机初始化首先要把学习过程训练好的θji、σji、η的值,通过PLc指令把其赋给存储单元;其次要对后续Y值计算过程中用到的常数赋值,同样也要赋给存储单元;最后,要把请求数据传送的标志位VB703置位。并发送给上位机。
(2)接收采集值 首先接收上位机的采集值,接着把采集的值赋给即将进行Y值运算的储存地址。同时将请求数据传输标志位VB703复位,并传送给上位机,要求停止继续向下位机传输采集值。
(3)输出y值计算利用上一步提供的采集数据、初始化步骤中的权值和模糊神经网络算法,以PLC为平台进行计算,将计算所得值赋给外接输出设备的存储地址.同时根据现场情况控制请求数据接收标志位VB703是否置位。
(4)VB703判断若VB703=16#FF,那么启动新的数据接收,即跳转到第二步。如果VB703≠16#FF,则跳转到结束。但要知道的是这两种结果是工作人员根据现场情况在第3步中已确定的。现场工作过程中下位机主程序实现如图6所示。

5 结论
通过对模糊神经网络学习过程和现场工作过程的PLC程序的仿真,结果表明:学习过程的PLC程序,利用模糊神经网络自学习能力,当不满足性能指标时,系统则根据梯度下降策略自动的调整权值、隶属函数的和,直到输出满足要求为止。现场工作过程PLC程序,在采集值确定情况下.能够得出确定的输出值,达到预期效果。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭