1、学 号 毕业设计(论文)题目:基于VC模糊PID控制模块设计 日 摘 要传统PID调整算法,不可避免地存在非线性、滞后和时变现象。其中有参数未知或缓慢改变;有带有延时和随机干扰;有无法取得较正确数学模型或模型很粗糙。本系统采取微软企业高级编程语言Visual C+6.0作为开发工具。用户设置参数经过模拟PID算法产生数据结果,模拟PID算法依据反馈回来值来确定输入参数,以达成正确控制效果。本系统开发完成后进行了测试,并依据输出结果绘制趋势图,均达成了预定效果,各模块和程序代码均正确。关键词: 模糊PID,模糊规则,模糊算法,PID调整ABSTRACTThe PID of algorithm t
2、raditional regulation exists nonlinear, slow and time-varying phenomena. Some of these parameters is unknown or slow changes with delay and random interference; Some can not get more accurate mathematical model or the model is very rough.The system uses Microsofts high-level programming language Vis
3、ual C + +6.0 as a development tool. After users set the parameters, PID algorithm generated simulation results and analog PID algorithm based on feedback back to determine the value of the input parameters to achieve the precise control of the effect.The system was tested and the mapping trends in a
4、ccordance with output has reached the intended effect . the modules and code are correct .Key words: Fuzzy PID, fuzzy rules, fuzzy algorithm, PID regulator目录摘 要IABSTRACTII1绪论11.1 引言11.2 模糊PID研究基础形式21.2 Visual C+ 6.0汉字版介绍42 模糊控制概述62.1 介绍62.2 基于T-S模型模糊PID控制73 软件设计73.1 VC工程文件建立73.2 界面设计83.3 MSchart控件加载
5、93.4 MSchart控件属性设置103.5 MFC类向导设置113.6 菜单栏建立123.7 Timer控件建立143.8 “自动运行” 按钮程序段153.9 “单步运行” 按钮程序段173.10 “重设参数” 按钮程序段193.11 “退出系统” 按钮程序段194 软件打包204.1 软件公布204.2 生成安装文件214.2.1选择安装文件214.2.2生成安装文件22总结24参考文件25致谢261绪论1.1 引言传统PID(百分比proportional,积分integral,微分derivative)控制器即使以其结构简单、工作稳定、适应性、精度高等优点成为过程控制中应用最为广泛最
6、基础一个控制器(据日本统计,目前工业上使用控制中,PID控制约占91.3%,而现代控制理论控制方法只有1.5%),而且PID调整规律尤其是对于线性定常系统控制是很有效,通常全部能够得到比较满意控制效果,其调整品质取决于PID控制器各个参数确实定。然而,针对上述复杂系统,假如使用常规PID控制器,其PID参数不是整定困难就是根本无法整定,所以不能得到满意控制效果。为此多年来多种改善PID控制器如自校正、自适应PID及智能控制器快速发展起来。伴随微型计算机飞速发展,模糊(FUZZY)控制以它全新控制方法在控制界受到了极大重视并有了快速发展。1974年,英国科学家E.H.Mamdani首次将模糊技术
7、应用于汽轮机控制,开辟了模糊控制理论应用新领域。伴随技术发展,模糊控制理论和模糊技术成为最广泛最有前景应用分支之一。模糊控制器是一个教授控制系统,它优点是不需要知道被控对象数学模型而能够利用教授已经有知识和经验。关键是当系统为非线性系统时,模糊控制器还能够产生非线性控制作用。和传统PID控制方法相比,它含有尤其适合于那些难以建立正确数学模型、非线性、大滞后和时变复杂过程等特点。不过经过深入研究,也会发觉基础模糊控制存在着其控制品质粗糙和精度不高等弊病。而且用最多二维输入模糊控制器不是PI就是PD型,不是过渡过程品质不好就是不能消除稳态误差。所以,在很多情况下,将模糊控制和PID控制二者结合起来
8、,扬长避短,既含有模糊控制灵活、适应性强、快速性好优点,又含有PID控制精度高特点。从模糊技术应用于控制领域开始,很多学者就开始着手二者结合,以期待对传统控制突破。于是,很多模糊和PID相结合控制器相继出现,包含基于模糊推理PID参数自整定模糊和PID复合控制器和实现PID功效模糊PID控制器等。很多仿真和实际例子全部显示这些模糊PID控制器含有很好性能。然而这些模糊PID控制器即使比传统PID控制器有很大改善,但模糊规则获取,百分比、量化因子和隶属函数确实定全部含有一定主观性,包含着需要人为确定待寻优参数。对于这些参数,通常来说,能够依据系统原理和教授经验来取得,不过假如要快速匹配这些参数,
9、提升控制效果,取得一组最优解,则需要用寻优方法来处理。所以需要设定一个适宜优化指标使系统含有最优控制性能。但现有大部分模糊PID控制器全部是手工整定或试凑,没有适宜具体优化指标,所以通常全部不能得到最好控制性能。1.2 模糊PID研究基础形式模糊PID控制器关键有以下三种基础形式:(1) 增益调整型(Gain scheduling)模糊PID控制器因为常规PID调整器不含有在线调整参数功效,致使其不能满足偏差。及偏差改变。对PID参数自整定要求,从而不能满足要求性能指标或影响了其控制效果深入提升。为了满足在不一样偏差e和偏差改变率e对PID参数自整定要求,利用模糊控制规则在线对PID参数进行修
10、改,便组成了增益调整型模糊PID控制器该类 控 制 器中输出物理量直接对应增益参数,经过应用模糊规则实现对三个增益参数调整。其有两种形式:基于性能监督增益调整型模糊PID控制器,如:If (Perform Index is ) then (Kp is ) and Ki is ) 相关性能指标(Perform Index)能够是超调量、稳态误差或其它静动态特征。因为这些性能指标需要一个完整控制过程得到,所以该类控制器能够用于自整定或自适应方法对增益进行动态调整。 基于误差驱动模糊PID控制器,Zhao等人应用了以下规则形式:If(e is) and (e is) then (Kp is) and
11、 (Ki is) and (Kd is)该控制器PID增益参数将是误差e和误差改变e非线性函数。如非线性百分比增益能够记为:Kp= f(e, e)。以He 等发展模糊PID控制器应用二维模糊推理机计算单因子参数a,各增益参数均表现为。(e, e )函数,从而达成了调整各参数目标。对于那些含有对被控过程在线辨识步骤Fuzzy-PID控制器,对含有不确定性对象有很好控制效果。通常见两种方法实现对被控过程在线辨识。一个是利用模糊规则控制同时进行在线辨识,另一个是利用神经网络迫近能力和自学习能力,把神经网络训练成可替换被控对象逆模型,然后再进行控制。(2) 直接控制量型(Direct-action)模
12、糊PID控制器假如模糊推理机输出是PID原理范围内控制作用量,则该控制器属于直接控制量型。1987年,H.Ying在模糊控制理论中首次严格地建立了模糊控制器和传统控制器分析解关系,其中尤其关键是证实了Mamdani模糊PI(或PD)型控制器是含有变增益非线性PID控制器。这些工作为模糊控制理论和传统PID控制理论相结合建立了桥梁。随即这种模糊PID控制算法结构研究很多新结果不停涌现。并给出了最为深刻理论分析,证实了含有最简单线性控制规则二维模糊控制器其输出可等同于一个非线性PI控制器,在线性对象和非线性对象上仿真结果表明了模糊控制器同PI控制器内在联络和区分。并将此方法推广到含有通常线性控制规
13、则二维模糊控制器,证实了其输出可等同于一个全局多层次线性关系式和一个局域非线性PI控制器,将结构分析方法推广到含有线性规则三维模糊控制器上,得出了三维模糊控制器通常解析输出表示式,证实了含有通常线性推理规则三维模糊控制器可等同于一个全局多层次关系式和一个局部非线性PID控制器。(3) 混合型(hybrid)模糊PID控制器混合型模糊PID控制器能够有多种形式出现:如增益调整型和直接控制量型结合,或传统线性PID控制器和模糊控制器结合。类比传统PD、PI、PID控制,模糊控制器亦可分为PD、PI和PID型。大家在1974年Mamdani工作基础上,提出了二维模糊控制器结构。这种模糊控制器关键可分
14、为2类:PI型模糊控制器,由偏差e和偏差和e作为输入量;PD型模糊控制器,由偏差e和偏差改变e作为输入量。但二者全部有不足,PI型控制因为有积分作用,在高阶系统中过渡过程较差;PD型控制因没有积分作用,难以消除稳态误差,为此在模糊控制器中引入积分作用。即使以偏差e,偏差和e,偏差改变e和偏差改变改变e2作为输入组成常规或增量式模糊PID控制器能够实现PID控制功效,但因增加了一个输入量使得模糊控制器设计和计算复杂,规则繁多,推理运算时间变长。传统 PID 控制器和模糊控制器结合有两种结构形式:串联结构和并联结构。图1-1 串联结构复合控制PID对象FUZZYKr_eeufy串联结构:结构原理图
15、1-1所表示。当系统偏差e大于语言变量值零档时,即在动态过程中,e和uf同时用做PID控制器输入信号,即e(t)=e(t)+uf(t),对PID控制器产生较强控制信号,系统动态响应较快;而当偏差信号e小于语言变量值零档时,模糊控制器经过开关K断开,这时e(t)=e(t) 只有偏差信号进入PID控制器,因为此时系统输出和给定值己经很靠近,所以能很快地趋于给定值,消除稳态误差。这种结构模糊控制器产生阶梯状非线性控制信号作用于PID控制器,依靠调整PID输入忽然改变来提升动态响应速度,往往易造成PID作用误调整。并联结构:结构原理图1-2所表示。PID对象FUZZYr_eyufupid图1-2 并联
16、结构复合控制它是将模糊控制器和PID控制器并联起来对系统进行控制,即有模糊和PID两种模态。其中模糊控制器采取常规模糊控制器,输入变量为偏差e和偏差改变e,输出为u,模糊控制规则采取IF-THEN形式,推理合成采取MAX-MIN算法,反模糊化采取面积重心法。这种模糊控制器本质上是一PD控制器,因为缺乏积分步骤系统有稳态误差,为此在偏差e小于某一闽值M时,控制器切换至常规PID控制器,从而使得这种双模控制器含有响应快,稳态精度高特点。1.2 Visual C+ 6.0汉字版介绍本文介绍了基于Visual C+ 6.0 平台VC模糊PID控制模块设计。 而Visual C+ 6.0是在多年使用过程
17、中不停改善基础上推出,它在前一版Visual C+ 5.0基础上做了很大改善,增添了很多新功效,其关键功效特点可概括为以下多个方面。 (1)编译器改善了对于ANSI C+标准支持。Visual C+ 6.0编译器不仅能够支持ANSI C+标准,还增添了对逻辑型数据支持,而且对于模板支持也得到了相当改善。 (2) Developer Studio编辑器得到了很大改善。Visual C+ 6.0使用编辑器DeveloperStudio含有为用户自动完成通用语句编辑功效。使用Developer Studio,不仅能够创建由Visual C+ 6.0 使用源文件和其它文档,而且能够创建,查看和编辑和任
18、何ActiveX部件相关文档。在Developer Studio中,能够在项目工作区中组织文件、项目和项目配置,能够使用工作区窗口来查看和访问项目中多种元素。(3)最快集成数据库访问:Visual C+ 6.0许可用户建立强有力数据库应用程序,能够使用Windows平台提供ODBC类和高性能32位ODBC驱动程序来访问多种数据库管理系统,也能够使用DAO(数据访问对象)类经过编程语言来访问和操纵数据库中数据并管理数据库和数据库对象和结构。可见,Visual C+ 6.0 提供了最快集成数据库访问。(4)包含了对于MFC库新改善。Visual C+ 6.0增加了用于Internet编程类,而且支
19、持在Internet Explorer 4.0和Windows 98环境下编程新通用控件。(5)增强型联机帮助。Visual C+ 6.0改善了在线帮助系统,使得访问Microsoft Developer Network愈加轻易,只需单击鼠标即可。联机帮助系统将自动使用安装在计算机中最新MSDN库。Visual C+ 6.0包含三个不一样规模版本,分别为学习版(Learning Edition)、专业版(Professional Edition)和企业版(Enterprise Edition)。(1)学习版是Visual C+ 6.0基础版本,是针对初学者学习和使用。学习版提供了一组标准工具,
20、能够创建功效完备Windows应用程序。(2)专业版除了含有学习版全部功效外,还包含生成份布式应用程序必备工具。所生成分布式应用程序适适用于全部32位PC环境。(3)企业版是Visual C+ 6.0最完整版本,除了含有学习版和专业版全部功效外,还包含了部分用于创建用户/服务器应用程序所需工具等。2 模糊控制概述2.1 介绍在日益复杂被控过程面前,因为不可能得到过程正确数学模型,传统基于正确模型控制系统设计理论(包含古典控制理论及现代控制理论)受到严峻挑战。智能控制经过在系统控制和决议中引入人工智能,实现了对这些用传统控制理论难以控制过程有效控制。智能控制理论覆盖范围十分广泛,其关键分支有模糊
21、控制、学习控制、教授控制、神经网络控制等。图2-1 所表示模糊控制系统和常见负反馈闭环控制系统相同,唯一不一样之处是控制装置由模糊控制器来实现。图2-1 模糊控制系统图模糊控制器控制对象给定值 +_偏差控制量被控制量模糊控制器设计在模糊逻辑控制中关键使用Mamdani模糊模型和Takagi-Sugeno模糊模型。Mamdani模糊模型是一个语言模型,利用Mamdani模型组成模糊逻辑系统实质是一组模糊IF-THEN规则,在这组规则中前件变量和后件变量均为模糊语言变量,其通常形式以下:Ri:if xi is Ai1 andand xn is Ain, then y1 is Bi1 and ym
22、is Aim其中: xi、x2、xn是规则前件语言变量;yi、y2、yn是规则后件语言变量,代表了作用于对象控制量;Ai1Ain ,Bi1 Bin是模糊语言变量 Ri表示第i条规则。Mamdani模糊模型是由英国E.H .Mamdani提出,它是最早在实践中得到应用一个模型,但本文用是T-S模拟模型。Takagi-Sugeno模糊模型是1985年由日本Takagi和Sugeno提出,以后由Sugen和Kang深入完善。这种模型从某种意义上来说和Mamdani模型有类似之处:全部是由IF-THEN规则组成;规则前件含有模糊语言值。然而Takagi-Sugeno模糊模型(简称T-S模型)后件是一线
23、性函数。T-S模糊模型通常含有以下形式:Ri:if x is Ai,then yi=f(x)其中: x为规则前件语言变量; yi为第i条规则输出量; Ai为模糊语言值; Ri表示T-S模糊模型第i条规则。T-S模糊模型后件为线性函数,这就为模糊控制理论和现有线性系统理论相结合提供了可能,从而为利用线性系统理论来分析模糊控制系统特征提供了路径。多年来应用T-S模型进行系统辨识比较多。2.2 基于T-S模型模糊PID控制设连续PID调整器输出值VM表示为y(t),则:其中x(t)为偏差信号,等于设定值Vs和测量值Vp之差;P,Ti,Td分别为百分比度和积分、微分时间常数。数字调整器特点是断续动作。
24、它以采样周期T为间隔,对偏差信号x(t)采样和作模/数转换后,按一定调整规律算出输出值。能够将连续PID表示式离散化,用差分方程表示,得出第n次输出量Yn为:1式中,Xi是偏差信号x(t)第i次采样值。3 软件设计3.1 VC工程文件建立运行VC+6.0汉字版,新建一个工程文件,以下设置:图 3-1 VC工程文件建立图 3-2 VC工程文件建立3.2 界面设计新建好工程文件界面以下:图 3-3 界面设计点击控件栏,放置玩控件界面以下:图 3-4 界面设计3.3 MSchart控件加载 MSchart控件为ActiveX控件,控件栏中没有所以要手工加载,加载前一定要确保PC中装有完整Office
25、或VB。加载MSchart控件图:图 3-4 MSchart控件加载图 3-5 MSchart控件加载3.4 MSchart控件属性设置右击MSchart控件,图:图 3-6 MSchart控件属性设置图 3-7 MSchart控件属性设置图 3-8 MSchart控件属性设置3.5 MFC类向导设置按CTRL+W键,弹出MFC类向导设置窗口,并按以下设置:图 3-9 MFC类向导设置图 3-10 菜单栏建立3.6 菜单栏建立”按钮,点击“新建创建菜单栏,图:创建完成菜单栏,图:图 3-11 菜单栏建立图 3-12 菜单栏建立3.7 Timer控件建立VC+不像VB有Timer控件,如要使用话
26、需用户在zlhDlg.cpp文件中创建:void CZlhDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CZlhDlg)DDX_Control(pDX, IDOK, m_my_ok);DDX_Text(pDX, IDC_EDIT1, m_my_p);DDX_Text(pDX, IDC_EDIT2, m_my_ti);DDX_Text(pDX, IDC_EDIT3, m_my_td);DDX_Text(pDX, IDC_EDIT4, m_my_vs);DDX_Control(pDX,
27、 IDC_MSCHART1, m_Chart);DDX_Text(pDX, IDC_EDIT5, m_my_y);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CZlhDlg, CDialog)/AFX_MSG_MAP(CZlhDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDOK, Onstart)ON_BN_CLICKED(IDOK2, OnOk2)ON_WM_TIMER() /定义timerON_BN_CLICKED(IDOK3, Onpause)ON_BN_CLICKED(ID
28、OK4, Onrand_input)ON_BN_CLICKED(IDC_STATIC1, OnStatic1_pic)ON_COMMAND(ID_MENUITEM32771, OnMenuitem32771_auto)ON_COMMAND(ID_MENUITEM32772, OnMenuitem32772_step)ON_COMMAND(ID_MENUITEM32773, OnMenuitem32773_pause)ON_COMMAND(ID_MENUITEM32775, OnMenuitem32775_exit)/AFX_MSG_MAPEND_MESSAGE_MAP()定义Timer控件时间
29、间隔为0.5秒:void CZlhDlg:Onstart() / TODO: Add your control notification handler code here/row:6,col:4for(int row = 1; row = 5; +row)UpdateData(TRUE);timer1=SetTimer(1,500,0);3.8 “自动运行” 按钮程序段void CZlhDlg:Onstart() / TODO: Add your control notification handler code here/row:6,col:4for(int row = 1; row 6
30、) m_my_p=m_my_p+(x1-x2);m_my_ti=m_my_ti+(x1-x2);m_my_td=m_my_td+(x1-x2); elsem_my_p=m_my_p-(x1-x2);m_my_ti=m_my_ti-(x1-x2);m_my_td=m_my_td-(x1-x2);int yy;yy=(int)y;m_my_y=yy;if (yySetWindowText(str);m_my_vs=vs;UpdateData(FALSE);m_Chart.GetDataGrid().SetData(row, 1, yy, 0);/Sleep (500); m_Chart.Refre
31、sh(); 3.9 “单步运行” 按钮程序段void CZlhDlg:Onrand_input() / TODO: Add your control notification handler code herefor(int row = 1; row 6 ) m_my_p=m_my_p+(x1-x2);m_my_ti=m_my_ti+(x1-x2);m_my_td=m_my_td+(x1-x2); elsem_my_p=m_my_p-(x1-x2);m_my_ti=m_my_ti-(x1-x2);m_my_td=m_my_td-(x1-x2);int yy;yy=(int)y;m_my_y=y
32、y;if (yySetWindowText(str);/m_my_vs=vs;/UpdateData(FALSE);m_Chart.GetDataGrid().SetData(row, 1, yy, 0);UpdateData(FALSE);m_Chart.Refresh(); KillTimer(timer1);3.10 “重设参数” 按钮程序段void CZlhDlg:Onpause() / TODO: Add your control notification handler code hereKillTimer(timer1);3.11 “退出系统” 按钮程序段void CAboutD
33、lg:OnOK() / TODO: Add extra validation hereCDialog:OnOK();图 3-21 “退出系统” 按钮程序段4 软件打包4.1 软件公布图 4-1 软件公布图 4-2 软件公布运行并生成EXE文件图 4-3 软件公布4.2 生成安装文件4.2.1选择安装文件图 4-4 选择安装文件新建一个文件夹,把已经选择文件夹放入一个新目录,到时在Wise Installation System - Professional Edition中选择。图 4-5 选择安装文件4.2.2生成安装文件运行 Wise Installation System - Profe
34、ssional Edition, 新建一个“空工程”图 4-5 生成安装文件按左边栏目标次序填写安装文件各项信息图 4-6 生成安装文件总结经典 PID控制广泛应用于工业控制各个领域,但其也存在着本身不足。而模糊控制作为智能控制一个关键研究分支得到了广泛而深入研究,为处理含有不确定性、时变非线性和多变量等特征复杂难建模系统提供了一个有效路径,填补了传统PID控制不足。所以将二者相结合既充足发挥PID控制简单,精度高又有模糊控制灵活、适应性强、快速性好优点。本文就是基于VC模拟PID设计,采取是T-S 模型。参考文件1 陈立云,TS型模糊PID控制器设计改善M,天津大学电气和自动化工程学院, 天
35、津300072;2 谢庆国、万淑芸、赵金, 一个T 2S 模糊控制器设计方法M, 华中科技大学3 姜成国,周广铭.模糊PID控制器结构J.大庆石油学院学报.34 张清华.一个可调整模糊强度FUZZY PID控制器J.自动化和仪表.65 李辉,韩红,韩崇昭,朱洪艳.基于遗传算法模糊逻辑控制器优化设计J.西安交通大学学报 .4.6 谢立. 模糊PID控制器设计M.南京大学电气和自动化工程学院7 张万国,模糊控制器设计方法M. 华中科技大学出版社8 舒怀林, PID神经元网络及其控制系统M.国防工业出版社9 孙鑫,余安萍. VC+深入详解M.科学出版社10 明日科技,Visual C+程序开发范例宝典M.人民邮电出版社11 求是科技,Visual C+6.0 程序设计从入门到精通M. 华中科技大学12 William H.Press. Numerical Recipes in C+. Beijing:posts & Telecom Press.13 Haibin Zhu,Mengchu Zhou. Object-oriented Programing in C+. Beijing:Tsinghua University Press.