首页 理论教育使用PID回路控制进行精准指令控制

使用PID回路控制进行精准指令控制

【摘要】:表1-30 采样周期的经验数据3.PID回路控制指令S7-200的PID指令没有设置控制方式,执行PID指令时为自动方式;不执行PID指令时为手动方式。PID指令的功能是进行PID运算。当PID指令的允许输入EN有效时,即进行手动/自动控制切换,开始执行PID指令。在一个应用程序中,最多可以使用8个PID控制回路,一个PID控制回路只能使用1条PID指令,不同的PID指令不能使用相同的回路编号。

过程控制中,经常涉及模拟量的控制,如温度、压力和流量控制等。为了使控制系统稳定准确,要对模拟量进行采样检测,形成闭环控制系统。检测的对象是被控物理量的实际数值,也称为过程变量;用户设定的调节目标值,也称为给定值。控制系统对过程变量与给定值的差值进行PID运算,根据运算结果,形成对模拟量的控制作用。

PID即比例/积分/微分,在闭环控制系统中,PID调节器的控制作用是使系统在稳定的前提下,偏差量最小,并自动消除各种因素对控制效果的扰动。

1.PID回路表

在S7-200中,通过PID回路指令来处理模拟量是非常方便的,PID功能的核心是PID指令。PID指令需要为其指定一个以V变量存储区地址开始的PID回路表、PID回路号。PID回路表提供了给定和反馈,以及PID参数等数据入口,PID运算的结果也在回路表输出,见表1-29。

1-29 PID指令回路表

978-7-111-59315-7-Chapter01-65.jpg

PID回路有两个输入量,即给定值(SP)与过程变量(PV)。给定值通常是固定的值,过程变量是经A-D转换和计算后得到的被控量的实测值。给定值与过程变量都是现实存在的值,对于不同的系统,它们的大小、范围与工程单位有很大的区别。在回路表中它们只能被PID指令读取,而不能改写。PID指令对这些量进行运算之前,还要进行标准化转换。每次完成PID运算后,都要更新回路表内的输出值Mn,它被限制在0.0~1.0之间。从手动控制切换到PID自动控制方式时,回路表中的输出值可以用来初始化输出值。

增益Kc是正时为正作用回路,反之为反作用回路。如果不想要比例作用,应将回路增益Kc设为0.0,对于增益为0.0的积分或微分控制,如果积分或微分时间为正,则为正作用回路,反之为反作用回路。

如果使用积分控制,上一次的积分值MX(积分和)要根据PID运算的结果来更新,更新后的数值作为下一次运算的输入。MX也应限制在0.0~1.0之间,每次PID运算结束时,将MX写入回路表,供下一次PID运算使用。

2.PID参数的整定方法

为执行PID指令,要对某些参数进行初始化设置,也可称为整定,参数整定对控制效果的影响非常大,PID控制器有4个主要的参数TsKcTITD需要整定。

在P、I、D这三种控制作用中,比例(P)部分与误差在时间上是一致的,只要误差一出现,比例部分就能及时地产生与误差成正比的调节作用,具有调节及时的特点。比例系数Kc越大,比例调节作用越强,但过大会使系统的输出量振荡加剧,稳定性降低。

积分(I)部分与误差的大小和误差的历史情况都有关系,只要误差不为零,控制器的输出就会因积分作用而不断变化,一直要到误差消失,系统处于稳定状态时,积分部分才不再变化,因此积分部分可以消除稳态误差,提高控制精度。但是积分作用的动作缓慢,滞后性强,可能给系统的动态稳定性带来不良影响。积分时间常数TI增大时,积分作用减弱,系统的动态稳定性可能有所改善,但是消除稳态误差的速度减慢。

微分(D)部分反映了被控量变化的趋势,微分部分根据它提前给出较大的调节作用。它较比例调节更为及时,所以微分部分具有超前和预测的特点。微分时间常数TD增大时,可能会使超调量减小,动态性能得到改善,但是抑制高频干扰的能力下降。如果TD过大,系统输出量可能出现频率较高的振荡。

为使采样值能及时反映模拟量的变化,Ts越小越好。但是Ts太小会增加CPU的运算工作量,相邻两次采样的差值几乎没有什么变化,所以也不宜将Ts取得过小。表1-30给出了过程控制中采样周期的经验数据。

1-30 采样周期的经验数据

978-7-111-59315-7-Chapter01-66.jpg

3.PID回路控制指令

S7-200的PID指令没有设置控制方式,执行PID指令时为自动方式;不执行PID指令时为手动方式。PID指令的功能是进行PID运算。

当PID指令的允许输入EN有效时,即进行手动/自动控制切换,开始执行PID指令。为了保证在切换过程中无扰动、无冲击,在转换前必须把当前的手动控制输出值写入回路表的参数Mn,并对回路表内的值进行下列操作:

1)使SPn(给定值)=PVn(过程变量)。

2)使PVn-1(前一次过程变量)=PVn(过程变量的当前值)。

3)使MX(积分和)=Mn(输出值)。

在图1-30中,PID指令以功能框的形式编程,指令名称为PID。在功能框中有两个数据输入端:TBL是回路表的起始地址,是由变量寄存器VB指定的字节型数据;LOOP是回路的编号,是0~7的常数。当允许输入EN有效时,根据PID回路表中的输入信息和组态信息,进行PID运算。在一个应用程序中,最多可以使用8个PID控制回路,一个PID控制回路只能使用1条PID指令,不同的PID指令不能使用相同的回路编号。

978-7-111-59315-7-Chapter01-67.jpg

图1-30 PID指令