您的当前位置:首页正文

基于西门子S7—200PLC的模糊控制程序的实现

2023-07-06 来源:保捱科技网


基于西门子S7—200PLC的模糊控制程序的实现

【摘 要】 矿用通风机是矿井生产的重要设备,其运行状态对安全生产至关重要。本文结合矿用通风机,探讨了如何通过PLC可编程逻辑控制器件来实现模糊控制算法,从而来控制风机转速,实现了对巷道内CO及瓦斯浓度主要参数的监控。本设计首先通过matlab仿真得到控制规则表,储存在PLC数据区,,然后用建立指针的查询办法实现数据的查询,这样实现的模糊控制算法是可以离线使用的。论文对所设计的西门子模糊控制进行了实验验证。实验结果表明,论文所确定的测试方法正确,所设计仪器满足测试要求。

【关键词】 矿用通风机 模糊控制 CO及瓦斯浓度

1 模糊控制的概述

在传统的控制领域里,控制系统动态模式的精确与否是影响控制优劣的最主要关键,系统动态的信息越详细,则越能达到精确控制的目的。然而,对于复杂的系统,由于变量太多,往往难以正确的描述系统的动态,于是工程师便利用各种方法来简化系统动态,以达成控制的目的。在上世纪70年代,美国加州大学博客利分校电器工程系控制专家L.A.Zadeh提出了模糊集合理论,为模糊控制技术的产生奠定了理论基础。

模糊控制系统是以模糊语言变量、模糊逻辑推理以及模糊集理论做为基础,结合基于规则的专家系统和控制理论的一种智能的控制系统,同时也是运用到计算机的控制技术构成的一种具备反馈通道的闭环结构的数字控制系统。

模糊控制器包括五个主要部分,即:定义变量、模糊化、模糊规则、模糊推理及解模糊。(1)定义变量;也就是决定程序被观察的状况及考虑控制的动作,例如在一般控制问

题上,输入变量有输出误差E与输出误差之变化率EC,而控制变量则为下一个状态之输入U。其中E、EC、U统称为模糊变量。(2)模糊化;将输入值以适当的比例转换到论域的数值,利用口语化变量来描述测量物理量的过程,以适合的语言值求该值相对之隶属度,此口语化变量我们称之为模糊子集合。(3)模糊规则;包括数据库与规则库两部分,其中数据库是提供处理模糊数据之相关定义;而规则库则藉由一群语言控制规则描述控制目标和策略。(4)模糊推理;模仿人类下判断时的模糊概念,运用模糊逻辑和模糊推论法进行推论,而得到模糊控制讯号。此部分是模糊控制器的精髓所在。(5)解模糊;将推论所得到的模糊值转换为明确的控制讯号,做为系统的输入值。

2 模糊控制器的设计

通过煤矿上巷道内风机通风控制为例,介绍通过模糊控制算法来控制风机的转速,以实现巷道内的CO及瓦斯的浓度处于一个合理的范围(假设瓦斯正常浓度范围在130~200PPM之间)。为了使得PLC能够根据输入量适时控制输出控制量,必须在matlab软件中仿真分析得出模糊控制输出规则表。Matlab中模糊控制器设计步骤如下:

(1)确定输入、输出变量的论域,并确定控制器的参数(量化因子和比例因子);CO基本论域:[130,200]ppm;CO语言值论域:[-6,6];CO量化因子:100/12;△CO基本论域:[-6,+6]ppm;△CO语言值论域:[-6,+6];△CO量化因子:1;输出变量U基本论域:[050]HZ;U语言值论域:[012];注:各语言值论域都对应{NB,NM,NS,O,PS,PM,PB}(2)选择隶属函数,确定模糊化和清晰化的方法;这里选择常用的的梯形函数作为隶属函数,将输入变量E,EC模糊化。(3)确定模糊控制规则:E、EC、U分别代表瓦斯浓度的误差值、瓦斯浓度误差变化率以及风机交流电的频率(变频后的频率)。将以上模糊规则输入到matlab程序中。(4)仿真结果如下:为了进一步得到模糊控制器的输入输出控制规则表,可以往控制器输入不同的输入量,得到不同的输出量U。例如:

输入量为[00],输出U为2。

3 用西门子s7-200PLC实现模糊控制器

PLC作为矿山巷道风机的微控制器,具有抗干扰能力强,可靠性强,扩展性能好、编程简单的优点。但是除了简单的PID控制,对于复杂的控制算法,PLC实现起来比较繁琐。为了能将模糊控制算法在PLC中实现,采用将模糊控制规则表存储在PLC数据区,并通过采集控制器的输入量,来定位查询输出控制量的办法,这样子实现起来比较简单容易。而且PLC也能快速实现控制量的输出。

风机通风控制程序主要包括CO浓度信号采集模块、标度转换模块、模糊控制输出模块、通信模块、手动控制模块等等。

为瓦斯浓度采集模块功能程序,通过CO传感器采用上海韩感电子科技有限公司的LHG6101型CO变送器,该传感器能将采集到的CO浓度信号转换为0~10VDC或4~20mA模拟量输出,通过在S7-200PLC中读取ALW2位置中的值,通过标度转换,就可知到当前采集到的CO浓度值的大小。

模糊控制规则表查询:首先通过建立数据块,将前文中通过matlab仿真得到的模糊控制器输入输出规则表存储在数据块中。实现查询表的程序的思路是:用建立指针的查询的办法实现数据表的查询。具体来讲,首先得将采集到CO浓度值和CO浓度的变化率,通过模糊化,找到对应的所属的输入变量的区间范围(例如:CO的浓度偏差E所属的数据区间为[23],而EC所属的区间范围为[12])。在程序中通过一个For循环查找E和EC对应所属的数据区间的位置,并用字VW30和字VW46分别存储E和EC对应的数据区间的区间编号。将数据块首地址VB704存储在数据指针&VD75中,通过前面查询得到的E

和EC,计算指针偏移地址(其中:偏移地址=VW46*13 +VW30),并将偏移地址存储在VD36中。那么输出对应的控制量的地址即为:&VD75(数据块基址)+VD36(偏移地址),从而可以索引对应地址得到输出控制量的值。

4 结论与展望

本文结合实例,探讨了如何通过PLC可编程逻辑控制器件来实现模糊控制算法。由于PLC在实现复杂控制算法时的有所缺陷,所以通过查询控制规则表的办法来实现这一控制算法,前提是必须在工控机或者个人PC中通过matlab仿真得到控制规则表。这样实现的模糊控制算法是可以离线使用的,但缺点是控制精度不够。随着工控微型控制器或嵌入式PC的不断发展,相信在未来的不久,将出现新的微型控制器来代替现行PLC运算能力和控制精度的不足。

参考文献:

[1]曾光奇,胡均安,王东,等.模糊控制理论及工程应用.武汉:华中科技大学出版社,2006.

[2]徐世许.可编程序控制器原理、应用、网络.合肥:中国科学技术大学,2000.

因篇幅问题不能全部显示,请点此查看更多更全内容