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