探傷系統(tǒng)應(yīng)用程序框架定制-飛泰
探傷系統(tǒng)的應(yīng)用程序基于 Qt/Embedded 的應(yīng)用程序框架和 Linux 標(biāo)準(zhǔn)函數(shù)庫(kù)進(jìn)行開(kāi)發(fā),在軟件設(shè)計(jì)時(shí)采用了層次化、模塊化的思想。軟件由底向上劃分為三層:設(shè)備驅(qū)動(dòng)程序接口層、主體功能層和界面顯示層。
第一層是設(shè)備驅(qū)動(dòng)程序接口層,主要負(fù)責(zé)對(duì)設(shè)備驅(qū)動(dòng)程序的調(diào)用。在 Linux 系統(tǒng)中,應(yīng)用程序無(wú)法直接對(duì)硬件進(jìn)行操作,對(duì)硬件外設(shè)的控制和數(shù)據(jù)傳輸都是通過(guò)驅(qū)動(dòng)程序接口進(jìn)行的。應(yīng)用程序通過(guò)系統(tǒng)調(diào)用相關(guān)驅(qū)動(dòng)程序接口,將數(shù)據(jù)和控制字從用戶(hù)空間傳輸?shù)絻?nèi)核空間,由相應(yīng)的驅(qū)動(dòng)程序模塊完成具體的硬件操作。設(shè)備驅(qū)動(dòng)程序接口層負(fù)責(zé)用戶(hù)空間的應(yīng)用程序與內(nèi)核空間的驅(qū)動(dòng)程序進(jìn)行交互,為應(yīng)用程序中的各個(gè)功能模塊提供了調(diào)用接口。
第二層是軟件的主體層,主要包括軟件各個(gè)功能模塊的實(shí)現(xiàn),具體有通道校正預(yù)置參數(shù)模塊、文件管理模塊、超聲波探傷檢測(cè)實(shí)時(shí)處理模塊、超聲波探傷擴(kuò)展功能模塊以及儀器設(shè)置功能模塊等。
第三層是界面顯示層,負(fù)責(zé)應(yīng)用程序的界面顯示實(shí)現(xiàn)。利用了 Qt/Embedded 豐富的類(lèi)和控件資源,針對(duì)超聲波探傷各個(gè)功能模塊的不同需要,對(duì)軟件的主界面和各功能模塊的子界面進(jìn)行詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)。本應(yīng)用程序的軟件界面具有人性化、簡(jiǎn)潔美觀(guān)的特點(diǎn)。
應(yīng)用程序使用了分層開(kāi)發(fā)的方法增強(qiáng)了軟件的健壯性、可維護(hù)性和可移植性。模塊化設(shè)計(jì)使軟件結(jié)構(gòu)清晰,便于開(kāi)發(fā)和維護(hù),以及后續(xù)功能的擴(kuò)展。
根據(jù)客戶(hù)需求方案,探傷系統(tǒng)的應(yīng)用軟件的運(yùn)行結(jié)構(gòu)可定制為:
1.應(yīng)用程序啟動(dòng)后,首先對(duì)探傷儀的操作環(huán)境進(jìn)行初始化,包括讀取通道配置文件,對(duì)相應(yīng)的通道參數(shù)進(jìn)行設(shè)置,調(diào)用各個(gè)驅(qū)動(dòng)程序接口層函數(shù),初始化外圍硬件設(shè)備,為正常探傷操作做好準(zhǔn)備。
2.進(jìn)入正常探傷界面,對(duì)探傷主界面進(jìn)行顯示,接收 FPGA 的波形數(shù)據(jù)并進(jìn)行實(shí)時(shí)處理和顯示,對(duì)八通道的報(bào)警情況進(jìn)行實(shí)時(shí)監(jiān)控。
3.接收鍵盤(pán)的按鍵事件,根據(jù)具體情況實(shí)現(xiàn)相應(yīng)的擴(kuò)展功能。