摘 要:介绍了一种工业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获取这三个运动位置反馈信号。控制原理框图如图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;
}