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

基于VC的智能甲醛監(jiān)測軟件設計與應用

2022-02-19 10:23:14余燕娟
計算機應用與軟件 2022年2期
關鍵詞:程序數據庫智能

余燕娟 高 翔

1(漳州職業(yè)技術學院 福建 漳州 363099) 2(廈門大學第一附屬醫(yī)院 福建 廈門 361003)

0 引 言

甲醛(HCHO),又名蟻醛,是一種帶有刺激性氣味的氣體[1]。甲醛一直被用于木材、塑料、醫(yī)藥、紡織、機械等行業(yè)生產過程中,同時甲醛會與生物細胞產生反應,如人體接觸高濃度甲醛,甲醛便會與人體蛋白質結合,會使得細胞受損,引發(fā)水腫、頭疼等一系列癥狀,對低濃度的甲醛人體會由代謝系統(tǒng)排除。我國國家標準規(guī)定居室空氣中甲醛的最高允許濃度為0.08 mg/m3,公共場所甲醛的最高允許濃度為0.10 mg/m3[2]。甲醛對人體的傷害因濃度的高低而不同,其中人體處于高濃度甲醛環(huán)境中會使得身體組織產生不可逆性的傷害[3]。因此為了保障人員的身體健康,在生產過程中會產生甲醛的工廠實現(xiàn)對甲醛的實時監(jiān)測十分重要。

工廠應該對產生中易產生甲醛的過程進行監(jiān)測,以保證員工作業(yè)安全,但目前針對甲醛的連續(xù)監(jiān)測仍處于空白[4]。針對社會需求團隊設計了適合于工廠環(huán)境的多點甲醛監(jiān)測儀。該監(jiān)測裝置基于RS485總線分布式總線控制結構,實現(xiàn)了多個甲醛采集板的與中心控制板的通信方式,完成了多個數據采集板的級聯(lián)。采集器采用MSP430單片機為核心工作部件,采用納米材料的甲醛傳感器檢測甲醛計量。選取臺灣工研院資深研發(fā)的高精度泓格AD和DA模塊,用于加強數據的采集和處理。對甲醛出現(xiàn)超標狀況下設置開啟排氣系統(tǒng)及報警提醒等兩種保護措施命令的下發(fā),利用低電壓、低功耗無線網絡通信模塊實現(xiàn)與PC機的對接。甲醛檢測系統(tǒng)的結構如圖1所示。

圖1 甲醛監(jiān)測系統(tǒng)的結構框圖

與常規(guī)單點檢測的甲醛測試儀[5]不同,該甲醛監(jiān)測儀可對工廠5個生產點進行甲醛計量的實時監(jiān)測,實現(xiàn)了低功耗、網絡化、智能化的設計。選取高精度的傳感器和AD元件,保證精準性和靈敏度。為了實現(xiàn)對甲醛監(jiān)測數據和對甲醛報警信息的匯總,設計利用網絡通信模塊將數據上傳PC機。本文基于此硬件平臺進行軟件設計,實現(xiàn)智能甲醛監(jiān)測軟件,完成工廠中多點甲醛的實時顯示、報警、數據存儲、查看等多種功能。

1 關鍵技術

智能甲醛監(jiān)測軟件在VC++的開發(fā)平臺完成設計,利用窗口化的設計模式,采用面向對象的設計語言C++[6],選擇數據可視化開發(fā)模塊PlotLab,利用自主開發(fā)的儀表類,結合SQLite嵌入式關系型數據庫完成了軟件開發(fā)。

1.1 PlotLab VC++數據可視化

數據可視化設計是智能甲醛測試軟件設計的重要部分,幫助用戶快速獲取數據信息、捕抓信息特點。本文設計嵌入了數據可視化的PlotLab_VCL控件,控件以類的方式提供了用戶快速信號繪制接口函數,可以實現(xiàn)柱行、波浪行、星點行等多種模式圖形的繪制及數據的分析[7],其形狀如圖2所示。PlotLab具備模塊化的設計方式讓程序的設計和數據顯示更輕松、簡易,同時PlotLab以多線程編程方式完成開發(fā),因此運行速度快。PlotLab可以嵌入到多種應用程序開發(fā)中,VC++程序的開發(fā)選擇的是PlotLab_VC版本。安裝PlotLab_VC軟件,設置安裝環(huán)境及鏈接庫,即可在工程中調用PlotLab的函數庫。通過頭文件的調用打開程序接口:“#include ”。在資源中添加畫布對象,并定義控件變量CTSLScope Scope,利用VCL_InitControls()函數將畫布與Scope實現(xiàn)關聯(lián),Scope繪制的圖形就可以在畫布上面呈現(xiàn)。

圖2 PlotLab中數據顯示模式

以柱狀圖為例,Scope可以利用其接口函數為完成顯示樣式的選擇:

Scope.Channels[0].ChannelMode=cmBar;

//cmBar為柱狀圖

……

Scope.Channels[0].Data.Clear();

……

//開啟定時器用于接收數據并顯示

Scope.Channels[0].Data.AddXYPoint(m_Date);

……

PlotLab通過定時器的AddXYPoint()函數完成數據的添加,完成數據圖形可視化的設計。

1.2 多功能儀表類設計

為了更加形象地顯示甲醛環(huán)境中溫濕度的監(jiān)測,軟件設計適合溫濕度顯示的CStThermometer儀表類。CStThermometer利用Visual C++提供了CDC繪圖類,調用基礎繪圖函數完成圖形的繪制,程序中主要使用LineTo()直線/折線、Rectangle()矩形函數完成圖形繪制[8]。

CStThermometer圖形如圖3所示,圖形利用從背景、基本元件、刻度、數據等幾個步驟層層疊加的方式完成繪制。

圖3 CStThermometer圖形類繪制

主要程序如下所示:

pDC->FillSolidRect(&m_rectCtrl,m_clrBackGround);

//繪制填充背景顏色

//繪制溫度計的刻度

ScaleFont.CreateFont(……)

//創(chuàng)建刻度筆

for(int i=0;i<=m_nTicks;i++)

//繪制大刻度

{

pDC->MoveTo(……);

pDC->LineTo(……);

if(i

//繪制子刻度

{ for(int j=1;j

{ pDC->MoveTo(……);

pDC->LineTo(……);

}

}

……

}

OnDrawData(……)

//繪制數據

在繪制背景、刻度等變量時,為了體現(xiàn)溫度控件立體效果,提高用戶感官體驗,CStThermometer類對儀表進行三種顏色畫筆交錯繪制,利用位置及顏色的差異為視覺呈現(xiàn)立體效果[9],使得儀表呈現(xiàn)更真實。

使用CStThermometer類需調用#include “CStThermometer.h”頭文件,同時在資源中增加畫布STATIC變量,利用畫布與CStThermometer關聯(lián),利用接口函數完成數據設置:

SetMaxValue(maxvalue);

//設置量程最大值

SetLimit()

//設置限值函數

SetData()

//設置數值函數

1.3 嵌入式數據管理

智能甲醛監(jiān)測系統(tǒng)中數據與數據之間不存在復雜的關系,為了方便用戶可以快速使用軟件,不必安裝數據庫軟件及架設服務器[10],本文設計選擇嵌入式關系型數據庫SQLite完成嵌入數據存儲、調用管理。SQLite數據庫可以免安裝直接嵌入到智能甲醛監(jiān)測系統(tǒng)中,其僅有一個.db文件,用戶在使用時可以直接拷貝,其最大的特點是小巧、簡單、代碼精簡,方便用戶移植智能甲醛監(jiān)測系統(tǒng)程序。SQLite數據庫在這種零狀態(tài)配置模式下與應用系統(tǒng)有效結合,效率高、穩(wěn)定性強。

SQLite數據庫與應用程序建立的聯(lián)系方式有很多,如SQLite3命令行程序、SQLite共享庫、TCL擴展方式等[11]。智能甲醛監(jiān)測系統(tǒng)選擇了SQLite共享庫的方式打開數據庫與程序的接口,程序通過添加sqlite3.dll及頭文件sqlite3.h連接文件,并利用sqlite3_open()函數開啟了與數據庫通信的通道,如圖4所示。

圖4 SQLite數據庫共享鏈接庫鏈接模式

智能甲醛監(jiān)測軟件在訪問數據庫操作主要包括甲醛計量的存儲、查看、篩查等,SQLite采用SQL語言完成上述數據操作需求。區(qū)別于直接使用SQL語言,SQLite數據庫使用數據庫執(zhí)行函數嵌套SQL語言的方式執(zhí)行,其部分程序如下:

char*sql="CREATE TABLE table1(……);";

//SQL語言創(chuàng)建表格

sqlite3_exec(db,sql……);

//SQLite語言執(zhí)行SQL建表命令

sql="SELECT*FROM table1";

//SQL查詢

sqlite3_get_table(db,sql,&azResult,&nrow,&ncolumn,&zErrMsg);

//SQLite語言執(zhí)行SQL查詢數據命令

SQLite3存儲中文數據會出現(xiàn)亂碼現(xiàn)象,因為SQLite3數據庫默認的編碼格式為ASCII碼,而VC++程序默認使用的是Unicode編碼。因此在存儲中文數據時候需要對中文數據由Unicode轉換成ASCII碼,同時在讀取數據庫表格時需將ASCII碼進行編碼模式的轉換,否則讀到的數據也將是亂碼。程序結束需利用sqlite3_close(db)函數關閉創(chuàng)建的數據庫文件,斷開程序與數據庫的握手通道。

1.4 多線程網絡通信類

硬件設備利用無線通信模塊與PC機進行通信,其中無線通信模塊采用網絡方式完成通信,因此程序設計了網絡通信類CSoketConnect。CSoketConnect是以Windows提供的WinSock套接字為基礎,編程中需要先調用套接字,程序如下所示,WinSock只支持一個通信域,即網際域(AF_INET)[12]。

#include "winsock2.h"

#include

#pragma comment(lib,"ws2_32")

//導入Socket的動態(tài)鏈接庫

程序設計的網絡套接字具有兩種模式,分別為MODE_ASYN異步接收模式和MODE_SYN同步接收模式。在同步模式的網絡套接字在調用發(fā)送/接收數據時,函數結束時相應的發(fā)送/接收處理操作也同時結束,如果函數未結束,那么網絡套接字的程序進行等待狀態(tài)。而使用異步模式下,發(fā)送/接收函數被調用結束時,數據發(fā)送到消息機制中處理,并不知道網絡套接字對是否結束,處理結果會通過事件結果反饋。網絡通信類CSoketConnect網絡編程中結合了事件驅動方式[13],實現(xiàn)了在單個程序設計中多個網絡的連接,事件驅動方式是將網絡通信的權限下放給事件,不斷輪詢所負責的WinSock,當有WinSock數據到達時,再通知程序。

設置程序變量SOCKET m_Socket,并可以利用InitSocket()函數實現(xiàn)異步模式連接到對應網絡。網絡就自動進入事件驅動的多線程模式,利用監(jiān)視線程時刻監(jiān)督網絡的通信狀態(tài),保證數據可靠和穩(wěn)定。

event=WaitForMultipleObjects(……);

//等待網絡事件

switch(event)

//對事件進行判定

{

case 0:

//要求停止網絡,結束監(jiān)視線程

AfxEndThread(100);……

case 1:

//人工操作連接無反應,重啟事件

time=0;

ResetEvent(psocket->m_HandleOperate);

break;

case 2:

//超時連接,進行多次同步模式網絡重連

ResetEvent(psocket->m_HandleTime);

if(time>=0)

{……

psocket->ConnectSyn()

//利用同步模式重連網絡判斷是否成功

}}

在出現(xiàn)網絡中斷將進行重連,此時采用同步模式連接網絡,等到超時仍未連接上,接收到報錯信息才停止。利用監(jiān)視線程對網絡的通信狀態(tài)及錯誤進行跟蹤,保障了系統(tǒng)運行的實時準確性。

2 軟件功能、框架和實現(xiàn)

2.1 軟件功能分析

設計軟件要實現(xiàn)現(xiàn)場對甲醛的計量監(jiān)測需要滿足如下功能:

(1) 對多個甲醛計量、環(huán)境PM2.5的值、溫度濕度數據的監(jiān)測,對獲取的原始數據進行解碼,獲得對應計量值,并顯示在對應界面上;(2) 通過計算并顯示每個數據監(jiān)測點中甲醛最高計量、最低計量和平均計量;(3) 可控制監(jiān)測點的開啟狀態(tài),開啟或者關閉甲醛計量監(jiān)測功能;(4) 對出現(xiàn)甲醛超標情況的實時報警,同時下發(fā)命令,單片機驅動通風排氣系統(tǒng),改善空氣質量,保證人員的安全;(5) 對甲醛實時數據進行存儲,并設置篩查功能,方便管理人員查看、導出數據。

2.2 軟件框架結構

軟件架構是設計者從現(xiàn)實世界通向計算機領域工程項目的橋梁[14]。根據軟件邏輯框架結構設計流程,對甲醛監(jiān)測系統(tǒng)用戶需求進行分析,對程序中服務的元件之間的關系進行梳理,將程序按照邏輯功能的不同將劃分成三部分,如圖5所示。

圖5 程序設計結構框圖

智能甲醛監(jiān)測軟件是面向甲醛測試儀和軟件操作員的軟件,通過網絡方式建立了PC機與甲醛測試儀設備之間的連接,以窗口化圖形界面顯示的方式向軟件操作員提供數據信息及操作。數據的分析、轉換、存儲、調用都是在軟件內部完成,因此業(yè)務邏輯操作層是程序核心。根據每個邏輯層的功能不同,將軟件框架細分,如圖6所示。

圖6 智能甲醛監(jiān)測軟件軟件框架

智能甲醛監(jiān)測系統(tǒng)要完成多路甲醛監(jiān)測、控制、報警、數據存儲等功能,因此針對軟件操作層需要設置甲醛計量的顯示、數據圖形化、報警提醒、數據查詢等界面顯示模塊。設備交互層包括程序與PC機工作的Windows的I/O接口[15],與測試儀通信的網絡通信程序,以及CSoketConnect類。業(yè)務邏輯層中與數據為中心的處理包括數據的轉換、存儲、調度的實際程序,以及用戶操作的動作對應的程序。

2.3 軟件實現(xiàn)與應用

基于VS2010開發(fā)軟件中的VC++開發(fā)平臺,利用MFC窗口框架設計模式、面向對象的設計方法完成軟件開發(fā)[16],軟件主要功能分為甲醛監(jiān)測、環(huán)境變量監(jiān)測、監(jiān)測狀態(tài)設置、數據存儲設置、報警和數據篩查等幾個模塊。甲醛監(jiān)測同時顯示每個測試點甲醛的最大、最小測試值及平均值,同時利用PlotLab_VC動態(tài)顯示甲醛波形數據。系統(tǒng)同時監(jiān)測了PM2.5、溫度、濕度參量,監(jiān)測軟件界面如圖7所示。

軟件與甲醛測試裝置進行無線通信,獲取數據進行處理,軟件內部數據處理流程如圖8所示。

圖8 智能甲醛監(jiān)測軟件流程

2.4 軟件測試與應用

選擇了家具廠作為系統(tǒng)的測試點,家具生產過程中要大量使用粘合劑、涂料等,這些材料均會釋放甲醛。選取工廠中的五個地點進行監(jiān)測,根據監(jiān)測點工作特性將其分為材料區(qū)、切割區(qū)、組立區(qū)、包裝區(qū)、成品區(qū)五個區(qū)域,利用甲醛檢測儀對監(jiān)測點的甲醛進行實時監(jiān)測,并通過無線網絡上傳控制室的控制軟件。通過監(jiān)測發(fā)現(xiàn)不同區(qū)域的甲醛監(jiān)測計量不同,如材料區(qū)常在0.16 mg/m3左右,管理人員設置報警界限值為0.15 mg/m3,軟件報警并下發(fā)信號,開啟材料區(qū)的通風系統(tǒng),通風系統(tǒng)的作用使甲醛計量下降。監(jiān)測發(fā)現(xiàn)不同的溫濕度值對于甲醛計量有影響,溫度和濕度增加五個區(qū)域的甲醛監(jiān)測值均有上升。

通過測試,該智能甲醛監(jiān)測軟件性能穩(wěn)定、數據準確、可視化強、操作性可靠,且獲取的數據可以提供對甲醛進行研究。

3 結 語

智能甲醛監(jiān)測軟件采用面向對象的C++為開發(fā)語言,在VS2010的開發(fā)軟件下,利用嵌入式關系型數據庫SQLite完成設計。軟件的可拓展性強、用戶體驗良好。環(huán)保是目前我國社會關注的重要問題之一,中國很多企業(yè)對甲醛檢測仍純在空缺,因此該軟件與硬件配合完成的智能甲醛監(jiān)測系統(tǒng)具有良好的應用前景,為工廠甲醛監(jiān)測的軟件設計提供了借鑒。

猜你喜歡
程序數據庫智能
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 麻豆国产在线观看一区二区| 特级毛片8级毛片免费观看| 国产免费怡红院视频| 欧洲成人在线观看| 国产免费久久精品99re不卡| AV无码无在线观看免费| 97成人在线视频| 红杏AV在线无码| 国产在线自乱拍播放| 97在线国产视频| 制服丝袜一区| 精品视频一区在线观看| 久久伊人操| 色噜噜中文网| 女人天堂av免费| 欧美激情首页| 九九视频免费在线观看| 91麻豆精品视频| 高潮爽到爆的喷水女主播视频| 无码精品国产dvd在线观看9久 | 国产欧美精品午夜在线播放| 2019国产在线| 国产精品久久久久婷婷五月| 国产成人综合日韩精品无码不卡| 精品伊人久久久久7777人| 国产精品视频999| 久久综合亚洲色一区二区三区| 久久精品嫩草研究院| 国产尤物在线播放| 亚洲专区一区二区在线观看| 国产精品色婷婷在线观看| 亚洲精品不卡午夜精品| 58av国产精品| 超清无码一区二区三区| 国产欧美精品专区一区二区| 天天综合网色| 99精品国产自在现线观看| 乱人伦视频中文字幕在线| 中日韩一区二区三区中文免费视频| 国产91特黄特色A级毛片| 欧美成一级| 国产剧情无码视频在线观看| 国产亚洲精品91| 国产三区二区| 国产探花在线视频| 国产农村1级毛片| 亚洲无码久久久久| 小蝌蚪亚洲精品国产| 成人午夜视频网站| 伊人久久婷婷五月综合97色| 国产女人18毛片水真多1| 国产精品七七在线播放| 尤物视频一区| 国产欧美日韩视频一区二区三区| 亚洲无码熟妇人妻AV在线| 国产91在线|日本| 国产精品污污在线观看网站| 国产精品所毛片视频| 热re99久久精品国99热| 在线观看视频99| 九九热视频精品在线| 久久婷婷六月| 中文天堂在线视频| 欧美日一级片| 爆乳熟妇一区二区三区| 97视频在线精品国自产拍| 国产99热| 亚洲一区二区黄色| 久久精品无码中文字幕| a欧美在线| 亚洲一级毛片在线观播放| 亚洲永久精品ww47国产| a色毛片免费视频| 超清无码熟妇人妻AV在线绿巨人| 激情無極限的亚洲一区免费| 无码AV高清毛片中国一级毛片| 成人精品免费视频| 国产91九色在线播放| 99这里精品| 男人天堂亚洲天堂| 国产伦精品一区二区三区视频优播| 四虎永久在线精品影院|