一、新建一个数据类型为PID的标签,名为Test、P101_PV……如下图:
二、下边为我编的一个程序截图,可以让PID指令周期性执行,你可以根据你的工艺情况设定时间,当然也可以不要,不要的话就是连续型(周期时间可以设定,一般不能小于扫描时间-20ms)任务,即PID指令不停的扫描输出。根据我对你星期五的叙述,我觉得你们的设计可以有点问题,因为通过阀门一般是调节气量的,因为里边是静压。所以阀门应该一直开到最大,执行机构应该是空压机的油门大小。。。。。。
三、配置PID参数
1、块界面参数配置
Prosess Variable 指定过程变量,一般为模拟量输入,在这里也就是你压力变送器读来的过程值,已经转换好的工程量。比如0.3Bar 记好数据类型为浮点型。在这里你可以将变量输入PID块里。
Tieback 指定手动控制站手动控制跟随变量,一般为模拟量输入,即这个变量为PID手动跟随变量,与输出有关,比如阀门开度设定等。
Control Variable 指定PID控制变量,在这里应该是对应你的AO,也就是你的阀门开度的通道变量,我在这里给你建了的V101_SP,你可以把这个变量和硬件地址对应起来。在这里你可以将变量输入PID块里。
PID Master Loop 这个与串级PID有关系,也就是多个PID串路,这里你可以默认。
Inhold Bit 这个决定输出初始值是否保持在上次的终值,这个位可以实现启动的平滑过渡,即PID运行后,输出的初始值有关。
Inhold Value 输出初始值保持在上一次的终值上
SetPoint 给定量SP的显示值。如下图,你可以通过一个浮点型变量将设定值给PID的这个变量,这样你就在线可以看到你的设定值。在线监控方便。
Process Variable 过程变量PV的显示值,目的为在线监控方便。
Output% 控制变量CV的百分比显示值,这里会显示经过PID计算后给定阀门开度。比如4-20ma对应阀门开度0-100.
2、Tuning 界面参数配置如下图
上边Setpoint(SP)、Set output、Output Bias、Manual、Software Muaual在这里可以直接配置,不过一般用变量比较方便,因为一般调试都会通过上位机对应变量调试比较方便,比如你可以在Setpoint(SP)这里输入0.3与我上边程序里的直接对应变量赋值结果是一样的,你在建的PID数据类型里可以查看与PID块相关的所有变量,而且可以读写。
下边这三个参数我就不用介绍了,是比例、积分、微分,一般没有滞后的话,微分默认为0.前边两个参数先调比例,因为比例与偏差大小相关,比例值设的约大,会根据偏差放大,也就是说输出幅度会大,这个参数调节平稳后。接下来再调积分参数,积分是时间参数,也就是积分项里的积分时间,也就是把比例调节后,平稳的波形偏差部分积分计算影响输出。
3、Configuration界面,如下图:
PID Equation PID控制模式 在这里我们选择独立增益,这里对应的是不同的微分方程的数学模型,独立增益; Output = Kp (E) + Ki∫(E)dt + Kd × d(E)/dt + Bias.增益: Output = Kc [ (E) + 1/Ti∫(E)dt + Td × d(PV)/dt ] + Bias
Control Action 控制方向,决定控制环的反馈极性,这里我们选择SP-PV,即负方向,有的系统叫反比例。
Derivative of 微分对象选择,对PV进行微分,减少SP给定引起的冲击,对偏差微分,获得对SP变化量的快速响应。
Loop Update Time 回路更新时间,不能为0或者负数,即PID运算周期时间,你可以根据工艺情况设定这个参数,或者在PID前加一个时间周期位都可以的,参考上边截图。
CV high limit 输出上限,至于%号与工程量有关系,后边会讲到。
CV Low limit 输出下限。
Deadband Value 死区值,PID会根据你这里设定的死区值,决定在这个范围,不输出变化。
4、Alarms
你可以根据你情况配置
5、定标,如下图
Process Variable 关于过程变量
Unscaled max:模拟量模块输入通道的最大定标值,即模拟量模块中的工程定标定标最大值。如下图:也就是20ma对应的那个工程最大值,比如你是100kpa,你就填100.
Unscaled min:模拟量模块输入通道的最小定标值,即模拟量模块中的工程定标定标最小值。同上图所示。
Engineering Unit Max :PV在PID中再次标定的工程定标最大值,比如你是1bar,你就就设1,或者100,对应100KPA即可。
Engineering Unit Min:与上类似。
Control Variable 关于控制变量
Max(at 100%):控制变量最大值,PID计算结果。百分比最大值所对应的模拟量模块输出通道的工程定标最大值。因为你是阀门,一般习惯为100,你直接设100即可。
Min (at 0%):控制变量最小值,PID计算结果。百分比最大值所对应的模拟量模块输出通道的工程定标最小值。
Tieback 关于手动控制跟踪变量,这里你可以填和CV一样。
补充一下,你刚谈到的初始值问题,你先把PID调节原理看下,网上资料很多的。然后你应该通过监控可以看到流量值的,比如你现在的流量是800,你的PID块还没有运行,你可以先看下阀门开度是多少,比如是45%,你这个时候通过阀门输出上下限解决这个问题,也就是你块的配置画面里将上下限设为46-44,然后慢慢再设PID参数,然后再增大上下限区间。。。。。。。