当前位置:文档之家› 模糊控制器的设计

模糊控制器的设计

4模糊控制器的设计4 Design of Fuzzy Controllor4.1概述(Introduction)随着PLC在自动控制领域内的广泛应用及被控对象的日趋复杂化,PLC控制软件的开发单纯依靠工程人员的经验显然是行不通的,而必须要有科学、有效的软件开发方法作为指导。

因此,结合PLC可编程逻辑控制器的特点,应用最新控制理论、技术和方法,是进一步提高PLC软件开发效率及质量的重要途径。

系统设计的目标之一就是要提高装车的均匀性,车厢中煤位的高度变化直接影响装车的均匀性,装车不均匀对车轴有很大的隐患。

要保持高度值不变就必须不断的调整溜槽的角度,但是,在装车过程中,煤位的高度和溜槽角度之间无法建立精确的数学模型。

模糊控制它最大的特点是[43-45]:不需建立控制对象精确数学模型,只需要将操作人员的经验总结描述成计算机语言即可,因此采用模糊控制思想实现均匀装车是行之有效的方法。

虽然很多PLC生产厂家推出FZ模糊推理模块,但这些专用模块价格昂贵,需使用专门的编程设备,成本高通用性差,所以自主开发基于模糊控制理论的PLC控制器有很大的工程价值。

本章首先介绍了模糊控制的基本原理、模糊控制系统及模糊控制器的设计步骤;然后在对煤位高度控制系统分析的基础上,设计基于模糊理论的PLC控制,分别从查询表计算生成和PLC程序查询两个部分进行设计。

4.2模糊控制原理(Fuzzy Control Principle)4.2.1模糊控制理论(Fuzzy Control Theory)模糊控制理论是由美国加利福尼亚大学的自动控制理论专家L.A.Zadch教授首次提出,由英国的Mamdani首次用于工业控制的一种智能控制技术[46]。

模糊控制(FUZZY)技术是一种由数学模型、计算机、人工智能、知识工程等多门科学领域相互渗透、理论性很强的科学技术。

模糊控制是以人的控制经验作为控制的知识模型,以模糊集合、模糊语言变量以及模糊逻辑推理作为控制算法的数学工具,用计算机来实现的一中计算机智能控制[47-48]。

它的基本思想是:把人类专家对待特定的被控对象或过程的控制策略总结成一系列以“IF…THEN…”形式表示的控制规则,通过模糊推理得到控制作用集,作用与被控对象或过程。

与传统的控制方法相比,它具有以下优点[48]:无需知道被控对象的数学模型;是一种反映人类智慧思维的智能控制;易被人们所接受;构造容易;鲁棒性好。

4.2.2模糊控制系统(Fuzzy Control System)模糊控制系统是一种自动控制系统,它是以模糊数学、模糊语言形式的知识表示和模糊逻辑推理为理论基础,采用计算机控制技术构成的一种具有闭环结构是数字控制系统。

模糊控制系统主要由模糊控制器、输入输出接口、检测装置、执行机构和被控对象等组成[46,49]。

如图4-1所示。

图4-1 模糊控制系统的组成Figure 4-1 The Composition of the Fuzzy Control System模糊控制系统的结构与一般计算机数字控制系统类似,只是它的控制器为模糊控制器(图中虚线框内),并且由计算机来实现。

模糊控制器(Fuzzy Controller,FC)也称为模糊逻辑控制器[50](Fuzzy Logic Controller,FLC),为模糊控制系统的核心部分。

它根据误差信号产生合适的控制作用输出给被控对象。

模糊控制器主要由模糊化接口、知识库、模糊推理机和解模糊接口组成[46,51],各部分的作用概述如下:(1)模糊化接口这部分的作用是将输入的精确量转换成模糊量。

其中包括外界的参考输入、系统的输出或状态等。

(2)知识库知识库中包含了具体应用领域中的知识和要求的控制目标。

它通常由数据库和模糊控制规则两部分组成:①数据库主要包括各语言变量的隶书度函数、尺度变换因子以及模糊空间的分级数等。

②规则库包括了用模糊语言变量表示的一系列控制规则。

它们反映了控制专家的经验和知识。

(3)模糊推理机模糊推理是模糊控制器的核心,它具有模拟人的基于模糊概念的推理能力。

该推理过程是基于模糊逻辑中的蕴涵关系及推理规则来进行的。

(4)解模糊接口(清晰化)解模糊接口的作用是将模糊推理得到的控制量(模糊量)变换为实际用于控制的清晰量。

它包含以下两部分内容:①将模糊的控制量经清晰化变换变成表示在论域范围的清晰量。

②将表示在论域氛围的清晰量经尺度变换变成实际的控制量。

4.2.3模糊控制器的设计(Fuzzy Controller Design)由于模糊控制器采用数字计算机来实现的,它可以将系统的偏差从数字量化为模糊量,对模糊量按给定的规则进行模糊推理,最后把模糊推理结构的模糊输出量转化为实际系统能够接受的精确数字量或模拟量。

(1)模糊控制器算法设计的内容模糊控制器的算法设计[48,52-54]主要包括以下内容:①选择模糊输入、输出变量的论域范围及模糊变量子集类型;②确定各模糊变量的隶属度函数类型;③精确输入、输出的变量的模糊化;④制定模糊控制规则;⑤确定模糊推理算法;⑥模糊输出变量的去模糊化;⑦生成查询表。

(2)模糊控制器实现的方法目前,随着PLC的广泛应用以及其功能的不断提高,基于PLC模糊控制器的研究称为一个焦点,并取得了一定的成果。

模糊控制集成到PLC主要有两种实现方法:一种是基于硬件,一种是基于软件。

基于硬件既是用模糊逻辑芯片[55]来是现在模糊化、模糊推理、去模糊化全过程;基于软件则是由软件来实现,分为查表法[56]、软件推理法[57]两种。

比较而言,基于硬件的模糊控制推理速度快,控制精度高,但灵活性差,价格昂贵,不适合一般用户的要求而软件推理控制精度高、灵活性好,但资源投入大、需要花费大量的计算时间;查表法则响应速度快,投入小,虽然控制精度相对较低,但完全能满足一般控制的要求。

4.3 PLC模糊控制器的实现(Implementation of the PLC Fuzzy Controller)4.3.1 煤位高度的控制(Control of the Coal Level )对车厢装载的控制不仅要控制装载的重量,还要实现均匀装车,即要车厢内煤位高度恒定。

煤位高度的控制受到很多因素的影响,如:溜槽的角度、溜槽的煤流量、铁牛牵引的速度、煤炭颗粒的大小、煤炭下落的轨迹以及卡煤现象等等。

然而这些因素之间不易建立精确的数学模型。

在实际装车过程中,操作人员是凭工作经验,根据车厢型号和载重量,通过调节溜槽的角度来控制煤位的高度,但是单凭人工操作严重影响了装载的精度和装车的效率,不能满足自动化的需要。

基于此,对车厢煤位高度的控制采用了模糊控制的方法。

如图4-2煤位高度控制系统方框图。

图4-2 煤位高度控制系统方框图Figure 4-2 The Block Diagram of the Coal Level Control System 图中,PLC模糊控制器为核心部分,它主要任务是数据接收,数据处理和输出控制;绞吊电机为执行器控制溜槽的的角度;车厢为被控对象;超声波料位计为检测变送环节,将检测的高度值以标准电信号的形式,传送到PLC。

本文采用了工程中普遍使用的“双输入单输出”控制器,选用受控变量和输入给定的偏差E和偏差变化率EC作为输入,因为二维的控制器能够比较严格的反映受控过程中输入变量的动态特性[46],因而在控制效果上要好于一维控制器,计算上要简单与三维控制器。

以煤位高度差e和高度差变化率ec作为模糊控制器的输入,以绞吊电机的启动时间作为控制器的输出。

为了克服实时计算量大的缺点,模糊控制器采用查表法。

查表法的基本思想[59-64]是通过计算推理取得一个模糊控制表,并将其控制表放在PLC数据块中。

当进行模糊控制时,只需直接根据采样得到的误差和误差变化率的量化值来找出当前时刻的控制量的输出量化值。

最后,将此量化值乘以比例因子得到最终的输出控制量。

PLC模糊控制器的基本结构见图4-3。

图4-3 PLC模糊控制器基本结构Figure 4-3 The Basic Structure of the PLC Fuzzy Controller Based 图中,查询表是利用Matlab的辅助工具箱Fuzzy Control Toolbox建立模糊推理系统,规则器计算生成的。

查询表的查询是STEP7编写的PLC程序实的。

4.3.2查询表的设计(Off-Line Design on the Fuzzy Controller)模糊控制器离线设计的主要目的就是煤堆高度偏差及偏差变化率到输出控制绞吊电机时间的一个模糊控制查询表的构建,也是查表法设计的关键。

论文对查询表的建立是通过MATLAB 7来实现的。

具体步骤如下: (1) 模糊化① 常用车厢的高度基本为1500~2000范围之内。

通常根据操作人员的装车经验,煤位的期望高度L 0为车厢高度的基础上增加100~200,可达到均匀装车的效果,所以L X 的范围约为0~2200,得出偏差的最大值为2200。

在实际的装车过程中,偏差为基本在大于零的范围,且不允许有较大的负偏差。

所以取e 的实际测量范围为[-200,1000](把小于-200或大于1000的值,作为临界值处理)。

设系统设定的煤位高度为L 0,实际检测的煤位高度为L X ,则煤位高度误差X L L e -=0,其语言变量为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的值,作为临界值处理)。

设高度误差两次采样值的变化量是)1()()(--=k e k e k ec ,其语言变量为EC 。

论域为:EC= {-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6}相应的语言值为NB ,NM ,NS ,ZE ,PS ,PM ,PB 。

分别表示测量高度c 相对于目标高度r 为:“快速升高”,“升高”,“缓慢升高”,“不变”,“缓慢降低”,“降低”,“快速降低”。

③ 控制系统的输出是绞吊电机的运行时间,通过计算可以得到溜槽的绞吊速度为s m v /17.0=,溜槽的运行角度为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|。

相关主题