图5.1新建项目
2:创建一个新画面 3:动画连接
所谓动画连接,就是建立画面的图素与数据库变量的对应关系,建立动画连接后,根据数据库中变量的变化,图形对象可以按动画连接的要求进行改变。建立动画连接的基本步骤:1.创建或选择连接对象;2.双击与变量相关的图形对象,弹出动画连接对话框;3.选择对象想要进行的连接;4.为链接定义输入详细资料。 4:最终的组态画面
系统主界面如下图5.2所示:
11
图5.2 温度单回路控制系统组态图
6 组态程序设计
6.1 PID 控制算法
PID是一种工业控制过程中应用较为广泛的一种控制算法,它具有原理简单,易于实现,稳定性好,适用范围广,控制参数易于整定等优点。PID控制不需了解被控对象的数学模型,只要根据经验调整控制器参数 ,便可获得满意的结果。其不足之处是对被控参数的变化比较敏感。但是通过软件编程方法实现PID控制 ,可以灵活地调整参数。
连续PID控制器也称比例-积分-微分控制器,即过程控制是按误差的比例(P-ProportionAl)、积分(I-IntegrAl)和微分(D-DerivAtive)对系统进行控制。
它的控制规律的数学模型如下:
?1u?t??kp?e?t??TI?
?t0e?t?dt?Tdde?t???dt?
式中,e(t):调节器输入函数,即给定量与输出量的偏u(t):调节器输出函数。
将式展开,调节器输出函数可分成比例部分、积分部分和微分部分,它们分
12
别是:
比例部分:比例部分的数学表达式是kpe?t?,p在比例部分中,Kp是比例系数,
Kp越大,可以使系统的过渡过程越快,迅速消除静误差;但Kp过大,易使系统超调,产生振荡,导致不稳定。因此,此比例系数应选择合适,才能达到使系统
的过渡过程时间短而稳定的效果。 积分部分:积分部分的数学表达式是
KPTI?e?t?dt从它的数学表达式可以看
0t出,要是系统误差存在,控制作用就会不断增加或减少,只有e(t)=0时,它的积分才是一个不变的常数,控制作用也就不会改变,积分部分的作用是消除系统误差。积分时间常数TI的选择对积分部分的作用影响很大。TI较大,积分作用较弱,这时,系统消除误差所需的时间会加长,调节过程慢;TI较小,积分作用增强,这时可能使系统过渡过程产生振荡,但可以较快地消除误差。 微分部分:
微分部分的数学表达式是位置式PID控制算法 kpde?t?TDd?t?P.
?t0u?K?1?e?TI?edt?TDde???u0dt?
13
6.2 PID控制算法流程图
取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)做乘法 输出u(k) 取a2 , e(k-2)做乘法 数据传送:u(k)→u(k-1) 做a2e(k-2)减a1e(k-1) 数据传送:e(k)→e(k-1) e(k-1) →e(k-2)
图6.1 PID控制算法流程图
6.3 PID脚本程序
启动时: Ts=20; I= Ti/ Ts; D= Td/ Ts; ukp=0; uk1=0; ek1=0; ek11=0; ek12=0; 运行期间:
14
if( 自动开关==1) { Ts=15; I= Ti/ Ts; D= Td/ Ts;
a0= P*(1+1/ I+ D); a1= P*(1+2* D); a2= P* D; ek1= sp- 温度;
ukp= a0* ek1- a1* ek11+ a2* ek12+ uk11; uk11= ukp; ek12= ek11; ek11= ek1; if( ukp<1000) {
if( ukp<0) { uk1=0; }
else{ uk1= ukp; } }
else{ uk1=1000;} } 关闭时: ukp=0; uk1=0; ek1=0; ek11=0; ek12=0;
15