双容水箱液位模糊控制

合集下载

双容水箱模糊控制规则

双容水箱模糊控制规则

双容水箱模糊控制规则双容水箱模糊控制规则引言双容水箱是一种常见的水源供应系统,其通过两个容器间的自动切换来保证水源的持续供应。

在实际使用中,为了更好地控制水箱的切换和保障供水质量,需要采用模糊控制技术。

本文将对双容水箱模糊控制规则进行详细介绍。

一、双容水箱基本原理1.1 双容水箱结构双容水箱由两个相同的储水器和一个控制系统组成。

其中,每个储水器都有一个进口和一个出口,而控制系统则负责监测并调节两个储水器中的液位。

1.2 双容水箱工作原理当一个储水器中的液位下降到一定程度时,控制系统会自动切换到另一个储水器,并开启进口阀门将新鲜的自来水注入该储水器中。

同时,出口阀门会打开以保证该储水器中的液位不断上升。

二、模糊控制技术介绍2.1 模糊控制原理模糊控制是一种基于模糊逻辑理论的智能控制方法,其主要思想是将模糊的输入量通过一定的规则转化为模糊的输出量,从而实现对系统的控制。

2.2 模糊控制在双容水箱中的应用在双容水箱中,模糊控制可以通过对液位、进出水流量等参数进行监测和分析,从而实现对水箱切换和进出水阀门的精确控制。

三、双容水箱模糊控制规则3.1 液位监测规则液位监测是双容水箱模糊控制的基础。

在液位监测中,需要将液位高度转化为模糊变量,并根据不同的液位高度设置相应的隶属函数。

例如:- 高液位:隶属函数为“大”- 中等液位:隶属函数为“中”- 低液位:隶属函数为“小”3.2 切换规则当一个储水器中的液位下降到一定程度时,需要切换到另一个储水器。

此时,可以根据两个储水器中当前的液位高度以及进出水流量等参数来确定是否需要切换。

例如:- 当当前储水器中的液位低于“中”且另一个储水器中的液位高于“中”时,需要切换到另一个储水器。

- 当两个储水器中的液位都低于“小”时,需要启动进口阀门将新鲜的自来水注入当前储水器中。

3.3 进出水阀门控制规则进出水阀门控制是双容水箱模糊控制的核心。

在进出水阀门控制中,需要根据当前储水器的液位高度以及进出水流量等参数来精确控制进出水阀门的开关状态。

基于模糊PID的双容液位控制系统设计

基于模糊PID的双容液位控制系统设计

基于模糊 PID的双容液位控制系统设计摘要:针对双容液位控制系统的大滞后、非线性等特点,本文采用s7-1200作为控制器,运行SCL语言编写了模糊PID控制算法,采用MCGS设计了监控系统,实现了对双容液位的控制。

实验结果表明: 模糊PID 控制方法相比传统 PID 控制方法,有着更小的超调量和更快的调节时间,对双容液位控制系统得有良好的控制性能。

项目来源:广西高校中青年教师能力提升项目(2019KY1559)关键词:双容液位控制、模糊PID、PID 控制、MCGSAbstract: In view of the large lag and nonlinear characteristicsof the dual-volume liquid level control system, this paper uses s7-1200 as the controller, runs the SCL language to write the fuzzy PID control algorithm, uses MCGS to design the monitoring system, and realizes the dual-volume liquid level control system. bit control. The experimental results show that the fuzzy PID control method hassmaller overshoot and faster adjustment time than the traditional PID control method, and has good control performance for the dual-volume liquid level control system.Keywords: dual-volume liquid level control, fuzzy PID, PID control, MCGS引言:在工业生产过程控制中,液位控制系统是控制系统中非常重要的成员之一,液位控制质量水平也是影响连续过程系统的的重要因素,因此对液位控制系统的研究是非常重要的。

双容液体罐温度模糊控制系统设计

双容液体罐温度模糊控制系统设计

双容液体罐温度模糊控制系统设计
简介
本文档介绍了一种双容液体罐温度模糊控制系统的设计方案。

系统概述
该系统由温度传感器、控制芯片和执行机构组成。

温度传感器用于采集罐内温度数据,控制芯片根据传感器数据进行计算并控制执行机构调节罐内温度。

此外,该系统采用了模糊控制算法,能够自适应调节控制参数,提高温度控制精度和稳定性。

设计方案
硬件设计
系统硬件包括温度传感器和执行机构。

温度传感器选用高精度数字温度传感器,并通过IIC协议连接控制芯片。

执行机构采用PID控制器控制两路加热电路的开关,实现对罐内温度的调节。

软件设计
系统软件主要包括控制程序和模糊控制算法。

控制程序负责读取温度传感器数据并进行PID控制,调节加热器加热时间和功率。

模糊控制算法则基于传感器数据和控制器输出计算模糊控制参数,并根据参数自适应调整PID控制器参数。

通过这种方式,系统可以根据实时温度变化自适应调整控制参数,实现更加稳定和精确的温度控制。

总结
该温度模糊控制系统设计方案能够通过模糊控制算法自适应调整PID控制器参数,提高温度控制精度和稳定性。

同时,该系统硬件成本较低,适用于普通对温度要求较高的液体控制场景。

双容水箱的模糊PID控制

双容水箱的模糊PID控制

双容水箱液位模糊串级控制系统的设计与MATLAB仿真薛松柏11.宿迁学院机电工程系,09自动化1班,20090704140摘要:液位控制是工业控制中的一个重要问题,针对液位控制过程中存在大滞后、时变、非线性的特点,为适应复杂系统的控制要求,人们研制了种类繁多的先进的智能控制器,模糊PID 控制器便是其中之一。

模糊PID控制结合了PID控制算法和模糊控制方法的优点,可以在线实现PID参数的调整,使控制系统的响应速度快,过渡过程时间大大缩短,超调量减少,振荡次数少,具有较强的鲁棒性和稳定性,在模糊控制中扮演着十分重要的角色。

本文先对双容水箱进行数学建模,将模糊控制和PID控制相结合,设计出了双容水箱液位模糊PID串级控制系统。

然后参照经验选取了合适的模糊控制规则和隶属度函数,设计了模糊控制器,建立了模糊控制表,供在线模糊控制查询使用。

最后应用MATLAB对双容水箱液位控制对象的常规PID串级控制系统和模糊PID串级控制系统进行了仿真比较,说明了模糊PID串级控制系统相对于常规PID串级控制系统,对于此设计具有明显的优越性。

关键字:PID控制;模糊控制;模糊PID串级控制;MATLAB仿真0 引言双容水箱液位控制系统,由于阀门的非线性、传输管道的纯滞后,用常规的PID控制不能取得满意的控制效果,而且双容水箱理论上的数学模型是很难建立的,所以用常规的PID控制更难取得满意的控制效果。

为此将模糊控制引入到双容水箱液位控制系统中来,根据人工控制的经验总结模糊控制的规律,用模糊控制和PID控制对双容水箱进行串级控制,可以取得满意的控制效果。

本文设计了双容水箱液位的模糊PID串级控制,用模糊控制和PID控制组成的双容水箱液位串级控制系统通过控制双容水箱的下液位,改善其控制性能,并借助MATLAB进行仿真,比较常规PID串级控制和模糊PID串级控制的性能。

1 双容水箱液位系统的组成双容水箱串级液位控制系统结构图如图 2.1所示。

模糊控制水箱液位调节

模糊控制水箱液位调节

实验二:模糊控制水箱液位调节一实验目的1.掌握模糊控制的原理2.加强模糊控制在实践中的应用二实验器材装有Matlab软件PC电脑一台三实验原理模糊控制的基本原理:它的核心部分为模糊控制器,模糊控制器的控制规律由有计算机程序实现。

详见P32(模糊控制原理)。

四原代码clear allclose allq1=0; %定义第一个水箱的入水量q2=0; %定义第一个水箱的出水量q3=0; %定义第二个水箱的出水量q4=0; %定义第三个水箱的出水量b=1.4; %定义第一个水箱入水量的控制系数a1=8.6; %定义第一个水箱出水量的控制系数a2=8.6; %定义第一个水箱出水量的控制系数h1=100; %定义第一个水箱中水的初始高度h2=100; %定义第二个水箱中水的初始高度h3=100; %定义第三个水箱中水的初始高度v=119; %定义sin函数的系数s=190; %定义水箱底面积k=10; %定义开关控制量e=0; %定义误差e_1=0;ec=0;H=130; %定义第三个水箱的期望高度e=H-h1;a=newfis('fuzz'); %误差函数a=addvar(a,'input','e',[-25,25]);a=addmf(a,'input',1,'NB','zmf',[-25,-10]);a=addmf(a,'input',1,'PS','trimf',[-25,-10,0]);a=addmf(a,'input',1,'Z','trimf',[-10,0,10]);a=addmf(a,'input',1,'PS','trimf',[0,10,25]);a=addmf(a,'input',1,'PB','smf',[10,25]);a=addvar(a,'output','u',[0,100]); %控制量输出函数a=addmf(a,'output',1,'NB','zmf',[0,30]);a=addmf(a,'output',1,'NS','trimf',[0,30,50]);a=addmf(a,'output',1,'Z','trimf',[30,50,70]);a=addmf(a,'output',1,'PS','trimf',[50,70,100]);a=addmf(a,'output',1,'PB','smf',[70,100]);rulelist=[1 1 1 1;2 2 1 1;3 3 1 1;4 4 1 1;5 5 1 1];a = addrule(a, rulelist);for i=1:1:8000tt(i)=i; %时间轴q1=b*k; %第一个水箱的进水量q2=a1*sqrt(h1); %第一个水箱的出水量h1=h1+(q1-q2)/s; %第一个水箱中水的高度q3=a2*sqrt(h2); %第二个水箱的进水量h2=h2+(q2-q3)/4; %第二个水箱中水的高度q4=v*abs(sin(2.3*pi*i+0.35)); %第二个谁想的出水量h3=h3+(q3-q4)/s; %第三个水箱中的高度hh(i)=h3;k=evalfis(e,a);e=H-h3;endplot(tt,hh)五、插图。

模糊控制算法在水箱液位控制系统中的应用毕业论文

模糊控制算法在水箱液位控制系统中的应用毕业论文

模糊控制算法在水箱液位控制系统中的应用毕业论文目录摘要 (I)ABSTRACT...................................................... I I 1 绪论. (1)1.1课题研究的背景与意义 (1)1.2模糊控制产生的背景与意义 (1)1.3液位控制系统研究的意义 (2)1.4本论文研究的主要容 (3)2 液位控制系统的分析与建模 (4)2.1引言 (4)2.2液位控制系统控制对象及控制策略 (5)2.3被控对象的分析与建模 (6)2.4本章小结 (8)3 控制算法研究 (9)3.1模糊控制算法 (9)3.1.1 模糊控制的产生及发展 (9)3.1.2 模糊控制的特点 (10)3.1.3 模糊控制的基本概念 (10)3.1.4 模糊控制的基本理论 (14)3.2本章小结 (18)4 模糊控制算法在水箱液位控制中的应用 (19)4.1PID控制在双容水箱液位控制系统中的仿真研究 (19)4.1.1 PID控制算法 (19)4.1.2 PID参数对系统性能的影响 (21)4.1.3 PID参数的整定方法 (21)4.2模糊自整定PID在双容水箱液位系统中的应用 (25)4.2.1 模糊PID控制器的设计 (25)4.2.2 模糊控制部分 (25)4.3仿真结果与分析 (29)结论 (31)致谢 (32)参考文献 (33)1 绪论1.1 课题研究的背景与意义随着工业生产的飞速发展,人们对控制系统的控制精度、响应速度、系统稳定性与适应能力的要求越来越高。

而实际工业生产过程中的被控对象往往具有非线性、时延的特点,应用常规的控制手段难以达到理想的控制效果,研究对非线性、时延对象的先进控制策略,提高系统的控制水平,具有重要的实际意义。

本文所提及的液位控制系统是一种可以模拟多种对象特性的实验装置。

该装置是进行控制理论与控制工程教学、实验和研究的理想平台,可以方便的构成多阶系统对象,用户既可通过经典的PID控制器设计与调试,完成经典控制教学实验,也可通过模糊逻辑控制器的设计与调试,进行智能控制教学实验与研究。

模糊控制算法在水箱液位控制系统中的应用

模糊控制算法在水箱液位控制系统中的应用

模糊控制算法在水箱液位控制系统中的应用模糊控制算法在水箱液位控制系统中的应用摘要液位控制是工业控制中的一个重要问题,针对液位控制过程中存在时变、非线性等特点,为适应复杂系统的控制要求,人们研制了种类繁多的先进的智能控制器,模糊PID控制器便是其中之一。

模糊PID控制结合了PID控制算法和模糊控制算法的优点,可以在线实现PID参数的调整,使控制系统的响应速度快,过渡过程时间大大缩短,超调量减少,振荡次数少,具有较强的鲁棒性和稳定性,在模糊控制中扮演着十分重要的角色。

本文介绍了模糊PID控制在双容水箱的液位控制系统中的应用。

首先建立了液位控制系统数学模型,介绍了PID控制、模糊控制以及模糊PID的基本原理,然后利用MATLAB软件给出了设计结果,仿真结果验证了设计方法的有效性。

关键词:液位控制;模糊PID控制;仿真Application of fuzzy control algorithm in the tank liquid level control systemAbstractLiquid level control is an important problem in industrial control, for level control in big delay, time-varying and nonlinear characteristic, in order to adapt to complex system control requirements, people developed a wide range of advanced intelligent controller, fuzzy PID controller is one of them. Fuzzy PID control combined with PID control algorithm and the advantage of fuzzy control method, can realize adjustment of PID parameters online, and make the control system response speed, greatly shorten the transition time, overshoot less, fewer oscillations, has strong robustness and stability, and plays an important role in fuzzy control. This paper introduces the fuzzy PID control in the application of the double let water tank liquid level control system. Liquid level control system mathematical model is established first, and introduces the PID control, fuzzy control and the basic principle of fuzzy PID, and design result given by using MATLAB software, the simulation results verify the validity of the proposed design method.Keywords:liquid level control;fuzzy PID control;simulation目录摘要 (I)ABSTRACT (II)1 绪论 (1)1.1课题研究的背景与意义 (1)1.2模糊控制产生的背景与意义 (1)1.3液位控制系统研究的意义 (2)1.4本论文研究的主要内容 (3)2 液位控制系统的分析与建模 (4)2.1引言 (4)2.2液位控制系统控制对象及控制策略 (5)2.3被控对象的分析与建模 (6)2.4本章小结 (8)3 控制算法研究 (9)3.1模糊控制算法 (9)3.1.1 模糊控制的产生及发展 (9)3.1.2 模糊控制的特点 (10)3.1.3 模糊控制的基本概念 (10)3.1.4 模糊控制的基本理论 (14)3.2本章小结 (19)4 模糊控制算法在水箱液位控制中的应用 (20)4.1PID控制在双容水箱液位控制系统中的仿真研究 (20)4.1.1 PID控制算法 (20)4.1.2 PID参数对系统性能的影响 (22)4.1.3 PID参数的整定方法 (22)模糊自整定PID在双容水箱液位系统中的应用 (26)模糊PID控制器的设计 (26)模糊控制部分 (27)4.3仿真结果与分析 (31)结论 (34)致谢 (35)参考文献 (36)1 绪论课题研究的背景与意义随着工业生产的飞速发展,人们对控制系统的控制精度、响应速度、系统稳定性与适应能力的要求越来越高。

二容水箱模糊控制系统设计

二容水箱模糊控制系统设计

摘要在工业过程控制中,被控对象通常具有纯滞后、时变性、非线性以及存在种类繁多的干扰,采用常规的PID控制方法,难以获得满意的动、静态性能。

模糊控制作为智能控制领域的一个分支,由于其本质是非线性控制和自适应控制,对于参数时变,纯滞后和不精确模型等复杂控制系统,具有较强的鲁棒性。

本文针对典型的二阶惯性纯滞后系统,设计研究了模糊控制和常规PID的复合控制、PID参数的模糊自整定控制和PID-模糊Smith控制三种智能控制方法。

计算机仿真结果表明:这三种智能控制在二阶滞后系统中的控制效果均优于传统的PID控制效果,能够改善系统的动、静态特性,使控制系统的鲁棒性和抗干扰性得到显著提高。

论文最后通过建立系统的组态工程,将模糊控制方法应用到二容水箱液位控制系统,给出了系统的硬件设计结构,开发了组态画面,并且根据模糊PID控制规则编制了模糊控制程序。

试验结果验证了模糊控制算法的有效性,表明模糊控制在控制性能上优于传统的PID控制。

关键词:纯滞后;模糊控制;鲁棒性;参数自整定;二容水箱AbstractIn the industrial process control, the control objects usually own the time delay, nonlinear, time-vary characteristic accompanied with diverse interferences. So, it is hard to acquire satisfying static and dynamic characteristics by using common PID control. fuzzy control, as a branch of intelligent control field, is adapted to complicated systems with the characteristic of parameter time-vary, model mismatch and time delay, due to its essence of nonlinear and adaptive control and strong robustness.For the system of representative two steps time-delay, fuzzy-PID hybrid control,fuzzy PID control with parameters self-tuning and PID fuzzy Smith complex control are studied in this paper. The simulation shows that the control effects of the above three intelligent control are better than traditional PID control, and the dynamic and steady characteristics are improved. In addition, the robustness and anti-interference are advanced.By means of building a configurative project, the fuzzy control strategy is applied to the two-container water tank, and a set of completed hardware and structure diagram is provided. What’s more, the program is designed according to fuzzy PID control rule. The experiment shows that the arithmetic of fuzzy control is efficient and the capability of fuzzy control is superior to the traditional PID control.Keywords: pure time-delay; fuzzy control; robustness; parameter auto-tuning; two-container water tank目录摘要 (I)Abstract ........................................................................................................................................................... I I 1. 绪论 .. (1)1.1 引言 (1)1.2 复杂工业过程控制所面临的问题 (1)1.3 国内外模糊控制的现状与展望 (2)1.3.1模糊控制的现状 (2)1.3.2 模糊控制展望 (3)1.3本课题研究的目的及意义 (3)本章小结 (4)2. 模糊控制理论 (5)2.1模糊控制概论 (5)2.2模糊控制器的基本原理 (5)2.2.1 模糊控制器的基本设计方法 (6)2.2.2 模糊控制算法 (10)2.2.3控制规则自调整模糊控制器基本原理 (12)本章小结 (14)3. 模糊PID控制方法的研究 (15)3.1 模糊控制器和常规PID的复合控制 (16)3.1.1系统仿真实验 (17)3.2 常规PID参数的模糊自整定控制 (18)3.2.1 PID控制器参数自整定原则 (19)3.2.2 各变量隶属度函数的确定 (21)3.2.3系统仿真实验 (22)本章小结 (23)4. PID-模糊Smith智能控制方法的研究 (24)4.1施密斯(Smith)预估控制 (24)4.2 PID-模糊Smith预估控制 (25)4.2.1模糊Smith控制 (25)4.2.2模糊Smith及PID的复合控制 (26)4.3系统仿真实验 (26)本章小结 (28)5. 模糊控制技术在二容水箱液位控制系统中的应用 (29)5.1 二容水箱液位控制系统结构组成 (29)5.1.1 系统硬件结构 (29)5.1.2 系统硬件组成 (29)5.1.3 MCGS通用监控系统组态软件 (30)5.2二容水箱液位特性测试 (32)5.2.1原理说明 (32)5.2.2 测试内容与步骤 (33)5.2.3 测试曲线及其数学模型 (34)5.3组态界面开发与系统试验 (37)5.3.1组态界面的开发 (37)5.3.2 MCGS脚本程序 (38)5.3.4系统试验结果及分析 (39)5.4 本章小结 (40)总结 .............................................................................................................................. 错误!未定义书签。

【毕业论文】模糊PID控制技术在双容水箱液位控制中的应用与研究

【毕业论文】模糊PID控制技术在双容水箱液位控制中的应用与研究

摘 要双容水箱液位控制系统具有过程控制中动态过程的一般特点:大惯性、大时延、非线性,难以对其进行精确的控制,从而使其成为过程控制教学、试验和研究的理想实验平台。

因此,双容水箱液位控制系统在耦合非线性系统的监控和故障诊断算法的研究中得到了广泛的关注。

本课题首先分析了双容水箱液位控制系统工艺流程,在MPCE-1000实验系统上模拟双容水箱系统的基础上推导双容水箱的数学模型并在Simulink上进行仿真。

由于双容水箱是一个典型的非线性时变多变量耦合系统,用常规的控制手段很难实现理想的控制效果。

因此,引入模糊控制技术,将模糊控制与传统的PID控制结合,设计出模糊PID控制器,并进行Simulink仿真。

仿真结果表明,模糊PID控制器的控制效果比常规PID控制器的控制效果理想。

关键词:双容水箱,模糊PID,液位控制AbstractTwo-capacity water tank level control system is in the process control dynamic process of the general characteristics: large inertia, the time delay, non-linear, not their precise control, thereby making it a teaching process control, testing and research of the ideal experimental plat form . Therefore, the dual-capacity water tank level control system in the coupled non-linear system monitoring and fault diagnosis method in the study received widespread attention.The first issue of a dual-capacity water tank level control system and its mathematical modeling process.In experiments on MPCE-1000the basis of dual-capacity water tanks derived a mathematical model and simulation in Simulink on.Because of the capacity of water tanks is a typical multi-variable nonlinear time-varying coupling system,using conventional means of control difficult to achieve the desired effect of control.Therefore,the introduction of fuzzy control technology,fuzzy control with the traditional combination of PID control,designed fuzzy PID controller,and Simulink simulation.Key words:Two-capacity water tanks, fuzzy PID, Level Control第一章 前 言 (1)1.1 研究背景及意义 (1)1.1.1 选题背景 (1)1.1.2 研究意义 (2)1.2 本文的主要研究内容 (3)第二章 模糊PID控制与MPCE1000试验系统简介 (4)2.1 改善模糊控制系统的稳态性能 (4)2.1.1 FuzzyPID混合控制器 (4)2.1.2比例模糊PI控制器 (5)2.2 MPCE1000试验系统 (6)2.2.1 小型流程设备台 (6)2.2.2动态数字模型 (6)2.2.3 硬件自动测试 (6)第三章 模糊控制理论基础 (7)3.1 双容水箱液位控制系统的数学建模 (7)3.2 模糊自动控制的基本思想 (8)3.3 模糊控制特点 (10)3.4 模糊控制系统的组成 (11)3.5 模糊控制系统的设计 (12)3.5.1模糊控制器的设计原则 (12)3.5.2 模糊控制器的常规设计方法 (13)3.5.3模糊控制器组成 (14)3.6 模糊控制与PID 算法的结合 (16)第四章 双容水箱液位控制系统的仿真研究 (19)4.1 MATLAB 简介 (19)4.1.1 模糊逻辑工具箱 (19)4.1.2 SIMULINK 工具箱 (19)4.1.3 MATLAB 在模糊控制仿真中的应用 (19)4.2 模糊PID 双容水箱液位控制的仿真 (20)4.2.1 模糊控制器的simulink 仿真 (20)4.2.2 双容水箱液位控制的模糊PID 仿真 (33)4.3 对比与结论 (33)第五章 结论与展望 (35)5.1 研究工作总结 (35)5.2 展望 (35)参 考 文 献 (37)致 谢 (38)第一章 前 言1.1 研究背景及意义1.1.1 选题背景双容水箱液位的控制作为过程控制的典型代表是众多过程控制学者研究的热点之一。

过程控制实验装置的双容液位控制系统设计

过程控制实验装置的双容液位控制系统设计

摘要双容水箱液位控制系统广泛应用于食品生产、工业化工等各个领域。

双容液位控制系统具有非时变、滞后等特点,根据这一特点,分别应用了PID控制、模糊控制等控制策略。

基于对过程控制实验装置的了解,建立了过程实验装置与西门子PLC的硬件连接。

然后,基于PLC实现了过程实验装置双容液位控制系统的设计,并对实验结果进行了对比分析。

在此基础上,基于OPC接口技术,建立西门子PLC与MATLAB 软件的数据通讯。

进而,采用模糊控制算法应用MATLAB软件中的模糊控制工具箱,实现了对过程实验装置双容液位的控制。

最后,对实验结果进行了对比分析,得出了模糊控制算法在双容液位控制系统中应用的优点。

关键词:双容液位;PLC;PID控制;模糊控制Process control device of Liquid Level Control System DesignABSTRACTTwin-tank water level control system is widely used in various fields such as food production, industrial chemicals. Liquid Level control system with a non-time-varying characteristics of the lag, according to this feature, each application of the PID control, fuzzy control and other control strategies.Based on the process control device of understanding, the course of the experiment apparatus connected to a Siemens PLC hardware. Then, based on PLC achieved during experimental apparatus Liquid Level Control System, and the experimental results were compared and analyzed. On this basis, based on the OPC interface technology, establish data communication Siemens PLC with MATLAB software. Furthermore, the use of the experimental device for Liquid Level Process Control Fuzzy Control MATLAB software fuzzy control toolbox achieved. Finally, the experimental results were compared and analyzed, we obtained advantages of fuzzy control algorithm in Liquid Level Control System.Key Words:Liquid Level; PLC; PID Control; Fuzzy Control目录摘要 (I)ABSTRACT (II)第1章绪论 (1)1.1选题的背景及意义 (1)1.2国内外研究现状 (2)1.2.1过程控制系统研究现状 (2)1.2.2双容液位控制概论 (3)1.2.3模糊控制研究现状 (4)1.3本文研究内容 (5)第2章过程实验装置的双容液位系统 (6)2.1装置介绍 (6)2.2对象特性分析 (9)2.3控制需求分析 (9)第3章过程实验装置的双容液位控制系统设计 (11)3.1 控制系统设计 (11)3.2 基于PLC的双容液位控制 (12)3.2.1PLC控制程序 (13)3.2.2PID参数整定 (15)3.2.3 传递函数的求解与OPC的连接 (15)3.3 实验结果分析 (22)3.4小结 (25)第4章基于PID的Matlab和模糊控制仿真 (27)4.1数据通讯系统 (27)4.2基于 PID控制器的模糊控制系统设计 (29)4.2.1模糊控制器的编写 (29)4.2.2模糊控制器的编写 (30)4.2.3模糊控制仿真设计 (37)4.3实验结果对比分析 (40)第5章总结 (44)参考文献 (45)附录A 附录内容名称 (46)致谢 (49)第1章绪论1.1选题的背景及意义双容水箱在工业生产过程中极其常见,是工业生产常用的控制设备之一。

双容水箱液位模糊串级控制系统的设计

双容水箱液位模糊串级控制系统的设计
d u l rta d c o b ef s n ombne o ehe s o ro nd PI c nr la d d s n d te d bl em i aw ae a q i s D t n ls i i st g t rm t c nt la D o to n ei e h ou e p r t trtnk f ud m t PI s g cas i y g i i y i r c to yse onr ls tm Th n a c r n o x e e c o slc y e a n t sa c mm o ai fmit o r lr l wi b ln o n e r e e c o d g t e p r n e t ee tb x m ai c o i i i on dt on o sy c nto ue t h eo g t o e d g e
第2 5卷 第 5期 21 0 2年 9月 文 章 编 号 :10 — 6 3 (0 2 5 1 6 0 0 2 6 7 2 1 )0 — 3 — 3
D v lp n & In v t n o a hn r e eo me t n o ai f c ie y& E e t c l r d cs o M lcr a o u t i P
ce s ,f p t o c s u b ro m e ite a to e tbl .Thstx r t tr tnk t ar n mahe tc r ae l o c n u sn m e ft sl l,h ve asr ng r sa it a i t i y i e tpemiswae a o c ry o t mais mod lt h e o t e
A b ta t sr c :The mit I c to o bne D o c n r lclu ae w a nd fim est o to he a v ntg eho .te se d t a sy P D onr lc m i d PI t o to ac lt v a an s o c n rlt d a a e ofm t d h p e h t

双容水箱液位控制系统方案

双容水箱液位控制系统方案

双容水箱液位控制系统方案一、前言在许多工业生产过程中,水位的控制是非常关键的环节。

双容水箱液位控制系统是一种常用的水位控制方案,它通过两个水容器之间的液位传感器和控制阀门来实现液位的自动控制。

本文将就双容水箱液位控制系统的设计方案进行详细介绍。

二、系统结构[插入系统结构示意图]系统由两个水容器、液位传感器、控制阀门和控制器组成。

其中,一个水容器为水箱,另一个水容器为储水槽。

三、系统原理四、系统设计步骤1.确定控制策略首先要确定液位控制的目标和要求,例如需要将水箱液位控制在一定范围内。

然后根据具体的要求设计控制策略,如使用PID控制算法。

2.选择液位传感器根据实际需要选择合适的液位传感器,可以使用浮球式液位传感器或是压力式液位传感器。

传感器的选择需要考虑其测量范围、精度和稳定性等因素。

3.选择控制阀门选择合适的控制阀门用于控制水的流入和流出。

阀门的选择需要考虑其流量范围、响应速度和可控性等因素。

同时,还需要考虑阀门的安装位置和连接方式等因素。

4.确定控制器和通信协议选择合适的控制器用于接收液位传感器的信号,并控制控制阀门的开关状态。

通常可以选择PLC或是单片机作为控制器,并根据实际需要确定通信协议。

5.编写控制程序根据控制策略和控制器的要求编写控制程序,实现液位的自动控制。

程序需要包括液位传感器的读取、控制阀门的开关和液位的调节等功能。

6.系统调试和优化对安装完毕的系统进行调试和优化,通过实际测试来验证系统的性能和稳定性。

如有需要,可以对控制策略和参数进行调整,以满足实际应用的需求。

五、系统特点和应用1.可靠性高:通过使用液位传感器和控制器,系统能够实时监测和控制液位,避免了人工操作的误差。

2.自动化程度高:系统可以实现液位的自动控制,减少了人工操作的工作量。

3.调节性能好:根据实际需要,可以选择合适的控制策略和参数,以实现液位的快速调节和稳定控制。

4.应用范围广:双容水箱液位控制系统广泛应用于各类工业生产过程中,如供水系统、储罐液位控制等。

-基于MATLAB的双容水箱液位的模糊神经控制

-基于MATLAB的双容水箱液位的模糊神经控制
1.2.1 智能控制的产生及研究现状
自 1932 年奈魁斯特(H.Nyquist)的有关反馈放大器稳定性论文发表以来,控制理 论的发展已走过了近 80 年的历程。前 30 年是经典控制理论的发展和成熟阶段,后 50 年是现代控制理论的形成和发展阶段。随着研究的对象和系统越来越复杂,借助 于数学模型描述和分析的传统控制理论已难以解决复杂系统的控制问题。智能控制是 针对控制对象及其环境、目标和任务的不确定性和复杂性而产生和发展起来的。从 20 世纪 60 年代起,计算机技术和人工智能技术迅速发展,为了提高控制系统的自主 学习能力,人工智能技术被学者们提出并广泛应用于控制系统。1965 年,美籍华裔 科学家傅京孙教授首先把人工智能的启发式推理规则用于学习控制系统;1966 年,
2 系统建模与 MATLAB 环境 ......................................................................................4 2.1 过程控制系统的建模方法..................................................................................4 2.1.1 机理法 ...........................................................................................................4 2.1.2 测试法 ...........................................................................................................4 2.2 双容水箱液位控制系统的建模..........................................................................4 2.3 MATLAB 环境及 Simulink 模型 .......................................................................8 2.3.1 MATLAB 软件简介 .....................................................................................8 2.3.2 Simulink 模型................................................................................................8

双容水箱液位控制系统

双容水箱液位控制系统

双容水箱液位控制系统简介双容水箱液位控制系统是一种能够自动检测液位并控制液位的系统,通常用于工业生产中的水处理、冷却等环节。

它包括两个水箱和一套自动液位控制系统。

系统组成双容水箱液位控制系统主要由以下几部分组成:1.双个水箱:分别是进水箱和出水箱,供水系统在进水箱中存储新的水,然后将水处理后的水送到出水箱,最后再供应到整个系统中。

2.液位控制器:一种能够检测并控制液位水平的控制器,通过传感器收集水位信号,并将数据传输到中控系统中。

3.中央控制器:用于处理液位信号和控制整个系统,开启或关闭水泵和控制进出水箱之间的流量。

系统工作原理当水处理系统开始工作时,水泵会将新的水送入水箱中。

同时,液位控制器会监测进水箱的液位,发送信号到中央控制器。

当进水箱的液位降到最低时,中央控制器会打开进水阀门,并将水流至进水箱中。

当进水箱液位升高到预设液位时,液位控制器会停止进水。

如果进水箱液位超过了预设值,控制器会关闭进水阀门,以避免水溢出。

同样的,出水箱也安装有液位控制器,监测出水箱液位,当液位达到最高限制时,中央控制器会打开出水阀门,并控制出水量。

当出水箱的液位降至预设值时,中央控制器会关闭出水阀门,以避免水泵过载。

优势双容水箱液位控制系统的优势主要在于以下几点:1.自动化程度高:整个水箱液位控制系统实现了全自动化的工作流程,大大减少了人工干预的频率和工作强度。

2.稳定性好:水箱液位控制系统能够实时监测液位变化,并根据水量来调整水泵流量,保证了流量平稳且不会超载,同时可以避免水流过大或过小带来的问题,提高了整个系统的稳定性和安全性。

应用场景双容水箱液位控制系统适用于以下场合:1.工业生产:工业生产中通常需要大量的水,而这些水又需要简单地进行过滤以保证生产质量。

双容水箱液位控制系统能够有效地满足这些需求。

2.冷却系统:在冷却系统中,温度是一个至关重要的因素。

过高或过低的温度都会导致整个系统的损坏,而恰当的水流量和水温可以保持整个系统的适宜温度和稳定性。

模糊控制技术在双容水箱液位控制中的应用研究

模糊控制技术在双容水箱液位控制中的应用研究
1 . 统 硬 件 的 组 成 2系
性 价 比较 高 的S A A系统 .系 统 总 体 构 成 为 “ CD 研
究 平 台+ 究对象 ” 的结构 ,如 图1 研 所示 .
系统硬 件主要 由上 位机 、测控 单元 和通讯 网络 组成 . 位 机 主要 实 现 智 能控 制 算 法 和 系统 实 时监 上
王 维 荣
( 肃 省 天水 市 科 学 技术 局 生 产 力促 进 中心 ,甘 肃 天 水 7 1 0 ) 甘 4 00
摘 要 : 通 过 建 立 系 统 的 组 态 工 程 和 开 发 组 态 画 面 .根 据 模 糊P D控 制 规 则 编 制 M G 模 糊 控 制 脚 本 程 序 . I C S
1 双 容 水 箱 液 位 控 制 系统 结 构 的 组 成
11系统硬 件 的结 构 . 根据 现场环 境 的复杂性 和控 制 目标 的精 度等特
殊要 求设 计性 能 良好 的控 制器 .在 系统 结构 上采用
要 有压 力传 感变送 器 、温度传 感器 和流量传 感变送
器 . 个 系统通 过 航空 插 头 以总线 的 形式 连接 到 控 整 制 平 台以减 小干扰 .
关 键 词 :模 糊P D控 制 :双 容 水 箱 ;组 态 软 件 I
中 图分 类 号 :T 2 3 P7 . 4
文 献标 识 码 :A
文 章 编 号 : 17 — 3 1 (0 0 5 0 2 — 4 6 1 1 5 2 1 )0 — 1 2 0
双 容 水 箱 液 位 的控 制 作 为 过 程 控 制 的典 型 代 表 .是众 多 过程 控制 学 者研 究 的热点 之 一. 随着 智 能控制 理论 和技术 的飞速发 展 .许 多学者 将模糊 控

双容水箱液位模糊控制

双容水箱液位模糊控制

双容水箱液位模糊控制一、实验目的熟悉双容液位控制系统的组成原理。

通过实验进一步掌握模糊控制原理及模糊控制规则的生成。

了解量化因子和比例因子对控制效果的影响。

掌握解模糊方法及实现。

二、实验设备实验对双象为TKGK-1双容液位系统TKGK-1型实验装置:GK-06、GK-07-2万用表一只计算机系统三、实验原理图1 双容水箱液位模糊控制系统方框图图1为双容水箱液位控制系统。

控制的目的是使下水箱的液位等于给定值,并能克服来自系统内部和外部扰动的影响。

双容水箱液位系统如图2,该被控对象具有非线性和时滞性,建立精确的数学模型比较困难;模糊控制不仅可以避开复杂的数学模型,通常还能得到比较好性能指标。

模糊控制器的结构图如图3。

模糊控制器的输入为误差和误差变化率:误差e=r-y,误差变化率ec=de/dt,其中r和y分别为液位的给定值和测量值。

把误差和误差变化率的精确值进行模糊化变成模糊量E和EC,从而得到误差E和误差变化率EC的模糊语言集合,然后由E和EC模糊语言的的子集和模糊控制规则R(模糊关系矩阵)根据合成推理规则进行模糊决策,这样就可以得到模糊控制向量U,最后再把模糊量解模糊转换为精确量u,再经D/A转换为模拟量去控制执行机构动作。

图3 模糊控制器组成原理图模糊量化:根据精确量实际变化范围[a,b],合理选择模糊变量的论域为[-n,n],通过量化因子k=,将其转换成若干等级的离散论域,如七个等级为{负大,负中,负小,零,正小,正中,正大},简写为{NB,NM,NS,O,PS,PM,PB}。

确定模糊子集的隶属函数曲线。

一般常采用三角形、梯形和正态分布等几种曲线。

然后由隶属函数曲线得出模糊变量E、EC、U 的赋值表。

根据经验,E模糊子集的隶数度函数取正态分布曲线,则赋值表见表一:表一:变量E隶属函数赋值表模糊控制规则:模糊控制规则是操作经验和专家知识的总结,是进行模糊推理的依据。

在设计模糊控制规则时,必须考虑控制规则的完备性、交叉性和一致性。

水箱液位的模糊控制

水箱液位的模糊控制

资料范本本资料为word版本,可以直接编辑和打印,感谢您的下载水箱液位的模糊控制地点:__________________时间:__________________说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容1、绪论1.1 水箱水位系统概述在能源、化工等多个领域中普遍存在着各类液位控制系统液。

各种控制方式在液位控制系统中也层出不穷,如较常用的浮子式、磁电式和接近开关式。

而随着我国工业自动化程度的提高,规模的扩大,在工程中液位控制的计算机控制得到越来越多的应用。

液位控制系统的检测及计算机控制已成为工业生产自动化的一个重要方面。

经典控制理论和现代控制理论的控制效果很大一部分取决于描述被控过程精确模型的好坏,这使得基于精确数学模型的常规控制器难以取得理想的控制效果。

但是一些熟练的操作工人、领域专家却可以得心应手的进行手工控制。

因此基于知识规则的模糊控控制理论在其应用中就有了理论和现实意义1.2模糊控制的概述人工智能包括推理、学习和联想三大要素,它是采用非数学式子方法,把人们的思维过程模型化,并用计算机来模仿人的智能的学科。

许多科学家认为下一世纪生产力的飞跃寄托于人工智能技术,并认为人工智能的发展必将带来一次新的史无前例的技术革命,第五代计算机的研究充分体现了人类左脑的逻辑推理功能,而人工智能研究的下一步是模仿人类右脑的模糊处理功能。

人工智能将在逻辑推理计算机、模糊计算机和神经网络计算机这三者的基础上,由两个方面来实现,即:一是利用现有的计算机技术模拟人类的智能;二是利用一种全新的技术来实现信息处理的模糊化和网络化。

前者是实现人工智能必需的先决条件;后者是实现人工智能的根本途径。

“模糊控制理论”是由美国学者加利福尼亚大学著名教授L.A.Zadeh于1965年首先提出,至今仅有20余年时间。

它以模糊数学为基础,用语言规则表示方法和先进的计算机技术,由模糊推理进行判决的一种高级控制策略。

模糊算法在双容水箱液位控制系统中的应用

模糊算法在双容水箱液位控制系统中的应用

D
糊控制系统结构图 , 图 h2 = K 0 qv1 ( 5) 5 为模糊控制系统 S i m u link 仿真图。 通过仿真发现 , 采 用模 糊算 法系 统 的 上
驱动控制 rive and con trol
整理可得: T 1T 2 d
2
h2
2
Hale Waihona Puke dt+ (T 1 + T 2 )
dh2 + dt
相应的传递函数为: H 2 ( s) K0 = ( 6) 2 q v1 ( s) T 1T 2 s + (T 1 + T 2 ) s + 1 式中: T 1 为槽 1 的时间常数, T 1 = R 2 C 1; T 2 为槽 2 的 G ( s) = 时间常数, T 2 = R 3C 2; K 0 为过程放大系数, K 0 = R 3。 现在对一个参数 T 1 = 10 , T 2 = 12 , K0 = 5 , 即传 5 递函 数 为 的系统进行各种算法的 2 120 s + 22s + 1 M atlab 仿真, 系统采样时间为 0. 1 s。
k
图 2 模拟 P ID 控制器原理图 图 6 带积分 项模糊控制系统仿真模型
与一 般的 模糊 控 制 对 比 Si m u link 仿 真 图 如 图 7 所 示。 通过 M at la b 仿真得出带积分环 节的 模糊 控制 器 消 除 图 7 带积分项模糊控制仿真图 了系统的静态误差。 3 . 3 模糊 P ID 控制 模糊控制、 神经网络控制和专家控制是目前智 能控制研究中最为活跃的 领域。智能控 制与常规 PI D 控制相结合, 形成了智能 P ID 控制, 这种新型控 制器已引起人们的普遍关注和极大兴趣 , 并已得到 较为广泛的应用。它具有不依赖系统精确数学模型 的特点, 对系统的参数变化具有较好的鲁棒性。 本设计通过 P I D 控制器实现对系统的控制, 模 糊推理系统以误差 e 作为输入 , 采用模糊推理方法 对 PI D 参数 K p、 K i、 K d 进行在线整定, 以满足不同误 差 e 对控 制 器参 数 的要 求。 图 8 为 模 糊 PI D 控 制 的系 统 结构图。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

双容水箱液位模糊控制一、实验目的熟悉双容液位控制系统的组成原理。

通过实验进一步掌握模糊控制原理及模糊控制规则的生成。

了解量化因子和比例因子对控制效果的影响。

掌握解模糊方法及实现。

二、实验设备实验对双象为TKGK-1双容液位系统TKGK-1 型实验装置:GK-06、GK-07-2万用表一只计算机系统三、实验原理图1双容水箱液位模糊控制系统方框图图1为双容水箱液位控制系统。

控制的目的是使下水箱的液位等于给定值,并能克服来自系统内部和外部扰动的影响。

双容水箱液位系统如图2,该被控对象具有非线性和时滞性,建立精确的数学模型比较困难;模糊控制不仅可以避开复杂的数学模型,通常还能得到比较好性能指标。

模糊控制器的结构图如图3。

模糊控制器的输入为误差和误差变化率:误差e=r-y,误差变化率ec=de/dt ,其糊语言集合,然后由E和EC模糊语言的的子集和模糊控制规则R (模糊关系矩阵)根据合成推理规则进行模糊决策,这样就可以得到模糊控制向量U,最后再把模糊量解模糊转换为精确量u ,再经D/A转换为模拟量去控制执行机构动作。

图3模糊控制器组成原理图模糊量化:根据精确量实际变化范围[a,b],合理选择模糊变量的论域为[-n,n],通过量化因子k=&-企,将其转换成若干等级的离散论域,如七个等级为{负大,负中,负小,零,正小,正中,正大},简写为{NB,NM,NS,O,PS,PM,PB}确定模糊子集的隶属函数曲线。

一般常采用三角形、梯形和正态分布等几种曲线。

然后由隶属函数曲线得出模糊变量E、EG U的赋值表。

根据经验,E模糊子集的隶数度函数取正态分布曲线,则赋值表见表模糊控制规则:模糊控制规则是操作经验和专家知识的总结,是进行模糊推理的依据。

在设计模糊控制规则时,必须考虑控制规则的完备性、交叉性和一致性。

既保证对于任意给定的输入,均有相应的控制规则起作用;控制器的输出值总是由数条控制规则来决定;控制规则中不存在相互矛盾的规则。

在总结专家经验和过程知识的基础上,可以得到如表二的控制规则表:模糊推理:模糊推理是模糊控制器的核心,模糊控制系统目前常采用的有:CRI推理的查表法、CRI推理的解析法、Mamdani直接推理法、后件函数法等。

本实验可采用Mamdani直接推理法。

Mamdani推理法是先求出模糊关系R,再根据输入求出控制量,把控制量清晰化,可得控制查询表.本试验设计了容量为7X 7条控制规则表,这个规则表可以用27条模糊条件语句来描述:如:if El=NB and Ef=NB then U=PS,对应的模糊关系:R1=A1X BIX C5根据Ri(i=1,2,…27)可以得到综合模糊矩阵R。

如下计算模糊关系矩阵R:R=R1U R2U ・ R27E和EC对应的模糊变量为和,此时可由下式求出:U*=( A* X B*沪R式中:——表示求合成运算.解模糊:可采用常用的重心法进行解模糊运算。

四、实验步骤1. 按图1连成控制系统图。

其中被控对象为下水箱,被控制量为液位高度,控制器由计算机系统组成,接口的驱动已在“计算机控制系统”试验中完成,这里不再赘述。

2. 启动工艺流程并开启相关仪器,调整传感器输出的零点与增益。

3. 运行模糊控制程序,并输入参数,记录试验数据和控制曲线。

4. 修改模糊控制规则,重复步骤3。

5. 待系统稳定后,加手动扰动,观察系统的动态变化,并记录结果。

五、实验报告要求1. 给出模糊控制器的设计过程和程序清单2. 建立EC的隶数度函数赋值表3. 建立控制查询表4. 记录试验数据和曲线5. 分析试验结果六、思考题1.如果输入变量离散论域分为五个等级,对计算和控制效果有什么影响?2 .模糊控制达到稳态后,静差是否为零?为什么?附:双容水箱液位模糊控制的C语言程序#include "graphics.h"#include "conio.h"#include "math.h"#include "time.h"#include "stddef.h"#include "dos.h"#include "stdio.h"#include "process.h"#include "bios.h"int sampt,key,v;static float cy[600],cx[600],cs[6];float datain,u,u1,e2,xset,i,Ku;time_t start,end;unsigned char dat[6],data_in[5][4];unsigned char stat,data,data1;int i1,j1;main(){int j,m,ntr,T,NUM;float adin( ),fuzzycontrol(),max,tr,t0;void daout( ),wct( ),wtp( ),wait();int gdriver,gmode,kk;float x1,x2,x3;char *t[]={"sampled value:","seted value:"};char *tt1[]={"L","t"};gdriver=VGA;gmode=VGAHI;initgraph(&gdriver,&gmode,"d:\\tc'');wait();/* init*/outportb(0x3fb,0x80); /*SETB 0x3fb.7=1*/outportb(0x3f8,0x0C); /* LSB=0CH BPS=9600*/outportb(0x3f9,0x00); /* MSB=00H*/ outportb(0x3fb,0x03); /* 8DATA 1STOP NO*/ outportb(0x3fc,0x03); /*SETBDTR=0 RTS=0*/ outportb(0x3f9,0x00); /*SET IE=0*/ star: inportb(0x3f8);while(!((0x20&inportb(0x3fd))==0x20));f_f5:while(!((0x20&inportb(0x3fd))==0x20));outportb(0x3f8,0x66);while(!(inportb(0x3fd)&0x01));data1=inportb(0x3f8);while(!(inportb(0x3fd)&0x01));data=inportb(0x3f8);if(data!=0x35){ goto star;}a_d:while(!((0x20&inportb(0x3fd))==0x20));outportb(0x3f8,0x61);while(!(inportb(0x3fd)&0x01)); data=inportb(0x3f8);if(data!=0x64){ exit(1);} adin();daout(0);printf("Please Input...\n"); printf("\nSampt(3,4,5,6)=");scanf("%d",&sampt);printf("\nXset=");scanf("%f",&xset);printf("\nKu=");scanf("%f",&Ku);NUM=500;setviewport(0,0,640,350,0);clearviewport();setbkcolor(3);setcolor(1);cleardevice();settextjustify(LEFT_TEXT,TOP_TEXT);settextstyle(1,0,2);settextjustify(0,2);settextstyle (0,0,1);outtextxy(410,20,t[1]);outtextxy(410,40,t[0]);line(37,85,40,80);line(43,85,40,80);line(585,287,590,290);line(585,293,590,290);for (j=1;j<9;j++){ line(40,290-j*25,45,290-j*25);line(40+j*50,285,40+j*50,290);}line(490,285,490,290);line(540,285,540,290);setlinestyle(0,0,3);line(40,80,40,295);line(35,290,590,290);settextjustify(0,2);settextstyle(1,0,1);outtextxy(25,70,tt1[0]);outtextxy(590,290,tt1[1]);setcolor(4);setlinestyle(0,0,1);line(536,48,558,48);wct(3,200.,14,88);wct(3,150.,14,138);wct(3,100.,14,188);wct(3,xset*10.,14,288-(int)(xset*10.));wct(3,50.,14,238);wct(3,100.,135,300);wct(3,200.,235,300);wct(3,300.,335,300);wct(3,400.,435,300);wct(3,500.,535,300);wtp("Xset=",xset,5,23);wtp("Ku=",Ku,25,23);/*wtp("I=",ki,45,23);wtp("D=",kd,60,23);*/max=0.0;ntr=0;for(i=0;i<NUM;i++){ cx[i]=xset;start=time(NULL);t0=i*sampt;x1=adin();x2=adin();x3=adin();cy[i]=(x1+x2+x3)/3;e2=xset-cy[i];u=fuzzycontrol(e2);daout((int)(u));putpixel(42+i,290-cx[i]*10,62);putpixel(42+i,290-cy[i]*10,4);putpixel(42+i,290-u*0.29,1);wtp("cy[i]=",cy[i],5,21);wtp("Time=",t0,60,21);wtp("u=",u,45,21);wtp("Num=",i+1.0,25,21);if (i>=2){ if(cy[i]>max) max=cy[i];wtp("max=",max,5,25);}if(ntr==0){ if(cy[i]>=xset){tr=i*sampt;wtp("tr=",tr,25,25);ntr=1;}}if(kbhit()!=0){ key=bioskey(0);key=(key>>8)&0xff;if(key==44) goto loop2;}loop1: end=time(NULL);if((difftime(end,start))<sampt) goto loop1;}getch();loop2: daout(0);outportb(0x3fc,0x01);closegraph();exit(0);}float adin ()(b_d:while(!((0x20&inportb(0x3fd))==0x20));outportb(0x3f8,0x62);while(!(inportb(0x3fd)&0x01));data=inportb(0x3f8);for(i1=0;i1<5;i1++){for(j1=0;j1<4;j1++)( while(!(inportb(0x3fd)&0x01));data_in[i1][j1]=inportb(0x3f8);}}for(i1=0;i1<5;i1++){for(j1=0;j1<4;j1++){ data_in[i1][j1]=data_in[i1][j1]-0x30;}}if(data!=0x64){ goto b_d;}datain=data_in[0][0]*10+data_in[0][1]+data_in[0][2]*0.1+data_in[0][3]*0.01;return(datain);}float fuzzycontrol(e2)float e2;{float Xec,Yu,e20,Ke,Kec;int E,EC,U,a[13][13];int m0=6,n=6;int out[13][13]={{ 7, 7, 7,6, 5,4, 4, 4,4, 4, 4, 4, 4},{ 7, 6, 6,5, 4,4, 4, 4,4, 4, 4, 4, 4},{ 7, 6, 5,4, 4,4, 4, 4,4, 4, 4, 4, 4},{ 6, 5, 4,4, 4,4, 4, 2,2, 2, 2, 2, 2},{ 5, 4, 4,4, 4,4, 4, 2,0, 0, 0, 0, 0},{ 4, 4, 4,2, 2, 2, 2, 2, 0, 1, 1, 1, 1},{ 4, 4, 4, 2, 0, 0, 0, 0, 0,-1, 1, 1, 1},{ 2, 2, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1},{ 0, 0, 0, 0, 0,-1, 1, 1, 1, 1, 1, 1, 0},{ 1, 1, 1,2, 2, 2, 2, 2, 2, 2, 2, 2, -2},{ 1, 1, 1,2, 2, 2, 2, 2, 2, 2, 2, -2, -2},{ 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, -2, -2, -2},{ 4, 4, 4, 4, 4, 4, 4, 4, 0, -2, -2, -2, -2}};e20=xset-cy[i-1];Xec=(e2-e20)/sampt;Ke=n/2;Kec=m0/1;if(e2>2) e2=2;if(e2<-2) e2=-2;if(Xec>1) Xec=1;if(Xec<-1) Xec=-1;E=Ke*e2;EC=Kec*Xec;U=out[E+6][EC+6];/*printf("U=%d",U);*/Yu=Ku*U;if(Yu>255.0) Yu=255.0;if(Yu<-255.0) Yu=-255.0;/*printf("Yu=%f",Yu);*//*Yu=abs(Yu)*/;return(Yu);}void daout(x)int x;{int x1,x2,x3;c_d:x1=(int)(x/100.0);x2=(int)((x-x1*100)/10.0);x3=(int)(x-x1*100-x2*10);dat[0]=x1;dat[1]=x2;dat[2]=x3;dat[3]=0;dat[4]=0;dat[5]=0;for(i1=0;i1<6;i1++){dat[i1]=dat[i1]+0x30;}while(!((0x20&inportb(0x3fd))==0x20));outportb(0x3f8,0x63);while(!(inportb(0x3fd)&0x01));data=inportb(0x3f8);if(data!=0x64){ exit(1);}while(!((0x20&inportb(0x3fd))==0x20)); outportb(0x3f8,0x64);for(i1=0;i1<6;i1++)(while(!((0x20&inportb(0x3fd))==0x20));outportb(0x3f8,dat[i1]);}while(!(inportb(0x3fd)&0x01));data=inportb(0x3f8);if(data!=0x64)( exit(1);}}void wct(b,xx,x2,y2)int b,x2,y2;float xx;(char mb2[5];setcolor(1);gcvt(xx,b,mb2);settextjustify(0,2);settextstyle(0,0,1);outtextxy(x2,y2,mb2);}void wtp(xc,xt,x1,y1)char xc[];float xt;int x1,y1;(textcolor(9);gotoxy(x1,y1);textcolor(1);printf("%s%7.2f'',xc,xt);}void wait()(int i,j;printf("\n\n Please Wait For 1 minute !!!\n");setbkcolor(3);setcolor(4);setfillstyle(SOLID_FILL,4);for(i=0;i<361;i++)(pieslice(300,200,0,i,80);delay(10);}setcolor(14);setfillstyle(SOLID_FILL,14);for(i=91;i<181;i++)( pieslice(300,200,90,i,80);delay(50);}setcolor(1);setfillstyle(SOLID_FILL,1);for(i=181;i<271;i++)( pieslice(300,200,180,i,80);delay(50);}setcolor(2);setfillstyle(SOLID_FILL,2);for(i=271;i<361;i++)( pieslice(300,200,270,i,80);delay(50);}delay(200);cleardevice();}。

相关文档
最新文档