论文部分内容阅读
加速器现场存在大量遵从不同通信协议的控制器、硬件设备,型号不一、接口不一,只能与特定的应用程序通信,不具通用性。由于设备多样性、复杂性特性,驱动程序不具有兼容性、可复用性,扩展性不强。加速器控制系统软件存在着兼容性、可扩展性、可靠性问题。结合近代物理研究所加速器现场硬件设备特点和要求,利用常规源控制、超导源控制、PET回旋控制、治癌源测试平台控制中积累的Visual C++开发经验为基础,针对性地进行设备驱动模块封装。将回旋加速器现场使用的常用硬件设备驱动程序规格化、模块化、集成化,并封装为DLL,便于后期Visual C++开发控制系统直接调用,提高软件开发效率。根据设备功能类型,功能模块分为若干设备类,包括电源设备、真空计设备、束流计设备、泵设备、水温水压设备、引出设备、阀门设备、电机设备、靶设备、冷却设备、高频发射机、低电平设备、散/聚束器、微波机、防护设备、漏水检测设备、温度检测设备等实体设备类。软件重用包括多种技术,库函数(API),模板(ATL),面向对象(OOP),设计模式(Design Pattern),组件(Component),框架(Framework),构架(Architecture)等。DLL属于组件级别重用的封装。Visual C++作为面向对象语言,具备C语言擅长与硬件交互的优点,移植能力强。基于设备驱动模块的DCS回旋加速器控制软件为解决上述问题提供了一种新思路。完成了包括离子源控制、回旋控制、高频控制、电源控制、运动控制等系统的实验控制平台搭建,系统硬件设备与控制器的通信调试,通信协议的分析与实现。实现了设备驱动模块的开发与封装,基于MFC的Regular DLL方法完成设备驱动模块的封装,实现封装模块的对外接口,包括导出变量、导出函数、导出类。实现了加速器常用图形图像控件的封装,设计满足状态监测、实时控制、联锁保护等功能的人机交互接口,适用于小型回旋加速器控制GUI设计与数据采集功能,简化复杂代码段重新编写过程。实现了图形图像控件的OPC接口,可以接收来自第三方OPC Server的数据供图形图像控件进行数据采集和调用显示。实现了支持实时数据和历史数据存取的数据库链接模块SQLite.DLL。最后,对基于驱动模块的CSRm电子冷却高压控制做了包括压力测试和负载测试在内的性能测试。设备驱动模块的优化和改变不影响控制系统软件其他部分,模块化驱动具有更好的通用性和易构建性。从而可以解决控制软件开发过程中缺乏设备驱动模块的难题,形成具有自主知识产权的、用于小型回旋加速器控制的软件开发平台与组态软件平台,以满足快速开发小型回旋加速器控制系统软件的要求和能力。