[工学]S7-300 PLC中FB41数据处理程序设计毕业设计.doc

上传人:音乐台 文档编号:1976692 上传时间:2019-01-27 格式:DOC 页数:58 大小:9.44MB
返回 下载 相关 举报
[工学]S7-300 PLC中FB41数据处理程序设计毕业设计.doc_第1页
第1页 / 共58页
[工学]S7-300 PLC中FB41数据处理程序设计毕业设计.doc_第2页
第2页 / 共58页
[工学]S7-300 PLC中FB41数据处理程序设计毕业设计.doc_第3页
第3页 / 共58页
亲,该文档总共58页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[工学]S7-300 PLC中FB41数据处理程序设计毕业设计.doc》由会员分享,可在线阅读,更多相关《[工学]S7-300 PLC中FB41数据处理程序设计毕业设计.doc(58页珍藏版)》请在三一文库上搜索。

1、S7-300 PLC中FB41 数据处理程序设计 南 阳 理 工 学 院 本科生毕业设计(论文) 学 院(系): 电子与电气工程学院 专 业: 自 动 化 学 生: 指导 教师: 完成日期 2012 年 5 月 第 2 页 共 44 页南阳理工学院本科生毕业设计(论文)S7-300 PLC中FB41数据处理程序设计FB41 Data Processing Programming in S7-300 PLC 总 计: 52 页表 格: 5 个插 图: 37 个 南 阳 理 工 学 院 本 科 毕 业 设 计(论文)S7-300 PLC中FB41数据处理程序设计 FB41 Data Process

2、ing Programming in S7-300 PLC 学 院 (系): 电子与电气工程学院 专 业: 电气工程及其自动化 学 生 姓 名: 学 号: 163108040 指 导 教 师(职称): 评 阅 教 师: 完 成 日 期: 南阳理工学院 Nan yang Institute of Technology - 2 -S7300 PLC 中 FB41数据处理程序设计电气工程及其自动化 摘 要西门子Step 7中FB41 PID算法模块,功能设计完善,控制效果好。但是由于FB41源程序不公开,给使用者带来一定的困难。本课题仿照STEP 7 中FB41 标准PID算法的功能和形式,采用位置

3、式算法思想,使用LAD语言自主编写能够实现同样功能的PID算法模块。本设计主要设计了 输入和输出参数处理、上限和下限限幅处理、采样周期的处理、误差和死区数据处理。自主设计的PID控制模块自适应能力比较强,而且超调量较小,与FB41模块功能相仿,可以替换FB41使用。本算法模块由于源程序是开放的,摈弃了FB41不能进行算法改造、直接修改参数、修改数据格式等缺点,对于教学科研来说比FB41更有实用性。 关键词 采样周期;数据类型转换;限幅;死区;偏差FB41 Data Processing Programming in S7-300 PLC Electrical Engineering and A

4、utomation Specialty WANG Yong-ming Abstract: In Siemens Step-7,FB41 algorithm module perfect functions design and good control effect.Owing to FB41 source program not release,it produced certain diffculties for the users.This study is patterned after FB41 function and form of the PID algorithm,the p

5、ositional PID control algorithm is selected and use LAD anguage to write can realize the same functionality PID algorithm modules.This design main design input/output parameter process、upper and lower limits parameter process、sampling interval parameter process、dead band and errors parameter process

6、. Self-designed PID control module adaptive capacity is relatively strong, and the overshoot is smaller, and the module function is similar with FB41, can replace FB41.Owing to this algorithm is open-source program.rejection of the FB41 algorithm transformation, directly modify the parameters, to mo

7、dify the data format disadvantage of practicality more than FB41 for teaching and research. Key words: Sampling period;data type conversion;imiting;dead band;error 目 录1 引言11.1 PID 控制的发展状况11.2 PID 算法的发展21.3 本课题的意义22 Step-7中FB41 输入/输出参数和原理介绍32.1 FB41的应用32.2 FB41输入参数描述32.3 FB41输出参数描述52.3 FB41“CONT_C” 的

8、算法方框图53 “仿FB41”模块数据结构设计63.1 “仿FB41”模块中基本数据类型介绍63.2 背景数据块的建立和打开73.2.1 变量声明和背景参数数据84“仿FB41”模块程序开发设计114.1 “仿FB41”模块输入/输出参数数据的处理114.1.1 输入数据参数处理114.1.2 输出数据控制器参数限幅处理124.1.3 输出数据调节值的处理124.1.4 输出数据转换为外部设备(I/0)格式处理134.2 偏差计算134.3 手动模式程序处理144.4 “仿FB41”模块程序开发中的数据处理154.4.1 数据参数初始化处理154.4.2 采样时间(CYCLE)的处理154.4

9、.3 死区的处理165 用“仿FB41”模块控制的组态监控165.1 主界面组态165.2 数据库组态175.3 I/O设备组态176 “仿FB41”模块与FB41控制效果的对比186.1 锅炉水温控制的控制效果对比和数据分析186.2 压力控制的控制效果对比和数据分析206.3 液位控制的控制效果对比和数据分析226.4 双容水箱的控制效果对比和数据分析246.5 双极性控制的控制效果对比和数据分析266.6 “仿FB41”对流量的控制效果286.7 “仿FB41”开环控制效果297 控制对象数学模型的建立与PID参数的计算317.1 一阶动态水开环数学模型的建立和PID参数的计算31结束语

10、34参考资料35附录36致谢51 - III -1 引言1.1 PID 控制的发展状况 PID(Proportion Integration Differentiation),PID控制是最早发展起来的控制策略之一,迄今为止,大多数工业控制回路仍然应用着结构简单、鲁棒性强的PID控制或改进型PID控制策略。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节【1】。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它

11、技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。PID控制是迄今为止最通用的控制方法。大多数反馈回路用该方法或其较小的变形来控制。PID调节器及其改进型是在工业过程控制中最常见的控制器(至今在全世界过程控制中用的84仍是纯PID调节器,若改进型包含在内则超过90)。今天所熟知的PID控制器产生并发展于1915-1940年期间【2】。

12、尽管自1940年以来,许多先进控制方法不断推出,但PID控制器以其结构简单,容易被理解和实现,应用中不需要精确的系统模型的预先知识,对模型误差具有鲁棒性及易于操作等优点,仍被广泛应用于冶金、化工、电力、轻工和机械等工业过程控制中。 PID有如下几个重要的功能【3】:(1) 提供反馈控制。(2) 通过积分作用可以消除稳态误差。(3) 通过微分作用预测将来。PID控制器的结构简单,容易被理解和实现,因而PID控制器成为应用最广泛的控制器。但是PID控制器并非万能的,它存在其固有的缺点:首先,PID对系统基本线性和动态特性不随时间变化的系统能较好的控制,而很多工业过程是非线性或时变的。其次,PID参

13、数必须根据过程的动态特性整定。如果过程的动态特性变化,例如可能由负载的变化引起系统动态特性变化,PID参数要重新整定。实际应用中,PID参数的整定要花费大量的人力和物力。PID在控制非线性、时变、强耦合及结构不确定的复杂过程时总显得无能为力。PID参数自整定技术是为了处理PID参数整定这个问题而产生的。现在自整定PID控制器已是商业中单回路控制器和分布控制系统的一个标准。PID参数整定与自整定的方法很多,但往往难以实现或不很理想,在精度与速度的折衷及对象的使用范围上常常难以令人满意。因此,在PID参数的整定及自整定技术方面还有待于进一步深入研究【4】。1.2 PID 算法的发展 自1992 年

14、Hagglund 提出预测PI 控制器的思想以来,预测PID 算法得到了逐 步发展和完善,并成功应用在一些复杂对象的控制上。现在文献上所说的预测PID 控制算法可以归纳为两种: (1)有预测功能的PID 控制器【5】。本质上,它是一种PID 控制器,只不过依据 一些先进控制机理,如内模原理、广义预测原理、H2/H原理、模糊理论、遗传 算法和人工智能原理来设计控制器参数,或根据某种最优原则在线给定PID 控制 器参数,使之具有预测功能。 (2)预测算法和PID 算法融合在一起的控制器【6】。在这种控制器中,包括预测控 制器和PID 控制器,PID 控制器和过程的滞后时间无关,而预测控制器则主要依

15、 赖过程的滞后时间,根据以前的控制作用给出现在的控制作用。 与普通PID 控制算法不同,该算法能对未来设定值轨迹进行全局优化,十分适合过程的开、停车处理及批量过程控制。在实施环境方面,只要能实施常规PID 的 工控环境就可实施该算法,无需添加新的软、硬件,并且可利用现存的PID 自整 定方法,对其进行参数整定,十分方便。模型预测控制算法能控制的具有特殊动 态特性的过程,它都能控制,如非最小相位系统、大滞后系统以及不稳定系统。 对于一阶加纯滞后对象和二阶加纯滞后对象,运用Pade 近似进行处理,该算法便 分别简化为常规的PI 控制器和PID 控制器。Vega(1991)运用回归算法对预测PID

16、算法参数进行了自整定,取得了一定成 果,但这种整定方法对大滞后过程能力非常有限【7】。无模型自适应预测PI 控制器(Tan, 1999),不需要对过程模型进行辨识,只需要过程的输入输出数据来设计PI 控制 器的参数,但这种控制器在干扰和噪声存在时的控制效果差。 1.3 本课题的意义 PLC是主流的自动化控制器,现在还能广泛用于过程控制。过程控制中用得最多的是PID算法。西门子Step 7中FB41 PID算法模块,设计完善,控制效果好。但是算法设计复杂,控制参数多,共有35个参数,给使用者带来障碍。FB41 PID算法程序不公开,给学习者带来困难。本题目要求仿照西门子STEP 7 中FB41

17、标准PID算法的功能和形式,自主编写能够实现同样功能的PID算法。这种自编的PID算法具有算法研究和工程实际的双重意义。运用计算机、西门子S7-300 PLC、智能仪表、流量调节阀、温度传感器等组成控制系统,用自主设计的PID算法,对模拟工业对象的锅炉水温和液位进行控制。并和FB41算法的控制效果进行比较。 通过本题目的设计,提高学生对自动化工程的设计与调试能力,使学生有能力进入自动化行业发展。2 Step-7中FB41 输入/输出参数和原理介绍2.1 FB41的应用FB41“CONT_C用于在SIMATIC -S7可编程控制器上,控制带有连续输入输出变量的工艺过程【9】。在参数分配期间,用户

18、可以激活或取消激活PID控制器的子功能,以使控制器适合实际的工艺过程。可以将控制器作用PID固定设定值控制器,或者在多回路控制中用作级联、混合或比例控制器。控制器的功能基于采样控制器的PID控制算法,采样控制器带有一个模拟信号,如果需要的话,还可以扩展控制器的功能,增加一个脉冲生成器的环节,以产生脉宽调制的输出信号,用于带有比例控制器的两步或三步控制器。2.2 FB41输入参数描述 为了方便对FB41进行算法上的自主开发设计,所以必须对FB41 参数变量有详细的了解,FB41 35个输入参数如表1所示。 表1.FB41输入参数描述参数数据类型取值范围缺省描述COM_RSTBOOLFALSE完全

19、重启动该块有一个完全重启动例行程序,在置位“完全重启动”时执行该例行程序MAN_ONBOOLTRUE手动值打开如果置位了输入“手动值打开”,则中断控制回路,并将手动值设置为调节值。PVPER_ONBOOLFALSE外设过程变量打开如果过程变量时从I/O读取的,则输入PVPER必须连接到I/O,并且置位输入“外设过程变量打开”。P_SELBOOLTRUE比例作用打开可以再PID算法中单独激活或取消各个PID作用,当置位了输入“比例作用打开”后,将打开P比例作用。I_SELBOOLTRUE积分作用打开可以在PID算法中单独激活或取消激活各个PID作用,当置位了输入“积分作用打开”后,将打开I积分作

20、用。INT_HOLDBOOLFALSE积分作用保持通过置位输入“积分作用保持”,可以“冻结”积分器的输出。I_ITL_ONBOOLFALSE积分作用初始化通过置位输入“积分作用初始化打开”,可以将积分器的输出连接到输入I_INT_VAL。D_SELBOOLFALSE微分作用打开可以在PID算法中单独激活或取消激活各个PID作用,当置位了输入“微分作用打开”后,将打开D微分作用。CYCLETIME=1msT#1S采样时间块调用之间的时间间隔必须恒定,“采样时间”输入确定了块调用之间的时间间隔。SP_INTREAL-100.0.100.0(%)或者是物理量1)0.0内部设定值“内部设定值”输入用于

21、确定一个设定值。PV_INREAL-100.0.100.0(%)或者是物理量1)0.0过程变量输入初始值可以在“过程变量输入”输入端设置,也可以连接到浮点数格式的外部过程变量上。PV_PERWORDW#16#0000外设过程变量I/O格式的过程变量连接到控制的“外设过程变量”输入端。MANREAL-100.0.100.0(%)或者是物理量1)0.0手动值“手动值”输入用于操作员随机赋值于调节值GAINREAL2.0比例增益“比例因子”输入用于控制器的增益。TITIME=CYCLET#20S复位时间积分器的时间响应。TDTIME=CYCLET#10S微分时间微分时间的时间响应。TM_LAGTIM

22、E=CYCLE/2T#2S微分时间作用延迟D微分作用的算法包含一个时间延迟,在“微分作用时间延迟中”输入中设定。DEADB_WREAL=0.0%或者是物理量1)0.0死区宽带死区应用于误差,“死去宽带”输入决定了死区的大小。LMN_HLMREALLMN_HLM.100.0%或者是物理量2)100.0调节值上限调节值总受上限和下限的限制,“调节值”上限指定调节值上限。LMN_LLMREAL-100%.LMN_LLM或者物理量2)0.0调节值下限调节值总受上限和下限的限制,“调节值”下限指定调节值下限。PV_FACREAL1.0过程变量因子“过程变量因子”输入用于和过程变量相乘,它以此来调成变量的

23、范围。PV_OFFREAL0.0过程变量偏移量“过程变量偏移量”输入用于和过程变量相加,它以此来调整过程变量的范围。LMN_FACREAL1.0调节值因子“调节值因子”输入和调节值相乘,它以此来调整调节值的范围。LMN_OFFREAL0.0调节值偏移量“调节值偏移量”用于和调节值相加,它用此来调节调节值的范围。I_ITLVALREAL-100.0.100.0(%)或者是物理量2)0.0积分作用初始化在输入I_ITL_ON处设置积分器的输出,该初始化值用于输入“积分作用初始化化值”。DISV-100.0.100.0(%)或者是物理量2)0.0干扰变量对于前馈控制,干扰变量被连接到输入“干扰变量”

24、。2.3 FB41输出参数描述 同样为了方便对FB41进行算法上的自主开发设计,所以必须对FB41 参数变量有详细的了解,FB41 35个输出参数如表2所示。表2.FB41输出参数描述参数数据类型取值范围缺省描述LMNREAL0.0调节值有效的调节值以浮点数格式从“调节值”输出端输出。LMN_PERWORDW#16#0000外设调节值I/O格式的调节值被连接到控制器的“外设调节值”输出端。QLMN_HLMBOOLFALSE达到调节值上限调节值总是受上限和下限的限制,输出“达到调节值上限”表明已经超过了上限值。QLMN_LLMBOOLFALSE达到调节值下限调节值总是受上限和下限的限制,输出“达

25、到调节值下限”表明已经超过了下限值。LMN_PREAL0.0比例分量“比例分量”输出包含了可调节变量的“比例分量”。LMN_IREAL0.0积分分量“积分分量”输出包含了可调节变量的“积分分量”。LMN_DREAL0.0微分分量“微分分量”输出包含了可调节变量的“微分分量”。2.3 FB41“CONT_C” 的算法方框图 FB41“CONT_C”是具有连续性的输入输出工艺过程,“CONT_C” 的方框图,可以详细的解析FB41的工作原理,是“仿FB41”模块的自主开发设计的基础, FB41“CONT_C”方框图如图1所示。图1.FB41原理方框图3 “仿FB41”模块数据结构设计3.1 “仿F

26、B41”模块中基本数据类型介绍l 位(bit)位数据的类型是BOOL(布尔)型,在编程软件中BOOL变量的值1和0用英语单词TURE(真)和假(FALSE)来表示。位存储单元的地址由字节地址和位地址组成,例如I3.2中的区域标识符“I”表示输入(Input),字节地址为3,位地址为2.这种存取方式为“字节.位”寻址方式。l 字节(Byte)8位二进制数组成1个字符,其中的第0位为最低位(LSB),第七位为最高位(MSB)。输入字节IB3由I3.0I3.7这8位组成。l 字(Word)相邻的两个字节组成一个字,字用来表示无符号的数。MW100是由MB100和MB101组成的1个字。MW100中M

27、为区域标识符,W表示字。组成字的编号最小字节MB100为字的最高位字节,编号最大的MB101为字的最高位字节。字的取值范围为W#16#0000W#16#FFFF。l 双字(Double Word)两个字(或4个字节)组成一个双字,双字用来表示无符号数。双字MD100由MB100MB103组成,D表示双字,100表示双字的起始字节MB100的编号。双字的取值范围DW#16#0000_0000DW#16#FFFF_FFFF。l 16位整数(INT)整数是由符号数,整数的最高位为符号位,最高位0表示正数,为1表示为负数,取值范围为-3276832767。整数用补码来表示,正数的补码就是其本身,将一个

28、正数对应的二级制数的各位求反后加1,得到绝对值与它相同的负数的补码。l 32位整数(DINT)32位整数的最高位为符号位,取值范围为-21474836482147483647。l 32位浮点数(REAL)实数(REAL)又称为浮点数,可以变瘦为1.m ,其中位数为m和指数E均为二进制,E可能是正数,也可能为负数。浮点数的表示范围1.1754953.402823。PLC的输入和输出的数值大多是整数4,例如模拟量的输入和输出值,用浮点数来处理这些问题需要进行整数和浮点数的之间的转换,浮点数的运算速度比整数的运算速度慢一些。编程软件中,用小数来输入或显示浮点数,例如50是整数,而50.0是浮点数【1

29、0】。“仿FB41”模块 数据类型主要分为:布尔(BOOL); 实数(REAL); 字(WORD) ;时间(TIME); 其中在数据处理还涉及整数(INT);双整数(DINT)(设计总计70 本个参数变量)源程序开发设计的过程中以实数(REAL)作为中间变量,所以在程序中数据之间的运算都要转换成为实数。故此,例如CYCLE,PV_PER,TI ,TD ,TM_LAG等还有在程序中涉及的临时变量都要转换成实数的数据类型。3.2 背景数据块的建立和打开 背景数据块是专门制定给某个功能块(FB)或系统功能块(SFB)使用的数据块,它是FB或SFB运行时的工作存储区【11】。背景数据块用来保存FB和S

30、FB的实参和静态数据,背景数据块中的数据是自动生成的。它们是功能块的变量声明表中的数据(不包括临时变量),临时变量存储在局部数据堆栈中。调用功能块应制定对应的背景数据块。功能块被执行完后,它的背景数据块中存储的数据不会丢失。使用不同的背景数据块调用功能块,可以控制多个同类对象。生成功能块后,可以首先生成它的背景数据块,然后在调用该功能块时使用它。选中SIMATIC管理器左侧敞口中的“块”图标,用用右键点击右边的窗口,执行出现的快捷菜单中的“插入新对象”到“数据块”,生成一个新的数据块。在出现的数据块属性对话框中,采用对应的DB#。3.2.1 变量声明和背景参数数据功能块的变量声明表决定了他的背

31、景数据块的结构和变量【12】。不能直接修改背景数据块,只能通过对应的功能块的变量声明表来修改它。功能块的5中局部变量:l IN(输入变量):由调用它的的块提供的输入参数。l OUT(输出变量):返回给调用它的块的输出参数。l IN_OUT(输入_输出变量):初值由调用它的块提供,块执行后给调用它的块。l TEMP(临时变量):暂时保存在局部数据区中的变量。只是在执行时使用临时变量,执行完后,不再保存临时变量的数值,它可能被别的数据覆盖。l STAT(静态变量):从功能块执行完,到下一次重新调用它,静态变量的值是保持不变的。双击变量声明表左侧窗口中的“IN”,在右边的窗口中生成两个BOOL变量和

32、一个INT的变量。用类似的方法生成其他的局部变量,变量声明表中的局部变量与相应的背景数据块中变量相同。 块中的局部变量名必须以字母开始,只能有英语字母、数字和下划线组成, 不能使用汉字,但是在变量声明表中赋值时,不需要制定存储器地址;根据各变量的数据类型,程序编辑器自动为所有变量指定存储器的地址。 (1)“仿FB41”模块变量声明在程序编程界面如图2所示。图2 .仿FB41程序编程界面(2) “仿FB41”变量声明中的数据参数如表3所示。 表3.“仿FB41”-变量声明(3)“仿FB41”模块具体背景参数数据如表4所示。表4.“仿FB41”模块背景参数数据4“仿FB41”模块程序开发设计4.1

33、 “仿FB41”模块输入/输出参数数据的处理4.1.1 输入数据参数处理l SP_INT:设定值以浮点数的格式输入到SP_INT输入端【13】。l PV_PER:可以再外围设备(I/O)中输入过程变量,也可以以浮点数格式输入。CRP_IN函数根据下列公式,将PV_PER的外设值转换成浮点数-100到100%;CRP_IN函数公式如公式1所示。 PV_R=PV_PER* ; (1) PV_NORM的函数公式规格化CRP_IN的输出如公式2所示。 PV_NORM的输出=PV_R*PV_FAC+PV_OFF ; (2) PV_FAC的缺省值是1,PV_OFF的缺省值位0。 可以使用两种方式输入过程变

34、量(即反馈值);1)用PV_IN(过程输入变量)输入浮点数格式的过程变量,此时数字量输入PVPER_ON(外部设备过程变量ON)应为0的状态。2)用PV_PER(外部设备过程变量)输入外部设备(I/O)格式的过程变量,即用模拟量输入模块输入输出的数字值作为PID控制的过程变量,此时PVPER_ON的状态应为1。两种输入过程变量程序注释如图4所示。图4.外设过程变量程序注释4.1.2 输出数据控制器参数限幅处理LMNLIMIT(输出量限幅)用于将控制器输出值(MV)限幅,LMNLIMIT的输入量超出控制器输出值的上极限LMN_HLM时,信号位QLMN_HLM(输出超出上限)变为1的状态;小于下限

35、值LMN_LLM时,信号位QLMN_LLM(输出超出下限)变为1的状态。LMN_HLM和LMN_LLM的默认值分别为100%和0.0%。控制器输出值上下限程序注释如图5所示。图5.输出限幅变量程序注释4.1.3 输出数据调节值的处理 调节值使用LMNLMIT函数,可以将限制到所选择的数值上,当输入量超过限制时,通过信号位来指示。 LMN_NORM函数来规格化LMNLMIT的输出公式3所示。 LMN=(LMNLMIT 的输出) LMN_FAC+LMN_OFF; (1)式中,LMN时格式化后浮点数格式的控制器的输出值;LMN_FAC为输出量的系数,默认值为1.0。LMN_OFF为输出量的偏移量,默

36、认值为0.0;LMN_FAC和LMN_OFF用来调节控制器输出量的范围,输出量规格化变量程序注释如图6所示。图6.输出量规格化变量程序注释4.1.4 输出数据转换为外部设备(I/0)格式处理 控制器输出值如果要送给模拟量输出没款中D/A转换器,CPR_OUT 函数根据公式将浮点数格式的LMN 转换成外设值,转换如公式4所示。 LMN_PER=LMN ; (1) I/0格式转换变量程序注释如图7所示。图7.“I/O”格式转换变量程序注释4.2 偏差计算 ERKP:用浮点数格式设定值SP_INT减去装换成浮点数格式的过程变量PV(即反馈值),便得到负反馈的偏差,偏差计算公式如公式5所示。 ERKP

37、=SP_INT-PV ; (1) 偏差变量程序注释如图8所示。 图8.偏差变量程序注释4.3 手动模式程序处理BOOL变量MAN_ON为1时为手动模式,为0时为自动模式。在手动模式,控制的输出被手动输入值MAN代替。在手动模式,控制器输出中的积分分量自动设置为LMN-LMN_P-DISV(其中为减号)。而微分量自动设置为0 。这样可以保证手动到自动的无忧切换,即切换前后PID控制器的输出值LMN不会突变。手动模式程序注释如图9所示。图9.手动模式程序注释4.4 “仿FB41”模块程序开发中的数据处理4.4.1 数据参数初始化处理 FB41“CONT_C有一个完全重启动例行程序,当置位输入参数C

38、OM_RST=TURE时执行。 在启动期间,积分器内部被设置成初始值I_ITVAL。如果I_INT_ON(积分作用初始化)为1的状态,将输入变量INTVAL作为积分器的初始值。如果在一个循环中断优先级调用它,它将从该数值开始继续执行,所有其他的输出都被设置为其默认值。INT_HOLD时积分操作保持,积分输出被冻结,一般不冻结积分输出。当在周期中断优先级中调用积分器,它便从这个数值开始,继续工作。所用其他输出值都被设置成各自的缺省值。具体参数初始化如表5所示。表5.“仿FB41”模块初始化赋值参数初始化数据缺省值参数初始化数据缺省值#LMN0#I_ITLVAL#Last_I#LMN_P0#PV0

39、#LMN_I0#ER0#LMN_D0#LMN_PERW#16#0#Last_P0#Last_I_PC0#Last_Lmn04.4.2 采样时间(CYCLE)的处理采样时间具体在程序设计的过程中应该具体注意数据类型的处理,即利用LAD梯形图的数据转换指令进行。 PID运算是单位是秒,S-7300 TIME数据类型是以毫秒为单位且TIME数据类型是双整数,所有要TIME 类型转换成双整数,再转换实数,实数除以1000,放在临时寄存器中,“CYCLE”变量程序注释如图10所示。图10.CYCLE变量程序注释4.4.3 死区的处理 为了抑制由于控制器输出量的量化造成的连续的较小的振荡,例如FB43的P

40、ULSEGEN进行脉冲宽度调制时可能出现的振荡,用死区(Dead Band)非线性误差进行处理。死区的宽度由参数DEADB_W来定义,如果命令DEADB_W为0,死区被关闭。在控制系统中,某些执行器机构如果频繁动作,会导致小幅度的振荡,造成严重的机械磨损【14】。从控制要求来说,很多的系统又允许被控量在一定的范围内存在误差。带死区的PID控制器能防止执行机构的频繁动作。当误差的绝对值超过设定值时,开始正常的PID控制。在FB41中“CONT_C中,死区宽度DEADB_W相当于死区设定值B。 通过偏差值和死区进行逻辑判断,当死区非线性环节的输入量(即误差(ev(n)的绝对值小于设定值B时,死区的

41、非线性输出量(即PID控制器的输入量)为0,这时PID控制器的输出分量中比例和微分部位都为0,积分保持不变,因此PID的输出保持不变,PID控制器不起调节作用,系统处于开环状态,具体死区处理如公式6所示。 假如偏差值ErKp DEADB_W,则 ER=ErKp -DEADB_W; (2)DEADB(死区)变量程序注释如图11所示。图11.“DEADB”变量程序注释5 用“仿FB41”模块控制的组态监控5.1 主界面组态 “仿FB41”组态监控界面如图12所示。 图12.“孝廉”人机监控组态界面5.2 数据库组态 “仿FB41”具体数据库组态界面如图13所示。 图13.数据库组态_参数设定5.3

42、 I/O设备组态 “仿FB41”I/O 组态连接通信如图14所示。图14. I/O组态连接通信6 “仿FB41”模块与FB41控制效果的对比6.1 锅炉水温控制的控制效果对比和数据分析 FB41-锅炉水温控制效果如图15所示 图15.FB41-锅炉水温控制参数数据分析所得:=29.853-30=-0.147=144s =121s =116s “仿FB41”-锅炉水温控制效果如图16所示。图16.“仿FB41”模块-锅炉水温控制参数数据分析:=30.719-30=0.747=321s =291s =110s实验结果表明,孝廉FB41在水温控制方面效果比FB41还好。锅炉水温控制实物图如图17所示。图17.锅炉水温实物6.2 压力控制的控制效果对比和数据分析 “仿FB41”模块-压力控制效果如图18所示。图18.“仿FB41”模块-压力控制选取中间两段作为效果分析分析所得:n=1(由30Kpa加压至50Kpa段)n=2(由50Kpa减压至30Kpa段) (由

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1