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