基于plc直接查表方式实现的模糊控制_第1页
基于plc直接查表方式实现的模糊控制_第2页
基于plc直接查表方式实现的模糊控制_第3页
基于plc直接查表方式实现的模糊控制_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于plc直接查表方式实现的模糊控制

1模糊控制的成本过高近年来,模糊控制技术在国内外得到了广泛应用,取得了巨大成功。然而,在模糊控制技术应用领域,其模糊控制器基本上都是由个人计算机、单片机或专用模糊控制芯片实现的。在工业控制中,PLC的应用极其广泛,如果把模糊控制技术与PLC结合起来,应用PLC来实现模糊控制器,将会使模糊控制在工业控制中发挥更大的作用。现在已有一些PLC生产厂家备有模糊控制模块供用户选用,但其价格非常昂贵。显然,若在原常规控制系统的硬件基础上,利用软件编程来实现模糊控制器,将会降低模糊控制系统的成本;同时,也为用模糊控制技术改造原常规控制方法实现不理想的控制系统提供了方便。下面,结合用PLC研制的模糊控制风量自动调节系统,说明PLC直接查表方式实现模糊控制器的方法及梯形图设计的原理。2模糊控制器的设计模糊控制器以模糊控制算法为核心。模糊控制算法是根据实际生产过程和操作人员的经验,建立模糊控制规则表,按照模糊合成推理规则求出相应的控制量,再经反复调试修改,最后得到模糊控制表。目前被广泛采用的为二维模糊控制器,这种模糊控制器以误差e和误差变化Δe为输入变量,以控制量u为输出变量。在这里,模糊控制器采用SG—8BPLC来实现。设系统的给定值(或期望值)为r*,系统的输出值(或反馈值)为y*,r*和y*均由模拟量输入模块G—01AD采集,误差e*=r*-y*和误差变化Δe*=e*n-e*n-1经归一化处理即模糊量化后,得模糊值e和Δe作为模糊控制器的输入变量(本文基本论域中的精确量用带“*”的字母表示,模糊论域中的模糊量用不带“*”的字母表示),通过模糊控制算法得到的控制量u作为模糊控制器的输出,控制量u去模糊化后得精确量u*,u*经模拟量输出模块G—01DA输出作用在被控对象上。模糊控制器的结构如图1所示。采用基于最大隶属函数法的“IF…AND…THEN…”规则进行推理,得模糊控制规则如表1所示。3输出控制表直接查表法的模糊控制器设计主要有以下四步工作:①确定误差、误差变化和控制输出量的论域。②根据各论域所分的等级n,将e、Δe的实际变化范围平均分为n档,使每一档与其论域的某个元素相对应,这样对某时刻的实测的精确值e*、Δe*都可被量化为相应论域中的元素。③查模糊控制表,得输出控制u。④将控制量u乘上比例因子去模糊化后施于被控对象上。3.1模糊算子的覆盖程度增加论域中的元素个数,即把等级细分,可提高控制精度,但相应要增大计算量并受计算机字长的限制。因此,把等级分得过细,对模糊控制来说显得必要性不大。一般,当论域中元素总数为模糊子集总数的二至三倍时,模糊子集对论域的覆盖程度好。为此,我们定义e、Δe和u的论域范围及其所分的等级数如下:e:X=[a,b]={-6,-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5,+6}13档Δe:Y={-6,-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5,+6}13档u:Z={-7,-6,-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5,+6,+7}15档3.2e#量化方法根据e和Δe论域所分的等级,将实际变化范围平均分为13档,并用量化因子k1、k2对实测的精确量e*和Δe*进行量化变换为相应论域的元素。这里我们使用的是八通道、分辨率为12位的A/D转换模块G—01AD。经A/D转换后的r*和y*的取值均为0~4095。由于e*=r*-y*,因此理论上,经A/D转换后的e*取值将有可能为-4095~+4095,然而,实际上仅刚开始起动时e*可能达4095外,一般e*的取值要比上述范围小得多。在此,我们将e*的取值为-240~+240。则量化因子k1=b−a(β−α)e∗(e∗−α+β2)=6−(−6)[240−(−240)]e∗(e∗−−240+2402)k1=b-a(β-α)e*(e*-α+β2)=6-(-6)[240-(-240)]e*(e*--240+2402)=140(1)=140(1)对e*具体量化时,我们采取如下办法:①k1e*<X0+d/2时,k1e*量化为X0②Xh-d/2≤k1e*<Xh+d/2时,将k1e*量化为Xh,1≤h≤n-1③k1e*>Xn-1+d/2时,将k1e*量化为Xn上述d=(Xh+1−Xh)/2d=(Xh+1-Xh)/2。用PLC编程时,为使量化后的论域元素便于用无符号数表示,我们在量化后的论域元素Xi上再加一个偏移量(n-1)/2=6,得X′i=Xi+6。梯形图编程时,其量化后的论域元素用X′i存放,这样不仅量化后的论域元素存放方便,同时也便于后面模糊控制表的梯形图实现。e*及其模糊化论域元素Xi和X′i如表2所示。实际应用中,应根据情况,灵活地采用简易变换方法,尽量简化变换式以方便实现量化变换的计算。根据表2得输入量e*的模糊量化梯形图如图2所示。图2各回路解释如下:①将存放在R2000和R2001中的r*与存放在R2002和R2003中的y*比较,当r*≥y*,即e*=r*-y*≥0时,M100=“ON”,否则,M100=“OFF”。②若M100=“OFF”,即e*<0,则跳转到K001,跳过回路(3)~回路(7),从回路(8)往下执行;若M100=“ON”,则不跳转,从回路(3)继续往下执行。③M100=“ON”,即e*>0,令e*=r*-y*,存放在R2004中。④若e*≥220,即k1e*>Xn-1+d/2=5+1/2=5.5,将k1e*量化为6,加上偏移量6后,以数字12存放在R2010中。⑤若220>e*≥180,将k1e*量化为5,加上偏移量6后,以11存放……。⑥若e*<20,将k1e*量化为零,加上偏移量6后,以6存放。⑦M100=“ON”,跳转到K002,即跳过回路(8)~(11)往下执行。⑧M100=“OFF”,即e*<0,令-e*=y*-r*,存放在R2004中,-e*>0,这样做的目的主要是便于用无符号数存放和进行比较。⑨若-e*<20,即e*>-20,也将k1e*量化为零,加上偏移量6后,以6存放。⑩若60>-e*≥20,即-60<e*≤-20,将k1e*量化为-1,加上偏移量6后,以5存放……。(11)若-e*≥220,即e*≤-220,将k1e*量化为-6,加上偏移量6后,以零存放。输入量Δe*的模糊量化及梯形图与e*类似。3.3模糊控制表的查询模糊控制器的规则如表1所示,其可写成下列条件语句形式,即ife=AiandΔe=Bithenu=Cij(i=1,2,…n;j=1,2,…m)其中Ai、Bi和Cij是定义在误差e、误差变化Δe和控制量u的论域X、Y、Z上的模糊集。R=Yi,jAi×Bj×Cij(2)R=Yi,jAi×Bj×Cij(2)当误差、误差变化分别取模糊集A、B时,根据模糊推理合成规则可得输出控制量为U=(A×B)oR(3)根据输入量模糊量化后得到的误差Xi、Yj,可计算出相应的控制量uij,对X、Y中元素所有组合全部计算出相应的控制量变化值,可得控制表如表3所示。表3为一个二维的n×m矩阵,n=m=13,表3中的控制量论域Zl(l=0~14)为-7~+7。为便于用无符号数处理,我们再对表3中的控制量加上一个偏移量7,即Z′l=Zl+7,并将其逐行地依次存储在PLC的EPROM中,如图3所示。根据误差和误差变化的论域元素Xi和Yj,查得uij元素的相对位置为:i×n+j=13×i+j,也可用Z′l=X′i×n+Y′j=13X′i+Y′j表示,其梯形图如图4所示。图4中的第一个回路为当SP001(常时接通继电器)=“ON”,从R2010读出X′i乘以13,再加上由R2012中读取的Y′j,然后根据所得结果即13X′i+Y′j的值,从K111开始的DLBL指令登记的数据区中读取相应的控制量uij,并将其存储在R2014中,从而完成模糊控制表的查询。END指令中的NCON指令完成在程序存储器登记模糊控制表的功能。3.4d/a模块输出控制量的去模糊化较为方便,把由表3查出的控制量模糊集论域中的Z′t乘以控制量的比例因子ku,即u*=kuZ′l,便可得到实际的控制量u*,其由D/A模块输出控制被控对象即可。我们使用的D/A模块G—01DA的分辨率也为12位,对应数字量0~4095,因此,比例因子ku=4096/14=292,所以u*=292Z′l,其梯形图如图5所示。图5中,SP001常时接通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论