基于CAN總線的井下多參數(shù)監(jiān)控系統(tǒng)的設(shè)計(jì)
4 監(jiān)控系統(tǒng)軟件設(shè)計(jì)
此系統(tǒng)的軟件設(shè)計(jì)主要由專家系統(tǒng)、上位人機(jī)交互和監(jiān)控分機(jī)子系統(tǒng)組成。其中專家系統(tǒng)以Microsoft Access 2003為開發(fā)軟件,大量收集井下需要監(jiān)測(cè)的模擬量參數(shù)信息,以供監(jiān)控主機(jī)查詢參考。上位人機(jī)交互選用了NI公司的LabWindows/CVI,其界面友好,利用較少的儀器硬件和計(jì)算機(jī)資源代替了多種高檔數(shù)據(jù)記錄分析儀器。計(jì)算機(jī)可以自動(dòng)分析數(shù)據(jù)和輸出報(bào)表等,大大提高了系統(tǒng)的智能化和測(cè)試效率,減少了人為操作誤差對(duì)檢測(cè)結(jié)果的影響,友好的人機(jī)交互界面為用戶提供了豐富的功能。
為了使單片機(jī)系統(tǒng)具有更好的實(shí)時(shí)性和代碼的最優(yōu)化,監(jiān)控分機(jī)系統(tǒng)的軟件設(shè)計(jì)采用匯編語言編寫。限于篇幅,這里只簡(jiǎn)要介紹上位人機(jī)交互和監(jiān)控分機(jī)子系統(tǒng)的軟件設(shè)計(jì)。
4.1 監(jiān)控分機(jī)子系統(tǒng)
程序流程圖如圖4所示。從圖4中可以看出,監(jiān)控系統(tǒng)能夠?qū)崿F(xiàn)多種功能,包括多路模擬量A/D采集、數(shù)據(jù)暫存、液晶顯示、與上位人機(jī)交互通信以及開關(guān)量輸出等。設(shè)計(jì)時(shí),采用模塊化思想,簡(jiǎn)化了設(shè)計(jì),提高了效率。
4.2 監(jiān)控分機(jī)子系統(tǒng)
為了便于代碼復(fù)用,虛擬儀器軟件開發(fā)采用分層設(shè)計(jì),分為主程序控制層、人機(jī)交互層、數(shù)據(jù)處理層和儀器驅(qū)動(dòng)層。
儀器驅(qū)動(dòng)層是針對(duì)不同的硬件編制的驅(qū)動(dòng)程序函數(shù)庫,完成I/O硬件接口與處理層的連接,是實(shí)現(xiàn)高層軟件與硬件無關(guān)的重要保證;數(shù)據(jù)處理層在后臺(tái)對(duì)用戶的操作進(jìn)行解析計(jì)算,將控制字送給硬件驅(qū)動(dòng)層;同時(shí)實(shí)現(xiàn)數(shù)據(jù)的采集控制、信號(hào)的分析與處理、數(shù)據(jù)的管理、標(biāo)定程序、測(cè)試報(bào)告生成等;人機(jī)交互層完成人機(jī)界面交互,響應(yīng)用戶的操作,實(shí)現(xiàn)數(shù)據(jù)的顯示、與專家系統(tǒng)通信互換信息及報(bào)表的打印等功能。主程序控制層用于組織各部分協(xié)調(diào)工作,共同完成測(cè)試任務(wù)。該測(cè)試軟件中運(yùn)用了Windows多線程技術(shù),實(shí)現(xiàn)了數(shù)據(jù)采集及處理、數(shù)據(jù)顯示同時(shí)進(jìn)行。
5 結(jié)束語
目前該井下監(jiān)控系統(tǒng)已經(jīng)通過驗(yàn)證。實(shí)驗(yàn)證明其具有特點(diǎn)如下:與同類產(chǎn)品相比,具有精度高、可靠性強(qiáng)、工作性能穩(wěn)定、成本低廉的特點(diǎn);采用單片機(jī)控制,簡(jiǎn)化了測(cè)試設(shè)備結(jié)構(gòu),減少了故障環(huán)節(jié),提高了工作效率和智能化;測(cè)試系統(tǒng)采用10位高精度A/D轉(zhuǎn)換器和自動(dòng)數(shù)據(jù)報(bào)表,提高了系統(tǒng)的測(cè)控精度,減小了人為隨機(jī)誤差;采用虛擬儀器作為人機(jī)交互界面,融合了傳統(tǒng)的測(cè)試手段和現(xiàn)代計(jì)算機(jī)技術(shù),提高了測(cè)試系統(tǒng)的直觀性和可操作性;系統(tǒng)內(nèi)部集成了專家系統(tǒng)可通過故障解決方案的實(shí)時(shí)查詢功能解決問題,在提高效率的基礎(chǔ)上,降低了事故率。
評(píng)論