張正舵 段曉飛 牛亮
摘要:某型空空導(dǎo)彈靜態(tài)電阻測試儀主要用于該型產(chǎn)品彈和訓(xùn)練彈上多個(gè)插頭電阻的靜態(tài)測試。隨著MES系統(tǒng)項(xiàng)目的推進(jìn),對該測試設(shè)備的軟件部分提出了改造要求。通過基于LabWindows/CVI語言和數(shù)據(jù)庫技術(shù)的軟件編程設(shè)計(jì),將軟件測試數(shù)據(jù)存儲(chǔ)在本地Access數(shù)據(jù)庫中,通過軟硬件調(diào)試,對測試設(shè)備空載測試和連接工藝產(chǎn)品測試兩種狀態(tài)下的插頭電阻進(jìn)行靜態(tài)測試和驗(yàn)證,測試結(jié)果表明該測試儀的軟件改造后能夠?qū)崿F(xiàn)測試數(shù)據(jù)的采集、存儲(chǔ)以及與MES系統(tǒng)的連接通信,達(dá)到數(shù)據(jù)采集改造的要求。
關(guān)鍵詞:靜態(tài)電阻測試儀;LabWindows/CVI語言;Access數(shù)據(jù)庫;數(shù)據(jù)采集
Keywords: static resistance tester;LabWindows/CVI language;Access data base;data collection
0 引言
隨著智能化工廠建設(shè)信息系統(tǒng)(ERP、MES[1]、OA系統(tǒng))項(xiàng)目的開展,測試設(shè)備得到的測試數(shù)據(jù)要與MES系統(tǒng)進(jìn)行交互通信,對測試設(shè)備的軟件部分提出了改造要求。
某型空空導(dǎo)彈靜態(tài)電阻測試儀主要用于該型產(chǎn)品彈和訓(xùn)練彈上舵機(jī)插頭(ZXS14)電阻、遙測插頭(ZXS16)電阻、分離插頭(ZXS17)電阻和外注插頭(ZXS19)電阻的靜態(tài)測試,測試完成后,數(shù)據(jù)將以表格形式顯示在相關(guān)面板上,并以Excel格式存儲(chǔ)在本地指定路徑中。
根據(jù)當(dāng)前MES系統(tǒng)提出的技術(shù)要求,需要對該型空空導(dǎo)彈靜態(tài)測試電阻測試儀進(jìn)行軟件改造。要求基于LabWindows/CVI語言[2]和數(shù)據(jù)庫技術(shù)的軟件編程,將軟件測試數(shù)據(jù)存儲(chǔ)在本地Access數(shù)據(jù)庫[3]中,用一個(gè)數(shù)據(jù)庫中的多個(gè)數(shù)據(jù)庫表來存儲(chǔ)不同類型的測試報(bào)告,包括測試報(bào)告表和開停機(jī)記錄表等,實(shí)現(xiàn)數(shù)據(jù)的采集、存儲(chǔ);同時(shí),通過配置MES系統(tǒng)標(biāo)準(zhǔn)數(shù)據(jù)庫字段與設(shè)備的數(shù)據(jù)庫字段之間的對照關(guān)系,具備和MES系統(tǒng)連接的基本條件。
1 改造技術(shù)研究
1.1 軟件開發(fā)和適用系統(tǒng)環(huán)境
某型空空導(dǎo)彈靜態(tài)電阻測試儀軟件是在WinXP系統(tǒng)環(huán)境下利用LabWindows/CVI軟件和數(shù)據(jù)庫技術(shù)開發(fā)的,在WinXP和Win7系統(tǒng)環(huán)境下均可正常使用。
1.2 軟件功能改造
改造后的某型空空導(dǎo)彈靜態(tài)測試電阻測試儀可以實(shí)現(xiàn)存儲(chǔ)實(shí)時(shí)測試數(shù)據(jù)到本地Access數(shù)據(jù)庫中,增加了記錄每個(gè)測試項(xiàng)的測試時(shí)間和軟件開關(guān)機(jī)時(shí)間的功能,并且具備與MES系統(tǒng)連接的基本條件,另外保留存儲(chǔ)測試數(shù)據(jù)為本地Excel表格的功能,提高了該軟件的智能化水平和數(shù)據(jù)處理能力,優(yōu)化和擴(kuò)展了本軟件的測試功能。
該軟件改造后的主要功能有如下。
1)增加存儲(chǔ)測試彈號、測試信號名稱、測試信號數(shù)據(jù)范圍、實(shí)測數(shù)據(jù)、測試結(jié)論和備注等測試結(jié)果的Access數(shù)據(jù)表,各個(gè)數(shù)據(jù)表字段對應(yīng)不同的測試項(xiàng),并且每一個(gè)數(shù)據(jù)表的每一條記錄具有和獨(dú)立測試報(bào)告相同的功能。
2)增加每個(gè)插頭測試的開始時(shí)間和結(jié)束時(shí)間,存放在各個(gè)數(shù)據(jù)表記錄中的最后2個(gè)字段中。
3)增加軟件開關(guān)機(jī)時(shí)間數(shù)據(jù)表“on_ off_time”。
4)各插頭的測試子界面上增加了“存儲(chǔ)數(shù)據(jù)庫”和“存儲(chǔ)Excel”的控件供測試者選用,用于保存實(shí)時(shí)測試數(shù)據(jù)到Access數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)表或存儲(chǔ)為本地指定路徑的Excel文件。
5)根據(jù)MES系統(tǒng)的要求,通過數(shù)據(jù)表與數(shù)據(jù)源的配置、本地?cái)?shù)據(jù)庫與MES系統(tǒng)網(wǎng)口的配置,實(shí)現(xiàn)測試軟件與MES系統(tǒng)的聯(lián)網(wǎng)通信。
1.3 軟件界面改造
雙擊打開靜態(tài)電阻測試軟件圖標(biāo)后,彈出軟件使用界面,根據(jù)導(dǎo)彈類型點(diǎn)擊選擇“戰(zhàn)斗彈”或“訓(xùn)練彈”,并點(diǎn)擊選擇所要測量的插頭類型,在“導(dǎo)彈編號”框中輸入測量的彈號。點(diǎn)擊“測試”按鈕后,彈出如圖1所示界面。
下面以舵機(jī)插頭(ZXS14)電阻測試子面板的選取為例進(jìn)行說明。
直接點(diǎn)擊舵機(jī)插頭子面板的“測試”按鈕,Table控件上開始顯示與表頭字段一一對應(yīng)的測量信息,并根據(jù)插頭的電阻測量總個(gè)數(shù)逐行顯示。測試完成后,“測試”控件顏色變淡,其他控件顏色加重,面板上彈出一下“測試結(jié)束”,隨后消失。
在各個(gè)插頭電阻測試子面板上分別設(shè)計(jì)新的“存儲(chǔ)數(shù)據(jù)庫”控件和“存儲(chǔ)Excel”的“Command Button”類型控件,將測試數(shù)據(jù)分別存儲(chǔ)到Access數(shù)據(jù)庫的數(shù)據(jù)表和本地Excel格式文件夾中。點(diǎn)擊選擇“存儲(chǔ)數(shù)據(jù)庫”控件,待彈出提示“存儲(chǔ)指定路徑成功”后,便實(shí)現(xiàn)了測試數(shù)據(jù)存儲(chǔ)到Access數(shù)據(jù)庫對應(yīng)數(shù)據(jù)表的功能,隨后點(diǎn)擊該子面板的“返回”控件,可返回到首頁主面板,之后可依次進(jìn)行其他插頭電阻的靜態(tài)測試。
2 軟件改造
2.1 軟件改造設(shè)計(jì)
按照模塊化的思想制定程序開發(fā)方案,Access數(shù)據(jù)庫、LabWindows/CVI軟件代碼和UIR界面程序分別獨(dú)立開發(fā),最后通過代碼整合進(jìn)行軟件綜合調(diào)試、軟硬件聯(lián)調(diào)、可靠性驗(yàn)證和版本更新,最終生成.exe后綴的應(yīng)用程序定稿。
1)Access數(shù)據(jù)庫設(shè)計(jì)
在PC上新建名為“test_user.mdb”的Access類型數(shù)據(jù)庫,在ODBC數(shù)據(jù)源上添加驅(qū)動(dòng)程序類型為“Microsoft Access Driver(*.mdb)”的用戶數(shù)據(jù)源“test_user”,配置用戶數(shù)據(jù)源和本地?cái)?shù)據(jù)庫,使兩者建立聯(lián)系。在該數(shù)據(jù)庫中創(chuàng)建多個(gè)存儲(chǔ)測試數(shù)據(jù)的數(shù)據(jù)表,具體信息表如表1所示。
2)軟件代碼及控件開發(fā)
根據(jù)設(shè)計(jì)需求,需要編寫用戶數(shù)據(jù)源與main函數(shù)的通信代碼,獲取軟件開關(guān)機(jī)時(shí)間代碼,獲取插頭測試開始時(shí)間和結(jié)束時(shí)間代碼,存儲(chǔ)測試數(shù)據(jù)到各個(gè)對應(yīng)的數(shù)據(jù)表代碼等。其中,存儲(chǔ)測試數(shù)據(jù)的數(shù)據(jù)表代碼主要包括insertdata_X14()、insertdata_X19()、insertdata_X16_1()、insertdata_X16_2()、insertdata_X16_3()、insertdata_X17_1()、insertdata_X17_2()等函數(shù)。另外,需要添加軟件調(diào)試所必需的SQL ToolKit插件、cvi_db.fp驅(qū)動(dòng)文件、cvi_db.h頭文件、cvi_db.dll動(dòng)態(tài)鏈接庫文件等數(shù)據(jù)庫相關(guān)文件。在各個(gè)測試子面板上均新建“存儲(chǔ)數(shù)據(jù)庫”和“存儲(chǔ)Excel”的“Command Button”類型控件,并與軟件對應(yīng)的回調(diào)函數(shù)建立聯(lián)系。
軟件設(shè)計(jì)改造框圖如圖2所示。
2.2 軟件調(diào)試
通過對軟件改造要求和數(shù)據(jù)庫設(shè)計(jì)原理的梳理分析,按照軟件改造思路分別開發(fā)了Access數(shù)據(jù)庫與main函數(shù)建立聯(lián)系功能、存儲(chǔ)各個(gè)測試數(shù)據(jù)到相應(yīng)數(shù)據(jù)表并和字段一一對應(yīng)功能、獲取各個(gè)插頭的測試開始時(shí)間和結(jié)束時(shí)間功能、獲取軟件開關(guān)機(jī)時(shí)間功能和軟件人機(jī)交互界面等。
各個(gè)模塊開發(fā)完成后,結(jié)合原有軟件代碼通過單步調(diào)試、斷點(diǎn)跟蹤等方法進(jìn)行調(diào)試,最終生成新版的“靜態(tài)電阻測試.exe”。與硬件測試設(shè)備連接后進(jìn)行聯(lián)調(diào),逐步解決軟硬件調(diào)試過程中出現(xiàn)的各種問題,最終實(shí)現(xiàn)數(shù)據(jù)和時(shí)間信息的采集、存儲(chǔ)等功能。通過對改造后的軟件進(jìn)行嚴(yán)格的分析、驗(yàn)證和試驗(yàn),達(dá)到了可靠運(yùn)行、操作方便的效果。
3 試驗(yàn)結(jié)果及分析
使用某型空空導(dǎo)彈靜態(tài)電阻測試儀軟件在空載狀態(tài)下進(jìn)行多次電阻靜態(tài)測試,在保證軟件功能性、穩(wěn)定性和安全性的同時(shí),對多枚工藝產(chǎn)品的舵機(jī)插頭(ZXS14)電阻、遙測插頭(ZXS16)電阻、分離插頭(ZXS17)電阻和外注插頭(ZXS19)電阻進(jìn)行多次靜態(tài)測試,通過查看存儲(chǔ)在Access數(shù)據(jù)庫中的測試數(shù)據(jù)并驗(yàn)證數(shù)據(jù)的正確性,確定該軟件能夠在滿足穩(wěn)定性和安全性的前提下實(shí)現(xiàn)數(shù)據(jù)的測試、采集和存儲(chǔ)功能。以舵機(jī)插頭(ZXS14)電阻靜態(tài)測試為例,如圖3所示,第1行為設(shè)備空載狀態(tài)時(shí)的測試數(shù)據(jù),第2行為連接某工藝產(chǎn)品的測試數(shù)據(jù),第3行為連接另一工藝產(chǎn)品的測試數(shù)據(jù)。對應(yīng)三種測試狀態(tài)的軟件開關(guān)機(jī)時(shí)間記入“on_off_time”表中,如圖4所示。通過對處于測試設(shè)備空載測試和工藝產(chǎn)品測試兩種狀態(tài)下的電阻進(jìn)行多次靜態(tài)測試和驗(yàn)證,表明某型空空導(dǎo)彈靜態(tài)測試電阻測試儀軟件改造完成后功能齊全、性能穩(wěn)定、操作簡便,能夠?qū)崿F(xiàn)測試數(shù)據(jù)的采集、存儲(chǔ)。
4 結(jié)束語
通過基于LabWindows/CVI語言和數(shù)據(jù)庫技術(shù)的軟件編程設(shè)計(jì),實(shí)現(xiàn)了測試數(shù)據(jù)存儲(chǔ)至本地Access數(shù)據(jù)庫并滿足MES系統(tǒng)對于數(shù)據(jù)存儲(chǔ)的具體要求。通過軟硬件調(diào)試、實(shí)際工藝產(chǎn)品的測試和驗(yàn)證,表明該靜態(tài)電阻測試儀軟件改造后能夠?qū)崿F(xiàn)測試數(shù)據(jù)的采集、存儲(chǔ),具備與MES系統(tǒng)的連接條件,達(dá)到了數(shù)據(jù)采集改造的目的。
參考文獻(xiàn)
[1]王志新. 制造執(zhí)行系統(tǒng)MES及應(yīng)用[M].北京:中國電力出版社, 2006.
[2]王建新,楊世風(fēng),隋美麗. LabWindows/CVI測試技術(shù)及工程應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2006.
[3]潘曉南,王莉. Access數(shù)據(jù)庫應(yīng)用技術(shù)[M].北京:清華大學(xué)出版社,2008
作者簡介
張正舵,助理工程師,主要從事某型空空導(dǎo)彈的修理工作。