第十一章模拟量单元及PID算法ppt课件_第1页
第十一章模拟量单元及PID算法ppt课件_第2页
第十一章模拟量单元及PID算法ppt课件_第3页
第十一章模拟量单元及PID算法ppt课件_第4页
第十一章模拟量单元及PID算法ppt课件_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十一章 模拟量单元及PID算法模拟量输入模拟量输入AIAI路路数数4 4模拟量输出路数模拟量输出路数1 1输入信号类别输入信号类别电压或电压或电流电流输出信号类别输出信号类别电压或电流电压或电流输入信号范围输入信号范围0 010V 10V 0 05V5V0 01V1V10V10V5V 5V 0-20ma0-20ma等等输出信号范围输出信号范围10V10V或或0 020ma20ma分辩率分辩率电压电压1212位位 电流电流1111位位数据对齐方式数据对齐方式左对齐左对齐EM235模拟量单元EM235输入、输出接线EM235输入量程、放大倍数选择EM235EM235输入有不同的量程,必须通过拨码

2、开关进行选择。输入有不同的量程,必须通过拨码开关进行选择。拨码开关位置开关表和量程关系表EM235输入和输出数据格式输出数据格式输入数据格式0PIDPID控制器调节输出,保证偏差控制器调节输出,保证偏差e e为零,使系统达到为零,使系统达到稳定状态,偏向稳定状态,偏向e e是给定值是给定值SPSP和过程变量和过程变量PVPV的差。的差。PIDPID控制的原理基于下面的算式;输出控制的原理基于下面的算式;输出M Mt t是比是比例项、积分项和微分项的函数。例项、积分项和微分项的函数。 输出输出= = 比例项比例项+ + 积分项积分项+ + 微分项微分项其中:其中:M Mt t是是 PID PID

3、回路的输出,是时间的函数回路的输出,是时间的函数 KC KC PIDPID回路的增益回路的增益 e e PIDPID回路的偏差给定值与过程变量之差)回路的偏差给定值与过程变量之差) Minitial Minitial PIDPID回路输出的初始值回路输出的初始值为了能让数字计算机处理,连续算式必须离散化为周期采样偏差算式为了能让数字计算机处理,连续算式必须离散化为周期采样偏差算式其中:其中: MnMn在第在第n n个采样时刻,个采样时刻,PIDPID回路输出的计算值回路输出的计算值KC KC PIDPID回路比例增益回路比例增益en en 第第n n个采样时刻的回路偏差值个采样时刻的回路偏差值

4、en - 1 en - 1 上一个采样时刻杜回路偏差上一个采样时刻杜回路偏差ei ei 第第i i个采样时刻的回路偏差值个采样时刻的回路偏差值KI KI 积分项的比例常数积分项的比例常数Minitial Minitial 回路输出的初始值回路输出的初始值KD KD 微分项的比例常数微分项的比例常数从这个公式可以看出,积分项是从第从这个公式可以看出,积分项是从第1 1个采样周期到当前采样周期所个采样周期到当前采样周期所有误差项的函数,微分项是当前采样和前一次采样的函数,比例项仅有误差项的函数,微分项是当前采样和前一次采样的函数,比例项仅是当前采样的函数。在数字计算机中,不保存所有的误差项,实际上

5、是当前采样的函数。在数字计算机中,不保存所有的误差项,实际上也不必要。只需将上一次的误差值和上一次积分项的数值保存即可。也不必要。只需将上一次的误差值和上一次积分项的数值保存即可。由于计算机从第一次采样开始,每有一个偏差采样值必由于计算机从第一次采样开始,每有一个偏差采样值必须计算一次输出值,只需要保存偏差前值和积分项前值。须计算一次输出值,只需要保存偏差前值和积分项前值。简化算式:简化算式: Mn = KC Mn = KC * * en + KI en + KI * * en + MX + KD en + MX + KD * * (en-en - 1en-en - 1) 其中:其中: MnM

6、n在第在第n n个采样时刻,个采样时刻,PIDPID回路输出的计算值回路输出的计算值KC KC PIDPID回路比例增益回路比例增益en en 第第n n个采样时刻的回路偏差值个采样时刻的回路偏差值en - 1 en - 1 上一个采样时刻杜回路偏差上一个采样时刻杜回路偏差KI KI 积分项的比例常数积分项的比例常数MXMX积分项前值积分项前值KD KD 微分项的比例常数微分项的比例常数CPUCPU实际使用以上简化算式的改进形式计算实际使用以上简化算式的改进形式计算PIDPID输出。这个改输出。这个改进型算式是:进型算式是: Mn = MPn + MIn + MDn Mn = MPn + MI

7、n + MDn 输出输出= = 比例项比例项+ + 积分项积分项+ + 微分项微分项其中:其中: Mn Mn 第第n n采样时刻的计算值采样时刻的计算值 MPn MPn 第第n n采样时刻的比例项值采样时刻的比例项值 MIn MIn 第第n n采样时刻的积分项值采样时刻的积分项值 MDn MDn 第第n n采样时刻的微分项值采样时刻的微分项值(1 1理解理解PIDPID方程的比例项方程的比例项比例项比例项MPnMPn是增益是增益KCKC和偏差和偏差e e的乘积。其中的乘积。其中KCKC决定输决定输出对偏差的灵敏度,偏向出对偏差的灵敏度,偏向e e是给定值是给定值SPSP与过程变与过程变量值量值

8、PVPV之差。之差。S7-200S7-200解决的求比例项的算式是:解决的求比例项的算式是: MPn = KC MPn = KC * * (SPn PVnSPn PVn)MPnMPn第第n n个采样时刻比例项的值个采样时刻比例项的值KC KC 回路增益回路增益SPnSPn 第第n n采样时刻的给定值采样时刻的给定值PVn PVn 第第n n采样时刻的过程变量值采样时刻的过程变量值(2 2理解理解PIDPID方程的积分项方程的积分项积分项积分项MIMI是正比于每次采样的误差的积累值。是正比于每次采样的误差的积累值。S7-200S7-200解决的求积分项的算式是:解决的求积分项的算式是: MIn

9、= KC MIn = KC * * TS / TI TS / TI * * (SPn - PVnSPn - PVn)+ MX+ MX其中:其中: MIn MIn 第第n n个采样时刻的积分项值个采样时刻的积分项值KC KC 回路增益回路增益TS TS 采样周期采样周期TI TI 积分时间常数积分时间常数SPn SPn 第第n n采样时刻的给定值采样时刻的给定值PVnPVn第第n n采样时刻的过程变量值采样时刻的过程变量值MX MX 第第n - 1n - 1采样时刻的积分项积分项前值)采样时刻的积分项积分项前值)(也称积分和或偏置)(也称积分和或偏置)(3 3理解理解PIDPID方程的微分项方程

10、的微分项微分项微分项MDMD正比于误差的变化。正比于误差的变化。S7-200S7-200使用下列算式来使用下列算式来求解微分项:求解微分项: MDn = KC MDn = KC * * TD / TS TD / TS * * (SPn PVn)-(SPn-1 - (SPn PVn)-(SPn-1 - PVn-1)PVn-1)为了避免给定值变化的微分作用而引起的跳变,假定给定为了避免给定值变化的微分作用而引起的跳变,假定给定值不变值不变SPn = SPn-1SPn = SPn-1)。这样,可以用过程变量的变化)。这样,可以用过程变量的变化替代偏差的变化,计算算式可改进为:替代偏差的变化,计算算式

11、可改进为: MDn = KC MDn = KC * * TD / TS TD / TS * * (PVn-1 - PVn ) (PVn-1 - PVn )其中:其中:MDnMDn第第n n个采样时刻的微分项值个采样时刻的微分项值KC KC 回路增益回路增益TSTS 采样周期采样周期TD TD 微分时间常数微分时间常数SPn SPn 第第n n采样时刻的给定值采样时刻的给定值SPn-1 SPn-1 第第n-1n-1采样时刻的给定值采样时刻的给定值PVnPVn 第第n n采样时刻的过程变量值采样时刻的过程变量值PVn-1 PVn-1 第第n-1n-1采样时刻的过程变量值采样时刻的过程变量值为了下一

12、次计算微分项值,必须保存过程变量,而不是偏为了下一次计算微分项值,必须保存过程变量,而不是偏差。在第一采样时刻,初始化为差。在第一采样时刻,初始化为PVn-1 PVn-1 PVn PVn PIDPID指令指令PIDPID指令以回路表中的输入和组态信息进行指令以回路表中的输入和组态信息进行PIDPID运算。要执行该指令,必须使逻辑栈顶运算。要执行该指令,必须使逻辑栈顶值置为值置为1 1。指令中的指令中的TBLTBL是是PIDPID控制回路的起始地址。控制回路的起始地址。LOOPLOOP为控制回路号为常数,在为控制回路号为常数,在0 07 7之间)之间)使使ENO=0ENO=0的错误条件:的错误条

13、件: SM1.1 SM1.1溢出溢出H H 00060006间接寻址)间接寻址)受影响特殊存储器位受影响特殊存储器位 SM1.1 SM1.1溢出)溢出)在程序中最多可以用在程序中最多可以用8 8条条PIDPID指令。如果两个或两个以上的指令。如果两个或两个以上的PIDPID指令用了同一个回路号,那么即使这些指令的回路表指令用了同一个回路号,那么即使这些指令的回路表不同,这些不同,这些PIDPID运算之间也会相互干涉,产生不可预料的运算之间也会相互干涉,产生不可预料的结果。结果。回路表包含回路表包含9 9个参数,用来控制和监视个参数,用来控制和监视PIDPID运算。这些参数运算。这些参数分别是过

14、程变量当前值分别是过程变量当前值PVnPVn),过程变量前值),过程变量前值PVn-1PVn-1),),给定值给定值SPnSPn),输出值),输出值MnMn),增益),增益KcKc),采样时间),采样时间TsTs),积分时间),积分时间(TI)(TI),微分时间,微分时间TDTD和积分项前值和积分项前值MXMX)。)。为了让为了让PIDPID运算以预想的采样频率工作,运算以预想的采样频率工作,PIDPID指令必须用在指令必须用在定时发生的中断程序中,或者用在主程序中被定时器所控定时发生的中断程序中,或者用在主程序中被定时器所控制以一定频率执行。采样时间必须通过回路表输入到制以一定频率执行。采样

15、时间必须通过回路表输入到PIDPID运算中。运算中。回路表回路表回路控制类型的选择回路控制类型的选择通过设置常量参数,可以选择需要的回路控制类型。通过设置常量参数,可以选择需要的回路控制类型。如果不想要积分动作如果不想要积分动作PIDPID计算中没有计算中没有“I I”),可以把积分),可以把积分时间复位置为无穷大时间复位置为无穷大“INFINF”。即使没有积分作用,积。即使没有积分作用,积分项还是不为零,因为有初值分项还是不为零,因为有初值MXMX。如果不想要微分回路,可以把微分时间置为零。如果不想要微分回路,可以把微分时间置为零。如果不想要比例回路,但需要积分或积分微分回路,可把增如果不想

16、要比例回路,但需要积分或积分微分回路,可把增益设为益设为0.00.0,系统会在计算积分项和微分项时,把增益当作,系统会在计算积分项和微分项时,把增益当作1.01.0看待。看待。正作用回路和反作用回路正作用回路和反作用回路如果增益为正,那么该回路为正作用回路。如果增益为负,如果增益为正,那么该回路为正作用回路。如果增益为负,那么是反作用回路。那么是反作用回路。对于增益值为对于增益值为0.00.0的的I I或或IDID控制,如果指定积分时间、微分时控制,如果指定积分时间、微分时间为正,就是正作用回路;如果指定为负值,就是反作用间为正,就是正作用回路;如果指定为负值,就是反作用回路回路控制方式控制方

17、式S7-200S7-200的的PIDPID回路没有设置控制方式,只要回路没有设置控制方式,只要PIDPID块有效,就块有效,就可以执行可以执行PIDPID运算。即运算。即PIDPID运算存在一种运算存在一种“自动自动“运行方运行方式。当式。当PIDPID运算不被执行时,我们称之为运算不被执行时,我们称之为“手动形式。手动形式。PIDPID指令使能位检测到信号的正跳变从指令使能位检测到信号的正跳变从0 0到到1 1),),PIDPID指令指令执行一系列动作,使执行一系列动作,使PIDPID指令从手动方式无扰动地切换到指令从手动方式无扰动地切换到自动方式。自动方式。为了达到无扰动切换,在转变到自动

18、控制前,必须用手动为了达到无扰动切换,在转变到自动控制前,必须用手动方式把当前输出值填入回路表中的方式把当前输出值填入回路表中的MnMn栏。栏。PIDPID指令对回路指令对回路表中的值进行下列动作,以保证当使能位正跳变出现时,表中的值进行下列动作,以保证当使能位正跳变出现时,从手动方式无扰动切换到自动方式:从手动方式无扰动切换到自动方式: 置给定值置给定值SPnSPn)= =过程变量过程变量PVnPVn) 置过程变量前值置过程变量前值PVn-1PVn-1)= =过程变量现值过程变量现值PVnPVn) 置积分项前值置积分项前值MXMX)= =输出值输出值MnMn)回路输入的转换及归一化处理回路输

19、入的转换及归一化处理每个每个PIDPID回路具有两个输入量,给定值回路具有两个输入量,给定值SPSP和过程变量和过程变量PVPV)。给定值通常是一个固定的值。过程变量是与)。给定值通常是一个固定的值。过程变量是与PIDPID回路输出有关,可以衡量输出对控制系统作用的大小。回路输出有关,可以衡量输出对控制系统作用的大小。给定值和过程变量都可能是工程实际的值,它们的大小、范给定值和过程变量都可能是工程实际的值,它们的大小、范围和工程单位都可能不一样。在围和工程单位都可能不一样。在PIDPID指令对这些工程实际指令对这些工程实际的值进行运算之前,必须把它们转换成标准的浮点型表达的值进行运算之前,必须

20、把它们转换成标准的浮点型表达形式。形式。转换的第一步是把转换的第一步是把1616位整数值转成浮点型实数值。如:位整数值转成浮点型实数值。如: ITD AIW0 ITD AIW0,AC0 /AC0 /将输入值转换为双整数。将输入值转换为双整数。 DTR AC0 DTR AC0, AC0 / AC0 /将将3232位双整数转换为实数。位双整数转换为实数。下一步是将工程实际的值的实数值表达形式转换成下一步是将工程实际的值的实数值表达形式转换成0.01.00.01.0之间的标准化值。下面的算式可以用于标准化给定值或过程之间的标准化值。下面的算式可以用于标准化给定值或过程变量值:变量值: Rnorm =

21、 Rnorm = (Rraw / SpanRraw / Span)+ Offset+ Offset其中:其中: Rnorm Rnorm 工程实际值的归一化值工程实际值的归一化值Rraw Rraw 工程实际值的实数值或原值,未归一化处理工程实际值的实数值或原值,未归一化处理Span Span 最大允许值减去最小允许值,通常取最大允许值减去最小允许值,通常取3200032000对于对于单极性和单极性和6400064000对于双极性)对于双极性)Offset Offset 单极性为单极性为0.00.0,双极性为,双极性为0.50.5下面的指令把双极性实数标准化为下面的指令把双极性实数标准化为0.01

22、.00.01.0之间的实数。通之间的实数。通常用在第一步转换之后:常用在第一步转换之后:/R 64000.0, AC0 /R 64000.0, AC0 /累加器中的标准化值累加器中的标准化值+R 0.5, AC0 /+R 0.5, AC0 /加上偏置,使其在加上偏置,使其在0.01.00.01.0之间之间MOVR AC0, VD100 /MOVR AC0, VD100 /标准化的值存入回路表标准化的值存入回路表回路输出值转换成整数值回路输出值转换成整数值回路输出值一般是控制变量,比如,在汽车速度控制中,回路输出值一般是控制变量,比如,在汽车速度控制中,可以是油阀开度的设置。回路输出是可以是油阀

23、开度的设置。回路输出是0.00.0和和1.01.0之间的之间的一个标准化了的实数值。一个标准化了的实数值。在回路输出可以用于驱动模拟输出之前,回路输出必须在回路输出可以用于驱动模拟输出之前,回路输出必须转换成一个转换成一个1616位的标定整数值。这一过程,是给定值位的标定整数值。这一过程,是给定值或过程变量的标准化转换的逆过程。或过程变量的标准化转换的逆过程。第一步是使用下面给出的公式,将回路输出转换成一个第一步是使用下面给出的公式,将回路输出转换成一个标定的实数值:标定的实数值:Rscal = Rscal = (Mn - OffsetMn - Offset)* * Span Span其中:其

24、中: RScal RScal 回路输出的刻度实数值回路输出的刻度实数值 Mn Mn 回路输出的标准化实数值回路输出的标准化实数值 Offset Offset 单极性为单极性为0.00.0,双极性为,双极性为0.50.5 Span Span 值域大小,可能的最大值减去可能的最值域大小,可能的最大值减去可能的最小值小值 单极性为单极性为32,00032,000典型值双极性为典型值双极性为64,00064,000典典型值)型值)这一过程可以用下面的指令序列完成:这一过程可以用下面的指令序列完成: MOVR VD108, AC0 / MOVR VD108, AC0 /把回路输出值移入累加器把回路输出值

25、移入累加器 -R 0.5, AC0 / -R 0.5, AC0 /仅双极性有此句仅双极性有此句 * *R 64000.0, AC0 /R 64000.0, AC0 /在累加器中得到刻度值在累加器中得到刻度值下一步是把回路输出的刻度转换成下一步是把回路输出的刻度转换成1616位整数:位整数: ROUND AC0 ROUND AC0,AC0 /AC0 /把实数转换为把实数转换为3232位整数位整数 DTI AC0, LW0 / DTI AC0, LW0 /把把3232位整数转换为位整数转换为1616位整数位整数 MOVW LW0 MOVW LW0,AQW0 /AQW0 /把把1616位整数写入模拟

26、输出寄存器位整数写入模拟输出寄存器出错条件出错条件如果指令指定的回路表起始地址或如果指令指定的回路表起始地址或PIDPID回路号操作数超出范围,回路号操作数超出范围,CPUCPU将产生编译错误范围错误)。将产生编译错误范围错误)。PIDPID指令不检查回路表中的值是否在范围之内,所以必须小心指令不检查回路表中的值是否在范围之内,所以必须小心操作以保证过程变量和设定值不超界。操作以保证过程变量和设定值不超界。PIDPID指令不检查回路表中的值是否超界,您必须保证过程变量指令不检查回路表中的值是否超界,您必须保证过程变量和设定值以及偏置和前一次过程变量必须在和设定值以及偏置和前一次过程变量必须在0.00.0到到1.01.0之间。之间。如果如果PIDPID计算的算术运算发生错误,那么特殊存储器标志位计算的算术运算发生错误,那么特殊存储器标志位SM1.1SM1.1溢出或非法值会被置溢出或非法值会被置1 1,并且中止,并且中止PIDPID指令的执行。指令的执行。(要想消除这种错误,单靠改变回路表中的输出值是不够(要想消除这种错误,单靠改变回路表中的输出值是不够的,正确的方法是在下一次执行的,正确的方法是在下一次执行PIDPID运算之前,改变引起算运算之前,改变引起算术运算错误的输入值,而不是更新输出值)术运算错误的输入值,而不是更新输出值)PIDPID指令编程举例指令编程举例 水箱恒水位控

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论