软件课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档