色谱工作站作为与色谱相配套、处理色谱信号数据的电脑系统,其重要性不言而喻。但是功能再丰富、性能再强的色谱工作站也未必能满足用户的所有需求,因此色谱工作站的可扩展性成为衡量其性能的一个重要指标,能否利用色谱工作站的可扩展性开发出满足自己需求的软件也成为摆在每个色谱工作者面前的一个重要课题。
我们单位引进两台气相色谱用来检测天然气、液化石油气等燃气,它的工作站一大特色就是与MicrosoftOffice的紧密结合,如可直接在Word中生成分析报告、定量结果可通过剪贴板传送到Excel、分析记录可直接存入Access数据库等。其中定量结果通过剪贴板传送到Excel使我们除了直接在色谱工作站中得到组分浓度外,还可以利用Excel中强大VBA编程语言完成对所测燃气高热值、低热值、密度、相对密度、沃泊指数(即华白数)、燃烧势的计算,其基本原理如下:
在工作站中执行“入自定义报表”命令(点击工具栏中该命令图标),执行此命令后,工作站会自动将当前屏幕上的谱图存到windows/system(或sys-tem32)文件夹下一个图元文件中,并将当前谱图窗口内“定量结果”中“浓度”一列数据复制到剪贴板上。随后,工作站启动Excel打开一个名为“自定义报表. xls”的文件,在打开“自定义报表. xls”时, Ex-cel将自动执行此文件中一个名为“auto_open”的宏。我们就利用这个宏将剪贴板上的数据以及图元文件中的图插入到事先设置好的报表中,然后再按照国家标准规定,建立计算高热值、低热值、密度、相对密度、沃泊指数等燃气参数的数学模型,并用VBA编程加以实现,最后将以上参数的计算结果导入到指定报表的相应位置上。
在原色谱工作站系统中已提供一个包含“auto_open”宏的“自定义报表(天然气全分析)”(以下简称“原报表”),用浓度数据计算天然气各组分含量,以及高热值、低热值、密度、相对密度、沃泊指数、燃烧势,并将以上信息传送到该报表的一个工作表中,但在对其“auto_open”宏程序进行分析后,发现其中有两个不妥之处:
(一)算法不准确:该程序中天然气高热值、低热值、密度、相对密度、沃泊指数的计算方法如下式所示(以高热值为例,其它参数计算方法与此相似):

而GB17820-1999《天然气》标准规定高热值测定要按照GB/T11062-1998《天然气发热量、密度、相对密度和沃泊指数的计算方法》方法进行,该方法与以上方法有不小差别,特别是在原报表中各气体物性值是以101. 325kPa、0℃作为参比条件,而GB/T11062-1998标准规定的参比条件为101.325kPa、20℃,更重要的是我们采用的标准气是用摩尔分数体现的,那么以该标准气为基准,用外标法计算出的xi也应该是摩尔分数,而不是体积分数,按照式1将其与各组分气体体积高热值相乘,再将乘积相加而得出的高热值显然是不准确的。
(二)原报表另一个不足之处就是其所提供的格式与所需要的格式相去甚远,且原报表没有提供谱图以及各组分在谱图上所反应的峰面积等数据,而这些都是检验报告原始记录所必须的;另外原报表仅能提供一次试验的数据结果,对平行样平均值的计算要在工作站计算完每个样的数值后,再将这两组值合成到另一个报表中,操作较繁琐,难以使一个样品的数据集中在一个文档中。
针对原报表中这两点不足,我用VBA编写了一个新的“auto_open”宏,严格按照GB/T11062-1998规定的方法建立高热值、低热值、密度、相对密度、沃泊指数的数学计算模型,具体实现过程如下:首先,对原报表中的算法进行修正。在初始化阶段,将C2~C5组分的原始含量(摩尔分数)以及各组分的理想摩尔高热值、低热值及摩尔质量、求和因子输入到Excel表格的相应位置。数据处理阶段,处理方法(由于篇幅所限,本文仅以沃泊指数计算为例)如以下流程图所示(图2),此阶段完成了对高热值、低热值、密度、相对密度、沃泊指数的数学计算。
其次,对结果数据处理及报告格式作以下设计:
(1)将两组平行样数据及其平均值都集中在一个Excel文档的三个工作表中。在工作站启动自动报表文档后,“auto_open”宏自动调出以下窗口(见图1):若点击“第一次试验”按钮,则在工作表4中按以上算法完成数据计算后,将计算结果存入工作表1中,工作表4中数据予以删除(下同);若点击“第二次试验”按钮,则在工作表4中完成数据计算后,将计算结果存入工作表2中;若点击“取平均值”按钮,则对工作表1与工作表2相对应单元格数据取平均值,也就是对第一次结果数据与第二次结果数据取平均值,并将结果存入工作表3。这样一个样品平行样的两组数据及平均数据就集中在一个Excel文档中,而不象原报表,一个样品数据要存在三个Excel文档中,这样更便于对样品数据的管理。

(2)在报表格式上,在合成时,将前面所述图元文件及峰面积数据合成到工作表1及工作表2中,这样所形成的报表格式就与所需要的相一致。以上是对燃气色谱工作站所作的二次开发,而这仅仅算是一个小小的应用,对该工作站还有进一步开发的潜力,那就是与数据库技术相结合,将程序代码和软件界面相配合,把每次报表所生成的数据及谱图实时写入Access数据库。这对于实际工作是很有应用价值的,作为一个检验燃气及燃气具的省级检测机构,平时所涉及的燃气种类繁多,且每日色谱所测的燃气参数在燃气具热负荷、热效率及燃烧工况检测中起决定性作用,如果没有用数据库对这些参数进行科学、有序的管理,则可能产生混乱及错误,当然也更不符合检测及校准实验室管理要求。将报表与数据库相结合,数据库的气源数据得到不断的更新,如果再用VB或C#编程语言编写一套燃气信息管理系统用于管理后台的燃气数据库将达到更好的效果。


总而言之,现代工作站所提供的二次开发编程接口为拓展工作站的性能提供了强大的手段。这些接口有的是通过与Office数据共享来实现的,有的则是直接提供与VB或VC等编程语言相兼容的接口,但不论是哪一种形式,都是可以充分利用的强大资源,它可使检测工作拓展到更广阔的空间。
参考文献
[1]GB/T13610 -2003,天然气的组成分析气相色谱法[S].北京:中国标准出版社2003.
[2] GB/T11062-1998,天然气发热量、密度、相对密度和沃泊指数的计算方法[S].北京:中国标准出版社, 1998.
[3]北京博彦科技发展有限责任公司. Office VBA编程高手[M].北京:北京大学出版社, 2000: 31~128.
作者简介:邹震(1972~),男,工程师,主要从事天然气、液化石油气、人工煤气等燃气分析。Emai:l zouzhen@ 126. com




