首页 > 范文大全 > 正文

基于Visual Basic的试验数据处理

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Visual Basic的试验数据处理范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:介绍了在VisualBasic6.0环境下实现数据处理的方法,数据处理是试验台控制系统一个重要组成部分,数据处理的准确与否直接关系到试验结果的可靠性和精度。

关键词:VisualBasic6.0;数据处理;试验台

DOI:10.16640/ki.37-1222/t.2017.13.016

目前国内大部分汽车零部件试验台人机界面友好性欠佳,测试过程及结果分析主要依靠试验工作人员的经验,精度不高,使用不方便。本汽车零部件试验台软件,根据汽车行业标准,设计了几种数据分析方法,既方便用户分析数据,同时使试验数据更直观。

软件基于Microsoft visual basic 6.0软件,使用Visual Basic语言编程,主要应用于汽车零部件性能检验试验台,可实时监控试验过程,实现试验数据自动存储,自动打印等功能,同时对试验数据进行分析,从而给出准确的试验结果。

1 试验台软件流程图设计

汽车零部件试验台系统利用PLC及工业控制计算机完成各类信号的采集、管理、监控。上位机监控界面可实时显示监控参数、显示报警记录和打印表格曲线等功能。

试验数据存储为二进制文件,大大减少占用计算机硬盘空间,同时,试验数据可以导出为excel格式,方便数据共享。存储信息保存到数据库中,方便用户按照不同条件查询数据。

试验数据查询,按照用户设置查询条件,在数据库中检索,如型号,编码,检验员,试验日期,试验开始时间等,可以实现模糊查询。

试验数据分析,主要是将试验存数的曲线数据进行分析、计算,找到用户测试的数据,或对曲线进行各种操作,方便用户分析零部件故障。

2 试验台软件功能实现

2.1 各档位换档力的查找

由于换档机构的特殊机械结构,所以在换档过程中最大的换档力并不是真正的换档力,真正的换档力为在最大换档力前,换档力上升斜坡的某一个力的小锯齿顶点或者力保持不变的一个值。

Public Sub Force_C()

Tr(Cr_i) = Crave(Cr_jl(Cr_i) + 50).Force(Cra_i)

'最后波峰延时500ms看换档力是否回初始

If Tr(Cr_i) > Abs(F_b) + 20 Then

Form1.T_Fmax.Text = 0

'换档力力未回初始,换档力无效

Cr_i = -1

End If

If Cr_i > 0 Then

'大于1个波峰,判断 最后波峰 最后波谷-1

'最后波峰-1 间隔

If ((Cr_jl(Cr_i) - Cr_jl(Cr_i - 1)) < 30) And _

((Cr_jl(Cr_i - 1) - Tr_jl(Cr_i - 1)) < 30) Then

Form1.T_Fmax.Text = Cr(Cr_i - 1)

Else

Form1.T_Fmax.Text = Cr(Cr_i)

'未满足判断条件,认定最后波峰即换档力

End If

ElseIf Cr_i = 0 Then

'1个波峰,该波峰即换档力

Form1.T_Fmax.Text = Cr(0)

End If

End Sub

2.2 曲线操作

试验结束后,曲线存储在计算机中,查询后,用鼠标拖动控件框选要显示的曲线,可以实现曲线无极放大,同时可以实现曲线平移(左、右、上、下),撤销操作或者重复撤销的操作。对曲线的操作可以方便用户分析故障点的数据,进而分析零部件的问题所在。主要操作vb中的PictureBox控件,改变控件的Scale属性,以达到放大、缩小、平移曲线的目的,以重复和左移曲线为例,程序如下。

If Amp_i(Ci) < zi_max Then 'repeat

Amp_i(Ci) = Amp_i(Ci) + 1

Amp_ZB_0

End If

If A_cs(Amp_i(Ci)).frX(Ci) > 0 Then 'left

Amp_i(Ci) = Amp_i(Ci) + 1

A_cs(Amp_i(Ci)).frY(Ci)=A_cs(Amp_i(Ci)-1).frY(Ci)

A_cs(Amp_i(Ci)).neY(Ci)=A_cs(Amp_i(Ci)-1).neY(Ci)

If (A_cs(Amp_i(Ci)-1).frX(Ci)-DeiTx/10) > 0 Then

A_cs(Amp_i(Ci)).frX(Ci) = Int(A_cs(Amp_i(Ci) _

- 1).frX(Ci) - DeiTx / 10)

A_cs(Amp_i(Ci)).neX(Ci) = Int(A_cs(Amp_i(Ci) _

- 1).neX(Ci) - DeiTx / 10)

Else

A_cs(Amp_i(Ci)).frX(Ci) = 0

A_cs(Amp_i(Ci)).neX(Ci) = Int(A_cs(Amp_i(Ci) _

- 1).neX(Ci) - A_cs(Amp_i(Ci) - 1).frX(Ci))

End If

Amp_ZB_0

End If

Private Sub Amp_ZB_0()

Fr_X = Amp_cs(Amp_i(Ci)).frX(Ci)

Ne_X = Amp_cs(Amp_i(Ci)).neX(Ci)

Fr_Y = Amp_cs(Amp_i(Ci)).frY(Ci)

Ne_Y = Amp_cs(Amp_i(Ci)).neY(Ci)

Pict1.Scale (Fr_X, Fr_Y)-(Ne_X, Ne_Y)

End Sub

3 Y束语

Visual Basic语言编程简单便捷,该数据分析软件操作灵活方便,极大地方便了用户对试验数据进行分析处理。

参考文献:

[1] 黄津津.Visual Basic程序设计[M].2010(02):150-223.

[2] 臧怀泉.汽车变速器试验台监控系统的设计[J].2008(10).

作者简介:陈立秀(1985-),女,硕士,研究方向:电气工程及其自动化,电工理论与新技术,汽车电子。