1硬件配置。
數(shù)字兆歐表的校驗(yàn)的分析硬件由具有PCI總線的微機(jī)一臺(tái),PCI-GPIB卡(裝在微機(jī)的PCI插槽中),488電纜兩條,被檢數(shù)字表,4808型多功能標(biāo)準(zhǔn)源組成。
2**機(jī)制系統(tǒng)采取兩級(jí)**控制。
?。?)Access數(shù)據(jù)庫(kù)級(jí)**控制。本系統(tǒng)的數(shù)據(jù)庫(kù)采用輸入密碼方式進(jìn)入,防止數(shù)據(jù)庫(kù)被誤改或惡意改動(dòng)。
(2)應(yīng)用程序級(jí)**控制。進(jìn)入本系統(tǒng)需輸入用戶名及密碼。杜絕非檢定人員隨意使用和對(duì)數(shù)據(jù)的改動(dòng)。
2.2系統(tǒng)功能。
2.2.1登陸模塊。
登陸模塊的功能是使用正確的用戶名和密碼登陸本系統(tǒng)及數(shù)據(jù)庫(kù)系統(tǒng)。
2.2.2數(shù)字兆歐表的校驗(yàn)的分析。
?。?)測(cè)試數(shù)據(jù)庫(kù)連接是否正常;
?。?)測(cè)試GPIB總線上的設(shè)備是否連接好及總線上設(shè)備的數(shù)目。
2.2.3系統(tǒng)維護(hù)模塊。
系統(tǒng)維護(hù)模塊對(duì)本系統(tǒng)的數(shù)據(jù)進(jìn)行修改,增加,刪除等維護(hù)操作,這些數(shù)據(jù)包括:檢定員信息,廠家信息,客戶信息,被試表名稱型號(hào),被試表量程及準(zhǔn)確度等級(jí),已有測(cè)試方案,新方案,登陸密碼等。
2.2.4測(cè)試模塊。
測(cè)試模塊實(shí)現(xiàn)對(duì)數(shù)字儀表的自動(dòng)測(cè)試,測(cè)試數(shù)據(jù)的誤差計(jì)算,保存及檢定證書的出具,它又包括若干子模塊,即測(cè)試信息的錄入(其中有被試表名稱,型號(hào),廠家,檢定員,日期,環(huán)境條件等),測(cè)試方案的選擇(用戶可以設(shè)置新方案,也可以選擇已有的方案),根據(jù)測(cè)試方案進(jìn)行逐點(diǎn)測(cè)試,設(shè)置標(biāo)準(zhǔn)源的輸出,讀取被檢表的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行處理并根據(jù)是否超差決定是否再測(cè)試,保存測(cè)試結(jié)果到底層數(shù)據(jù)庫(kù),進(jìn)而出具測(cè)試證書。
2.2.5數(shù)字兆歐表的校驗(yàn)的分析。
查詢模塊通過(guò)輸入查詢條件,完成原始記錄數(shù)據(jù)的查詢,測(cè)試數(shù)據(jù)的修改,證書的顯示打印。
2.2.6報(bào)表模塊。
在測(cè)試和查詢模塊中調(diào)用本模塊,實(shí)現(xiàn)檢定證書的顯示和打印。
3幾個(gè)技術(shù)問(wèn)題的解決。
3.1數(shù)字兆歐表的校驗(yàn)的分析。
本系統(tǒng)的數(shù)據(jù)庫(kù)采用ACCESS數(shù)據(jù)庫(kù),VC 對(duì)ACCESS數(shù)據(jù)庫(kù)的訪問(wèn)可采用DAO,ODBC,ADO等多種方式,我們采用了較高效的ADO方式來(lái)實(shí)現(xiàn)。ADO(ActiveDataObject,活動(dòng)數(shù)據(jù)對(duì)象)實(shí)際上是一種基于COM(組件對(duì)象模型)的自動(dòng)化接口(IDispatch)技術(shù),并以O(shè)LEDB(對(duì)象連接和嵌入的數(shù)據(jù)庫(kù))為基礎(chǔ),是經(jīng)過(guò)OLEDB精心包裝后的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù),利用它可以快速創(chuàng)建數(shù)據(jù)庫(kù)應(yīng)用程序。在程序設(shè)計(jì)中,我們通過(guò)以下步驟和相應(yīng)代碼實(shí)現(xiàn)VC 與ACCESS2000數(shù)據(jù)庫(kù)的連接。
?。?)用#import語(yǔ)句來(lái)引用支持ADO的組件類型庫(kù),由于類型庫(kù)可以做為可執(zhí)行程序的一部分定位在其自身程序中的附屬資源msado15.dll中,所以只需要在StdAfx.h文件中用#im-port語(yǔ)句引用msado15.dll即可引用ADO的組件類型庫(kù)。
當(dāng)編譯器遇到#import語(yǔ)句時(shí),它會(huì)為引用組件類型庫(kù)中的接口生成包裝類,#import語(yǔ)句實(shí)際上相當(dāng)于執(zhí)行了API函數(shù)LoadTypeLib()。
#import語(yǔ)句會(huì)在工程可執(zhí)行程序輸出目錄中產(chǎn)生兩個(gè)文件,分別為*.tlh(類型庫(kù)頭文件)及*.tli(類型庫(kù)實(shí)現(xiàn)文件),它們分別為每一個(gè)接口產(chǎn)生智能指針,并為各種接口方法,枚舉類型等進(jìn)行聲明,創(chuàng)建一系列包裝方法。語(yǔ)句no_names-pace說(shuō)明ADO對(duì)象不使用命名空間,rename("EOF","adoEOF")說(shuō)明將ADO中結(jié)束標(biāo)志EOF改為adoEOF,以避免和庫(kù)中命名相沖突。
?。?)在應(yīng)用程序初始化中初始化com組件,語(yǔ)句為://初始化COM庫(kù)∷CoInitialize(NULL);經(jīng)過(guò)1,2后,便可使用ADO的操作了,主要是使用#import語(yǔ)句引用類型庫(kù)時(shí)生成的包裝類。tlh中聲明的3個(gè)智能指針_ConnectionPtr,_RecordsetPtr和_CommandPtr,本系統(tǒng)中主要用了前兩2個(gè)指針。
3.2計(jì)算機(jī)與標(biāo)準(zhǔn)源,被檢數(shù)字表的通信。
?。?)安裝PCI-GPIB卡。
(a)安裝隨GPIB卡所帶的安裝盤上的NI-488.2軟件。
?。╞)選擇plugandplayinterface并點(diǎn)擊next.(c)選擇shutdown并點(diǎn)擊finish,然后關(guān)閉計(jì)算機(jī)。
?。╠)在計(jì)算機(jī)的PCI插槽中安裝PCI_GPIB卡,然后打開計(jì)算機(jī)。
(e)開機(jī)后控制面板的設(shè)備管理器中將出現(xiàn)NationalinstrumentsGPIBinterface,表明安裝成功。注意驅(qū)動(dòng)程序是否安裝,否則,計(jì)算機(jī)將無(wú)法使用該接口。
?。╢)運(yùn)行Measurement