×
嵌入式 > 技术百科 > 详情

基于COM技术的工业CT控制软件I/O组件分析

发布时间:2021-04-14 发布时间:
|

工业CT(Computerized Tomography),即工业计算机断层扫描成像技术,广泛应用于无损检测与无损质量评价领域。其基本原理是:射线束透射被测工件某一断层并进行扫描,探测器阵列接收透过工件衰减的射线束强度,并转换成电信号;数据采集系统对电信号进行处理,将所获取到与扫描透射射线强度成比例的数字化像素阵列数据,最后经过图像重建系统以二维灰度图像形式再现出该工件扫描断层内部结构状况。工业CT控制系统则是它的中枢神经,用来实现对扫描检测过程中机械运动的精确定位控制,系统的逻辑控制、时序控制、检测工作流程的顺序控制和系统各部分协调,并担负系统的安全连锁控制。

工业CT 机属于单件定制产品,每个客户的要求都不相同,需要为每一台机器开发配套的控制软件。但实际上工业CT 控制软件中的很多功能都是相同的,如在扫描运动中实现工件的平移和旋转等。这就在控制软件的开发中造成大量重复性工作。同时若是开发人员发生变动,以及需要对产品维护和升级时,就需要对原来的代码作较大改动,甚至要编写全新的控制软件,这极大的降低了工作效率。

随着计算机技术的迅猛发展,面向对象技术、软件复用等软件工程概念纷纷出现。COM(ComponentobjectModeI)技术则是其中的典范。基于COM 技术开发的软件具有很好的开放性,便于软件的开发和维护,为解决工业CT 控制软件的上述问题提供了良机。

1 基于COM 技术的工业CT 控制软件结构及其特点

1.1 COM 技术及其特点

COM,即组件对象模型,是一种规范。COM 组件则是遵循COM 规范编写的、基于C / S 体系结构、以动态链接库(DLL)或可执行文件(.EXE)形式发布的二进制代码,作为服务器端(Server)在客户端程序(CIient)需要的时候被调用。它把一个庞大的应用程序分成多个组件,每个组件封装和实现一定的功能,并按照标准的接口规范向外显露自己的接口(Interface)。组件与组件之间、组件与客户端程序之间的互操作就是通过这些接口来实现的。

COM 技术具有以下特点:可重用性好,COM 技术重用性是建立在二进制代码级上的重用,比之于一般的面向对象语言开发的基于源代码级的重用更进一步,这使得它具有跨平台的特点;编程语言无关性,COM 规范的定义不依赖特定的语言,编写组件所使用的语言与编写客户端程序所使用的语言可以不同,只要能够生成符合COM 规范的可执行代码就可以了;可扩展性,COM 将软件功能分配给几个相对独立的组件,各个组件之间按照COM 定义的规范接口有机的整合。当原有软件的功能需要扩展时,只需开发一个新的功能组件然后添加进来即可。COM 技术的上述特点为解决工业CT 控制软件中存在的问题提供了良好的基础。

1.2 基于COM 技术的工业CT 控制软件体系结构及特点

根据COM 技术的特点及工业CT 控制要求,对控制系统的功能按照其特性及其内部逻辑结构进行合理划分,将控制软件中独立性强、功能明显且集中的模块做成独立的组件,将其功能嵌入到各个组件中,做成组件的方法。各组件之间通过胶连逻辑进行连接,组件接口开放。工业CT 控制软件组件划分如下:

1)人机交互界面组件:提供多种图元元素生成图形交互机面,并负责提供CT / DR 扫描参数、断层选择、准置器切换、速度等参数的设置;动态显示进程及各种扫描状态。

2)I / O 组件:初始化时写入各个板卡的控制模式;在扫描过程中与运动控制卡通信,实现各种运动控制命令;与光栅计数卡通信,读取各个轴的位置反馈等状态值,实现闭环控制。

3)故障诊断及报警组件:收集射线源系统、运动系统、采集系统、探测系统的运动状态和故障信息,对扫描过程进行全程实时诊断,并指出故障类型。

4)文档及数据库操作组件:生成各种数据存档格式文件,负责CT / DR 数据文件管理,以提供实时数据和历史数据的保存、查询、更新、显示等;对报表进行编辑,生成数据库点记录值。

5)网络配置组件:提供对接点的通信协议进行必要配置,完成上位机和下位机、控制计算机与现场PLC之间的通信。

6)控制策略组件:提供多种逻辑运算、算术运算、控制模块,负责图形界面生成模块中制定的功能。

7)其他组件:根据客户具体要求而需要另外添加的特殊功能组件。

基于COM 规范的工业CT 控制软件具有组件化的结构和标准的接口。在工业CT 产品的开发、维护和升级中,如果系统外界软、硬件环境发生变化,或用户需求有所更改,并不需要对原有的控制软件进行整个修改,只需对受影响的组件进行修改或是添加新的组件,然后重新组合就能得到新的工业CT 控制软件。而且由于COM 技术的编程语言无关性以及二进制级的代码可重用性,软件开发人员可以充分利用各种语言的优点进行软件开发和维护,工业CT 控制软件在各平台间也比较容易移植。

2 基于COM 技术的工业CT 控制软件I / O 组件的实现

2.1 工业CT 控制软件I / O 组件接口的设计

I / O 组件的功能包括写入工业CT 控制计算机控制板卡的控制模式,扫描过程中实现各种运动控制命令以及读取各轴的状态值等。根据组件所要实现的功能,设计了InMotion 和IOutstatuS 2 个接口,其结构如图1 所示。

图1 I / O 组件接口示意图

2.2 工业CT 控制软件I / O 组件功能的实现

I / O 组件封装了组件对象的属性和方法,对外显露出InMotion、Ioutstatus 这2 个接口。组件开发完毕之后要向操作系统进行注册,之后即可向客户端程序提供服务了。

2.3 工业CT 控制软件I / O 组件的注册

I / O 组件用GUID( 全局唯一标示符)来标示自己的接口(IID)和类(CLASID)。 GUID 是一个128 位的数字,根据一个复杂的算法而产生,以确保这个GUID 在时间和空间上的唯一。微软的VC + + 提供了一个工具:GUIDGen. EXE 来产生GUID,也可利用COM 库的API 函数来得到一个指向GUID 的指针:HRESULTCoCreateGuid( GUID * pGuid )。最后把生成的I / O组件添加进注册表即可。注册完成后,I / O 组件就可以向工业CT 控制软件客户端程序或是其他组件提供服务了。

3 工业CT 控制软件客户端程序对I / O 组件的调用

利用COM 库的API 函数,使用其他符合COM 规范的语言编写的工业CT 控制软件客户端程序都可以向I / O 组件请求所需服务。根据COM 的另一个特点———透明性,客户端程序不需要知道这个组件在那里,它只需根绝组件注册的GUID 得到这个组件的接口指针,然后调用组件的方法即可实现它请求的功能,代码如下:

4 结束语

不断发展的软件技术对解决工业CT 控制软件面临的问题提供了新的解决方法。并对基于COM 技术的工业CT 控制软件进行了分析。根据工业CT 控制软件的控制功能划分了组件模块,并开发了其中的I / O 组件。该组件在某型号工业CT 机调试时顺利的实现了与客户端程序的通信,基于COM 技术的工业CT 控制软件具有可扩充性,可复用性,易于维护和升级等特点,具有良好的开放性,使得以后工业CT 新产品控制软件的开发变得简单,也降低了工业CT 新产品的开发成本。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ADI 高精度低功耗精密放大器