plc 电气控制基础知识 第十一章 模拟量单元及PID算法学习资料_第1页
plc 电气控制基础知识 第十一章 模拟量单元及PID算法学习资料_第2页
plc 电气控制基础知识 第十一章 模拟量单元及PID算法学习资料_第3页
plc 电气控制基础知识 第十一章 模拟量单元及PID算法学习资料_第4页
plc 电气控制基础知识 第十一章 模拟量单元及PID算法学习资料_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

第十一章模拟量单元及PID算法模拟量输入AI路数4模拟量输出路数1输入信号类别电压或电流输出信号类别电压或电流输入信号范围0-10V0-5V0-1V±10V±5V0-20ma等输出信号范围±10V或0-20ma分辩率电压12位电流11位数据对齐方式左对齐EM235模拟量单元EM235输入、输出接线EM235输入量程、放大倍数选择EM235输入有不同的量程,必须通过拨码开关进行选择。拨码开关位置开关表和量程关系表EM235输入和输出数据格式输出数据格式输入数据格式0PID控制器调节输出,保证偏差(e)为零,使系统达到稳定状态,偏差(e)是给定值(SP)和过程变量(PV)的差。PID控制的原理基于下面的算式;输出M(t)是比例项、积分项和微分项的函数。输出=比例项+积分项+微分项其中:M(t)是PID回路的输出,是时间的函数KC

--PID回路的增益e--PID回路的偏差(给定值与过程变量之差)

Minitial

--PID回路输出的初始值为了能让数字计算机处理,连续算式必须离散化为周期采样偏差算式其中:Mn--在第n个采样时刻,PID回路输出的计算值KC

--PID回路比例增益en

--第n个采样时刻的回路偏差值en-1

--上一个采样时刻杜回路偏差ei

--第i个采样时刻的回路偏差值KI--积分项的比例常数Minitial

--回路输出的初始值KD

--微分项的比例常数从这个公式可以看出,积分项是从第1个采样周期到当前采样周期所有误差项的函数,微分项是当前采样和前一次采样的函数,比例项仅是当前采样的函数。在数字计算机中,不保存所有的误差项,实际上也不必要。只需将上一次的误差值和上一次积分项的数值保存即可。由于计算机从第一次采样开始,每有一个偏差采样值必须计算一次输出值,只需要保存偏差前值和积分项前值。简化算式:

Mn=KC*en+KI*en+MX+KD*(en-en-1)其中:Mn--在第n个采样时刻,PID回路输出的计算值KC

--PID回路比例增益en

--第n个采样时刻的回路偏差值en-1

--上一个采样时刻杜回路偏差KI

--积分项的比例常数MX--积分项前值KD

--微分项的比例常数CPU实际使用以上简化算式的改进形式计算PID输出。这个改进型算式是:

Mn=MPn+MIn+MDn

输出=比例项+积分项+微分项其中:

Mn

--第n采样时刻的计算值

MPn

--第n采样时刻的比例项值

MIn

--第n采样时刻的积分项值

MDn

--第n采样时刻的微分项值(1)理解PID方程的比例项比例项MPn是增益(KC)和偏差(e)的乘积。其中KC决定输出对偏差的灵敏度,偏差(e)是给定值(SP)与过程变量值(PV)之差。S7--200解决的求比例项的算式是:

MPn=KC*(SPn–PVn)MPn--第n个采样时刻比例项的值KC

--回路增益SPn--第n采样时刻的给定值PVn

--第n采样时刻的过程变量值(2)理解PID方程的积分项积分项(MI)是正比于每次采样的误差的积累值。S7--200解决的求积分项的算式是:

MIn=KC*TS/TI*(SPn--PVn)+MX其中:MIn

--第n个采样时刻的积分项值KC

--回路增益TS

--采样周期TI

--积分时间常数SPn

--第n采样时刻的给定值PVn--第n采样时刻的过程变量值MX--第n-1采样时刻的积分项(积分项前值)(也称积分和或偏置)(3)理解PID方程的微分项微分项(MD)正比于误差的变化。S7--200使用下列算式来求解微分项:

MDn=KC*TD/TS*((SPn–PVn)-(SPn-1-PVn-1))为了避免给定值变化的微分作用而引起的跳变,假定给定值不变(SPn

=SPn-1)。这样,可以用过程变量的变化替代偏差的变化,计算算式可改进为:

MDn=KC*TD/TS*(PVn-1-PVn)其中:MDn--第n个采样时刻的微分项值KC--回路增益TS--采样周期TD

--微分时间常数SPn

--第n采样时刻的给定值SPn-1

--第n-1采样时刻的给定值PVn--第n采样时刻的过程变量值PVn-1

--第n-1采样时刻的过程变量值为了下一次计算微分项值,必须保存过程变量,而不是偏差。在第一采样时刻,初始化为PVn-1

=PVn

PID指令PID指令以回路表中的输入和组态信息进行PID运算。要执行该指令,必须使逻辑栈顶值置为1。指令中的TBL是PID控制回路的起始地址。LOOP为控制回路号(为常数,在0-7之间)使ENO=0的错误条件:SM1.1(溢出)H0006(间接寻址)受影响特殊存储器位SM1.1(溢出)在程序中最多可以用8条PID指令。如果两个或两个以上的PID指令用了同一个回路号,那么即使这些指令的回路表不同,这些PID运算之间也会相互干涉,产生不可预料的结果。回路表包含9个参数,用来控制和监视PID运算。这些参数分别是过程变量当前值(PVn),过程变量前值(PVn-1),给定值(SPn),输出值(Mn),增益(Kc),采样时间(Ts),积分时间(TI),微分时间(TD)和积分项前值(MX)。为了让PID运算以预想的采样频率工作,PID指令必须用在定时发生的中断程序中,或者用在主程序中被定时器所控制以一定频率执行。采样时间必须通过回路表输入到PID运算中。回路表回路控制类型的选择通过设置常量参数,可以选择需要的回路控制类型。如果不想要积分动作(PID计算中没有“I”),可以把积分时间(复位)置为无穷大“INF”。即使没有积分作用,积分项还是不为零,因为有初值MX。如果不想要微分回路,可以把微分时间置为零。如果不想要比例回路,但需要积分或积分微分回路,可把增益设为0.0,系统会在计算积分项和微分项时,把增益当作1.0看待。正作用回路和反作用回路如果增益为正,那么该回路为正作用回路。如果增益为负,那么是反作用回路。对于增益值为0.0的I或ID控制,如果指定积分时间、微分时间为正,就是正作用回路;如果指定为负值,就是反作用回路控制方式S7--200的PID回路没有设置控制方式,只要PID块有效,就可以执行PID运算。即PID运算存在一种“自动“运行方式。当PID运算不被执行时,我们称之为“手动”模式。PID指令使能位检测到信号的正跳变(从0到1),PID指令执行一系列动作,使PID指令从手动方式无扰动地切换到自动方式。为了达到无扰动切换,在转变到自动控制前,必须用手动方式把当前输出值填入回路表中的Mn栏。PID指令对回路表中的值进行下列动作,以保证当使能位正跳变出现时,从手动方式无扰动切换到自动方式:置给定值(SPn)=过程变量(PVn)置过程变量前值(PVn-1)=过程变量现值(PVn)置积分项前值(MX)=输出值(Mn)回路输入的转换及归一化处理每个PID回路具有两个输入量,给定值(SP)和过程变量(PV)。给定值通常是一个固定的值。过程变量是与PID回路输出有关,可以衡量输出对控制系统作用的大小。给定值和过程变量都可能是工程实际的值,它们的大小、范围和工程单位都可能不一样。在PID指令对这些工程实际的值进行运算之前,必须把它们转换成标准的浮点型表达形式。转换的第一步是把16位整数值转成浮点型实数值。如:

ITDAIW0,AC0//将输入值转换为双整数。DTRAC0,AC0//将32位双整数转换为实数。下一步是将工程实际的值的实数值表达形式转换成0.0~1.0之间的标准化值。下面的算式可以用于标准化给定值或过程变量值:

Rnorm=(Rraw/Span)+Offset其中:Rnorm

--工程实际值的归一化值Rraw

--工程实际值的实数值或原值,未归一化处理Span--最大允许值减去最小允许值,通常取32000(对于单极性)和64000(对于双极性)Offset--单极性为0.0,双极性为0.5下面的指令把双极性实数标准化为0.0~1.0之间的实数。通常用在第一步转换之后:/R64000.0,AC0//累加器中的标准化值+R0.5,AC0//加上偏置,使其在0.0~1.0之间MOVRAC0,VD100//标准化的值存入回路表回路输出值转换成整数值回路输出值一般是控制变量,比如,在汽车速度控制中,可以是油阀开度的设置。回路输出是0.0和1.0之间的一个标准化了的实数值。在回路输出可以用于驱动模拟输出之前,回路输出必须转换成一个16位的标定整数值。这一过程,是给定值或过程变量的标准化转换的逆过程。第一步是使用下面给出的公式,将回路输出转换成一个标定的实数值:Rscal

=(Mn-Offset)*Span其中:RScal

--回路输出的刻度实数值

Mn--回路输出的标准化实数值Offset--单极性为0.0,双极性为0.5Span--值域大小,可能的最大值减去可能的最小值单极性为32,000(典型值)双极性为64,000(典型值)这一过程可以用下面的指令序列完成:

MOVRVD108,AC0//把回路输出值移入累加器

-R0.5,AC0//仅双极性有此句*R64000.0,AC0//在累加器中得到刻度值下一步是把回路输出的刻度转换成16位整数:

ROUNDAC0,AC0//把实数转换为32位整数

DTIAC0,LW0//把32位整数转换为16位整数

MOVWLW0,AQW0//把16位整数写入模拟输出寄存器出错条件如果指令指定的回路表起始地址或PID回路号操作数超出范围,CPU将产生编译错误(范围错误)。PID指令不检查回路表中的值是否在范围之内,所以必须小心操作以保证过程变量和设定值不超界。PID指令不检查回路表中的值是否超界,您必须保证过程变量和设定值(以及偏置和前一次过程变量)必须在0.0到1.0之间。如果PID计算的算术运算发生错误,那么特殊存储器标志位SM1.1(溢出或非法值)会被置1,并且中止PID指令的执行。(要想消除这种错误,单靠改变回路表中的输出值是不够的,正确的方法是在下一次执行PID运算之前,改变引起算术运算错误的输入值,而不是更新输出值)PID指令编程举例水箱恒水位控制,水箱里的水以变化的速度流出,需要有一个水泵以不同的速度给水箱供水,以维持水位不变。系统的给定值是水箱满水位75%时的水位,过程变量由漂浮在水面的水位测量仪给出。输出值是水泵的速度,可以从允许最大值的0%变到100%。给定值可以预先设定后直接输入到回路表中,过程变量值是来自水位表的单极性模拟量,回路输出值也是一个单极性模拟量,用来控制进水泵的速度。这两个模拟量的范围是0.0到1.0,分辨率为1/32

温馨提示

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

评论

0/150

提交评论