图5.1 界面设计
5.1.2 主程序设计
Private Sub Timer2_Timer()
SP = Text1.Text
PB = Text2.Text / 100
Ti = Text3.Text
Td = Text4.Text
ek2 = ek1
ek1 = ek0
Text2.Text = PV
ek0 = SP - PV
Suk0 = PB * (ek0 - ek1) + PB / Ti * ek0 + PB * Td * (ek0 - 2 * ek1 + ek2)
uk1 = uk0
uk0 = Suk0 + uk1
If uk0 > 4095 Then
uk0 = 4095
End If
If uk0 < 0 Then
uk0 = 0
End If
End Sub
上段为PID算法的程序,实现了对储罐内气体的压力控制,设置了输入量,测量值,通过增量式PID算法,对压力进行控制。(完整程序见附录一)
图5.2 运行界面
5.1.3 输入输出模块设计 教育科研工作计划
输入输出模块程序见附录一,AD、DA程序。
5.2 程序调试本文来自优&文*论~文'网,毕业论文 www.youerw.com 加7位QQ324,9114找源文
调试是对程序的验证工作,相当的重要,对程序的调试基本就是对PID参数的整定,让控制系统尽量趋于稳定,不断的调节PID参数,使得历史曲线保持相对的平缓,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0,使PID为纯比例调节。输入设定为系统允许的最大值的60%~70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。比例增益P调试完成。比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。积分时间常数Ti调试完成。 微分时间常数Td一般不用设定,为0即可。若要设定,与确定 P和Ti的方法相同,取不振荡时的30%。再对PID参数进行微调,直至满足要求。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9]