激光质谱系统中激光波长高实时集中控制研究与应用

2018-05-23 00:45,,,,
计算机测量与控制 2018年5期
关键词:电离线程串口

,,,,

(核工业理化工程研究院,天津 300180)

0 引言

激光波长高实时集中控制研制项目来源于科技部国家重大科学仪器设备开发专项-激光共振电离质谱关键技术研究。由于激光共振电离质谱系统中,不同范围的激光波长和某一同位素电离过程以及激光作用与电离开始的时间有着非常重要关系,所以,要求某一激光波长的到达时间必须在同位素的电离周期内,因此,需要对多种激光波长值进行快速获取,波长的单步扫描周期应小于250 ms,从而实现与电离过程中电离量的多少进行实时的对比。所以,迫切需要进行激光波长的高实时集中控制技术研究,满足激光共振电离质谱系统的研究需求。

1 激光波长高实时集中控制的研究目标

根据电离质谱对染料波长的研究需求,实现激光波长的大范围、小范围和精细扫描的需求,实现与电离质谱信号的同步,需要远程实现对激光波长的高实时采集。根据以上要求,设计目标如下:

1)实现对任一路多模激光波长的调节,大范围、小范围及精细范围的扫描,及波长闭环的本地/远程控制;对单模激光波长进行稳频、连接、同步、输出电压设定,实现粗调波长的步长及调节个数的设定,微调波长的细分数和步数的设定,扫描波长的扫描长度和电压补偿的设定以及确定长波和短波的扫描方式。

2)实现远程对波长的设定、标定功能,实现波长扫描的起始、终止波长及扫描步长的设定,能够选择触发模式,自行设定扫描延时、是否同步反馈波长值等,实现与电离信号的同步。

3)对单模染料激光器实现扫频范围、波长调节、波长闭环及外触发方式的本地/远程设定功能。

4)对单模染料激光器进行稳频、连接、同步、输出电压设定,实现粗调波长的步长及调节个数的设定,微调波长的细分数和步数的设定,扫描波长的扫描长度和电压补偿的设定以及确定长波和短波的扫描方式。

5)满足波长扫描过程中外触发方式的需求,与质谱系统形成同步,每扫一步波长给出反馈信号或实时波长值,通知质谱信号测量。

6)在扫描过程中可以实现闭环扫描和快速扫描,满足用户的自行设定要求。

7)激光波长数据采集周期小于250 ms。

8)实现对某一路激光波长的自动关断,控制同位素电离开始的时间。

2 激光波长高实时集中控制的实现原理

2.1 系统的硬件结构

系统的硬件平台由波长计、光开关、步进电机、波长扫描控制装置和质谱分析机等设备组成,系统硬件结构如图1所示[1]。每路波长扫描装置可以直接控制多纵模染料激光器内的步进电机从而实现多纵模染料激光器不同波长光的输出,波长计是标准的激光波长测量装置,当某路多纵模染料激光波长被要求稳定在某一波长值或扫描某一范围波长时,则需要波长计实时测量这路激光波长值作为标准波长值,当波长值产生波动或扫描时,波长扫描调节装置则调节相应的步进电机进而调节激光波长值满足激光波长的闭环需求,或控制步进电机达到波长稳步扫描的目的。当单模染料激光被要求闭环或扫描时,波长扫描装置则调节步进电机实现波长的扫描,同时调节压电陶瓷保证频率不变实现此单模染料激光的扫描。当质谱分析机需要对某一路波长进行采集控制时,将采集控制命令通过交换机发送给本地集中控制机,然后传输给波长扫描装置,波长扫描装置进行相应的控制输出,实现质谱分析机对染料激光波长的远程实时控制[2-3]。

图1 控制系统硬件结构图

2.2 系统的软件结构

系统软件由设备控制、设备维护和用户管理模块组成。激光波长控制的软件结构如图2所示。设备控制模块主要实现对染料激光器波长参数的采集、延时设定、触发方式的控制及波长的标定、设定和闭环等指令控制,实现对波长的高实时闭环控制。控制系统的主要功能是对3台多模染料激光器实现远程波长调节、扫描范围及外触发模式的设定以及波长闭环;对一台单模染料激光器实现扫频范围、波长调节、波长闭环及外触发方式的设定功能,对单模及多模染料泵实现远程开关及频率设定功能;设置故障的维护功能主要集中在设备维护模块,通过数据查询功能查询设备运行时期的参数性能数据从而分析设备的工作状态变化情况以及报警记录信息等,有效确定设备的故障所在。用户管理模块对用户提供了不同的权限进行不同级别的管理,管理员用户具有最高权限可以修改其他用户的使用功能权限,可以添加新用户及删除老用户。系统通过SQL SERVER数据库存储每路波长的参数设定值及相关的设定信息,实时存储所有波长数据值及波长状态信息,提供用户历史数据查询分析和故障分析,同时存储所有用户信息。实验人员通过人机交互界面进行控制指令的下发与监测数据的采集显示。

图2 系统软件结构图

3 关键技术

3.1 串口通讯技术

串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可以将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,称之为串行接口电路。串口通讯是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输的一种通讯方式。这种通讯方式使用的数据线少,在远距离通讯中可以节约通信成本[4,6]。

根据波长扫描装置以及波长测量装置的特定需求,只能通过串口通讯技术才能实现对波长的控制及采集。根据激光波长的控制实时性要求,每路波长的采集时间必须很短,不能影响整个的波长扫描周期,同时,一方在发送数据的同时可以接收收据,因此,系统采用了全双工的RS232串口通讯方式,可以同时对数据进行采集和控制,进行不同方向的数据传输[7-8]。串口波特率采用115200 bps,保证数据通道传输时间较小。染料激光波长的串口通讯部分协议格式如表1所示。染料激光波长的通讯协议采用两次握手的协议格式,采用crc校验保证数据的稳定可靠传输。指令发送分为远程端和本地端,采用主从式进行指令交互,即远程作为指令发送主命令服务器端,本地作为指令接收客户端,远程端发送任何指令,本地端都进行相应的数据或指令回复,形成指令闭环,保证数据传输的稳定性。在系统运行过程中,远程端主动发送数据请求指令,当本地端接收到指令后,首先通过CRC校验计算所收到指令的CRC校验码,与接收到的CRC校验码进行匹配,如果匹配成功表明接收到的指令正确,然后进行识别功能码和对应的波长路数,执行相应的请求功能或发送相应的请求数据,完成一次指令的远程控制过程。

表1 染料激光波长串口通讯协议格式

3.2 多线程技术

电离质谱系统对激光波长的采集及控制具有非常高的实时性要求,但由于激光波长的扫描及调节装置的限制,本地对激光波长的调节装置只能采用串行通讯方式进行数据采集及控制,为了提高激光波长数据采集控制的实时性,采用多线程技术实现对多路激光波长的采集及控制。

多线程是指从软件或者硬件上实现多个线程并发执行的技术,即同时执行多个任务。多线程是为了同步完成多项任务,从而提高资源使用效率来提高系统的效率。多个线程同时运行,必须保证多个线程之间的同步,从而不竞争硬件资源,因此需要对空闲线程进行挂起、活动线程进行唤醒等[5,15]。

系统共对四路波长值进行采集和控制,将每个波长控制装置通讯作为一个线程,四个线程并行执行,大大提高通讯实时性。

为了减少等待时间,采用线程池(TreadPool)来实现对多个波长数据的控制。线程池允许在后台运行多个工作,而不需要为每个任务频繁地创建和销毁单独的线程,从而减少了开销。线程池通过为应用程序提供一个由系统管理的辅助线程池使您可以更为有效地使用线程。

在本系统中,把对每个激光波长的监控封装成一个任务,每个任务包含数据采集、数据控制、变量显示等工作。把这些有执行需求的任务放在队列里,由系统调度向线程池申请资源。其工作原理如3图所示。采用线程机制将4个波长控制任务并行执行,解决了串口任务顺序轮询执行效率低的问题,提高了执行速度,从而提高波长的控制实时性。

图3 线程池工作原理图

3.3 数据库技术

数据库模型可分为平面文件数据库模型、层次数据库模型、网状数据库模型、关系数据库模型、面向对象数据库模型、对象关系数据库模型等,关系数据库是应用数学方法来处理数据库数据,目前各类数据库中最重要、最流行的数据库,如SQL SERVER、Access等。 本系统采用了微软的Access关系数据库[9-10]。

关系数据库模型是目前效率最高的数据库模型,相对于以前的数据库模型,关系数据库模型己经在许多方面对以前的数据库进行了改进,这些改进简化了数据管理、数据检索等工作。通过利用完整性约束条件,数据更加容易管理。数据检索也得到了很大的改善,它允许用户使用可视化的工具来浏览数据库中表之间的关联结构,并且不再需要用户完全掌握数据库结构。由于关系数据库模型提供了完整性约束条件以及数据标准化等特性,因此对数据库结构的修改也变得非常容易。

数据库的定义是由蕴含着一定意义的数据,一些按照一定的规律组织起来所组成的数据集合。在数据库中除了用一些作为外部信息的数据之外,还有一些内部信息数据。数据库的基本数据结构就是二维表,每一张二维表对应着一种联系。表的每一行称为纪录;表的每一列称为属性(字段);而域就是属性的取值范围;主码是对于这张表的唯一标识[11-12]。

激光波长的控制主要是对所有波长数据进行管理,所以数据库是必不可少的部分。数据库应用系统的设计主要包括数据库设计和系统功能模块设计,如果数据库设计不合理,不但会造成数据冗余和不一致,而且还会引起数据的操作异常,所以数据库中数据结构设计的好坏直接影响数据管理系统的执行效率[13-14]。

本系统采用关系数据库对所有的激光波长相关数据进行管理,数据结构采用二维表进行设计,每张二维表对应着一种联系,包括对象和属性。通过对系统的需求分析,其数据结构定义如表2所示。

系统设置了6个二维表,λ1波长数据表、λ2波长数据表、λ3波长数据表、λ4波长数据表、系统故障表和用户信息表,通过关联四个波长数据表进行历史波长数据的查询和对比分析,形成一张波长数据表进行展示与输出,通过系统故障表进行系统故障的查询与分析,查找出现异常时相关设备数据的对应关系,通过用户信息表进行查询实验人员的登录信息、操作信息及相关人员信息等,为系统分析提供了数据支持。

4 研制结果及验证

激光波长高实时控制系统包含了波长计、光开关、波长测量装置及波长扫描装置等,波长计实现对激光波长的测量、光开关实现选择测量哪路激光,波长扫描装置在每路激光的出光范围内对激光波长进行扫描控制。本系统对多台多模染料激光链的波长控制进行了测试,验证了激光波长的大范围、小范围及精细扫描。以小范围扫描为例,将选择使用波长计,远程、外触发、反馈、精细扫描和显示实时波长值,将波长值设定到扫描的起始波长值,扫描波长过程中将看到当扫一步波长后给出反馈信号及实时波长值,当扫描结束时给出扫描完成提示,扫描过程中可以进行暂停、继续或结束扫描,扫描过程中给出连接设备故障或波长计故障等故障信息。通过多次验证,每链染料激光的波长调节及扫描都满足了同位素电离的要求。

表2 λ1波长数据表

根据激光波长采集数据相应时间在250 ms以内,对激光波长的采集数据相应时间进行了考核,经过十几小时的试验测试及考核,数据相应时间基本都在要求的范围内,部分数据如图4所示,数据相应时间在250 ms以内,并且相当稳定,通讯网络及现场设备没有出现通讯错误,验证了激光波长高实时控制的稳定性及实时性要求。

图4 激光波长采集实时性分析图

5 结论

通过长时间考核,证明了此控制系统可以满足对激光波长的大范围、小范围及精细扫描的要求,能够以外触发方式与同位素电离达到同步,满足激光波长扫描的高实时性要求

经过以上分析得出如下结论:

1)成功研制了激光波长高实时控制系统,能够实现对波长的多种方式的扫描,实现与同位素电离过程的同步。

2)采用了多线程技术实现了对激光波长的实时控制。

3)实现了单步波长扫描周期小于250 ms的实时性要求。

参考文献:

[1] 彭 杰,刘 力.工业控制系统信息安全性分析[J].自动化仪表,2012(12):54-59.

[2] 彭翰生,张小民,范滇元.高功率固体激光装置的发展与工程科学问题[J].中国工程科学,2001(3):33-37.

[3] 董卫斌.强激光光束控制与参数诊断相关技术研究[D].北京:中国科学院研究生院,2008(4):26-31.

[4] 吴智龙,李伟彤.基于事件驱动方式的高速串口通信方案的设计[J].工业控制计算机,2014(5):46-49.

[5] 张艳霞,胡双炎.多串口多线程交通信号灯数据采集软件系统设计[J].吉首大学学报(自然科学版) ,2011(4):50-55.

[6] 姚 荣,吴 宁,任 亮.基于Windows CE的嵌入式GIS设计与应用[J].电子测量技术,2008(7):52-57.

[7] 刘 域.基于Windows CE的嵌入式供暖热计量管理系统[J].吉林大学学报(信息科学版),2007(6):56-60.

[8] 李 满,田 一.嵌入式系统的远程控制研究[J].黑龙江大学自然科学学报,2005(1):73-76.

[9] 李 涛,孙 方,孙 翱.Windows CE流接口驱动程序设计方法[J].舰船电子工程,2006(6):65-69.

[10] 刘 辉,张 艳,王潜平.基于ARM的串口/以太网协议转换器设计[J].微计算机信息,2008(35):45-48.

[11] 王海勇.基于ARM9的嵌入式多串口服务器设计[J].化工自动化及仪表,2013(3):17-21.

[12] 湛文涛,王 乐,孙靖国.一种多串口和以太网转换方法的研究[J].航空计算技术,2011(4):88-92.

[13] 陈 媛,王再英,彭 倩.基于嵌入式多串口数据传输系统的设计与实现[J].科学技术与工程,2013(1):34-38.

[14] 安娜赛德拉,斯塔夫.无线延时防火墙路由:无线延迟网络的地理路由协议[J].无线通信与网络杂志,2013,2013(1):45-62.

[15] 陈淑贞,石 波.基于多线程技术的串行通信[J].武汉大学学报自然科学版,2000,5(3):325-328.

猜你喜欢
电离线程串口
5G终端模拟系统随机接入过程的设计与实现
实时操作系统mbedOS 互斥量调度机制剖析
浅析体育赛事售票系统错票问题的对策研究
水的电离平衡问题解析
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
如何复习“水的电离”
MCS—51单片机中的多串口通讯技术的应用
浅谈溶液中水的电离度
归类总结促进H2O电离的反应