取sp , pv形成偏差e(k) 做a2e(k-2)-a1e(k-1)+ a0e(k) 取a0 , e(k)做乘法 做a2e(k-2)-a1e(k-1)+ a0e(k)+u(k-1) 取a1 , e(k-1)做乘法 取a2 , e(k-2)做乘法 输出u(k) 数据传送:u(k)→u(k-1) 做a2e(k-2)减a1e(k-1) 数据传送:e(k)→e(k-1) e(k-1) →e(k-2) 图4.4 PID算法流程图
本系统采用PID位臵控制算式,其控制算式如下:
u (k ) = u (k - 1) + K P (1 + T /Tt + TD/T)e(k )- K P (1 +2TD/T )e(k - 1) + K P* TD /Te(k - 2)
= u (k -1) + a0 e(k ) - a1e(k - 1) + a2 e(k - 2) a0= K P (1 + T/Tt+TD/T) a1=KP(1+2TD/T) a2= K P* TD/T
算式中,Kp 为比例系数,Ti 为积分时间,Td 为微分时间,以 u(k)作为计算 机的当前输出值,以 Kc*PV 作为给定值,PV2 作为反馈值即 AD 设备的转换值, e(k)作为偏差。
12
具体程序如下 启动时 T=1; TI=Ti/T; D=Td/T; U(k)=0; ek0=0; ek1=0; ek2=0;
Sp=0; ShowPicture(\开机画面\运行时:
if(自动开关 == 1) { T=1; Gmax=100; P=Kp; TI=Ti/T; D=Td/T;
q01=P*(1+1/TI+D); q02=P*(1+2*D); q03=P*D; ek0=Kc*PV-PV2;
U(k)=q01*ek0-q02*ek1+q03*ek2+U(k0); U(k0)=U(k);
13
ek2=ek1; ek1=ek0; Sp=设定值*0.4+4;
A 流量测量值=( PV-1 )/4*Gmax; B 流量测量值=( PV2-1 )/4*Gmax; B 阀门开度=( U(k)-1)/4*Gmax; } 停止时 U(k)=0; Sp=0; ek0=0; ek1=0; ek2=0; 5.4动画连接
图 4.5 动画连接图
当系统启动后,进入主界面,设定好参数后,进入自动状态。画面
14
中的管道模拟液体的流动,它是与电动调节阀相关联的,只要电动调节阀是有开度的,管道就能模拟液体的流动。方块中的值为系统的相应实时值,它们分别与流量测量值、阀门开度相关联。矩形条中填充的红色反应电动调节阀的开度,它与方块中的值是相对应的,能比较直观的反应阀门的开度。
6.调试
15
在软件设计过程中,变量定义比较有难度,在跟老师交流后,经查找资料找到了变量定义方法,最后顺利完成变量定义。
调试开始时,观察不到现象,怀疑是管道跟液体颜色定义有问题,后来将管道颜色定义为绿色,将液体定义为黑色,在运行时就明显观察到液体的流动,至此,实验成功。
单闭环流量比值控制系统在实际生产中应用十分广泛,它能使系统稳定,精确地输出,更能实现自动化控制,是过程控制系统的一个典型。本设计针对生产中两种液体的混合的控制, 对其设计了单闭环流量比值控制系统, 将硫化钠溶液作为主流量, 氧化铜溶液为副流量进行设计,设计中用到了多个硬件设备,并基于计算机实现过程的自动控制。
7.心得体会
16