0 引 言
在土木工程中,,經(jīng)常要用振弦式傳感器測量各種指標(biāo)參數(shù),,包括拉力,、壓力,、應(yīng)力、位移等,。而振弦式傳感器因制造工藝所致,,其產(chǎn)品性能參數(shù)離散性很大,每個(gè)傳感器都必須單獨(dú)標(biāo)定,,得出一組基本上是惟一的性能參數(shù)(重復(fù)的概率極低),。在使用時(shí),必須分清每一個(gè)傳感器及其所對應(yīng)的測量值,,然后將每個(gè)傳感器的特性參數(shù)和測量值代人其標(biāo)定公式進(jìn)行計(jì)算,,才能得到所需的物理量。如果所測傳感器不是一個(gè)型號,,則所用公式也不一樣,。
目前,在實(shí)際應(yīng)用中,,每個(gè)傳感器的編號(ID號)寫在一個(gè)套管上作為標(biāo)簽,,然后將標(biāo)簽套在傳感器引出的電纜上。測量人員在現(xiàn)場完成測量后,,根據(jù)標(biāo)簽上的編號可以從產(chǎn)品出廠手冊上查出該傳感器的指標(biāo)參數(shù),,即可進(jìn)行物理量的計(jì)算。然而由于人為因素以及受周圍施工環(huán)境的影響,,傳感器標(biāo)簽很容易磨損或丟失,,這樣就導(dǎo)致傳感器因參數(shù)不可知(身份不明)而成為廢品。為此,,設(shè)計(jì)一個(gè)傳感器電子標(biāo)簽管理系統(tǒng),,用存儲器充當(dāng)電子標(biāo)簽,將傳感器編號(ID)和相關(guān)參數(shù)固化在存儲器中,,然后將存儲器置入傳感器內(nèi)部,。這樣,即使外套標(biāo)簽丟失或磨損,,依然可以利用手持設(shè)備從電子標(biāo)簽中讀出傳感器編號和參數(shù),,從而解決了應(yīng)用中的這一難題。
1 設(shè)計(jì)與實(shí)現(xiàn)
1.1 系統(tǒng)構(gòu)成與工作原理
系統(tǒng)主要由四部分組成:后臺計(jì)算機(jī)(上位機(jī)),、通信電路,、前臺單片機(jī)(下位機(jī))和存儲器(電子標(biāo)簽),見圖1,。其工作流程為:
(1)傳感器參數(shù)的錄入,。PC機(jī)進(jìn)入“電子標(biāo)簽管理系統(tǒng)”環(huán)境,接收鍵盤鍵入的傳感器參數(shù)數(shù)據(jù),,并將數(shù)據(jù)存人數(shù)據(jù)庫中,。完成傳感器參數(shù)的錄入功能,。
(2)PC機(jī)與單片機(jī)串行通信。通過通信電路中的MAX232電平轉(zhuǎn)換器實(shí)現(xiàn),。RS 232電平與TTL電平之間的轉(zhuǎn)換,,通過自定通信協(xié)議實(shí)現(xiàn)通信數(shù)據(jù)傳輸格式的一致,完成PC機(jī)與單片機(jī)之間的通信任務(wù),。
(3)存儲器的數(shù)據(jù)讀寫,。單片機(jī)與存儲芯片之間采用I2C總線連接。單片機(jī)可將從PC機(jī)接收到的傳感器數(shù)據(jù)通過I2C總線寫入存儲器芯片,,完成電子標(biāo)簽的制作工作,;還可能把存到存儲器芯片中的數(shù)據(jù)讀出并回傳給PC機(jī),完成電子標(biāo)簽的讀出與檢驗(yàn),。
1.2 后臺PC機(jī)程序設(shè)計(jì)
“電子標(biāo)簽管理系統(tǒng)”是以傳感器參數(shù)為應(yīng)用對象,,結(jié)合當(dāng)前和未來管理的發(fā)展需求進(jìn)行設(shè)計(jì)的。系統(tǒng)的后臺采用目前流行的面向?qū)ο缶幊陶Z言Visual C++6.0開發(fā),,并掛接Access數(shù)據(jù)庫,。廠家除了可以為每個(gè)傳感器制作電子標(biāo)簽外,還可以對出廠產(chǎn)品進(jìn)行信息管理,,包括產(chǎn)品的查詢,、品種的增加、刪除,,每日或每月的產(chǎn)量統(tǒng)計(jì)等,。程序主要由用戶登錄界面、文件,、基本信息管理,、歷史記錄、用戶管理,、數(shù)據(jù)通信,、幫助、退出等模塊組成,。程序功能結(jié)構(gòu)圖如圖2 所示,。
系統(tǒng)數(shù)據(jù)庫*包含6個(gè)表:用戶信息表、傳感器型號表,、傳感器參數(shù)表,、已錄入傳感器參數(shù)表、型號名稱對應(yīng)表,、保存文件表等,,其中保存文件表作為數(shù)據(jù)文件存儲表,型號名稱對應(yīng)表是為了避免重復(fù)輸入而建立的一個(gè)特定數(shù)據(jù)庫表。
VC與數(shù)據(jù)庫的接口有多種方式,,本系統(tǒng)采用活動數(shù)據(jù)對象(Active Data Object,,ADO)技術(shù)訪問數(shù)據(jù)庫。ADO實(shí)際上是一種基于COM(組件對象模型)的自動化接口(IDispatch)技術(shù),,并以O(shè)LEDB(對象連接和嵌入的數(shù)據(jù)庫)為基礎(chǔ),經(jīng)過OLEDB精心包裝后的數(shù)據(jù)庫訪問技術(shù),。利用它可以快速地創(chuàng)建數(shù)據(jù)庫應(yīng)用程序,。
在VC中使用ADO的步驟如下:
(1)在頭文件中引入相應(yīng)的ADO庫文件
這行語句聲明在工程中使用ADO,但不使用ADO的名字空間,,并且為了避免常數(shù)沖突,,將常數(shù)EOF改名為adoEOF。
(2)初始化OLE/COM庫環(huán)境
?。海篊oInitialize(NULL),;
放在所有ADO調(diào)用的前面,一般放在函數(shù)BOOLCTheApp::InitInstance()里面,。
(3)關(guān)于數(shù)據(jù)類型轉(zhuǎn)換
由于COM對象是跨平臺的,,它使用了一種通用的方法來處理各種類型的數(shù)據(jù),因此CString類和COM對象是不兼容的,,需要一組API來轉(zhuǎn)換 COM對象和C++類型的數(shù)據(jù),。_variant_t和_bstr_t就是這樣兩種對象。它們提供了通用的方法轉(zhuǎn)換COM對象和C++類型的數(shù)據(jù),。
系統(tǒng)采用Win32 API函數(shù)實(shí)現(xiàn)后臺與前臺的串行數(shù)據(jù)傳送,。
1.3 前臺單片機(jī)程序設(shè)計(jì)
前臺單片機(jī)(下位機(jī))主要完成兩個(gè)功能:一是與后臺PC機(jī)(上位機(jī))的串行通信;二是對電子標(biāo)簽(存儲器芯片)的讀寫操作,。單片機(jī)選用51系列即可,。在與PC機(jī)的通信中,采用定時(shí)器T1,,定時(shí)器工作于方式2,,串行口工作于方式1,波特率設(shè)為2 400 b/s,。串行E2PROM是近幾年出現(xiàn)的一種新型的電可擦除存儲器,。與以往的并行存儲器相比,其優(yōu)點(diǎn)是體積小,、占用硬件資源少,、價(jià)格低;缺點(diǎn)是存取數(shù)據(jù)速度較慢,。該類器件采用I2C總線進(jìn)行通信,,擦寫次數(shù)達(dá)100萬次,數(shù)據(jù)保存時(shí)間100年,非常適合做電子標(biāo)簽,。由于所要存儲的傳感器數(shù)據(jù)量少于256個(gè)字節(jié),,所以選用ATMEL公司的串行E2PROM存儲器AT24C02作為電子標(biāo)簽。系統(tǒng)采用單字節(jié)寫,、隨機(jī)讀方式,,對存儲器芯片AT24C02進(jìn)行讀寫操作。
2 結(jié) 語
振弦式傳感器是土木工程中必不可少的質(zhì)量監(jiān)測器件,,因其制造和應(yīng)用場合的特殊性,,在使用中有不少特殊問題。本文介紹的電子標(biāo)簽可以有效地解決因人為和環(huán)境因素造成的標(biāo)簽信息丟失問題,,掃除了振弦式傳感器在工程應(yīng)用中的一個(gè)障礙,。具有電子標(biāo)簽的傳感器其引出電纜共有五根線。除原來的信號線和地線外,,多了三根線,,即電源線、I2C總線的SCL和SDA線,。使用時(shí),,只需將手持儀接到上述三根線上即可讀出傳感器數(shù)據(jù)。顯然,,該系統(tǒng)只要稍加修改就可應(yīng)用于其他電子或非電子產(chǎn)品中,,因此,系統(tǒng)具有廣泛的應(yīng)用場合和較高的應(yīng)用價(jià)值,。