亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        溫濕傳感器批量檢定系統(tǒng)的上位機(jī)設(shè)計(jì)

        2013-04-29 00:00:00關(guān)波
        無線互聯(lián)科技 2013年8期

        摘 要:主要闡述了自動(dòng)站溫濕度傳感器數(shù)據(jù)采集及處理系統(tǒng)的軟件設(shè)計(jì),分析了其功能、結(jié)構(gòu)、界面設(shè)計(jì),介紹了數(shù)據(jù)的采集、存儲(chǔ)、查詢、證書打印等的實(shí)現(xiàn)算法。經(jīng)實(shí)踐驗(yàn)證,該系統(tǒng)提高了傳感器的檢定速度,節(jié)省了檢定人力。

        關(guān)鍵詞:溫濕傳感器批量檢定系統(tǒng);軟件設(shè)計(jì);用戶界面;數(shù)據(jù)管理

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

        1 軟件的主要功能、結(jié)構(gòu)和界面設(shè)計(jì)

        本系統(tǒng)主要通過對(duì)溫濕度傳感器的數(shù)據(jù)采集,實(shí)現(xiàn)對(duì)溫濕傳感器批量檢定。整個(gè)系統(tǒng)在Visual C++ 6.0環(huán)境下開發(fā),總共包括五大模塊:溫濕度傳感器數(shù)據(jù)檢測(cè)模塊、溫濕度傳感器數(shù)據(jù)存儲(chǔ)模塊、溫濕度傳感器合格與否自動(dòng)判定模塊、溫濕度傳感器數(shù)據(jù)查詢模塊、相關(guān)證書的打印模塊。

        軟件的各功能菜單采用統(tǒng)一格式的用戶串口界面。其中,屏幕顯示的是以下幾個(gè)方面:⑴主界面,由背景界面和主菜單組成;⑵點(diǎn)擊檢測(cè)菜單時(shí),顯示溫濕度傳感器的信息界面,所填的信息包括所測(cè)傳感器的信息和標(biāo)準(zhǔn)器的信息。⑶該系統(tǒng)的查詢功能可對(duì)檢測(cè)數(shù)據(jù)和檢測(cè)結(jié)論分別查詢。

        2 數(shù)據(jù)的采集、存儲(chǔ)和查詢

        2.1 串口通信實(shí)現(xiàn)數(shù)據(jù)的批量采集

        串行通信應(yīng)用廣泛,在數(shù)據(jù)通信、計(jì)算機(jī)網(wǎng)絡(luò)以及分布式工業(yè)控制系統(tǒng)中,經(jīng)常采用串行通信來交換數(shù)據(jù)和信息[2]。在Visual C++ 6.0環(huán)境下,一般使用控件‘MSComm’控件進(jìn)行串行通信開發(fā)。通過MSComm控件,上位機(jī)也可以實(shí)現(xiàn)對(duì)下位機(jī)的操作,比如實(shí)時(shí)顯示數(shù)據(jù),更改需要檢測(cè)的傳感器個(gè)數(shù)等。

        2.1.1 檢測(cè)數(shù)據(jù)的實(shí)時(shí)顯示

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

        2.1.2 傳感器有效個(gè)數(shù)的更改

        執(zhí)行更改需要檢測(cè)的傳感器個(gè)數(shù)的程序,具體的算法:根據(jù)用戶在下拉列表中選擇的個(gè)數(shù),調(diào)用CWnd中的子函數(shù)GetDlgItem()和EnableWindow()函數(shù)使得被選中的所有的傳感器相應(yīng)的編輯框有效。

        2.2 SQL-Server 2000數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和查詢

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

        利用Microsoft OLE DB Provider for SQL Server(SQLOLEDB),可不必訪問另一ODBC API和驅(qū)動(dòng)器層,可以直接訪問數(shù)據(jù)源。要使用這個(gè)數(shù)據(jù)提供者,經(jīng)連接字符串的Provider變?cè)O(shè)置為SQLOLEDB。

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

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

        使用SQLOLEDB連接SQL Server數(shù)據(jù)庫,連接字符串如下:

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

        2.2.1 數(shù)據(jù)的存儲(chǔ)

        對(duì)于數(shù)據(jù)庫的存儲(chǔ)主要有兩個(gè)方面,一個(gè)是在沒有數(shù)據(jù)的情況下進(jìn)行數(shù)據(jù)的插入,另一個(gè)是原來存在數(shù)據(jù),則進(jìn)行數(shù)據(jù)的更新。

        插入數(shù)據(jù)用到的是SQL Server中的INSERT語句,例如:

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

        更新數(shù)據(jù)用到的是SQL Server中的UPDATE語句,例如:

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

        2.2.2 數(shù)據(jù)的查詢

        數(shù)據(jù)的查詢主要用到了Visual C++的三個(gè)控件:ADO Data控件;DataGrid控件;DataCombo控件。

        ⑴ADO Data控件:使用ADO Data控件可以快速地創(chuàng)建一個(gè)到數(shù)據(jù)庫的連接,并且它調(diào)用Recordset對(duì)象提供對(duì)存儲(chǔ)在數(shù)據(jù)庫中的數(shù)據(jù)的訪問,并允許從一個(gè)記錄移動(dòng)到另一個(gè)記錄,顯示和操縱記錄數(shù)據(jù)。ADO Data可以執(zhí)行大部分對(duì)數(shù)據(jù)庫的操作,但是它不能夠顯示數(shù)據(jù)庫中的數(shù)據(jù),一般會(huì)和數(shù)據(jù)察覺控件搭配使用,比如DataGrid控件、DataCombo控件、DataList控件。當(dāng)ADO Data控件中的當(dāng)前記錄發(fā)生變化時(shí),數(shù)據(jù)查詢控件中的數(shù)據(jù)也隨之發(fā)生變化。

        本文中,對(duì)于每個(gè)用到的數(shù)據(jù)表格都關(guān)聯(lián)了相應(yīng)的ADO Data控件。這樣,就可以實(shí)現(xiàn)了將數(shù)據(jù)庫中的數(shù)據(jù)與數(shù)據(jù)察覺控件相聯(lián)系,顯示數(shù)據(jù)庫中的數(shù)據(jù)。

        ⑵DataGrid控件:DataGrid控件以表格的形式顯示結(jié)果集中的數(shù)據(jù),它需要ADO Data控件提供數(shù)據(jù)源。與關(guān)練了數(shù)據(jù)庫中相關(guān)表格大ADO Data控件相結(jié)合,DataGrid控件中便可以顯示測(cè)量的數(shù)據(jù)。

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

        本系統(tǒng)中的查詢界面由數(shù)據(jù)查詢和檢驗(yàn)結(jié)論查詢兩部分組成。使用兩個(gè)Adodc控件分別為DataCombo控件和DataGrid控件提供數(shù)據(jù)。利用SELECT語句實(shí)現(xiàn)查詢功能。舉例如下:

        CString strSql=\"SELECT Sensor_id,ChuChangNum AS 出廠編號(hào),… …,Time AS檢校時(shí)間FROM HTSensorInfo\";

        3 調(diào)用EXCEL實(shí)現(xiàn)數(shù)據(jù)、證書的輸出打印

        因?yàn)樽C書有一定的格式,所以實(shí)現(xiàn)證書的打印,用到的算法為:預(yù)先設(shè)定好相應(yīng)的模板,在Visual C++環(huán)境中調(diào)用一定格式的Excel表格進(jìn)行數(shù)據(jù)的導(dǎo)出、證書的打印等。

        在Visual C++中根據(jù)模板創(chuàng)建EXCEL的程序?yàn)椋?/p>

        COleVariantcovOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);

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

        {

        AfxMessageBox(\"創(chuàng)建Excel服務(wù)失??!\");

        return;

        }

        m_App.SetVisible(1);

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

        char path[MAX_PATH];

        GetCurrentDirectory(MAX_PATH,path);

        CString strPath = path;

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

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

        4 結(jié)束語

        該系統(tǒng)集數(shù)據(jù)采集、數(shù)據(jù)存貯、證書打印于一體,適用于鉑電阻溫度表、氣壓傳感器(模擬信號(hào)輸出)、濕度、風(fēng)向(模擬信號(hào)輸出)傳感器的批量校準(zhǔn),為自動(dòng)氣象站傳感器室內(nèi)檢定、校準(zhǔn)發(fā)揮了重要作用。

        [參考文獻(xiàn)]

        [1]李光忠.基于單片機(jī)的溫濕度檢測(cè)系統(tǒng)的設(shè)計(jì)[D].山東大學(xué),2007.

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

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

        国产乱人视频在线看| 亚洲成人av在线播放不卡| 日本亚洲中文字幕一区| 亚洲国产色婷婷久久精品| 欧美乱妇高清无乱码免费| 99麻豆久久久国产精品免费| 粉嫩被粗大进进出出视频| 人妻少妇精品视频一区二区三区| 久久婷婷综合色丁香五月| 国产欧美亚洲精品第二区首页| 黄网站a毛片免费观看久久| 国产日产一区二区三区四区五区| av无码小缝喷白浆在线观看| 亚洲精华国产精华液的福利| 欧美性猛交xxxx乱大交蜜桃| 精品国产午夜久久久久九九| 日本亚洲视频免费在线看| 91精品国产色综合久久| 综合色就爱涩涩涩综合婷婷| 久久亚洲精品ab无码播放| 伊人精品无码AV一区二区三区| 亚洲成av人无码免费观看| 国产精品成人一区二区在线不卡| 欧美综合天天夜夜久久| 熟妇的荡欲色综合亚洲| 免费精品美女久久久久久久久久 | 中美日韩在线一区黄色大片| 无码无套少妇毛多18p| 午夜不卡久久精品无码免费| 精品国产91久久久久久久a| 亚洲精品国产av成人网| 国产精品亚洲二区在线看| 成人网站在线进入爽爽爽| 美女自卫慰黄网站| 欧美日韩国产在线成人网| 一本色道久久综合亚洲精品不 | 狠狠色狠狠色综合网| 在线观看热码亚洲av每日更新| 国产黄a三级三级三级av在线看| 国产美女自拍国语对白| 成人免费在线亚洲视频|