999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

溫濕傳感器批量檢定系統的上位機設計

2013-04-29 00:00:00關波
無線互聯科技 2013年8期

摘 要:主要闡述了自動站溫濕度傳感器數據采集及處理系統的軟件設計,分析了其功能、結構、界面設計,介紹了數據的采集、存儲、查詢、證書打印等的實現算法。經實踐驗證,該系統提高了傳感器的檢定速度,節省了檢定人力。

關鍵詞:溫濕傳感器批量檢定系統;軟件設計;用戶界面;數據管理

目前對于國內氣象站溫度、濕度及氣壓傳感器的檢定主要還是依靠自動站采集器,通過采集器監控軟件顯示傳感器讀數,由于受自動站采集器通道的限制,各傳感器的批量檢定還不能實現,校準數據和證書還是以人工輸入為主,在這種條件下使得傳感器的檢定耗時長、占用人力多[1]。為了改善這種狀況,在VC6.0環境下使用MSComm通信控件和SQL Sever 2000數據庫技術,開發了自動站溫濕度傳感器數據采集及處理系統,實現多路溫濕傳感器的數據批量采集,實現對于溫濕傳感器的批量檢定。

1 軟件的主要功能、結構和界面設計

本系統主要通過對溫濕度傳感器的數據采集,實現對溫濕傳感器批量檢定。整個系統在Visual C++ 6.0環境下開發,總共包括五大模塊:溫濕度傳感器數據檢測模塊、溫濕度傳感器數據存儲模塊、溫濕度傳感器合格與否自動判定模塊、溫濕度傳感器數據查詢模塊、相關證書的打印模塊。

軟件的各功能菜單采用統一格式的用戶串口界面。其中,屏幕顯示的是以下幾個方面:⑴主界面,由背景界面和主菜單組成;⑵點擊檢測菜單時,顯示溫濕度傳感器的信息界面,所填的信息包括所測傳感器的信息和標準器的信息。⑶該系統的查詢功能可對檢測數據和檢測結論分別查詢。

2 數據的采集、存儲和查詢

2.1 串口通信實現數據的批量采集

串行通信應用廣泛,在數據通信、計算機網絡以及分布式工業控制系統中,經常采用串行通信來交換數據和信息[2]。在Visual C++ 6.0環境下,一般使用控件‘MSComm’控件進行串行通信開發。通過MSComm控件,上位機也可以實現對下位機的操作,比如實時顯示數據,更改需要檢測的傳感器個數等。

2.1.1 檢測數據的實時顯示

該系統要求每隔3秒鐘一次顯示1號,2號,…,n號傳感器所檢測的溫度/濕度數據,即要求實現數據的實時顯示。具體算法為:設置一個3秒定時器,每隔3秒向下位機發送一個數據,用于通知單片機需要幾號傳感器的測量值,并且根據不同的數據告知單片機需要的是溫度值,還是濕度值,進而可以區別測量溫濕度的值。在本系統中,當需要傳感器檢測的溫度值時,上位機會向下位機發送0xF0-0xF7;需要傳感器檢測的濕度值時,上位機會向下位機傳送0xF8-0xFF。下位機根據上位機的數據,選擇輸出不同的傳感器的溫度/濕度值。上位機接受到數據之后,顯示在相應的編輯框中。

2.1.2 傳感器有效個數的更改

執行更改需要檢測的傳感器個數的程序,具體的算法:根據用戶在下拉列表中選擇的個數,調用CWnd中的子函數GetDlgItem()和EnableWindow()函數使得被選中的所有的傳感器相應的編輯框有效。

2.2 SQL-Server 2000數據庫實現數據的存儲和查詢

SQL-Server 2000是微軟公司開發的中型數據庫,它的可視化方面做得很好,在安全性等方面功能非常強大,并且有微軟的強大技術支持。連接和使用SQL Server數據庫有多種不同方法,包括ODBC,DAO和RDO等。ADO是Microsoft的主要數據訪問方法,故本系統采用ADO方法。ADO與OLE DB是Microsoft的Universal Data Access(UDA)策略中的關鍵組件。OLE DB定義一組COM接口,包括數據訪問服務。ADO是個高級對象模型,將OLE DB提供的數據提供給應用程序。UDA(universal data access,通用數據訪問,也叫全局數據訪問)是microsoft為企業應用范圍內各種類型信息存取所制定的一項新戰略,它提供對多種數據源進行存取的一致界面。

利用Microsoft OLE DB Provider for SQL Server(SQLOLEDB),可不必訪問另一ODBC API和驅動器層,可以直接訪問數據源。要使用這個數據提供者,經連接字符串的Provider變元設置為SQLOLEDB。

與DAO和RDO等數據訪問庫相比,ADO對象模型很簡單,主要有五個對象,可以實例化更多底層集合和對象。Connection對象,表示打開的數據源連接;Command對象,可以對SQL Server執行命令;Recordset對象,是從SQL Server返回的一組記錄,但Recordset對象還提供了客戶機應用程序中讀取、更新和操縱數據的機制[3]。本系統較多使用了Recordset對象對數據庫進行操作;Record對象,表示層次式機構中存放的數據,Record對象也可表示Recordset中的行,利用這個對象可以管理文件系統中的目錄和文件,或e-mail系統中的文件夾與消息。

本系統共需要三個表格:溫濕傳感器的信息(HTSensorI nfo)、溫濕傳感器濕度檢測數據(HTHSensorData)、溫濕傳感器溫度檢測數據(HTTSensorData),每個表格中包含所需要存儲的各個變量。這三個表格同在HTSensor數據庫中。

使用SQLOLEDB連接SQL Server數據庫,連接字符串如下:

\"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=HTSensor\";

2.2.1 數據的存儲

對于數據庫的存儲主要有兩個方面,一個是在沒有數據的情況下進行數據的插入,另一個是原來存在數據,則進行數據的更新。

插入數據用到的是SQL Server中的INSERT語句,例如:

\"INSERT INTO HTSensorInfo(ChuChangNum,… …,Conclusion)VALUES('\"+ChuChangNum+\"',… …,'\"+Conclusion+\"')\";

更新數據用到的是SQL Server中的UPDATE語句,例如:

\"UPDATE HTSensorInfo SET SensorName='\"+SensorName+\"',… …,Conclusion='\"+Conclusion+\"'WHERE ChuChangNum='\"+ss+\"'\";//ss是參變量。

2.2.2 數據的查詢

數據的查詢主要用到了Visual C++的三個控件:ADO Data控件;DataGrid控件;DataCombo控件。

⑴ADO Data控件:使用ADO Data控件可以快速地創建一個到數據庫的連接,并且它調用Recordset對象提供對存儲在數據庫中的數據的訪問,并允許從一個記錄移動到另一個記錄,顯示和操縱記錄數據。ADO Data可以執行大部分對數據庫的操作,但是它不能夠顯示數據庫中的數據,一般會和數據察覺控件搭配使用,比如DataGrid控件、DataCombo控件、DataList控件。當ADO Data控件中的當前記錄發生變化時,數據查詢控件中的數據也隨之發生變化。

本文中,對于每個用到的數據表格都關聯了相應的ADO Data控件。這樣,就可以實現了將數據庫中的數據與數據察覺控件相聯系,顯示數據庫中的數據。

⑵DataGrid控件:DataGrid控件以表格的形式顯示結果集中的數據,它需要ADO Data控件提供數據源。與關練了數據庫中相關表格大ADO Data控件相結合,DataGrid控件中便可以顯示測量的數據。

⑶DataCombo控件:DataCombo控件是數據綁定組合框。其外表是一個組合框的形式,它與一般的組合框的不同之處在于它需要一個ADO Data控件指定數據源,并且使用數據源中的一個字段填充。而這個字段將是顯示在這個組合框中的內容。鑒于本系統的查詢要求,本系統用到的所有DataCombo控件都是和數據源中的儀器編號相聯系。

本系統中的查詢界面由數據查詢和檢驗結論查詢兩部分組成。使用兩個Adodc控件分別為DataCombo控件和DataGrid控件提供數據。利用SELECT語句實現查詢功能。舉例如下:

CString strSql=\"SELECT Sensor_id,ChuChangNum AS 出廠編號,… …,Time AS檢校時間FROM HTSensorInfo\";

3 調用EXCEL實現數據、證書的輸出打印

因為證書有一定的格式,所以實現證書的打印,用到的算法為:預先設定好相應的模板,在Visual C++環境中調用一定格式的Excel表格進行數據的導出、證書的打印等。

在Visual C++中根據模板創建EXCEL的程序為:

COleVariantcovOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);

if (!m_App.CreateDispatch(\"Excel.Application\",NULL))

{

AfxMessageBox(\"創建Excel服務失敗!\");

return;

}

m_App.SetVisible(1);

//利用模板文件建立新文檔

char path[MAX_PATH];

GetCurrentDirectory(MAX_PATH,path);

CString strPath = path;

strPath += \"\\\"+moban;//‘moban’為參變量。‘moban’不同,創建出的EXCEL表格便不相同。

m_Books.AttachDispatch(m_App.GetWorkbooks(),true);……

4 結束語

該系統集數據采集、數據存貯、證書打印于一體,適用于鉑電阻溫度表、氣壓傳感器(模擬信號輸出)、濕度、風向(模擬信號輸出)傳感器的批量校準,為自動氣象站傳感器室內檢定、校準發揮了重要作用。

[參考文獻]

[1]李光忠.基于單片機的溫濕度檢測系統的設計[D].山東大學,2007.

[2]李長林,高潔.Visual C++串口通信技術與典型實例[M].北京:清華大學出版社.2006,20-25.

[3]孫鑫.VC ++深入詳解[M].北京:電子工業出版社.2008,752-767.

主站蜘蛛池模板: 色噜噜在线观看| 亚洲无码在线午夜电影| 免费看黄片一区二区三区| 日本欧美成人免费| 国产成熟女人性满足视频| 高清免费毛片| 久久人搡人人玩人妻精品| 五月激情综合网| 欧美日韩一区二区在线播放| 亚洲Av激情网五月天| 午夜视频免费一区二区在线看| 精品视频第一页| 色综合久久无码网| 第一区免费在线观看| 国产拍在线| 日韩大乳视频中文字幕 | 国产簧片免费在线播放| 超级碰免费视频91| 国产后式a一视频| 免费人欧美成又黄又爽的视频| 国产亚洲美日韩AV中文字幕无码成人 | 91在线丝袜| 亚洲一区黄色| 欧美97欧美综合色伦图| 精品乱码久久久久久久| 国产成人在线无码免费视频| 久久精品丝袜高跟鞋| 国产精品欧美在线观看| 日韩国产 在线| 日韩精品亚洲一区中文字幕| 亚洲无码日韩一区| 波多野结衣视频网站| 9久久伊人精品综合| 国产精品免费p区| 欧美日韩国产一级| 制服丝袜国产精品| 亚洲日韩精品欧美中文字幕| 精品国产香蕉在线播出| 国产呦视频免费视频在线观看| 国产精品短篇二区| 亚洲欧洲一区二区三区| 免费一级大毛片a一观看不卡| 亚洲性视频网站| 亚洲AV无码乱码在线观看代蜜桃 | 亚洲无码37.| 成人在线天堂| 国产一区二区三区在线无码| 国产在线小视频| 久久国语对白| 亚洲精品你懂的| 欧美亚洲网| 久久国产黑丝袜视频| 99久久99视频| 国产一区二区福利| 亚洲美女视频一区| 999精品色在线观看| 国产成人精品亚洲77美色| 久久国产精品影院| 国产91视频免费观看| 国产区网址| 97国产在线观看| 国产91久久久久久| 自慰高潮喷白浆在线观看| 伊人五月丁香综合AⅤ| 四虎精品国产AV二区| 国产一区二区精品高清在线观看| 久久特级毛片| 亚洲成人精品久久| 福利在线不卡一区| 亚洲国产看片基地久久1024| 亚洲一区国色天香| 狠狠操夜夜爽| 午夜精品福利影院| 青青草原偷拍视频| 亚洲中文字幕久久精品无码一区| 香蕉网久久| 久久99国产乱子伦精品免| 亚洲AV一二三区无码AV蜜桃| 天堂成人在线| 国产精品密蕾丝视频| 欧美精品成人| 色婷婷国产精品视频|