Windows下工業CT機掃描控制的研究

時間:2024-09-15 10:06:20 計算機應用畢業論文 我要投稿
  • 相關推薦

Windows下工業CT機掃描控制的研究

摘 要:介紹了一種CT掃描控制的,并給出了其在Windows平臺下的實現方法。實驗表明:該方法具有良好可靠性。

關鍵詞:工業CT 掃描 Windows設備驅動

一、引言

工業機斷層掃描成像技術(Industrial Computerized Tomography),簡稱工業CT或ICT,是計算機技術與放射學相結合的一門新的成像技術。工業CT在無損檢測(NDT)與無損評價(NDE)領域得到了廣泛的。

CT掃描檢測模式已經經歷了三代掃描模式。第三代掃描方式的此掃描檢測模式的示意如圖1

M個分度旋



輻射源

探測器陣列


圖1 第三代掃描示意圖

相對旋轉一周,完成一個斷層掃描檢測,獲得由N×N個數據組成的數據集。本文將Windows下第三代CT掃描檢測模式控制系統的開發。

二、系統總體結構

本文以重慶大學ICT研究中心研制的某臥式工業CT機為例闡述工業CT機掃描運動控制。臥式工業CT機主要要求對下列三個運動軸的位置進行控制:

1.分度運動(工件轉動)M1

分度運動的定位精度到等效探測器空間分布均勻性,直接影響圖象質量。可作正、反方向連續轉動。

2.插值運動M2

通過該方向的運動調整探測器的位移,以獲取更多的探測數據,提高分辨率。

3.工件分層運動M3

分層運動用于選擇CT掃描斷層位置。

選用研華公司的PCL_839三軸運動控制卡控制這三個運動。PCL_839卡自身含有3個脈沖發生器,能夠執行同步及獨立控制三個軸的運動任務。選用研華公司的三通道正交計數卡PCL_833獲取這三個運動位置反饋信號?刂圃砜驁D如圖2。



圖2 CT掃描運動控制框圖

三、Window下CT掃描控制軟件的開發

1.應用程序與驅動程序的交互

Windows中提供了以下5個API函數,通過它們可以像訪問一個文件那樣訪問設備。

(1)CreateFile()打開一個WDM設備

(2)CloseHandle()關閉一個WDM設備

(3)ReadFile()從設備讀數據

(4)WriteFile()向設備寫數據

(5)DeviceIoControl()設備控制命令,讀、寫操作可一起完成。

應用程序首先必須通過CreateFile()打開和創建到一個WDM設備連接,才能對它進行各種I/O 操作。下面將給出研華PCL_839卡驅動程序的DriverEntry例程,設置了驅動程序的入口點和主要回調例程,以后內核會在合適的環境下調用這些例程處理。

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掃描效率及減少機器的損耗,采用CT掃描運動勻速方式,CT掃描速度的快慢根據采集的時間要求確定,在運動過程中到達一個采集點時,就給數據采集系統發送一個采集信號,通知采集系統準備讀取當前點的采集數據。CT掃描控制流程圖如下所示:



(2)CT掃描軟件的編寫

首先,用戶程序發出初始化電機的命令BYTE InitPCL_839 [] =   //初始化命令碼

{…

PCL_839IO_WRITE, PARPORT_XX, 0xXX,   //命令碼,操作地址,操作數



};

BYTE ChaZhiPCL_839 [] =   //插值運動命令碼

{…

PCL_839IO_WRITE, PARPORT_XX, 0xXX,   //命令碼,操作地址,操作數



};

初始化包括電機的操作模式,速度控制,及中斷使能等。

上面給出初始化、插值運動命令碼及在用戶態調用初始化命令碼的程序,在用戶態調用插值運動命令碼只需對DeviceIoControl修改即可,如下所示:

DeviceIoControl(hWdmIo, IOCTL_ PCL_839IO_RUN_CMDS,

ChaZhiPCL_839, ChaZhiPCL_839,    // Input

rv, sizeof(rv),                       // Output

&BytesReturned, NULL)

其它操作如分度運動、分層運動與此類似,鑒于篇幅所限這里不再敘述。

CT掃描任務的強實時性要求程序與驅動程序能進行實時通信。為保證CT掃描系統的實時性,采用Win32事件對應用程序進行通信。當發生中斷時,設置事件的觸發狀態。驅動程序創建命名的核心態事件,具體步驟如下。

①聲明核心態事件

KEVENT myEventToSingnal; //在PCL_839設備擴展dx中聲明

②當核心事件發生時,設置事件為觸發態,實現WDM對應用程序的通信

state=KeReadStateEvent(dx->myEventToSingnal);

設置事件為非觸發態

KeClearEvent(dx->myEventToSingnal);

③最后釋放事件句柄

ExFreePool((dx->myEventToSingnal);

由于在該軟件設計中,事件是由中斷發出的。在進行上述處理之前,必須有一些中斷初始步驟設置。應用程序在等待一個事件發生后,就對相應的事件做出快速反映,以保證CT掃描控制的實時性。

四、結論

在Windows 2000平臺上對CT掃描控制系統進行開發,不僅能更好的實現CT機的掃描控制,縮短開發周期,而且可以提高整個控制系統的可靠性、穩定性。





[1] (美)Chris Cant 著.Windows WDM設備驅動程序開發指南.機械工業出版社.

[2] 劉麗,劉紅霞.工業CT掃描臺高加速運動控制.鄭州航空工業管院學報(版).第23卷第3期2004年6月.

[3] 劉鴻,王平,俞偉.WDM驅動程序開發疑難.機應用.第23卷第6期2003年6月.

[4] 馬官營.楊明.吳曉琳Windows2000通用設備驅動程序設計.計算機應用.第23卷2003年6月

【Windows下工業CT機掃描控制的研究】相關文章:

工業工程成本管理與控制研究08-14

研究多層螺旋CT掃描技術在胰腺癌診斷中的應用價值07-05

Windows環境下對象的鏈接與嵌入05-08

鼻咽癌頸部淋巴結放射敏感性與CT灌注掃描相關性研究07-31

Windows CE下串行通信的實現07-29

在 DOS 下使用Windows *.WAV 文件09-27

關于CT 設備維修管理的研究10-04

淺析工業鍋爐控制系統的研究與節能應用10-27

網絡環境下企業內部控制研究06-14

Windows 95下智能數據采集系統08-29

亚洲制服丝袜二区欧美精品,亚洲精品无码视频乱码,日韩av无码一区二区,国产人妖视频一区二区
一本久道久久综合婷婷日韩 | 亚洲蜜芽AV中文在线 | 色婷婷综合久久久久中文国产精品 | 亚洲欧美日韩中文国产不卡 | 日本一道久久道看 | 亚洲国产精品资源26u |