目的:通过调用库函数指令简单设置实现PID控制 优势:1.advPID功能块是集成在CPU内部,不占用用户程序空间。 2.advPID拥有能够对温度、湿度、流量、张力、压力、位置、速度等进行控制的高级PID算法,具有自整定、专家在线PID参数自校正调节算法(CT-TUNE)、预置PID模型参数等功能。 详细介绍: 1. 功能块示例 程序中,Model=1:标准PID算法,同时启动参数在线智能校正模式 Control=15: 启动PID算法设定自整定,冷热同时控制 从程序可以看出当前值<期望值,所以热端(PWM_H)输出 同时通过Status也可以看出PID当前运行状态为:PID自整定正在运行、PWM热端输出ON
EN: 功能块使能,置1后将启用advPID功能块功能,推荐使用SM0.0使能。
2. 功能块输入输出参数列表 名称 | 数据类型 | 描述 | 默认值 | | | WORD | 表示PID的通道编号,每个通道的计算相互独立,在控制多个对象时,调用多个PID块,应使用不同的通道编号来控制。 ---取值范围:0 - 127 注:CPU型号决定最大通道数 | 0 | | | PID算法模式选择,可以根据被控对象的模型来选择相应的模式,模式启动或切换后,会自动给出相应的PID预置参数,适用于大多场景,也可以在模式基础上进行细微调节。 • 0:默认模式,标准PID算法,用于固定模型控制对象,多数场景使用。 • 1:标准PID算法,同时启动参数在线智能校正模式,在该模式下,CT-TUNE算法会根据调节的效果对PID参数进行实时校正,用于控制对象模型频繁变化的情况。 • 2:标准PID算法,运动控制模式,控制字会被设定为1ms时基,关闭微分作用,默认以10ms周期运行,用于张力控制, 位置环,速度环控制对象。 • 3:增量算法PI控制模式,控制字会被设定为增量算法,关闭微分作用,一般用于执行器为带反馈的阀门或是对输出不能产生大扰动的对象。 • 4:增量算法PID控制模式。 注:模式切换时,同时会将相应控制字参数改变并关闭运行状态,运行时请将控制字中bit0重新设置。在PLC上电使能后,如果参数P为0,也会被设置预置参数。 | | | | PV(Process Variable)表示被控对象的值。比如被控对象的温度,压力,流量等。最后一位为小数,例4000表示400.0。 ---取值范围:-32000 - 32000 | | | | 表示对被控对象的期望值,设定值。最后一位为小数,例4000表示400.0。 ---取值范围:-32000 - 32000 | | | | 此版本未起作用,预留 ---取值范围:-32000 - 32000 | | | | 设定PWM输出的周期,有效范围为 0.1 - 120.0秒 注:为了减少外围输出元件寿命损耗,建议对于机械继电器取值一般不小于5s. ---取值范围:1- 1200 | | | | WORD | PID算法的控制设定,以字的16个位进行功能选择
控制位 | 描述 | | 1:启动PID计算 0:关闭PID,PID将停止运行,输出为0 | | 1:启动PID自整定算法,整定完成后自动复位 0:关闭PID自整定算法 | | 1:输出为单端加热控制,PWM仅热端输出,用于加热控制,out输出范围为 0 - 32000 0:未选择 | | 1:输出为单端制冷控制,PWM仅冷端输出,用于制冷控制,out输出范围为 -32000 - 0 0:未选择 | | | | | | 1:启动PID专家在线自适应算法(CT-TUNE) 0:未选择 | | 1:PID计算周期基数1ms 0:PID计算周期基数100ms | | 1:在线自适应CT-TUNE算法启动带宽扩展 0:未选择 | | |
注:1.启动PID必须同时选择加热或制冷或冷热同时控制,否则PID不会正常启动。 2.需要冷热共同控制时,请将bit2,bit3同时置1,输出范围为-32000 - 32000 ,PWM冷热端输出。 3.未列出的bit为预留位 | 0 | | | 比例带,设定 PID 参数的比例范围,最后一位为小数 ---取值范围:0 - 32000 | | | | 积分时间,单位秒,最后一位为小数,有效范围0.0 - 3200.0秒 注:当值为0时,取消积分作用 ---取值范围:0 - 32000 | | | | 微分时间,单位秒,最后一位为小数,有效范围0.0 - 3200.0秒 注:当值为0时,取消微分作用 ---取值范围:0 - 32000 | | | | 自整定参数性能档位,在自整定完成后,自整定功能会给出新的比例带P,积分I和微分D值,这3个参数根据AR的3个档位来生成相应的值。 0:最高性能,同时有可接受最大的超调量。 1:平衡的性能,较小的超调量。 2:相对低的性能,最小超调量。 ---取值范围:0 - 2 | | | | PID计算周期时间,单位为0.1 ,最后一位为小数,有效范围为 0.001 - 100.0秒, 注:基数以控制字bit13为准,当bit13为0时,运算周期时间最小为0.1秒。当bit13为1时,运算周期时间最小为0.001秒。 建议这个参数根据控制对象的特征进行设定,对于控制精度高,速度快的对象,如位置环,速度环,张力控制,可使用0.01秒的运算间隔,对于响应慢的系统,如温度控制,使用较慢的运算周期0.1秒或更长的周期时间。 ---取值范围:1 - 1000 | | | | WORD | PID的输出,输出范围由控制字bit2,bit3的组合决定 ---范围:加热模式 0 - 32000 制冷模式 -32000 - 0 加热制冷模式 -32000 - 32000 | 0 | | | PWM热端输出,1为ON,0为OFF,最高频率10HZ,在10HZ下输出精度约1% | | | | PWM冷端输出,1为ON,0为OFF,最高频率10HZ,在10HZ下输出精度约1% |
| | | 当前PID的运行状态字,以相应位来表示状态,未列出状态位为预留位
状态位 | 描述 | | | | | | | | | | | | 1:PID计算故障, 一般是PV超出限制 0:正常状态 | | |
| |
注意:当出现PID故障状态时,表示PV值超限,在多数情况下是由于传感器断线等因素造成,恢复PV值至正常并启动PID即可自动复位此状态,如果在自整定时出现PV超限,会中断自整定过程直到恢复正常的PV值,如果在正常运行PID时出现PV超限,则输出为0直到恢复正常的PV值。
3. 应用说明 PID 控制 PID控制也被称为三项控制,其算法为根据一套规则,连续调整输出,补偿过程变量 的变化,但是其参数设定需要满足控制过程的特征要求。 三项分别是: 比例项 PB。 积分项 TI。 微分项 TD。 advPID算法基于位置(非渐进型)的ISA类型算法。算法输出是所有三项作用的结果。其简化拉普拉斯变换公式为: OP/ER = (100/PB) (1 + 1/sTI + sTD)。 其输出是误差信号的大小和持续时间、过程变量值的变化率的函数。 可禁用积分项和微分项,仅使用比例项(P)来控制,或者使用控制项加积分项 (PI)、比例项加微分项(PD)来控制。 一个关于PI控制的实例(即不使用D项)是制炼厂(流量、压力、液位),其内在 不稳定型以及噪声的特点,易导致阀门波动较为剧烈。而PD算法可用于伺服机械的控制。 比例带(PB) 比例带,即增益,表示一个与SP与PV间误差信号大小成比例的输出。在此范围中,输出功率以直线型方式可从0%到100%连续调节(单加热控制)。下图中,在比例带范围之下,输出全开(100%),在比例带范围之上,输出全关(0%)。 比例带宽度决定误差响应大小。如果比例带过窄(高增益),系统会发生振荡,反应过激。如果比例带过宽(低增益),则系统就会变得迟钝。当比例带在不导致振荡的情况下尽可能窄最佳。 图中也显示出了比例带变窄对于振荡点的影响。宽比例带导致直线控制,但在设定点和实际温度间存在可感知的初始误差。随着比例带变窄,温度越来越接近设定点直到最后变得不稳定。 比例带可以按照工程单位定,也可以按照跨度的百分比来定(量程高-量程低)。因为易于使用,建议使用工程单位 -- 例如温度C,目前默认参数都是以工程单位设定。
积分项(TI) 在仅使用比例项的控制中,设定点和PV之间必须存在一个误差,以驱动控制算法。引入积分项可以将此误差缩减为零,以达到稳态控制。 对于设定点和测量值之间存在的误差,使用积分项可以缓慢修改输出电平。如果测量值低于设定点,积分项通过逐渐增加输出来减小误差。如果测量值高于设定点,积分项会逐渐减少输出,或增加冷却功率,以校正误差。 下图说明了引入积分项后的作用效果。 积分单元的测量通过时间来确定。积分时间常数越长,输出修改的越慢,响应越迟钝。积分时间常数过短则会导致过程过冲,还可能会导致振荡。可通过设置该项值为关闭(0)来禁用积分项,这种情况下需要打开手动复位。 微分项(TD) 微分可在误差发生快速变化时为输出增加大幅变化。如果测量值降低很快,使用微分可以将输出变化也变大,使得在测量值降得过低前校正扰动。从小微扰动中恢复最有益。
微分项控制输出,减少误差的变化率影响。结果是输出变化,PV量也变化,消除瞬态影响。增加微分时间将降低回路对于瞬态变化的稳定时间。 微分通常被错误地和过冲抑制而非瞬态响应关联。实际上,微分不应该用于抑制系统在启动时的过冲,因为这将影响到系统的稳态性能。过冲抑制最好方法是通过控制参数、高低削减实现。 微分通常用于增加回路的稳定性,不过,也有一些情况使用微分会导致系统不稳定。 例如,如果PV有电气噪音,则微分会增强这些噪音,并导致输出变化过多,在这些情况中,通常禁用微分和重新调谐回路会比较好。 设置微分时间为0可停用微分项。
自整定 自整定时,控制器根据系统的热响应,自动选择PID参数进行最优控制。尽管这些值通常不能提供最优控制。PID值可以自动调整或手动调整。当自整定启动时,当前设定点用于计算整定设定点。控制器将忽略所有设定点的变化,直到调整过程完成。例如,如果自整定启动前设定点设置为180°,启动自整定后,然后切换设定点为200°,则自整定功能利用180°进行整定。在某些场合,减少自整定的SP可以防止整定过程中过大的过冲量。 自整定根据系统的响应计算最佳加热和/或冷却PID参数设置。无论STC自校正是否启用,都可以启用自整定。由自整定产生的PID参数将被使用,直到自整定功能重新运行,手动调整PID值或启用专家在线自适应算法(STC)。如果在120分钟内无法完成自整定,则自整定超时,原有设置生效。温度必须跨越自动调谐设定点五次才能完成自整定过程。一旦完成,控制器控制在正常设定点,使用新的参数。 CT-TUNE 自适应算法 CT-TUNE自适应算法是一种内置的专家在线参数自校正算法,可在线优化advPID功能块的PID值,提高对动态过程的控制效果。CT-TUNE监控过程值并自动调整控制参数,以在设定值和负载变化期间保持过程值(PV)处于设定值(SV)。当处于自适应控制模式时,advPID功能块确定适当的输出信号,并随着时间的推移调整控制参数以优化响应性和稳定性。 最佳的使用方法是先建立初始控制PID参数,再使用自适应模式微调。或者先将控制模式设置为自整定,使用整定完成后的参数继续使用自适应模式微调。先设置PID参数的初始值,然后切换到自适应模式,微调PID参数。 在一种极少遇到的场景中(高频率的大幅度PV值变化),可能会导致CT-TUNE不运行,此时可以尝试将控制字bit14置1,增加CT-TUNE计算带宽。 注:此算法仅在标准PID算法模式下有效
|