计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

Windows下工业CT机扫描控制的研究

2016-10-05 01:41
导读:计算机应用论文论文,Windows下工业CT机扫描控制的研究怎么写,格式要求,写法技巧,科教论文网展示的这篇文章是很好的参考:摘 要:介绍了一种CT扫描控制的,并给出了其在Windows平台下的实现方法。实验
摘 要:介绍了一种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函数,通过它们可以像访问一个文件那样访问设备。
(科教论文网 lw.nseaC.Com编辑发布)


(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, (转载自http://zw.nseac.coM科教作文网)

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月
    上一篇:LFS构造原理的分析 下一篇:没有了