基于S7-1200PLC的模糊控制仿真研究

2024-01-19 08:47刘淑荣庞伟
关键词:论域被控设定值

刘淑荣,庞伟

(长春工程学院 电气与信息工程学院,长春 130012)

0 引言

模糊控制是一种基于规则的近似推理的智能控制,是以模糊集合理论、模糊语言变量及模糊推理为基础的一类计算机数字控制方法。与传统的控制方式一般需要被控对象精确的数学模型相比,模糊控制方式则以人类智能活动为基础,模拟人类的思维方式,可以克服许多不确定因素,解决许多传统线性系统理论难以解决的控制问题。因此,在实际应用中,针对很难建立精确数学模型存在大滞后、非线性、时变性和随机干扰等的复杂控制系统,模糊控制已经成为一种具有较好控制效果的控制方法。

在模糊控制技术应用领域,模糊控制器基本上是由单片机或专用模糊控制芯片实现的。随着PLC控制技术的发展,其已被广泛应用于各个领域的控制系统中,PLC可编程控制器以其集成度高、功能多样性、抗干扰性强、工作状态稳定等特点,备受工控行业的青睐。目前已有一些PLC生产厂商开发了具有模糊控制功能的模块供用户选用,但由于其输入量、每个变量模糊子集的个数及规则的条数有一定的范围,再加上其价格非常昂贵,反倒限制了模糊控制在PLC上的应用。因此,把模糊控制技术与PLC技术有效地结合起来,综合利用PLC编程灵活、方便可靠的特点和模糊控制器的智能性,将会使模糊控制技术在工业控制中发挥更大的作用。本文以二维模糊控制器为例来说明模糊控制在PLC控制系统中的实现。

1 模糊控制器设计[1-2]

系统模糊控制采用二维模糊控制器。二维模糊控制器的输入为偏差e、偏差变化率ec,输出为被控对象输入u。模糊控制器模型如图1所示。

图1 二维模糊控制器

设偏差e的实际论域为[-10,+10],模糊论域E为[-3,+3],模糊量化因子ke=3/10=0.3,语言变量赋值为{NB,NM,NS,Z,PS,PM,PB},隶属度函数选三角形隶属函数。

设偏差变化率ec的实际论域为[-30,+30],模糊论域EC为[-3,+3],模糊量化因子kec=3/30= 0.1,语言变量赋值为{NB,NM,NS,Z,PS,PM,PB},隶属度函数选三角形隶属函数。

模糊控制器输出u的实际论域为[0,200],模糊论域FU为[-2,+2],语言变量赋值为{NM,NS,Z,PS,PM},隶属度函数选三角形隶属函数,清晰化采用最大隶属度法,清晰化因子ku=200/4=50。

其中,语言变量E、EC和FU的三角形隶属函数赋值如图2~3所示。

图2 语言变量E、EC的赋值

图3 语言变量FU的赋值

应用Mamdani模糊推理算法进行模糊推理设计。

Mamdani推理算法属于关系合成推理法中的一种,简称CRI方法,是实际控制中应用较为广泛的一种模糊推理算法。这种算法的基本原理:用一个模糊集合表述大前提中全部模糊条件语句前件的基础变量和后件的基础变量之间的关系,用一个模糊集合表述小前提,进而用基于模糊关系的模糊变换运算给出推理结果。

在Mamdani推理中,把模糊蕴涵关系A→B用A和B的笛卡尔积表示,即

R=A→B=A×B,

(1)

R(x,y)=A(X)∧B(y)。

(2)

对于模糊取式(Fuzzy Modus Ponens,FMP)推理,则有B*

B*=A*∘R,

(3)

(4)

其中:

(5)

Mamdani推理算法可用图形加以描述,如图4所示。

图4 Mamdani的推理描述

由图4可知,

α=H(A*∩A)。

(6)

α可以看成是A*对A的适配程度,即隶属度。

应用Mamdani模糊推理,得到模糊控制规则表(表1)。

表1 模糊控制规则

2 模糊控制的PLC实现[3]

本文采用西门子PLC CPU1215C AC/DC/RLY作为核心控制器,其硬件组态比较简单,系统设置2个按钮,分别控制系统的启动和停止。同时,利用 CPU1215C 控制器自带的模拟量输入IW64完成对被控对象的数据采集,利用模拟量输出QW64实施对被控对象的控制。

软件设计采用模块化结构,利用梯形图语言进行设计,系统软件设计流程图[4-5]如图5所示。

图5 系统软件设计流程图

系统软件设计由主程序Main、循环中断组织块OB30、模糊控制算法模块FB1及被控对象模块FB2 4个部分组成:

1)主程序Main模块:在主程序Main中主要完成数据的采集、偏差e和偏差变化率ec的计算及离散化处理。系统启动后,由上位机输入设定值,每隔100 ms对被控对象进行1次采样,分别存入MD200和MD204单元,通过设定值和采样值数据分别计算偏差e及偏差变化率ec,存入MD208和MD216单元,同时进行越限处理,最后分别乘以各自的模糊量化因子进行离散化处理,存入MD304和MD312单元等。

2)模糊控制算法模块:利用FB1模块来实现模糊控制算法查表程序。

3)虚拟被控对象模块:利用FB2模块来实现虚拟被控对象,一阶或二阶系统。

4)循环中断组织块OB30:在循环中断组织块OB30中首先调用模糊控制算法程序模块FB1完成模糊控制在线查表及必要的运算来实现模糊控制,再将查得的模糊控制结果作用于被控对象,观察被控对象的运行结果能否跟随给定值的变化而变化。

在软件设计的4部分组成中,FB1模糊控制算法程序的设计及调用是关键,这一部分的详细设计过程:

1)在离线状态下编制模糊控制规则表,前文中已经实现。

2)PLC的在线查表指令-读取域指令FeildRead的介绍。读取域指令FeildRead位于西门子S7-1200 PLC基本指令的移动操作指令中,如图6所示,该指令的含义:根据指定数组的元素下标值,读取对应的元素值,其中,指令中的输入参数INDEX是即将要读取的元素的下标值,数据类型DINT;输入参数MEMBER是指定数组中第一个元素的地址;输出端参数VALUE用于存放读取出来的数据。

图6 读取域指令FeildRead

3)由于读取域指令FeildRead的输入参数INDEX值没有负值,因此,为了便于S7-1200 PLC的在线查表进程顺利进行,首先需要将E和EC的离散负数论域转换为离散正数论域,即查表前进行查表行距索引处理:E离散论域[-3,3]加3处理变成[0,6],EC离散论域[-3,3]加3处理变成[0,6]。这样,就将模糊控制规则表1中的第1~7行元素由原来的离散论域[-3,3]转变为离散论域[0,6],转换后的在线查询模糊控制规则见表2。

表2 在线查询模糊控制规则

4)在FB1模块的临时接口区建立2个输入变量E和EC,1个输出变量FU,数据类型均为实数Real。同时,建立数据类型为Array[0..48]of Real的静态变量Static_1,用于存储在线查询模糊控制规则表中的49个元素,将表2中的元素按照从左到右、从上到下的规则依次存入Static_1中,即静态变量Static_1中索引0~6的元素为表2中的第1行元素,7~13为表2中的第2行元素,以此类推,共49个元素,如图7所示。

图7 PLC中模糊控制规则表的表现形式

由图7可以看出,偏差E和偏差变化率EC的离散论域与数组型静态变量Static_1的索引之间存在的关系:

静态变量Static_1的索引=E(k)*7+EC(k)k∈(0-48)。

(7)

由式(7)可以看出,只要知道E和EC,就可计算出静态变量Static_1的索引,然后执行读取域指令FeildRead就可以读取出该索引所对应的静态变量Static_1即在线查询模糊控制规则表中所存储的数据FU,实现模糊查询功能。

FB1中模糊控制算法查询具体程序如图8所示。

图8 模糊查询模块FB1具体程序

5)建立循环中断组织块OB30,每隔100 ms调用1次。在循环中断组织块OB30中调用FB1完成模糊查询,得到模糊查询结果FU,将该数据乘以清晰化因子即可得到实际输出量,再将此作用于虚拟被控对象,实现模糊控制。在循环中断组织块OB30中调用FB1程序的情况如图9所示。

图9 FB1程序在循环中断组织块OB30中的调用情况

3 系统仿真

针对一阶控制系统模型,其传递函数为

(8)

式中采样时间1 s。仿真结果:系统启动后,设定值分别为25和45时,其仿真实际值的变化如图10所示。

图10 一阶控制系统的模糊控制仿真输出波形图

针对二阶控制系统模型,其传递函数为

(9)

式中采样时间1 s。仿真结果:设定值分别为20、35和55时,仿真实际值的变化如图11所示。

图11 二阶控制系统的模糊控制仿真输出波形图

由图9~10的波形仿真效果来看,无论是一阶系统还是二阶系统,短时间内系统输出均能够实时跟随设定值的变化而变化,可实现模糊控制的效果。美中不足的是,针对设定值,系统仿真与实际输出有±1的偏差,在设定值附近波动。这一点微小的偏差在实际应用中可以通过结合其他的控制算法共同解决。这里只是给出几个设定值的变化,对于其他任意的设定值,效果一致。

4 结论

利用模糊控制算法,被控对象的输出在偏差和偏差变化率允许范围内,能够在短时间内达到快速跟随设定值的变化而变化,但会有微小的偏差。因此,在实际应用中,我们常常以模糊控制为核心,辅以其他控制方法构成大系统智能控制体系。例如,可以考虑在本系统中结合PID算法,在实际值和设定值的偏差较大时,利用模糊控制算法进行粗调,达到快速跟随的效果,当实际值和设定值的偏差在±1~±2的范围内,可以利用PID算法进行微调,直至最终消除偏差,达到精确控制的目的。

猜你喜欢
论域被控设定值
冷轧镀锌光整机延伸率控制模式的解析与优化
基于变论域模糊控制的Taylor逼近型内模PID算法
港警在“修例风波”中拘捕近万人
大惯量系统位置控制策略研究
变论域自适应模糊PID控制系统仿真与应用
双论域粗糙集在故障诊断中的应用
微生物燃料电池的变论域自适应模糊控制研究
西气东输二线人机交互界面的防呆系统
目标设定值传感器的原理与检修
对工频耐压试验跳闸电流设定值问题的探讨