模糊控制器的设计.docx
- 文档编号:10274055
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:18
- 大小:238.29KB
模糊控制器的设计.docx
《模糊控制器的设计.docx》由会员分享,可在线阅读,更多相关《模糊控制器的设计.docx(18页珍藏版)》请在冰豆网上搜索。
模糊控制器的设计
4模糊控制器的设计
4DesignofFuzzyControllor
4.1概述(Introduction)
随着PLC在自动控制领域内的广泛应用及被控对象的日趋复杂化,PLC控制软件的开发单纯依靠工程人员的经验显然是行不通的,而必须要有科学、有效的软件开发方法作为指导。
因此,结合PLC可编程逻辑控制器的特点,应用最新控制理论、技术和方法,是进一步提高PLC软件开发效率及质量的重要途径。
系统设计的目标之一就是要提高装车的均匀性,车厢中煤位的高度变化直接影响装车的均匀性,装车不均匀对车轴有很大的隐患。
要保持高度值不变就必须不断的调整溜槽的角度,但是,在装车过程中,煤位的高度和溜槽角度之间无法建立精确的数学模型。
模糊控制它最大的特点是[43-45]:
不需建立控制对象精确数学模型,只需要将操作人员的经验总结描述成计算机语言即可,因此采用模糊控制思想实现均匀装车是行之有效的方法。
虽然很多PLC生产厂家推出FZ模糊推理模块,但这些专用模块价格昂贵,需使用专门的编程设备,成本高通用性差,所以自主开发基于模糊控制理论的PLC控制器有很大的工程价值。
本章首先介绍了模糊控制的基本原理、模糊控制系统及模糊控制器的设计步骤;然后在对煤位高度控制系统分析的基础上,设计基于模糊理论的PLC控制,分别从查询表计算生成和PLC程序查询两个部分进行设计。
4.2模糊控制原理(FuzzyControlPrinciple)
4.2.1模糊控制理论(FuzzyControlTheory)
模糊控制理论是由美国加利福尼亚大学的自动控制理论专家L.A.Zadch教授首次提出,由英国的Mamdani首次用于工业控制的一种智能控制技术[46]。
模糊控制(FUZZY)技术是一种由数学模型、计算机、人工智能、知识工程等多门科学领域相互渗透、理论性很强的科学技术。
模糊控制是以人的控制经验作为控制的知识模型,以模糊集合、模糊语言变量以及模糊逻辑推理作为控制算法的数学工具,用计算机来实现的一中计算机智能控制[47-48]。
它的基本思想是:
把人类专家对待特定的被控对象或过程的控制策略总结成一系列以“IF…THEN…”形式表示的控制规则,通过模糊推理得到控制作用集,作用与被控对象或过程。
与传统的控制方法相比,它具有以下优点[48]:
无需知道被控对象的数学模型;是一种反映人类智慧思维的智能控制;易被人们所接受;构造容易;鲁棒性好。
4.2.2模糊控制系统(FuzzyControlSystem)
模糊控制系统是一种自动控制系统,它是以模糊数学、模糊语言形式的知识表示和模糊逻辑推理为理论基础,采用计算机控制技术构成的一种具有闭环结构是数字控制系统。
模糊控制系统主要由模糊控制器、输入输出接口、检测装置、执行机构和被控对象等组成[46,49]。
如图4-1所示。
图4-1模糊控制系统的组成
Figure4-1TheCompositionoftheFuzzyControlSystem
模糊控制系统的结构与一般计算机数字控制系统类似,只是它的控制器为模糊控制器(图中虚线框内),并且由计算机来实现。
模糊控制器(FuzzyController,FC)也称为模糊逻辑控制器[50](FuzzyLogicController,FLC),为模糊控制系统的核心部分。
它根据误差信号产生合适的控制作用输出给被控对象。
模糊控制器主要由模糊化接口、知识库、模糊推理机和解模糊接口组成[46,51],各部分的作用概述如下:
(1)模糊化接口
这部分的作用是将输入的精确量转换成模糊量。
其中包括外界的参考输入、系统的输出或状态等。
(2)知识库
知识库中包含了具体应用领域中的知识和要求的控制目标。
它通常由数据库和模糊控制规则两部分组成:
①数据库主要包括各语言变量的隶书度函数、尺度变换因子以及模糊空间的分级数等。
②规则库包括了用模糊语言变量表示的一系列控制规则。
它们反映了控制专家的经验和知识。
(3)模糊推理机
模糊推理是模糊控制器的核心,它具有模拟人的基于模糊概念的推理能力。
该推理过程是基于模糊逻辑中的蕴涵关系及推理规则来进行的。
(4)解模糊接口(清晰化)
解模糊接口的作用是将模糊推理得到的控制量(模糊量)变换为实际用于控制的清晰量。
它包含以下两部分内容:
①将模糊的控制量经清晰化变换变成表示在论域范围的清晰量。
②将表示在论域氛围的清晰量经尺度变换变成实际的控制量。
4.2.3模糊控制器的设计(FuzzyControllerDesign)
由于模糊控制器采用数字计算机来实现的,它可以将系统的偏差从数字量化为模糊量,对模糊量按给定的规则进行模糊推理,最后把模糊推理结构的模糊输出量转化为实际系统能够接受的精确数字量或模拟量。
(1)模糊控制器算法设计的内容
模糊控制器的算法设计[48,52-54]主要包括以下内容:
①选择模糊输入、输出变量的论域范围及模糊变量子集类型;
②确定各模糊变量的隶属度函数类型;
③精确输入、输出的变量的模糊化;
④制定模糊控制规则;
⑤确定模糊推理算法;
⑥模糊输出变量的去模糊化;
⑦生成查询表。
(2)模糊控制器实现的方法
目前,随着PLC的广泛应用以及其功能的不断提高,基于PLC模糊控制器的研究称为一个焦点,并取得了一定的成果。
模糊控制集成到PLC主要有两种实现方法:
一种是基于硬件,一种是基于软件。
基于硬件既是用模糊逻辑芯片[55]来是现在模糊化、模糊推理、去模糊化全过程;基于软件则是由软件来实现,分为查表法[56]、软件推理法[57]两种。
比较而言,基于硬件的模糊控制推理速度快,控制精度高,但灵活性差,价格昂贵,不适合一般用户的要求而软件推理控制精度高、灵活性好,但资源投入大、需要花费大量的计算时间;查表法则响应速度快,投入小,虽然控制精度相对较低,但完全能满足一般控制的要求。
4.3PLC模糊控制器的实现(ImplementationofthePLCFuzzyController)
4.3.1煤位高度的控制(ControloftheCoalLevel)
对车厢装载的控制不仅要控制装载的重量,还要实现均匀装车,即要车厢内煤位高度恒定。
煤位高度的控制受到很多因素的影响,如:
溜槽的角度、溜槽的煤流量、铁牛牵引的速度、煤炭颗粒的大小、煤炭下落的轨迹以及卡煤现象等等。
然而这些因素之间不易建立精确的数学模型。
在实际装车过程中,操作人员是凭工作经验,根据车厢型号和载重量,通过调节溜槽的角度来控制煤位的高度,但是单凭人工操作严重影响了装载的精度和装车的效率,不能满足自动化的需要。
基于此,对车厢煤位高度的控制采用了模糊控制的方法。
如图4-2煤位高度控制系统方框图。
图4-2煤位高度控制系统方框图
Figure4-2TheBlockDiagramoftheCoalLevelControlSystem
图中,PLC模糊控制器为核心部分,它主要任务是数据接收,数据处理和输出控制;绞吊电机为执行器控制溜槽的的角度;车厢为被控对象;超声波料位计为检测变送环节,将检测的高度值以标准电信号的形式,传送到PLC。
本文采用了工程中普遍使用的“双输入单输出”控制器,选用受控变量和输入给定的偏差E和偏差变化率EC作为输入,因为二维的控制器能够比较严格的反映受控过程中输入变量的动态特性[46],因而在控制效果上要好于一维控制器,计算上要简单与三维控制器。
以煤位高度差e和高度差变化率ec作为模糊控制器的输入,以绞吊电机的启动时间作为控制器的输出。
为了克服实时计算量大的缺点,模糊控制器采用查表法。
查表法的基本思想[59-64]是通过计算推理取得一个模糊控制表,并将其控制表放在PLC数据块中。
当进行模糊控制时,只需直接根据采样得到的误差和误差变化率的量化值来找出当前时刻的控制量的输出量化值。
最后,将此量化值乘以比例因子得到最终的输出控制量。
PLC模糊控制器的基本结构见图4-3。
图4-3PLC模糊控制器基本结构
Figure4-3TheBasicStructureofthePLCFuzzyControllerBased
图中,查询表是利用Matlab的辅助工具箱FuzzyControlToolbox建立模糊推理系统,规则器计算生成的。
查询表的查询是STEP7编写的PLC程序实的。
4.3.2查询表的设计(Off-LineDesignontheFuzzyController)
模糊控制器离线设计的主要目的就是煤堆高度偏差及偏差变化率到输出控制绞吊电机时间的一个模糊控制查询表的构建,也是查表法设计的关键。
论文对查询表的建立是通过MATLAB7来实现的。
具体步骤如下:
(1)模糊化
①常用车厢的高度基本为1500~2000范围之内。
通常根据操作人员的装车经验,煤位的期望高度L0为车厢高度的基础上增加100~200,可达到均匀装车的效果,所以LX的范围约为0~2200,得出偏差的最大值为2200。
在实际的装车过程中,偏差为基本在大于零的范围,且不允许有较大的负偏差。
所以取e的实际测量范围为[-200,1000](把小于-200或大于1000的值,作为临界值处理)。
设系统设定的煤位高度为L0,实际检测的煤位高度为LX,则煤位高度误差
,其语言变量为E。
E的论域为:
E={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}
相应的语言值为NB,NM,NS,ZE,PS,PM,PB。
分别表示测量高度c相对于目标高度r为:
“极高”,“很高”,“偏高”,“零”,“偏低”,“很低”,“极低”。
②取ec的实际测量范围为[-200,200](把小于-200或大于200的值,作为临界值处理)。
设高度误差两次采样值的变化量是
,其语言变量为EC。
论域为:
EC={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}
相应的语言值为NB,NM,NS,ZE,PS,PM,PB。
分别表示测量高度c相对于目标高度r为:
“快速升高”,“升高”,“缓慢升高”,“不变”,“缓慢降低”,“降低”,“快速降低”。
③控制系统的输出是绞吊电机的运行时间,通过计算可以得到溜槽的绞吊速度为
,溜槽的运行角度为0°~90°,对应的运行时间约为18.5s而实际中一般溜槽的角度控制中0°~60°的变化范围内,运行时间约12s,所以时间的变化范围为[-12,12]。
设绞吊电机的启动时间为系统的输出控制量u,其语言变量为U,论语为:
U={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}当U为正值时表示绞吊电机正转(溜槽下降)的时间为|U|,当U为负值时表示绞吊电机反转(溜槽上升)的时间为|U|。
相应的语言值为U={NB,NM,NS,ZE,PS,PM,PB}分别表示控制绞吊电机启动的时间为:
“很长时间反转”,“长时间反转”,“较长时间反转”,“不变”,“较长时间正转”,“长时间正转”,“很长时间正转”。
(2)确定各模糊变量的隶书函数类型
语言值的隶属度函数就是语言值的语义规则,可分为连续式隶属度函数和离散化的隶属度函数[42]。
本系统论域是离散的,所以选用离散量化的隶属度函数。
隶属度函数在很大程度上带有随意性,是根据操作人员的经验给出。
设计中遵循的一般原则是:
选择的隶属度形状越陡,其分辨率就越高,模糊控制的灵敏度就越高;相反,如果隶属度函数形状越平缓,其分辨率就越低,控制性能就越平稳。
所以在误差为零的区域附近,要采用高分辨率的隶属度函数,而在误差较大的区域选择分辨率低的隶属度函数,使系统获得较好的稳定性。
常用的隶属度函数有三角形函数和高斯函数,高斯隶属函数比较奥适用自适应和自学习模糊控制器[48],本系统选择较为简单的三角形隶属度函数。
根据现场操作人员的经验和类似系统采用的模糊变量隶属度函数的基础上,最终确定了本系统的各模糊变量语言值的隶属度函数,如图4-4模糊集合的隶属度函数。
图4-4模糊集合的隶属度函数
Figure4-4MemberShipGradeFunctionsoftheFuzzySet
(a)MemberShipGradeofDeviationE;
(b)MemberShipGradeofDeviationChangeRateEC;
(c)MemberShipGradeofControlVariablesU
(3)建立模糊控制规则
建立合适、有效的模糊控制规则,对于模糊器的控制性能具有极为重要的作用,主要有合成推理和经验归纳两种方法[48]。
合成推理法是建立模糊控制规则的一种较为有效的方法,其主要思想是根据已有的输入输出数据对,通过模糊推理合成,求取被控系统的模糊控制规则。
由于这种方法必须先确定已知系统的输入输出数据对,本系统的高度误差可以测量,但具体的绞吊电机控制时间却很难得到准确值,所以本系统控制规则的选择只能适用经验归纳法。
所谓的经验归纳法,就是基于专家知识、操作人员长期的经验积累和直觉推测,经过整理、归纳和提炼后构成模糊控制规则系统的方法。
用模糊语言变量可表示为:
IFE=NBANDEC=NBTHENU=PM
IFE=NMANDEC=NBTEENU=PM
…
IFE=PMANDEC=PBTHENU=NB
IFE=PBANDEC=PBTHENU=NB
表4-1模糊控制规则表
Table4-1RulesTableofFuzzyControl
U
E
NB
NM
NS
ZE
PS
PM
PB
EC
NB
PB
PB
PB
PB
PM
PS
ZE
NM
PB
PB
PB
PB
PM
ZE
ZE
NS
PM
PM
PM
ZE
ZE
NS
NS
ZE
PM
PM
PS
ZE
NS
NM
NM
PS
PS
PS
ZE
ZE
NM
NM
NM
PM
PM
ZE
ZE
NM
NB
NB
NB
PB
PB
ZE
NS
NM
NB
NB
NB
(4)确定模糊推理算法
模糊推理也称为似然推理。
模糊推理根据输入的模糊量和已经确定的模糊控制规则,求解模糊关系并且获得控制量的过程。
一般有三种推理方式:
曼丹尼(Mandani)极小运算法、拉森(Lason)乘积推理法、高木-关野(Takagi-Sugeno)推理方式[48-49]。
其中曼丹尼极小运算法最为简单,是模糊控制系统中最为常见的推理方式。
本系统采用第一种推理方法,确定模糊关系。
如果
如果
如果
模糊控制规则表包含的每一条模糊条件语句都决定一个模糊关系,它们共有49个:
这样可以得到49个模糊关系
,通过49个模糊关系的“并”运算,可以得到总的模糊关系R。
R是模糊关系矩阵,“∨”表示取大。
控制输出U为:
采用合成推理法
,“×”表示求值积,“
”是合成运算符,这里采用最大-最小合成法。
(5)查询表的建立
根据语言变量E和EC论域的量化等级,按照上面合成推理的方法,分别计算不同模糊变量值输入组合情况下的各个输出值,就可以获得一个模糊控制查询表。
这将是一个13×13(169点)的控制表,而且一旦模糊控制规则做出调整,则全部模糊关系需要全部重新计算,可见计算量很大。
为了模糊控制系统的设计方便性和计算准确性,下面使用MATLAB的模糊逻辑工具箱进行模糊控制系统的辅助设计。
MATLAB模糊逻辑工具箱提供了三种类型的工具[42,46]:
命令行函数、图形用户界面(GUI)以及与Simulink的一系列接口模糊逻辑模块。
对于一些简单的模糊推理系统,使用图形用户界面(GUI)就完全可以方便快速的完成设计,并进行计算、测试以及修改工作。
本系统使用图形用户界面(GUI)进行辅助设计。
利用前面采用的隶属度函数和制定的模糊规则表,建立模糊推理系统模型,步骤如下:
①在模糊控制器的设置编辑界面中,建立双输入单输出的模型,分别命名为E、EC、U,并分别将各自的Rvang设置成[-6,6];Type设置成trimf;根据图4-4确定模糊集。
如图4-5。
图4-5隶属度函数的编辑
Figure4-5Editingofthemembershipfunction
②结合表4-1,在模糊规则编辑界面中将49条模糊规则依次写入规则编辑器中。
如图4-6。
图4-6模糊规则的编辑
Figure4-6EditingoftheFuzzyRules
③在规则观测器中,MATLAB以图形化的方式给出了模糊推理的过程,见图4-7,在这里可以十分清楚的看出各个模糊变量隶属度函数对系统输出结果的影响。
利用规则观测器也可以计算出E和EC不同输入值组合时的系统输出值。
图4-7模糊推理规制的图示
Figure4-7GraphicDisplayofFuzzyInferenceRules
如E=0,EC=0时,在“Input”中输入[00],回车后会自动显示U的值,如图中所示,U=-4.66e-017。
以此方法,可以针对不同的输入数据组合,分别计算输出值。
最终得到模糊控制查询表,如表4-2。
表4-2模糊控制查询表
Table4-2PollingListofFuzzyControl
U
E
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
EC
-6
6
6
6
6
6
6
6
5
3
3
2
1
1
-5
6
6
6
6
6
6
6
5
3
2
2
1
1
-4
6
6
6
6
6
5
6
4
3
2
1
0
0
-3
5
5
5
5
5
4
4
3
2
1
0
-2
-3
-2
4
4
4
4
4
3
2
2
0
0
0
-3
-3
-1
4
4
4
3
3
3
1
0
-2
-2
-2
-3
-4
0
4
3
3
3
2
1
0
-1
-2
-3
-3
-3
-4
1
4
3
2
2
2
0
-1
-3
-3
-3
-4
-4
-4
2
3
3
0
0
0
-2
-2
-3
-4
-4
-4
-4
-4
3
3
2
0
-2
-2
-3
-4
-4
-5
-5
-5
-4
-5
4
0
0
-1
-2
-3
-4
-6
-5
-6
-6
-6
-6
-6
5
-1
-1
-2
-2
-3
-5
-6
-6
-6
-6
-6
-6
-6
6
-1
-1
-2
-3
-3
-5
-6
-6
-6
-6
-6
-6
-6
4.3.3模糊控制器在线部分设计(On-LineDesignontheFuzzyController)
通常,在实际装车过程中进站的每列火车包括了多种不同类型的车厢,所对应的高度期望值也不相同,所以在对装车参数(车型、车号、载重等)进行配置时,必须首先把所对应的期望高度置入PLC存储器,然后只要在每一个控制周期中,将采集到的实际测量误差和误差变化率,输入到查询子程序中,经过一系列的比较及计算便可得到被控过程的实际控制量。
查询子程序的流程图如图4-8。
图4-8模糊控制器在线查询流程
Figure4-8TheFlowCharofOnlineQueryonFuzzyController
为实现模糊控制器的在线查询,通过PLC的程序需要完成以下工作:
(1)量化处理
①e和ec的实际测量范围分别为[-200,1000]和[-200,200],设计的论域[-6,6],有:
(4-1)
其中,
、
为实际变化范围的最大、最小值;
、
为论域的最大、最小值。
k为量化因子。
将实际值带入上式中可得:
ke=1/1000,kec=3/100。
输入量和量化因子相乘,并按公式(4-2)和(4-3)进行四舍五入(e,ec>0时取+,e,ec<0时取-),得到其等级值,即成为论域中元素。
(4-2)
(4-3)
②控制量时间的变化范围为[-12,12],设计的论域为[-6,6],有:
(4-4)
其中
、
为实际控制量的最大、最小值;
、
为论域的最大、最小值。
k为比例因子。
将实际值带入上式中可得:
ku=2。
控制量的实际输出值为:
(4-5)
为了提高稳态点控制的精度,文章采用非线性量化,如表4-4、4-5所示。
表4-4e、ec及其模糊论域元素
Table4-4e、ecandFuzzificationFiledElementAi
e、ec
≤-200
-200~-150
-150~-100
-100~-60
-60~-30
-30~-10
-10~10
E、EC
-6
-5
-4
-3
-2
-1
0
Ei、ECj
0
1
2
3
4
5
6
e、ec
10~100
100~200
200~400
400~700
700~1000
≥1000
E、EC
1
2
3
4
5
6
Ei、ECj
7
8
9
10
11
12
表4-5u及其模糊论域元素
Table4-5uandFuzzyFiledElementCi
u
≤-12
-12~-9
-9~-7
-7~-5
-5~-3
-3~-1
-1~1
U
-6
-5
-4
-3
-2
-1
0
u
1~3
3~5
5~7
7~9
9~12
≥12
U
1
2
3
4
5
6
(2)数据处理
在对绞吊电机进行控制时,PLC需对很多数据进行处理,如实际测量值的读取、中间过程计算等。
它的数据类型[27]一般为“整数”和“实数”,分别用16位和32位数据寄存器来表示。
在量化处理中必须将操作数转换成相同的类型才能进行加、减、乘、除运算或存储。
PLC将煤位高度测量值以模拟值的形式存储在寄存器中,该数值与实际的过程量具有某种函数对应关系,但在数值上并不相等,也不能直接使用,必须经过一定的转换。
根据式4-8可实现模拟量信号的数值整定。
(4-7)
(4-8)
式中,
为模拟量:
为数字量;
过程测量范围;
为实际过程值,
系统偏移量。
根据式3-1和4.3.3节中的分析,可得L的测量范围为:
[H-2200,H],电信号为4~20mA,数字量的最大值为212,系统的偏移量为(H-2200)。
代入4-8得:
(4-9)
对于整数和实数之间的数据类型转换,可以直接利用PLC程序数据操作指令进行转换。
(3)查询表的建立
通过设计得到一个13×13的查询表,共有169个数值,采用从左到右,由上向下的顺序依次存入PLC的数据块DB1中,数据类型为WORD型。
首地址为DBWO,依次为DBW2、DBW4、…、DBW336
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模糊 控制器 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)