1.PID控制器的优点
在工业生产中,一般用闭环控制方式来控制温度、压力、流量这一类连续变化的模拟量,使用得最多的是PID控制(即比例积分微分控制),这是因为PID控制具有以下优点:
(1)不需要被控对象的数学模型
大学的电类专业有一门课程叫做自动控制理论,它专门研究闭环控制的理论问题。这门课程的分析和设计方法主要建立在被控对象的线性定常数学模型的基础上。该模型忽略了实际系统中的非线性和时变性,与实际系统有较大的差距,实际上很难建立大多数被控对象较为准确的数学模型。此外自动控制理论主要采用频率法和根轨迹法来分析和设计系统,它们属于间接的研究方法。由于上述原因,自动控制理论中的控制器设计方法很少直接用于实际的工业控制。
PID控制采用完全不同的控制思路,它不需要被控对象的数学模型,通过调节控制器少量的参数就可以得到较为理想的控制效果。
(2)结构简单,容易实现
PLC厂家提供了实现PID控制功能的多种硬件软件产品,例如PID闭环控制模块、PID控制指令或PID控制函数块等,它们的使用简单方便,编程工作量少,只需要调节少量参数就可以获得较好的控制效果,各参数有明确的物理意义。
(3)有较强的灵活性和适应性
根据被控对象的具体情况,可以采用P、PI、PD和PID等方式,S7-1200/1500的PID指令采用了不完全微分PID和抗积分饱和等改进的控制算法。
(4)使用方便
TIA博途为S7-1200/1500的PID控制提供了图形组态界面,PID调试窗口用于参数调节,还支持PID参数自整定功能,可以自动计算PID参数的最佳调节值。
2.PID_Compact指令的结构
在指令列表的“工艺”窗格的“\PID控制\Compact PID”文件夹中,有3条指令,包括集成了调节功能的通用PID控制器指令PID_Compact,集成了阀门调节功能的PID控制器指令PID_3Step,以及温度PID控制器指令PID_Temp。
PID_Compact指令是对具有比例作用的执行器进行集成调节的PID控制器,具有抗积分饱和功能,并且能够对比例作用和微分作用进行加权运算。PID算法的计算公式为
式中,y为PID算法的输出值;KP为比例增益;b为比例作用权重;w为设定值;x为过程值;TI为积分作用时间;s为自动控制理论中的拉普拉斯运算符;TD为微分作用时间;a为微分延迟系数,微分延迟T1=aTD;c为微分作用权重。PID_Compact指令算法的方框图见图9-6,带抗积分饱和的PIDT1方框图见图9-7。
图9-6 PID_Compact指令算法方框图
图9-7 带抗积分饱和的PIDT1方框图(www.xing528.com)
S7-1200 CPU可提供16个PID控制器回路。
3.抗积分饱和
所谓的积分饱和现象是指如果PID控制系统误差的符号不变,PID控制器的输出y的绝对值由于积分作用的不断累加而增大,从而导致执行机构(例如电动调节阀)达到极限位置。若控制器输出y继续增大,执行器开度不可能再增大,此时PID控制器的输出量y超出了正常运行的范围而进入饱和区。一旦系统出现反向偏差,y逐渐从饱和区退出。进入饱和区越深则退出饱和区的时间越长。在这段时间里,执行机构仍然停留在极限位置,而不是随偏差反向立即做出相应的改变。因此系统处于失控状态,造成控制性能恶化,响应曲线的超调量增大。这种现象称为积分饱和现象。
防止积分饱和的方法之一就是抗积分饱和法,该方法的思路是在计算控制器输出y(n)时,首先判断上一时刻的控制器输出y(n-1)的绝对值是否已经超出了极限范围。如果y(n-1)大于上限值ymax,则只累加负偏差;如果y(n-1)小于下限值ymin,则只累加正偏差。从而避免了控制器输出长时间停留在饱和区造成的滞后的负面影响。
4.调用PID_Compact指令
生成名为“1200PID闭环控制”的新项目(见随书光盘中的同名例程),CPU的型号为CPU1214C。
调用PID_Compact的时间间隔称为采样时间,为了保证精确的采样时间,用固定的时间间隔执行PID指令,因此在循环中断OB中调用PID_Compact指令。
双击项目树的“程序块”文件夹中的“添加新块”,生成循环中断组织块OB30,设置其循环时间为300ms。将PID_Compact指令拖放到OB30中(见图9-8),对话框“调用选项”被打开。单击“确定”按钮,在“\程序块\系统块\程序资源”文件夹中生成名为“PID_Compact”的函数块。生成的背景数据块PID_DB(DB3)在项目树的“工艺对象”文件夹中。
图9-8O B30中的PID_Compact指令
5.PID_Compact指令的参数
单击指令框底部的和按钮,可以展开为详细参数显示或收缩为最小参数显示。
实数输入参数Setpoint和Input分别是控制器的设定值和过程值(即反馈值),Int型参数Input_PER是模拟量输入的过程值。
Output是实数型的PID输出值,Output_PER是Int型的模拟量输出值,Output_PWM是Bool型的PID脉宽调制输出值。可以同时使用这3个输出变量。
Int型输出State是PID当前的工作模式,其值为0~5时的工作模式分别为未激活、预调节、精确调节、自动模式、手动模式和带错误监视的替代输出值。在ModeActivate的上升沿,将切换到InOut参数Mode指定的工作模式。
Bool型输出参数Error为TRUE(1状态)表示在本周期内至少有一条错误消息处于未确认(未决)状态。DWord型输出ErrorBits中是处于未确认状态的错误消息。
在手动模式,PID_Compact使用ManualValue作为输入值。
PID_Compact指令的其他输入、输出参数和它的背景数据块中的静态参数的意义见该指令的在线帮助。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。