郑 瀛,范润龙,张玉海,邱春玲,刘敦一,田 地
(1.吉林大学仪器科学与电气工程学院,吉林 长春 130021;2.中国地质科学院地质研究所,北京离子探针中心,北京 102206)
基于LabVIEW面向对象的TOF-SIMS仪器控制软件
郑 瀛1,范润龙2,张玉海2,邱春玲1,刘敦一2,田 地1
(1.吉林大学仪器科学与电气工程学院,吉林 长春 130021;2.中国地质科学院地质研究所,北京离子探针中心,北京 102206)
飞行时间二次离子质谱仪(TOF-SIMS)作为一种重要的表面分析工具被广泛应用,本研究为其开发了一套仪器控制软件。基于LabVIEW面向对象方法建立了仪器部件控制类库,结合消息驱动机制完成了软件结构设计。所开发的软件能够实现对离子光学系统、真空系统和三维样品台等仪器子系统的部件控制。应用该软件控制仪器进行了锆石样品的TOF-SIMS实验,完成了锆石样品谱图的获取,结果表明,该软件能够满足仪器对控制软件的要求。此外,软件结构具有良好的可重用性和可扩展性,以及硬件更改对软件影响小等优点,该软件设计方法可用于类似仪器控制软件的开发。
飞行时间二次离子质谱仪(TOF-SIMS);控制软件;LabVIEW;面向对象
Abstract: Time of flight secondary ion mass spectrometer (TOF-SIMS) is a powerful surface analysis technique that has been applied in a wide range of scientific fields. The development of TOF-SIMS used for isotope geology is the national major scientific instruments and equipment development projects. The study of the instrument’s control software is a part of the project. LabVIEW is a high level graphical programming language used extensively in instrumentation, since the software provides high efficiency, process synchronization and code execution parallelization. However, LabVIEW is a structured programming language. As the applications become more large and complex, the expandability, reusability and maintainability of the software become worse. The components of the TOF-SIMS are numerous. Traditional LabVIEW programming method will lead to confused software’s structure. Before LabVIEW introduced the object oriented programming, these problems are solved by improving the structure of the software. However, the effectiveness is limited. In this paper, a control software was developed for TOF-SIMS based on LabVIEW object oriented programming and event-driven communication. TOF-SIMS is composed of many sub-systems including ion optical system, vacuum system, three-dimensional sample stage and ion detection system. The components of these sub-systems include ion lens, ion deflector, ion filter, pulsing ion deflector, Faraday cup motor and so on. All of these components have standard interfaces, including serial port and AD/DA, serial port includes RS485 and RS232. A library of instrument’s control class is built based on the I/O interface types to control all components. A hardware and simulation child class are built for all control class of components. The hardware class is used for components control. The simulation class can not communicate with components but respond simulate value, which could be used for software debugging. Producer/consumer design pattern is used to complete the software structure design. A format of event data is standardizing, which can decrease the impact of change of components. Several user interfaces are shown in the paper to illustrate the function and the design of the software’s front panel. The experiment of zircon which is an important mineral used for geological dating and tracing in geochronology is implemented using TOF-SIMS controlled by the software. The experiment is successfully completed and the spectra of zircon is obtained to proceed subsequent analysis. The results show that the software meets the requirements of the instrument. In addition, the software structure has the advantages of good scalability, easy to develop and to extend, and it is not easy to be affected by hardware change. The software design approach can be used for similar development of instrument control software.
Keywords: time of flight secondary ion mass spectrometer (TOF-SIMS); control software; LabVIEW; object oriented programming
飞行时间二次离子质谱(TOF-SIMS)是一种重要的表面分析手段,拥有样品消耗少、检测速度快、质量范围无限制等优点,被广泛应用于化学、材料科学、纳米技术和生命科学等领域[1-3]。研制同位素地质学专用的TOF-SIMS仪器是我国重大科学仪器设备开发专项之一,开发仪器控制软件是其中重要的研究内容。由于LabVIEW具有开发效率高、天然多线程和可并行处理等优点,被选为许多仪器的控制软件开发工具[4-5]。LabVIEW采用连线的方式进行程序编写,简单易学易调试。丰富的内置函数使其易于控制各种类型的仪器部件,能够在较短的时间内搭建出一个控制软件。但LabVIEW属于结构化的编程语言,随着软件开发规模和复杂度的提升,软件的可扩展性、可重用性和可维护性将变差[6]。TOF-SIMS仪器部件众多,采用LabVIEW传统编程方法会导致控制软件共用多个子程序,软件结构混乱。
在LabVIEW引入面向对象编程功能之前,大多采用改进软件结构的方式缓解上述问题。Dierick等[7]提出分离抽象操作层和硬件执行层的概念,采用生产者-消费者结构设计了CT扫描仪控制软件平台,减小了部件改变对软件的影响,提高了软件的通用性和稳定性。 Beck等[8]基于消息驱动机制设计了一个控制软件架构,为每种硬件设计VI模板,相当于面向对象中的类。软件运行过程中,依据VI模板,采用VI服务器动态创建类的对象,对硬件进行操作或完成相应功能。该方法有效地提高了软件的可扩展性,可控制多达上万个过程变量。但由于动态生成控制程序,当控制对象增多时,软件会占用很大的计算机内存,使运行速度变慢。8.2版本增加了面向对象编程技术(LabVIEW object oriented programming,简称LVOOP),使LabVIEW具备了面向对象的封装、继承和多态的优点。Deok等[9]基于LVOOP进行了RFID标签检测软件设计。Michal等[10]开发了航空仿真设施数据采集和控制软件。以上研究均对传统面向过程方法进行了改进,根据控制对象创建控制类,不按照功能划分组成部分、编写子程序,因此,降低了软件模块间的耦合度,增加了软件的可扩展性和可维护性。
本研究将LVOOP应用于TOF-SIMS仪器控制软件开发,根据部件I/O接口类型编制控制类库,结合消息驱动机制进行软件结构设计,计划开发一套满足仪器要求的控制软件。
TOF-SIMS仪器结构简图示于图1。仪器由离子源及一次离子光学系统、三维样品台、二次离子提取系统、TOF质量分析器、离子检测器和真空系统组成。一次离子光学系统对离子源产生的一次离子束进行整形聚焦;二次离子提取系统可以实现二次离子束的收集与传输;三维样品台由3个高精度步进电机组成,控制待测样品在三维方向移动;TOF质量分析器为二次反射式,采用2个离子反射器改变离子方向,增加离子在无场区的飞行距离,提高仪器分辨率;离子检测器采用时间数字转换器(TDC)对最终到达的离子进行计数,获得谱图;真空系统为仪器各个部分提供真空环境,其部件包括真空泵(前级机械泵和涡轮分子泵)、真空板阀和真空规。部件的测控方式示于图2。系统部件包括具有聚焦作用的离子透镜、调整离子束方向的偏转板、进行一次离子筛选的离子筛选器、脉冲化一次离子的脉冲偏转板、进行离子流检测的法拉第杯和控制法拉第杯,以及微孔位置的步进电机。测控系统由PC机和PXI机箱组成。PXI机箱有多个插槽,可以通过插装不同的控制板卡对各部件进行控制。部件I/O接口分为两类:串口和AD/DA,串口又分为RS485和RS232两种标准。I/O接口分别采用NI公司的PXI-8433、PXI-8430、PXI-6224和PXI-6704。数据采集卡选用德国FAST公司的P7889,采用PCI接口与PC机直接相连。
图1 TOF-SIMS仪器结构简图Fig.1 Schematic diagram of TOF-SIMS
图2 仪器部件测控方式Fig.2 Measurement and control method of instrument’s components
软件总体设计基于面向对象的设计思想和层次化、模块化的程序结构,以实现用户操作和硬件执行的分离。软件采用四层结构,即主程序层、应用程序层、类层和硬件驱动层,其结构示于图3。主程序层负责各子系统控制程序的调用、用户管理及软件状态提示等;仪器各子系统都有相对应的应用程序,负责其所属部件的实际测控,根据用户操作完成逻辑关系验证和响应策略制订;类层由基于LVOOP创建的部件控制类和软件功能模块类组成,负责向仪器部件发布消息命令或完成相应的软件功能,执行应用程序的响应策略;硬件驱动层是应用程序实现仪器部件控制的桥梁,主要由NI公司的板卡驱动及各部件厂商提供的硬件驱动程序组成,将软件的消息命令转换为接口操作,实现对仪器部件的控制。
图3 软件层次结构图Fig.3 Hierarchical chart of the software
LabVIEW一般采用复制相同代码或调用相同子VI的方式实现代码重用,随着程序规模和复杂度的提升,程序的可读性和可维护性越来越差。将“类”的概念引入LabVIEW后,在一定程度上解决了上述问题。类具有明确的继承关系,子类拥有父类的所有方法。这种继承关系使父类与各派生类形成了一个树形结构,既增加了程序的可重用性,也防止部件增加所导致的程序结构混乱。类的每个方法都有特定的调用权限,只有满足调用权限才能调用该方法,对方法调用的限制可以减小程序间的耦合度,降低软件出错率。
仪器部件一般为标准I/O接口,如串口、并口和AD/DA等,相同接口的部件具有相似的读写等控制方式,仅通信协议略有差别。按照I/O接口类型创建接口类,为I/O接口类添加开启、关闭、读写等方法。对特定部件创建继承于I/O接口类下的控制类,在基本的读写方法上添加该部件的通信协议,形成该部件的控制方法。控制软件的其他功能模块,如错误处理、程序自检等,也可按照此方法创建类。为防止软件在不连接硬件时产生错误,在部件控制类下派生了硬件类和模拟类两个子类。硬件类对硬件进行操作,模拟类不与硬件通信,只产生虚拟返回值。类具有多态的特点,当父类和子类及子类间有同名方法时,程序运行时会根据类的引用来调用所属类的方法。根据这个特点,更换类的引用可实现硬件类与模拟类的转换。在硬件不可用或程序调试时,可使用模拟类返回模拟值,减小软件对硬件的依赖。类继承关系示于图4。
图4 类继承关系框图Fig.4 Diagram of class hierarchy
图5 程序结构简图Fig.5 Simplified structure of the program
消息驱动机制可以实现软件操作与硬件执行的分离,提高软件的响应速度,防止操作丢失。软件采用生产者/消费者的设计模式,由软件初始化和生产者、消费者两个循环组成,其结构示于图5。软件初始化创建一个队列,并从系统配置文件中读取部件配置数据。生产者循环采用事件结构检测前面板用户操作,并将产生的事件数据压入队列。消费者循环不断地查询队列,有数据时取出,调用相关类对事件进行处理。
为减小硬件改变对软件的影响,将不同类型硬件的事件数据标准化,数据格式示于图6。选择簇作为事件数据类型,包括部件代码、操作值和操作模式3个元素。每个控制部件都有其唯一的部件代码,在消费者循环中,根据代码索引部件配置参数,选择相应的事件处理分支。操作模式表示用户所要执行的操作,根据操作模式选择类的方法。对于高压电源,操作模式表示写电压、读电压电流等,操作值表示所要写入的电压值。不同类型的控制部件,其方法和接口相似。部件类型发生改变时,只需替换硬件驱动程序,可提高主程序的稳定性和可重用性,降低缺陷率。
图6 事件数据格式Fig.6 Format of the event data
以离子光学控制程序为例,初始化部分从数据配置文件中读取高压电源的地址、类型和电压范围等参数,分别送入生产者和消费者循环。生产者循环采用事件结构检测用户对前面板所进行的操作,结合操作的部件代码、用户输入的操作值和操作模式,形成事件数据压入队列。消费者循环不断地检查队列,有数据时取出,通过调用高压电源类的读电压、写电压等方法完成用户所需的操作。
TOF-SIMS仪器部件的I/O接口主要分为串口和AD/DA两类。将这两种控制方式分别抽象为I/O接口类,添加基本的串口操作方法。在其下派生相应通信方式的仪器部件类,类中重写串口初始化方法,以实现RS485和RS232通信方式的转换;根据各部件的控制协议创建各自的控制方法,以实现对部件的测控。
编制的TOF-SIMS仪器控制类库示于图7,图中列出了部分部件控制类。LabVIEW对象是所有LabVIEW类的祖先类,在其下派生了串口通信和AD/DA两种I/O接口类。在串口通信类中创建了串口初始化、写串口、读串口和串口关闭等串口基本操作方法,其下派生了RS485接口的高压电源类(HighVol.lvclass)、真空泵类(Pump.lvclass)、步进电机类(Motion.lvclass)等和RS485接口的pA表类(pA.lvclass)、离子筛选器类(WienFilter.lvclass)及真空规类(Gauge.lvclass)等。AD/DA控制方式直接将板卡输入输出与控制部件相连,无需特定的通信协议,因此不用为其部件派生特定的部件控制子类,创建基本的AD和DA方法即可实现对低压电源等部件的读写控制。每个部件控制类下都派生了相应的模拟类和硬件类,其中,模拟类用于软件调试,硬件类用于部件实际测控。除此之外,还派生了自检类(self-checking. lvclass)和错误处理类(Error. lvclass)两个软件功能类,可分别实现软件启动时的状态自检及运行过程中的错误处理。完成软件所需类的设计,形成类层,再通过创建类的实例,即可实现仪器各部件的控制。
图7 TOF-SIMS仪器控制类库Fig.7 Class hierarchy of TOF-SIMS
本研究所创建的类库具有明确的继承关系,使所有部件控制类形成了一个树状结构。相较于传统LabVIEW编程方法相互调用所形成的复杂网状结构,本方法显著增加了软件的可读性和可维护性。继承的优势使得新增加的部件能最大程度的利用现有软件资源完成部件控制,提高程序的编写效率,增加软件的可扩展性。现有部件发生更换时,只需从已有的控制类父类派生出新的部件控制类即可完成对新部件的控制。由于多态的特点,只需在软件中更换类的引用即可实现部件的更换,这大大减小了部件更换对软件的影响,提高了软件的稳定性。
本研究开发的主程序界面示于图8a,其功能包括对子系统控制程序的调用、配置文件的读写、用户管理及软件状态提示。开启主程序,完成用户登录,即可调用其他应用程序,对各子系统进行调节与控制。
注:a. 主程序界面;b.系统控制程序界面;c.三维样品台控制程序界面图8 应用程序界面Fig.8 Front panel of the software
子应用程序包括一次离子光学系统、二次离子提取系统、TOF质量分析器、三维样品台和真空系统的控制程序及数据采集程序,本研究以一次离子光学系统和三维样品台为例进行说明。一次离子光学系统控制程序界面示于图8b,主要实现对透镜、偏转板等离子光学部件电压电流的读写。将程序界面划分为3个区域:区域1为部件选择及显示区,包括各个透镜和偏转板电压及脉冲源,用户可在此区域选择需要操作的部件;区域2为操作值输入区,当用户选择一个部件后,该区域能够显示部件名称、当前电压值及电压输入范围,可通过滑动杆改变当前电压;区域3为功能按键区,主要完成离子流强度检测程序调用、用户配置文件读写和程序关闭等功能。图8b的中部区域为随透镜电压变化的一次离子流强度曲线,可以实现系统参数的自动优化。其他离子光学系统控制程序(包括二次离子提取系统控制程序Secondary和TOF质量分析器控制程序Flight Tube Control)具有相似的程序界面和软件结构。
三维样品台控制程序示于图8c,主要实现对水平、垂直及聚焦轴3个方向高精度步进电机的控制及采样点位置的选择和存储。程序界面划分为3个区域:区域1显示当前电机位置,用户也可拖动游标大致输入电机目标位置;区域2手动输入电机精确位置,并进行采样点位置的选择和存储;区域3精确显示电机当前位置,并根据设置精度逐步移动电机,同时还具有显示程序状态及设置电机速度的功能。程序最下方为工具栏,显示电机状态并完成配置文件读取、错误处理等功能。
数据采集程序通过控制p7889数据采集卡进行离子检测器的信号采集,其功能包括采集卡的参数设置及简单的数据处理。数据处理功能包括谱峰检测、曲线拟合和质量校正等。谱峰检测和曲线拟合分别通过LabVIEW内置的基于小波变换的寻峰函数和曲线拟合函数实现;质量校正则根据用户输入的采样时间及其对应的质量数进行曲线拟合,以完成全谱的质量校正。上述功能仅对单个谱图进行简单处理,便于实验人员观察所采集的数据。
锆石是地质年代学研究领域的一种重要矿物,在地质定年、示踪等方面具有重要作用。采用本软件控制自行研制的TOF-SIMS仪器进行锆石样品的谱图获取,以双等离子体氧源产生的O-作为一次束,一次离子光学系统控制程序优化光学系统参数,形成最优的一次离子流打在样品表面上。采用三维样品台调整样品位置,产生的离子束斑示于图9。采用Secondary优化二次离子提取系统参数,将溅射出的二次离子流引出,并进行整形、聚焦后送入TOF质量分析器。由Flight Tube Control调整质量分析器参数,实现质量分离。数据采集程序控制TDC完成数据采集,获取的谱图示于图10。本研究开发的软件能够实现对仪器各个部分的控制,完成应用实验,可以满足仪器对控制软件的要求。
图9 一次离子束斑图像Fig.9 Image of the ion beam spot
本研究结合LabVIEW面向对象方法和消息驱动机制开发了一套TOF-SIMS仪器控制软件。根据I/O接口类型编制了仪器部件控制类库,提出了派生硬件类和模拟类的方式,减小了软件开发与调试对硬件的依赖。采用生产者/消费者设计模式完成软件程序框图设计,建立统一的事件数据格式,减小硬件改变对软件的影响。应用开发的软件进行锆石样品的TOF-SIMS实验,结果表明,该软件能够满足仪器对控制软件的要求。软件结构具有良好的可重用性和可扩展性,其硬件更改对软件影响较小。该软件设计方法可应用于类似仪器控制软件开发。
图10 锆石样品谱图Fig.10 Spectrum of the zircon sample
[1] 孙立民. 飞行时间二次离子质谱在生物材料和生命科学中的应用(下)[J]. 质谱学报,2014,35(5):385-396.
SUN Limin. Applications of time-of-flight secondary ion mass spectrometry in biomaterials and life science (Part Ⅱ)[J]. Journal of Chinese Mass Spectrometry Society, 2014, 35(5): 385-396(in Chinese).
[2] 阿尔弗来德·贝宁豪文,查良镇. 飞行时间二次离子质谱——强有力的表面、界面和薄膜分析手段[J]. 真空,2002,(5):1-10.
BENNINGHOVEN A, ZHA Liangzhen. TOF-SIMS a powerful tool for practical surface, interface and thin film analysis[J]. Vacuum, 2002, (5): 1-10(in Chinese).
[3] KIM Y P, SHON H K, SHIN S K, et al. Probing nanoparticles and nanoparticle-conjugated biomolecules using time-of-flight secondary ion mass spectrometry[J]. Mass Spectrometry Reviews, 2015, 34(2): 237-247.
[4] BOK J, SCHAUER P. LabVIEW-based control and data acquisition system for cathodoluminescence experiments[J]. Review of Scientific Instruments, 2011, 82(11): 113 109.
[5] WROBEL P, CZYZYCKI M, FURMAN L, et al. LabVIEW control software fors canning micro-beam X-ray fluorescence spectrometer[J]. Talanta, 2012, 93(2): 186-192.
[6] BEEK D, BRAND H, KARAGIANNIS C, et al. The first approach to object oriented programming for LabVIEW real-time targets[C]. 14th IEEE/NPSS Real Time Conference on Computing Applications in Nuclear and Plasma Sciences, AlbaNova Univ Ctr, Stockholm, SWEDEN: 2005. IEEE Transactions on Nuclear Science, 2006: 930-935.
[7] DIERICK M, LOO D V, MASSCHAELE B, et al. A LabVIEW Based Generic CT scanner control software platform[J]. Journal ofX-Ray Science and Technology, 2010, 18(4): 451-461.
[8] BECK D, BLAUM K, BRAND H F, et al. A new control system for ISOLTRAP[J]. Nuclear Instruments and Methods in Physics Reasearch, 2004, 527(3): 567-579.
[9] JUNG D G, JUNG M P, CHO H G, et al. An implementation scheme for the detection system of RFID defective tags using LabVIEW OOP[J]. International Journal of KIMICS, 2011, 9(1): 21-26.
[10] CHEN M. Object oriented programming in LabVIEW for acquisition and control systems at the aerodynamics laboratory of the national research council of Canada[C]. 22nd International Congress on Instrumentation in Aerospace Simulation Facilities, Pacific Grove, CA: 2007. IEEE, 2007: 259-264.
Control Software for TOF-SIMS Based on LabVIEW Object Oriented Programming
ZHENG Ying1, FAN Run-long2, ZHANG Yu-hai2, QIU Chun-ling1, LIU Dun-yi2, TIAN Di1
(1.CollogeofInstrumentation&ElectricalEngineer,JilinUniversity,Changchun130021,China;2.SHRIMPCenter,InstituteofGeologyChineseAcademyofGeologicalSciences,Beijing102206,China)
O657.63
A
1004-2997(2017)05-0591-08
10.7538/zpxb.youxian.2016.0064
2016-06-20;
2016-08-03
国家重大科学仪器设备开发专项《同位素地质学专用TOF-SIMS科学仪器》之任务七(2011YQ05006907)资助
郑 瀛(1990—),男(汉族),河南长垣人,博士研究生,从事二次离子质谱研究。E-mail: zhengying1990@126.com
范润龙(1980—),男(汉族),陕西岐山人,高级工程师,从事质谱仪器控制、大型科学仪器远程控制研究。E-mail: fanrunlong2003@126.com 田 地(1958—),男(汉族),吉林前郭人,教授,从事分析仪器测控技术及软件研究。E-mail: tiandi@jlu.edu.cn
时间:2016-12-28;网络出版地址:http:∥www.cnki.net/kcms/detail/11.2979.TH.20161228.0930.010.html