多通道超聲波探傷系統(tǒng)設(shè)計(jì)開(kāi)發(fā)思路
飛泰多通道超聲波探傷系統(tǒng)的設(shè)計(jì)開(kāi)發(fā)中,軟件設(shè)計(jì)和實(shí)現(xiàn)占有重要地位。近年來(lái),超聲波探傷系統(tǒng)的功能越來(lái)越全面和完善,除了要完成波形顯示、實(shí)時(shí)報(bào)警和通道預(yù)置等正常的探傷功能外,還要實(shí)現(xiàn)自動(dòng)增益、波峰記憶、焊縫顯示、曲面修正、B 掃描、缺陷測(cè)高和動(dòng)態(tài)記錄等功能,系統(tǒng)越來(lái)越自動(dòng)化和智能化。探傷功能和系統(tǒng)智能化最終需要通過(guò)軟件來(lái)實(shí)現(xiàn)和體現(xiàn),這些都給系統(tǒng)軟件的設(shè)計(jì)和實(shí)現(xiàn)帶來(lái)了不同等級(jí)的升級(jí)。
飛泰為了提高系統(tǒng)軟件的開(kāi)發(fā)效率、代碼可重用度、可移植性和可擴(kuò)展性,在多通道超聲波探傷系統(tǒng)的設(shè)計(jì)中,系統(tǒng)軟件的設(shè)計(jì)采用了嵌入式操作系統(tǒng)。嵌入式操作系統(tǒng)是為上層應(yīng)用程序提供了精簡(jiǎn)、高效的軟件運(yùn)行平臺(tái)。操作系統(tǒng)的底層驅(qū)動(dòng)程序負(fù)責(zé)硬件的抽象,為上層應(yīng)用程序提供了統(tǒng)一的硬件訪(fǎng)問(wèn)接口。上層應(yīng)用程序基于 GUI 工具庫(kù)實(shí)現(xiàn),完成超聲波探傷的各種功能,并利用 GUI 工具庫(kù)提供的豐富控件和類(lèi)庫(kù),開(kāi)發(fā)出簡(jiǎn)潔、高效、美觀的用戶(hù)界面。
我們完成系統(tǒng)軟硬件功能定義和劃分,采用 Linux 和 Qt/Embedded 作為本系統(tǒng)的嵌入式操作系統(tǒng)和 GUI 工具庫(kù),完成了交叉開(kāi)發(fā)環(huán)境的建立。基于 Linux 操作系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)了設(shè)備驅(qū)動(dòng)層,基于 Qt/Embedded 工具庫(kù)設(shè)計(jì)實(shí)現(xiàn)了應(yīng)用軟件層。經(jīng)過(guò)實(shí)際的系統(tǒng)功能測(cè)試和系統(tǒng)性能測(cè)試,探傷系統(tǒng)軟件能夠正常工作,滿(mǎn)足系統(tǒng)的功能設(shè)計(jì)需要和系統(tǒng)的性能設(shè)計(jì)指標(biāo)。驗(yàn)證了系統(tǒng)設(shè)計(jì)方案是切實(shí)可行。
遵循將數(shù)據(jù)平面、控制平面和管理平面分開(kāi)的思想,將系統(tǒng)的設(shè)備驅(qū)動(dòng)層分為驅(qū)動(dòng)層數(shù)據(jù)平面和驅(qū)動(dòng)層控制平面接口。以模塊化方式設(shè)計(jì)開(kāi)發(fā)系統(tǒng)的設(shè)備驅(qū)動(dòng)程序。采用了中斷機(jī)制和 Linux 異步通知機(jī)制,實(shí)現(xiàn)了系統(tǒng)的驅(qū)動(dòng)層數(shù)據(jù)平面。基于 Linux 內(nèi)核提供的設(shè)備驅(qū)動(dòng)開(kāi)發(fā)接口,實(shí)現(xiàn)了系統(tǒng)的驅(qū)動(dòng)層控制平面接口。完成了基于 Linux 的嵌入式探傷核心板的引導(dǎo)程序燒寫(xiě)、內(nèi)核編譯和燒寫(xiě)、根文件制作和燒寫(xiě)等任務(wù)。該嵌入式探傷核心板提供了探傷數(shù)據(jù)采集接口、探傷參數(shù)配置接口和外圍設(shè)備接口,便于功能的裁剪和擴(kuò)展,不僅可以作為便攜式探傷儀的信號(hào)處理主板,也可以作為主/從模式自動(dòng)化探傷儀的信號(hào)采集從板。該嵌入式探傷核心板具有較高的工程價(jià)值。
應(yīng)用軟件層設(shè)計(jì)遵循將數(shù)據(jù)平面、控制平面和管理平面分開(kāi),將“功能模塊“和“用戶(hù)界面”分開(kāi)的思想,使用分層和模塊化設(shè)計(jì)方法,將應(yīng)用軟件層分為設(shè)備控制適配層、功能處理層和用戶(hù)界面層,層次分明、模塊接口清晰,提高了代碼的可重用度和可移植性,便于系統(tǒng)的功能擴(kuò)展。采用面向?qū)ο蠓椒ㄔO(shè)計(jì)超聲波探傷模塊,使用 C++語(yǔ)言實(shí)現(xiàn)超聲波探傷模塊的各個(gè)類(lèi)對(duì)象,提高了超聲波探傷模塊的可重用性。該超聲波探傷模塊不僅可以在嵌入式平臺(tái)上使用,也可以在其他平臺(tái)如 PC 平臺(tái)上使用,具有很好的可移植性和可擴(kuò)展性。