1、串级控制算法的研究串级控制算法的研究计算机控制技术计算机控制技术计算机控制技术计算机控制技术一、实验目的一、实验目的1 1熟悉串级控制系统的原理,结构特点;熟悉串级控制系统的原理,结构特点;2 2熟悉并掌握串级控制系统两个控制器参熟悉并掌握串级控制系统两个控制器参 数的整定方法。数的整定方法。二、实验设备二、实验设备1 1THBDCTHBDC-1 1型控制理论型控制理论 计算机控制技术实计算机控制技术实 验台验台2 2THBXDTHBXD数据采集卡一块数据采集卡一块(含含3737芯通信线、芯通信线、1616芯排线和芯排线和USBUSB电缆线各电缆线各1 1根根)3 3PCPC机机1 1台台(含
2、上位机软件含上位机软件“THBDCTHBDC-1 1”)三、实验内容三、实验内容1 1设计一个具有二阶被控对象的串级控制系设计一个具有二阶被控对象的串级控制系 统,并完成数统,并完成数-模混合仿真。模混合仿真。2 2学习用逐步逼近法整定串级控制系统所包学习用逐步逼近法整定串级控制系统所包 含的内,外两环中含的内,外两环中PIPI控制器的参数。控制器的参数。四、实验原理四、实验原理计算机串级控制系统的原理方框图如图计算机串级控制系统的原理方框图如图5 5-1 1所示:所示:?串级控制系统的主要特点是在结构上有两个闭环。位于里串级控制系统的主要特点是在结构上有两个闭环。位于里面的闭环称为副环或副回
3、路,它的给定值是主调节器的输面的闭环称为副环或副回路,它的给定值是主调节器的输出,即副回路的输出量紧跟随着主调节器的输出而变化。出,即副回路的输出量紧跟随着主调节器的输出而变化。副回路的主要作用是:一、能及时消除产生在副回路中的副回路的主要作用是:一、能及时消除产生在副回路中的各种扰动对主控参量的影响;二、增大了副对象的带宽,各种扰动对主控参量的影响;二、增大了副对象的带宽,从而加快了系统的响应。在外面的那个闭环称为主环或主从而加快了系统的响应。在外面的那个闭环称为主环或主回路,它的控制作用是不仅实现主控参量回路,它的控制作用是不仅实现主控参量c(tc(t)最终等于给最终等于给定值定值r(tr
4、(t),而且使,而且使c(tc(t)具有良好的动态性能。具有良好的动态性能。?图图5 5-1 1中信号的离散化是通过数据采集卡的采样开关来实现中信号的离散化是通过数据采集卡的采样开关来实现的,的,D1(Z)D1(Z)、D2(Z)D2(Z)是由计算机实现的数字调节器,而其控是由计算机实现的数字调节器,而其控制规律用得较多的通常是制规律用得较多的通常是PIDPID调节规律。调节规律。五、实验步骤五、实验步骤?1 1启动计算机,在桌面双击图标启动计算机,在桌面双击图标THBDCTHBDC-1 1,运行实验软件。,运行实验软件。?2 2点击工具栏上的点击工具栏上的“通道设置通道设置”,在弹出的对话框中
5、选中,在弹出的对话框中选中“双通道双通道”并选并选择相应的通道择相应的通道“1 1-2 2”,然后点击,然后点击“开始采集开始采集”按钮。按钮。?3 3根据图根据图5 5-1 1与与5 5-2 2,连接一个二阶被控对象闭环控制系统的模拟电,连接一个二阶被控对象闭环控制系统的模拟电路,并将该电路的路,并将该电路的u1u1输出点与数据采集卡的输入端输出点与数据采集卡的输入端AD1AD1相连,相连,u2u2输出输出点与数据采集卡的输入端点与数据采集卡的输入端AD2AD2相连,该电路的输入端则与数据采集卡相连,该电路的输入端则与数据采集卡的输出端的输出端DA1DA1相连。待检查电路接线无误后,相连。待
6、检查电路接线无误后,启动实验台的启动实验台的“电源开电源开关关”,并将锁零按钮处于,并将锁零按钮处于“不锁零不锁零”状态。状态。?4 4点击工具栏上的点击工具栏上的“脚本编辑器脚本编辑器”,在弹出的窗口中点击,在弹出的窗口中点击“打开打开”按钮。按钮。在在“计算机控制算法计算机控制算法”文件夹下选中文件夹下选中“串级控制实验串级控制实验”脚本程序并打开,阅脚本程序并打开,阅读、理解该程序,然后在读、理解该程序,然后在“脚本编辑器脚本编辑器”窗口上点击窗口上点击“运行运行”按钮,用示波按钮,用示波器观察图器观察图5 5-2 2中中u1 u1、u2u2输出端各自的响应曲线。然后用逐步逼近法输出端各
7、自的响应曲线。然后用逐步逼近法(参考本实验附录(参考本实验附录3 3的参数整定)整定串级控制系统的主调节器和副的参数整定)整定串级控制系统的主调节器和副调节器相应的调节器相应的P P、I I、DD参数。在整定过程中,注意观察参数的变化对参数。在整定过程中,注意观察参数的变化对系统动态性能的影响。系统动态性能的影响。?5 5实验结束后,关闭实验结束后,关闭“脚本编辑器脚本编辑器”窗口,并顺序点击对话框中的窗口,并顺序点击对话框中的“停停止采集止采集”与工具栏的与工具栏的“退出退出”按钮。按钮。六、实验报告要求六、实验报告要求?1 1绘出实验中二阶被控对象的模拟电路图。绘出实验中二阶被控对象的模拟
8、电路图。?2 2根据串级控制器的算法编写脚本程序。根据串级控制器的算法编写脚本程序。?3 3绘制实验中被控对象的输出波形。绘制实验中被控对象的输出波形。七、附录七、附录?1 1被控对象的传递函数及模拟电路被控对象的传递函数及模拟电路?被控对象的传递函数与模拟电路图如图被控对象的传递函数与模拟电路图如图5 5-2 2所示。所示。?其传递函数为其传递函数为:?2 2常规的常规的PIPI控制算法控制算法?常规的常规的PIPI控制律为控制律为?对于用一阶差分法离散后,可以得到常规数字对于用一阶差分法离散后,可以得到常规数字PIPI的控制算的控制算法法?这里这里P P、I I参数分别为参数分别为)12.
9、0)(15.0(5)(+=SSSG)(1)()(0+=tipdeTteKtu)()1()()1()(keIkekepkuku+=pKP=ipTTKI=?图图5 5-2 2 二阶受控对象的模拟电路图二阶受控对象的模拟电路图?实验电路参考单元:实验电路参考单元:U11U11、U13U13、U5U5?3 3逐步逼近整定法的整定步骤:逐步逼近整定法的整定步骤:?1)1)外环断开,把内环当作一个单闭环控制系统,并按单闭外环断开,把内环当作一个单闭环控制系统,并按单闭环控制系统的环控制系统的PIDPID控制器参数的整定方法,整定内环控制器参数的整定方法,整定内环PIDPID控控制器的参数。制器的参数。?2
10、)2)将内环将内环PIDPID控制器参数置于整定值上,闭合外环。如把控制器参数置于整定值上,闭合外环。如把内环当作外环中的一个等效环节,则外环又成为一个单闭内环当作外环中的一个等效环节,则外环又成为一个单闭环控制系统,再按单闭环控制系统的环控制系统,再按单闭环控制系统的PIDPID控制参数的整定控制参数的整定方法(如扩充响应曲线法),整定外环方法(如扩充响应曲线法),整定外环PIDPID控制器的参数。控制器的参数。?3)3)将外环将外环PIDPID控制参数置于整定值上,闭合外环,再按以控制参数置于整定值上,闭合外环,再按以上方法整定内环上方法整定内环PIDPID控制器的参数。至此,完成了一次逼
11、控制器的参数。至此,完成了一次逼近循环。如控制系统性能已满足要求,参数整定即告结束。近循环。如控制系统性能已满足要求,参数整定即告结束。否则,就回到步骤否则,就回到步骤2 2)。如此循环下去,逐步逼近,直到控)。如此循环下去,逐步逼近,直到控制系统的性能满足要求为止。制系统的性能满足要求为止。?4 4串级控制程序的编写与调试示例串级控制程序的编写与调试示例?dim pv1,sv1,ei1,ei1x,ei1xx,k1,ti1,td1,q10,q11,q12,op1dim pv1,sv1,ei1,ei1x,ei1xx,k1,ti1,td1,q10,q11,q12,op1 变量定义变量定义?dim
12、pv2,sv2,ei2,ei2x,ei2xx,k2,ti2,td2,q20,q21,q22,op2,Ts dim pv2,sv2,ei2,ei2x,ei2xx,k2,ti2,td2,q20,q21,q22,op2,Ts 变量定义变量定义?sub sub inputdatainputdata()()输入接口程序输入接口程序?pv1=myobject.inputdata1pv1=myobject.inputdata1?pv2=myobject.inputdata2 pv2=myobject.inputdata2 两个输入通道值两个输入通道值?end subend sub?sub main()sub
13、 main()主程序主程序?sv1=1.5 sv1=1.5 给定值给定值?k1=1.5k1=1.5?k2=2k2=2?ti1=8ti1=8?ti2=2ti2=2?td1=0 td1=0 k1k1、ti1ti1、td1td1主调节器的主调节器的PIDPID参数参数?td2=0 td2=0 k2k2、ti2ti2、td2td2副调节器的副调节器的PIDPID参数参数?Ts=0.1 Ts=0.1 采样时间采样时间?*主控制回路主控制回路*?ei1=sv1ei1=sv1-pv1pv1?if k1=0 and ti1=0 and td1=0 thenif k1=0 and ti1=0 and td1=0
14、 then?q10=0 q10=0 比例项比例项?q11=0 q11=0 积分项积分项?q12=0 q12=0 微分项微分项?end ifend if?if k10 and ti10 then if k10 and ti10 then?q10=k1*(ei1q10=k1*(ei1-ei1x)ei1x)?q11=k1*Ts*ei1/ti1q11=k1*Ts*ei1/ti1?q12=k1*td1*(ei1q12=k1*td1*(ei1-2*ei1x+ei1xx)/Ts2*ei1x+ei1xx)/Ts?end ifend if?if ti1=0 then if ti1=0 then?q10=K1*(
15、ei1q10=K1*(ei1-ei1x)ei1x)?q11=0q11=0?q12=k1*td1*(ei1q12=k1*td1*(ei1-2*ei1x+ei1xx)/Ts2*ei1x+ei1xx)/Ts?end ifend if?ei1xx=ei1xei1xx=ei1x?ei1x=ei1ei1x=ei1?op1=op1+q10+q11+q12op1=op1+q10+q11+q12?IF op1=IF op1=5 then if op1=5 then 对主调节器的输出值进行限幅对主调节器的输出值进行限幅?op1=5op1=5?end ifend if?*副控制回路副控制回路*?sv2=op1 sv
16、2=op1 主调节器的输出作为副调节器的给定值主调节器的输出作为副调节器的给定值?ei2=sv2ei2=sv2-pv2pv2?if k2=0 and ti2=0 and td2=0 thenif k2=0 and ti2=0 and td2=0 then?q20=0q20=0?q21=0q21=0?q22=0q22=0?end if end if?if k20 and ti20 then if k20 and ti20 then?q20=k2*(ei2q20=k2*(ei2-ei2x)ei2x)?q21=k2*Ts*ei2/ti2q21=k2*Ts*ei2/ti2?q22=k2*td2*(ei
17、2q22=k2*td2*(ei2-2*ei2x+ei2xx)/Ts2*ei2x+ei2xx)/Ts?end ifend if?if ti2=0 then if ti2=0 then?q20=K2*(ei2q20=K2*(ei2-ei2x)ei2x)?q21=0q21=0?q22=k2*td2*(ei2q22=k2*td2*(ei2-2*ei2x+ei2xx)/Ts2*ei2x+ei2xx)/Ts?end ifend if?ei2xx=ei2xei2xx=ei2x?ei2x=ei2ei2x=ei2?op2=op2+q20+q21+q22op2=op2+q20+q21+q22?IF op2=IF op2=5 thenif op2=5 then?op2=5op2=5?end if end if 输出限幅输出限幅?end subend sub?sub sub outputdataoutputdata()()输出接口程序输出接口程序?myobject.outputdata1=op2 myobject.outputdata1=op2 输出值给输出值给DA1DA1通道通道?end subend sub