APP下载

ICP-AES操作软件数据库应用设计

2019-02-20

分析仪器 2019年1期
关键词:数据表视图波长

(1.北京工商大学材料与机械工程学院,北京 100048;2.北京泊菲莱科技有限公司,北京100081)

1 引言

自20世纪70年代起,电感耦合等离子体(ICP)被作为发射光谱分析的光源使用以来,经过几十年来的不断发展,如今在灵敏度、检测速度、准确性以及自动化程度上都已经有了长足的进步,在原子光谱分析领域内依然是占据着主要地位,同时在冶金、生物、食品和环境等相关分析过程中依然是主要的分析手段[1]。操作软件作为ICP的不可或缺的部分,在整个测量过程中需要完成与用户交互、下位机控制以及数据处理和管理的功能。

目前国外先进的ICP仪器软件的更新换代较为频繁,但是国内关于ICP软件的研究较少,致使国内仪器的软件更新速度较为迟缓;本文介绍了基于QT的ICP软件设计思路,并着重介绍了QT对于SQLite的支持,以及通过SQLite对ICP软件数据库的开发设计,具有实际应用价值。

2 ICP-AES总体结构和系统组成

2.1 总体结构

ICP-AES的总体硬件结构如图1所示。

图1 ICP-AES的总体结构示意图

如图1,ICP-AES(电感耦合等离子体原子发射光谱仪)主要由高频发生器(高频电源和耦合器共同组成)、矩管、进样装置、分光装置和测光装置组成。

高频发生器作为整个等离子体的能量来源,通过高频的磁场变化产生涡流,电子在涡流中被加速,由于抗涡流的作用产生大量的焦耳热,氩原子在其中被电离,当达到一定温度是,等离子体在一瞬间形成;待测元素在雾化器的作用下进入等离子体,并在高温下被激发,辐射出不同波长的光形成光谱;分光装置将从炬管得到的辐射光通过光栅衍射成按波长顺序排列明暗相间的谱带,用于扫描获取数据;测光装置通过扫描光谱带,将光信号转变成电信号,通过AD转换器转变成数字信号,这样完成了整个的数据采集的过程。将数据传输到计算机进行分析,并且可以根据光照强度和标准样品对待测的样品来进行定量分析。

2.2 软件操作流程

ICP-AES作为一个精密的系统的分析仪器,需要计算机操作软件和整个硬件系统良好的配合。当操作人员通过点击或者输入进行操作的时候,需要将这些操作和数据转换成指令发送给各个硬件部分,指挥着各个硬件合理的协同工作,并实时的收集数据,因此ICP-AES操作软件可以分为数据和控制两部分。整个软件的操作流程如图2所示。

图2 软件操作流程

3 ICP数据库设计和实现

3.1 相关介绍

QT作为一个优秀的易使用的集成开发环境,以其良好的多平台兼容特性深得开发人员的青睐。QT支持轻量型的数据库SQLite,并且SQLite也具有多平台特性[2],和QT的兼容性良好,所以本文使用SQLite作为开发的数据库管理系统。

在ICP工作过程中,需要存储大量的数据并且对它们进行处理,并且还需要通过不同的方式对数据进行编辑,显示给用户,同时完成和用户的交互工作。QT针对这种情况提供了一种模型/视图(MVC)的架构用于管理数据[3]。

图3 模型/视图架构

如图3是模型视图的基本架构。模型用于表示数据,保存数据的基本信息和可以进行的相关操作,数据和方法时模型的主要内容;视图用于显示数据,根据合适的地点,选择合适的数据展示给用户,同时提供给用户具体的交互界面,对于视图的操作不会直接作用与模型表示的数据中;控制器负责模型和视图直接的交互,用户在视图中的操作也会通过控制器反馈给模型,完成对数据的读写以及修改等操作,同时完成对视图的渲染,可以对不同的数据以不同的形式展示出来,如文本框、按钮、下拉菜单等等[4]。

QT针对数据库与用户接口这一层面,提供了3个封装更加完善的模型去访问数据库,分别是QSqlQueryModel、QSqlTableModel和QSqlRelationTableModel,这3个模型通过setQuerry就可以很方便的访问已连接数据库的某一个表格,再通过view->setmodel就可以将模型添加到视图上用于显示。QSqlQueryModel,SQL查询模型,提供了一个只读类型的模型,便于显示查询数据;QSqlTableModel提供了一个可读写的表格模型用户可以在表格中修改数据,用于修改底层数据库,但是根据编辑策略,需要通过submitAll()这一函数允许修改才能完成;QSqlRelationTableModel是对QSqlTableModel的一个扩展,它提供了外键功能,可以通过与一个表中的主键连接,访问其他表中的某一项的内容显示到表格里。

因为QT和SQLite都具有良好的跨平台特性,SQLite在嵌入式平台中又有着良好的表现[5],这对将软件移植到嵌入式平台,脱离计算机的束缚,大大减少仪器体积提高仪器灵活性提供了很大的便利。

3.2 需求分析

从图2中软件的操作流程中可以了解到整个数据结构可以分为方法文件、元素波长、标准曲线和实验数据4个部分。

方法文件:方法文件用于记录方法名、日期和检测元素等信息,在打开之后,应当可以连接到已完成的测量数据上,并可以再次完成查看、修改和再测量等功能,所以在方法文件中应该还具备可以连接元素波长、标准曲线和实验数据的功能。

元素波长:元素波长主要用于所有需要元素相关信息的场景,创建方法、打开方法、测量过程等等都需要元素波长的参与,考虑到使用频率较高,所以元素波长的结构应相对简单,这样在频繁的使用和查询过程中,可以减少查询时间,同时可以大大提高软件的运行速度,从而提高测量的速度。

标准曲线:ICP进行定量的分析溶液中某一元素的含量的原理是:配置空白和一系列已知浓度的标准溶液,通过已知的浓度和测量得到的光强从而得到标准曲线,再通过待测溶液得到的光强信息去和标准曲线比对,从而得到待测溶液的浓度。但是标准溶液的配置难度和成本都比较高,所以我们将标准曲线存储在数据库中,通过测量日期来加以区分,这样当再次测量的时候就可以从数据库中调取对应波长的标准曲线,从而减少配置标准溶液难度,提高了测量的效率。再存储标准曲线的数据库时就需要保留相关的信息,比如测量日期、测量元素和波长、曲线数据和曲线特征值等,其中日期可以从方法文件中获得,元素和波长就可以从元素波长中获得,这就需要用到之前提到的外键的功能,这样可以避免数据的冗余。

实验数据:实验数据作为一次实验中最宝贵的部分,应该完整地留存下来,无论是用于核查还是用于分析其他性能,都可能会起到重要作用。实验数据的逻辑结构尽量简单,因为需要和控制系统很快速的完成存储交互等动作,所以简单的结构就会带来更稳定的性能。

3.3 数据库设计

表1为方法文件表的设计方案。

表1 方法文件表

ID作为主键在表中唯一,主要用于方法名的查询和寻找,这样就避免了因为方法名相同造成的查询错误;元素ID用于向元素波长表去检索待测元素的基本信息,之所以使用TEXT格式,是因为一个方法可能检测多种元素,为避免表格过分冗余,方案将元素ID通过逗号隔开,存储在这一字段中,在加载方法时只需要根据逗号将元素解析出来即可;标准曲线库ID用于加载标准曲线库,格式和元素ID一样通过逗号隔开,数据表存储着本方法实验过程中所有的实验数据,这里存储着数据表的名称用于再次查询。

表2、表3、表4是对应元素波长表、标准曲线表和数据表的设计方案,元素波长表的数据为静态数据库,其中的数据在开发阶段根据元素的波长和检出限等表示元素的基本特征的信息就已经写好,给予其他表最基本的数据支持。而标准曲线表通过ID进行检索,从而得到标准曲线的截距、斜率等信息绘制出标准曲线,减少实验程序,提高实验效率。数据表存储每次实验的所有数据,为数据分析和处理提供支持。

表2 元素波长表

表3 标准曲线表

续表3

表4 数据表

如图4、图5所示,程序可以从数据表中读取数据,完成曲线的显示,方法文件创建过程中也可以从元素波长表中正确查询到对应的波长信息,ICP数据库所需的功能基本得以实现。

图4 数据表测试(数据为测试数据)

图5 元素波长表测试

4 结束语

在分析软件的操作流程的基础之上,利用QT优秀的模型/视图架构和对SQLite良好的支持,设计了ICP数据库的整体架构,并且充分利用了SQLite空间占用小、安全可靠的特点,完成整个操作过程中频繁的数据交互和数据处理。并且由于QT和SQLite良好的跨平台特性,使得软件可以运行在Windows、Mac和Linux等多平台上,这也为软件移植到嵌入式平台,促进设备更新提供了更多可能性。

猜你喜欢

数据表视图波长
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
基于列控工程数据表建立线路拓扑关系的研究
5.3 视图与投影
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
日本研发出可完全覆盖可见光波长的LED光源
RP—HPLC波长切换法同时测定坤泰胶囊中6个成分的含量
便携式多用途光波波长测量仪