- 相關(guān)推薦
Windows下工業(yè)CT機(jī)掃描控制的研究
摘 要:介紹了一種CT掃描控制的,并給出了其在Windows平臺(tái)下的實(shí)現(xiàn)方法。實(shí)驗(yàn)表明:該方法具有良好可靠性。關(guān)鍵詞:工業(yè)CT 掃描 Windows設(shè)備驅(qū)動(dòng)
一、引言
工業(yè)機(jī)斷層掃描成像技術(shù)(Industrial Computerized Tomography),簡(jiǎn)稱工業(yè)CT或ICT,是計(jì)算機(jī)技術(shù)與放射學(xué)相結(jié)合的一門新的成像技術(shù)。工業(yè)CT在無損檢測(cè)(NDT)與無損評(píng)價(jià)(NDE)領(lǐng)域得到了廣泛的。
CT掃描檢測(cè)模式已經(jīng)經(jīng)歷了三代掃描模式。第三代掃描方式的此掃描檢測(cè)模式的示意如圖1
M個(gè)分度旋
輻射源
探測(cè)器陣列
圖1 第三代掃描示意圖
相對(duì)旋轉(zhuǎn)一周,完成一個(gè)斷層掃描檢測(cè),獲得由N×N個(gè)數(shù)據(jù)組成的數(shù)據(jù)集。本文將Windows下第三代CT掃描檢測(cè)模式控制系統(tǒng)的開發(fā)。
二、系統(tǒng)總體結(jié)構(gòu)
本文以重慶大學(xué)ICT研究中心研制的某臥式工業(yè)CT機(jī)為例闡述工業(yè)CT機(jī)掃描運(yùn)動(dòng)控制。臥式工業(yè)CT機(jī)主要要求對(duì)下列三個(gè)運(yùn)動(dòng)軸的位置進(jìn)行控制:
1.分度運(yùn)動(dòng)(工件轉(zhuǎn)動(dòng))M1
分度運(yùn)動(dòng)的定位精度到等效探測(cè)器空間分布均勻性,直接影響圖象質(zhì)量。可作正、反方向連續(xù)轉(zhuǎn)動(dòng)。
2.插值運(yùn)動(dòng)M2
通過該方向的運(yùn)動(dòng)調(diào)整探測(cè)器的位移,以獲取更多的探測(cè)數(shù)據(jù),提高分辨率。
3.工件分層運(yùn)動(dòng)M3
分層運(yùn)動(dòng)用于選擇CT掃描斷層位置。
選用研華公司的PCL_839三軸運(yùn)動(dòng)控制卡控制這三個(gè)運(yùn)動(dòng)。PCL_839卡自身含有3個(gè)脈沖發(fā)生器,能夠執(zhí)行同步及獨(dú)立控制三個(gè)軸的運(yùn)動(dòng)任務(wù)。選用研華公司的三通道正交計(jì)數(shù)卡PCL_833獲取這三個(gè)運(yùn)動(dòng)位置反饋信號(hào)。控制原理框圖如圖2。
圖2 CT掃描運(yùn)動(dòng)控制框圖
三、Window下CT掃描控制軟件的開發(fā)
1.應(yīng)用程序與驅(qū)動(dòng)程序的交互
Windows中提供了以下5個(gè)API函數(shù),通過它們可以像訪問一個(gè)文件那樣訪問設(shè)備。
(1)CreateFile()打開一個(gè)WDM設(shè)備
(2)CloseHandle()關(guān)閉一個(gè)WDM設(shè)備
(3)ReadFile()從設(shè)備讀數(shù)據(jù)
(4)WriteFile()向設(shè)備寫數(shù)據(jù)
(5)DeviceIoControl()設(shè)備控制命令,讀、寫操作可一起完成。
應(yīng)用程序首先必須通過CreateFile()打開和創(chuàng)建到一個(gè)WDM設(shè)備連接,才能對(duì)它進(jìn)行各種I/O 操作。下面將給出研華PCL_839卡驅(qū)動(dòng)程序的DriverEntry例程,設(shè)置了驅(qū)動(dòng)程序的入口點(diǎn)和主要回調(diào)例程,以后內(nèi)核會(huì)在合適的環(huán)境下調(diào)用這些例程處理。
DriverEntry(IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath)
{NTSTATUS status = STATUS_SUCCESS;
DriverObject->DriverExtension->AddDevice= PCL_839 AddDevice;
………….
Return status;
}
2.CT掃描過程控制
(1)CT掃描控制策略
為提高CT掃描效率及減少機(jī)器的損耗,采用CT掃描運(yùn)動(dòng)勻速方式,CT掃描速度的快慢根據(jù)采集的時(shí)間要求確定,在運(yùn)動(dòng)過程中到達(dá)一個(gè)采集點(diǎn)時(shí),就給數(shù)據(jù)采集系統(tǒng)發(fā)送一個(gè)采集信號(hào),通知采集系統(tǒng)準(zhǔn)備讀取當(dāng)前點(diǎn)的采集數(shù)據(jù)。CT掃描控制流程圖如下所示:
(2)CT掃描軟件的編寫
首先,用戶程序發(fā)出初始化電機(jī)的命令BYTE InitPCL_839 [] = //初始化命令碼
{…
PCL_839IO_WRITE, PARPORT_XX, 0xXX, //命令碼,操作地址,操作數(shù)
…
};
BYTE ChaZhiPCL_839 [] = //插值運(yùn)動(dòng)命令碼
{…
PCL_839IO_WRITE, PARPORT_XX, 0xXX, //命令碼,操作地址,操作數(shù)
…
};
初始化包括電機(jī)的操作模式,速度控制,及中斷使能等。
上面給出初始化、插值運(yùn)動(dòng)命令碼及在用戶態(tài)調(diào)用初始化命令碼的程序,在用戶態(tài)調(diào)用插值運(yùn)動(dòng)命令碼只需對(duì)DeviceIoControl修改即可,如下所示:
DeviceIoControl(hWdmIo, IOCTL_ PCL_839IO_RUN_CMDS,
ChaZhiPCL_839, ChaZhiPCL_839, // Input
rv, sizeof(rv), // Output
&BytesReturned, NULL)
其它操作如分度運(yùn)動(dòng)、分層運(yùn)動(dòng)與此類似,鑒于篇幅所限這里不再敘述。
CT掃描任務(wù)的強(qiáng)實(shí)時(shí)性要求程序與驅(qū)動(dòng)程序能進(jìn)行實(shí)時(shí)通信。為保證CT掃描系統(tǒng)的實(shí)時(shí)性,采用Win32事件對(duì)應(yīng)用程序進(jìn)行通信。當(dāng)發(fā)生中斷時(shí),設(shè)置事件的觸發(fā)狀態(tài)。驅(qū)動(dòng)程序創(chuàng)建命名的核心態(tài)事件,具體步驟如下。
①聲明核心態(tài)事件
KEVENT myEventToSingnal; //在PCL_839設(shè)備擴(kuò)展dx中聲明
②當(dāng)核心事件發(fā)生時(shí),設(shè)置事件為觸發(fā)態(tài),實(shí)現(xiàn)WDM對(duì)應(yīng)用程序的通信
state=KeReadStateEvent(dx->myEventToSingnal);
設(shè)置事件為非觸發(fā)態(tài)
KeClearEvent(dx->myEventToSingnal);
③最后釋放事件句柄
ExFreePool((dx->myEventToSingnal);
由于在該軟件設(shè)計(jì)中,事件是由中斷發(fā)出的。在進(jìn)行上述處理之前,必須有一些中斷初始步驟設(shè)置。應(yīng)用程序在等待一個(gè)事件發(fā)生后,就對(duì)相應(yīng)的事件做出快速反映,以保證CT掃描控制的實(shí)時(shí)性。
四、結(jié)論
在Windows 2000平臺(tái)上對(duì)CT掃描控制系統(tǒng)進(jìn)行開發(fā),不僅能更好的實(shí)現(xiàn)CT機(jī)的掃描控制,縮短開發(fā)周期,而且可以提高整個(gè)控制系統(tǒng)的可靠性、穩(wěn)定性。
[1] (美)Chris Cant 著.Windows WDM設(shè)備驅(qū)動(dòng)程序開發(fā)指南.機(jī)械工業(yè)出版社.
[2] 劉麗,劉紅霞.工業(yè)CT掃描臺(tái)高加速運(yùn)動(dòng)控制.鄭州航空工業(yè)管院學(xué)報(bào)(版).第23卷第3期2004年6月.
[3] 劉鴻,王平,俞偉.WDM驅(qū)動(dòng)程序開發(fā)疑難.機(jī)應(yīng)用.第23卷第6期2003年6月.
[4] 馬官營(yíng).楊明.吳曉琳Windows2000通用設(shè)備驅(qū)動(dòng)程序設(shè)計(jì).計(jì)算機(jī)應(yīng)用.第23卷2003年6月
【W(wǎng)indows下工業(yè)CT機(jī)掃描控制的研究】相關(guān)文章:
工業(yè)工程成本管理與控制研究08-14
研究多層螺旋CT掃描技術(shù)在胰腺癌診斷中的應(yīng)用價(jià)值07-05
Windows環(huán)境下對(duì)象的鏈接與嵌入05-08
鼻咽癌頸部淋巴結(jié)放射敏感性與CT灌注掃描相關(guān)性研究07-31
Windows CE下串行通信的實(shí)現(xiàn)07-29
在 DOS 下使用Windows *.WAV 文件09-27
關(guān)于CT 設(shè)備維修管理的研究10-04
淺析工業(yè)鍋爐控制系統(tǒng)的研究與節(jié)能應(yīng)用10-27