
摘 要:介紹了在VisualBasic6.0環境下實現數據處理的方法,數據處理是試驗臺控制系統一個重要組成部分,數據處理的準確與否直接關系到試驗結果的可靠性和精度。
關鍵詞:VisualBasic6.0;數據處理;試驗臺
DOI:10.16640/j.cnki.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 間隔<200ms 換檔力力有效確定
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 結束語
Visual Basic語言編程簡單便捷,該數據分析軟件操作靈活方便,極大地方便了用戶對試驗數據進行分析處理。
參考文獻:
[1] 黃津津.Visual Basic程序設計[M].2010(02):150-223.
[2] 臧懷泉.汽車變速器試驗臺監控系統的設計[J].2008(10).
作者簡介:陳立秀(1985-),女,碩士,研究方向:電氣工程及其自動化,電工理論與新技術,汽車電子。