软件课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件课程设计报告自动化0904 张諝090901228
1.目的
通过本课程设计实习,使学生在下列方面有所了解和提高:
1、掌握Visual Basic进行程序设计的基本思路和方法
2、能利用Visual Basic编程实现简单的任务
3、结合控制系统理论用VB进行计算机控制仿真
2.设计内容
1、对一阶系统实现PID算法控制并进行仿真,具体功能如下:
1)基本要求:实现PID算法和一阶系统差分方程仿真,PID算法中的四个参数和一阶系统的参数都可以通过菜单进行设定,系统对阶越函数的响应以图形方式实时显示在窗口中。
2)附加功能:将系统的时间响应数据保存到数据库中,具体应包括下列属性:时间,输出值。将系统的历史响应重现。使用Teechart控件作为显示输出。
3.要求
1、上机实习期间严格教学次序,不迟到,不早退,不无故缺席。
2、严格遵守机房规章制度。
3、上机前做好预习,提高上机效率。
4、完成实习报告。实习报告书写整洁,条理清楚。
4. 计划进度
整个课程设计总共一周,时间分配如下:
1、熟悉了解Visual Basic,主要包括VB语言、界面设计、绘图功能、数据库访问技术、
ActiveX控件的注册和使用。
2、回顾控制系统原理中的PID算法及PID算法的数字化。
3、实现PID算法对一阶系统的控制并显示系统的时间响应。
4、将系统的时间响应数据存储到数据库中,然后重现整个响应。
五.实验基本思想与数学实现
1、数字PID 及其算法
在模拟系统中,PID 算法的表达式为
])()(1)([)(⎰++=dt
t de T dt t e T t e K t P D I P (1) 式中 P(t):调节器的输出信号
e(t):调节器的偏差信号,等于测量值与给定值之差
P K :调节器的比例系数
I T :调节器的积分时间
D T :调节器的微分时间
由于计算机控制是一种采样控制,只能根据采样时刻的偏差来计算控制量。因此,在计算机控制系统中,必须对式(1)进行离散化处理,用数字形式的差分方程代替连续系统的微分方程,此时积分项和微分项可用求和及增量式表示:
∑⎰∑===∆=n
j n
n j j E T t j E dt t e 000)()()( (2) T
k E k E t k E k E dt t de )1()()1()()(--=∆--≈ (3) 将式(2)、(3)代入式(1),则可得到离散的PID 表达式:
})]1()([)()({)(0∑=--++=k j D I P k E k E T
T j E T T k E K k P (4) 式中T t =∆:采样周期,必须使T 足够小,才能保证系统有一定的精度;
)(k E :第k 次采样时的偏差值;
)1(-k E :第(k -1)次采样时的偏差值;
k :采样序号,,...2,1,0=k )(k P :第k 次采样时调节器的输出
由于(4)的输出值与阀门开度的位置一一对应,因此,通常把(4)称为位置型PID 的位置控制算式。
由(4)可以看出,要想计算)(k P ,不仅需要本次与上次的偏差信号)(k E 和)1(-k E ,而且还要在积分项中把历次的偏差信号)(j E 进行相加,即∑=k
j j E 0)(,这样,不仅计算繁琐,
而且为保存)(j E 还要占用很多内存。为此,作如下改动。
根据递推原理,可写出(k-1)次的PID 输出表达式:
)]}2()1([)()1({)(10---++-=∑-=k E k E T
T j E T T k E K k P D k j I
P (5) 用式(5)减去(4),可得: )]
2()1(2)([)()]1()([)1()(-+--++--+-=k E k E k E K k E K k E k E K k P k P D I P (6) 式中 I
P I T T K K =:积分系数 T T K K D P
D =:微分系数 式(6)称为增量式PID 控制算式。
增量型PID 算法的算式为:
)]2()1(2)([)()]1()([)(-+--++--=∆k E k E k E K k E K k E k E K k P D I P (7)
设
)]1()([)(--=∆k E k E K k P P P
)()(k E K k P I I =∆
)]2()1(2)([)(-+--=∆k E k E k E K k P D D
所以:
)()()()(k P k P k P k P D I P ∆+∆+∆=∆ (8)
2、 离散控制系统的数学描述
设系统为一阶惯性环节,系统的传递函数为:
1
1)()()(1+==
s T s X s Y s G 其微分方程为: )()()(1t x t y t y dt
d T =+ (9) 差分方程和微分方程在形式上有一定的相似之处,设时间间隔T 足够小,当nT t =时,可有:
T
nT y T n y dt t dy )(])1[()(-+≈ 于是式(9)可写成:
)()()(])1[(1nT x nT y T
nT y T n y T =+-+
经整理后,得:
)()()1(])1[(1
1nT x T T nT y T T T n y =-++ (10) 在T 足够小的条件下,微分方程(9)可以近似成差分方程(10),T 值越小,则近似得越好。
六.实验具体实现(本实验基于VB6.0平台)
1.对象窗口
2.代码窗口
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
1).Command1按钮所对应事件代码:
Private Sub Command1_Click()
On Error Resume Next
Dim x As Integer