//Logo Image
作者:謝佩均(2005-12-29)推薦:徐業良(2005-12-29)

利用PIC_SERVER擷取與傳輸百捷公司血糖儀量測之血糖數據

本文首先對血糖儀量測血糖的原理做一簡單的介紹,接著以百捷公司市售的血糖儀為應用範例,說明如何以PIC_SERVER為主控端,擷取血糖儀量測之血糖數據,並傳輸至遠端網頁上。

1.     血糖儀簡介

血糖儀需搭配血糖量測試片來量測血糖,血糖量測試片即是量測葡萄糖的感應器,應用葡萄糖濃度與可通過量測試片電流大小成正比的關係,使用電化學的分析原理量測取樣血液中的血糖值。

1為百捷公司血糖儀的外觀,量測者可透過血液取樣器,取得欲量測之取樣血液,再將取樣血液滴於血糖量測試片的量測區,靜待血糖儀量測結果,量測者可在血糖儀的LCD上觀看到量測之血糖濃度。

1. 百捷公司血糖儀外觀

血糖儀規格如表1所示,使用鈕釦大小的鋰電池供電,且大小方便使用者隨身攜帶,可記錄180組量測後的血糖濃度值,以及運算記錄71421、或28天的血糖濃度平均值,更可以透過RS232傳輸線與PC連接,配合其公司所附的血糖檢測軟體,可以對血糖儀裡所記錄的資訊作統計與簡單的報表,方便追蹤受測者的長期血糖資訊,與了解血糖的變化與趨勢。

1. 百捷公司血糖儀規格

尺寸

61×77×19 mm3

重量

47 g (with batteries)

電源

3V鋰電池

外部輸出

標準PCRS232端子

量測範圍

30mg/dl ~ 500mg/dl

需求檢體體積

1毫升

記憶

180組測量結果

是用檢測溫度

攝氏10~攝氏40

2.     利用PIC_SERVER擷取與傳輸量測之血糖濃度數據

百捷公司的血糖儀擁有透過RS232連接線與PC溝通的功能,作用方式如圖2所示,使用者由PC上的血糖檢測軟體(VB程式),點選讀取血糖儀中紀錄資料的按鈕,程式即會透過RS232連接線由PC端輸出控制指令碼給,接收到所對應的相關控制指令碼後,也會將記憶體裡的資訊透過RS232連接線回傳給PC,程式接收到這些血糖濃度資料(記憶數據碼)後,即可以做相關的後續處理。

2. 血糖儀與PC連接示意圖

以下則敘述如何利用PIC_SERVER控制與擷取血糖儀中的數據,進而傳輸、顯示在遠端網頁上。

2.1  監看與解碼了解控制與擷取的數據碼

為了使用PIC_SERVER控制與擷取血糖儀中的數據,首先透過RS232終端機程式監看RS232的資訊,了解VB程式所傳送出的控制指令碼,接著由RS232終端機程式模擬VB程式傳送控制指令碼給,進一步接收血糖儀回傳的記憶數據碼,經過實驗與解碼可以得知血糖儀所量測到的相關數據(記錄比數、與血壓濃度)之格式。

2為控制指令碼與記憶數據碼,其中要讀取所量測到的最新血糖濃度數據,即是透過RS232連接線傳送5122FE000000A35122'最新一筆的資料位置'010000A3段控制指令碼。當傳送第一段控制指令碼時,也會回傳一段記憶數據碼,例如5122FE00NN00A5NN為血糖儀已儲存幾筆血糖濃度的值(其為16進位碼),接著由此值套入簡單的換算公式,計算出最新一筆的資料位置;接著傳送第二段控制指令碼時,血糖儀也會回傳另一段記憶數據碼,如5122'最新一筆的資料位置'01GGB4A5GG即為血糖儀量測到的血糖濃度數值的16進位值,將此數值轉換成10進位,即是所量測到的血糖濃度。

有了控制指令碼與記憶數據碼,即可轉由PIC_SERVER來控制與擷取所量測到的資訊,在前述實驗中,原本是利用RS232終端機程式模擬VB程式傳輸控制程式碼,改成利用PIC_SERVER的第二組RS232 PORT傳輸控制指令碼與擷取記憶數據碼,即可控制與擷取相關數據。

2. 相關控制指令碼與記憶數據碼

功能

控制指令碼

記憶數據碼

讀取血糖儀已儲存的筆數

5122FE000000A3

5122FE00NN00A5

讀取對應的血糖濃度

5122'最新一筆的資料位置'010000A3

5122'最新一筆的資料位置'01GGB4A5

2.2  PIC_SERVER控制與擷取程式副程式

PIC_SERVER內部有兩組RS232,在此實驗中利用第二組RS232(COM_B)與血糖儀做溝通,因此要先定義每秒傳送位元速率與設定(buad=9600,8,n,1)才能溝通兩者,設定RS232程式碼與讀取血糖濃度值副程式程式碼如圖3、圖4所示,圖5為讓相關數據對應在網頁上的副程式程式碼。

3. RS232相關設定程式碼

4. 控制與擷取相關數據的rbg()副程式程式碼

5. 將相關數據對應在網頁上副程式程式碼

3PIC_SERVER的相關宣告與RS232的設定程式碼,其中第67行即是設定,第一組與第二組RS232的對應速度、名稱、與相關腳位,第8行是定義第二組RS232 Rx接收端在PIC_SERVER的對應位址,在副程式中會呼叫此位址以啟動或是關閉第二組RS232 Rx接收端,以確保所接收資料的正確與穩定性。圖4為讀取血糖濃度值的副程式,程式最主要是依序送兩段程式指令碼,如在圖中148行是定義第一段指令碼、162~165是定義第二段指令碼,150167即是依序傳出控制指令碼。在傳出控制指令碼後,緊接著讀取回傳的記憶數據碼,如圖中行153171行是依序接收記憶數據碼。且158、與176行,進一步將擷取之數據存成變數以讓PIC_SERVER使用,177行將數據轉換成10進位值顯示於PIC_SERVER上的LCD

5為將相關數據對應在網頁上的副程式程式碼,圖中195行是讓網頁顯示相關對應數值。使用者可以透過網頁瀏覽器連進PIC_SERVER以了解血糖資訊,如圖6即為顯示之網頁。

6. PIC_SERVER所顯示血糖濃度值之網頁