国电建投内蒙古能源有限公司 内蒙古自治区鄂尔多斯市 017209
摘要:由于煤的工业分析(水分、灰分、挥发分)是用重量法测定的,数据处理工作量大。随着自动工业分析仪在生产单位实验室的广泛使用,工业分析结果可以自动计算,无需手动数据处理。但工业分析作为第三方检测实验室,在煤质测试和分析实验室,实验室技术员使用12位计算器进行数据处理。计算每一项时,计算是否正确,合同是否按修订规则修订,是否存在超差现象,数值的准确性完全取决于实验室技术员的熟练程度和技术水平。每天需要处理大量的实验数据,时间长,如果依赖人工计算,容易出错。但是Excel办公软件是一个强大的计算工具,可以利用Visual Basic编辑器的开发功能自定义和编辑新的功能,可以解决数据计算结果的问题。
关键词:煤质检测;Excel;Visual Basic;数据处理;
煤质化验数据常采用人工及计算器进行运算、修约及判断处理,以致人为因素发生实验结果错误。采用Excel软件对数据进行计算、应用Visual Basic编辑一种可实现自动修约的函数以及利用“条件格式”选项编辑具有对煤质化验结果的重复性限实现判断和预警功能的公式,可解决实验室煤质化验数据大量繁琐的计算问题,提高了实验数据处理的准确性,对实验数据的高效处理起了重要作用。
一、建立化验数据报表库
建立煤炭化验数据报表库,是根据选煤厂技术检测组的需要,考虑出表及技术数据查找、打印方便而设计的。我们只列了主要的10种报表,化验数据报表库10类报表基本涵盖主要检测项目,设计页面A4,每页2张报表,即32K。Excel文件名是报表名称,工作表以具体试验日期(月日)命名,例如工作表“1102”表示试验日期11月2日,页面都已设计好,每次整理有关数据只需复制工作表,更改试验日期、人员,试验原始基础数据,公式不用每次都输,审查无误即可打印外报。建立化验数据报表库快捷方便,也便于同类试验数据的比对、分析。随着煤炭化验技术的不断发展,化验数据越来越多,在分析这些化验数据时的复杂程度也越来越大,因此,通过建立化验数据报表库,可以将形成的化验数据均存储到数据库中,形成庞大的数据群,并利用Excel表格的功能对这些数据进行简单的对比处理,在后续应用这些数据时就可以通过筛选或对比的方式来确定哪些数据有效,哪些数据无效,从而加快数据核对效率和质量,也更好地满足煤炭化验需求。化验数据报表库重点说明一下11普通报表,我们俗称“万能报表”,它可以是临时性检测报表,包括1类~10类以外的其它报表,如矸石三级浮沉、化验设备灰分硫分发热量标定、煤泥滤饼抽查灰水、动筛工艺效果检查等。使用化验数据报表库需要注意的是,采用电脑剪切、复制进行选择性粘贴时,粘贴类型要明确,粘贴数值还是公式心中有数,一般需利用公式则粘贴公式,只需打印数据粘贴数值即可,否则容易造成公式丢失或计算错误。因此,在应用万能报表的过程中,操作人员应当首先熟练掌握报表的应用方法,并熟悉煤炭化验的各类指标,确定指标的检查标准,以确保在进行数据化验并对比指标的过程中能够尽快完成化验,提升化验水平。
二、函数分析及程序编制
1.有效数字修约原则。煤质实验室的化验数据运算需要遵循数字修约规则,数据处理按照“四舍六入,五看奇偶”的规则进行修约。凡数字末位大于5,则在前一位上增加1,小于5则舍去。例如,煤的挥发分测定结果按照标准要求需要保留2位小数,则以下数字修约结果为:
16.6254修约为16.63;16.6155修约为16.62;
16.6150修约为16.62;16.6250修约为16.62。
Excel函数分析。经过分析,Excel中的函数没有按照国标要求进行修约的函数,在利用Excel软件计算时,无法按照标准要求对数据进行修约。采用软件计算的数据,结果的修约需要通过设计VBA自定义函数的方法来实现。
3.VBA语言的编写。在软件上实现数值的自动修约,首先要对修约规则进行分析,然后将修约原理转化为VBA语言,编辑出一个新的修约函数,实现数值的修约。以Excel 2007为例,打开office按钮,选择“excel选项”,选择“高级”,选择“将精度设为所显示的精度”,消除excel二进制数值浮点给计算结果带来的影响。打开Visual Basic编辑器,选择“插入”菜单中的“模块”命令,在VBA编辑器中编辑如下语言:Public Function GBRound(a As Double,b As Integer)
t=Abs(a*10^b)
f=Abs(a*10^(b+1))
h=Int(t)Mod 2
Select Case f-Int(t)*10-5
Case Is>0
GBT=Application.Round(Abs(a),b)
Case Is<0
GBT=Application.Round(Abs(a),b)
Case Is=0
If h=0 Then
GBT=Int(t)/10^b
Else
GBT=Application.Round(Abs(a),b)
End If
End Select
If a>=0 Then
GBRound=GBT
Else
GBRound=(-1)*GBT
End If
End Function
代码输入完毕,选择“文件”中“关闭并返回”到“Microsoft Excel”命令,保存VBA代码。在拟定单元格调用GBRound函数,输入=GBRound(Cell,n),Cell表示你要修约的某单元格中数值,n表示保留位数。例如拟修约A2单元格中数值,修约至小数点后3位,在拟定单元格输入=GBRound(A2,3),即可实现数值修约。
四、Excel电子表格的编制
1.煤的基准换算。在煤质检测试验室所测出的各项煤质特性指标,除全水分外,一律采用空气干燥试样,故其测定结果应用空气干燥基准表示,如空干基灰分Aad、空干基挥发分Vad、空干基全硫St,ad等。若要换算其它基准。
2.煤的工业分析Excel表。煤的工业分析测试项目包括水分、灰分、挥发分及固定碳。煤质分析使用的电子表格遵循国标,参照国网新疆电科院日常使用煤的工业分析检测原始记录格式进行绘制,并对表中的数据运算及修约进行了举例说明。根据标准要求,水分、灰分要求进行检查性灼烧,水分测定结果直到连续2次干燥煤样的质量减少不超过0.0010 g或质量增加为止,后一种情况采用增加前一次的质量为计算依据;灰分测定结果直到连续两次灼烧后的质量变化不超过0.0010 g为止,以最后一次灼烧后的质量为计算依据。为了使数据处理更清晰明了,将Excel工业分析表分为四个区域,分别为数据填写区、数据运算区、数据修约区和数据预警区。图中白色单元格为数据填写区,绿色单元格为数据计算区,黄色单元格为数据修约区,蓝色单元格为数据预警区。绿色区域为在相应单元格内输入公式,对白色区域单元格中的数值进行计算,煤质分析项目的结果就会自动计算出来。对于检查性数值结果的自动选择,可通过在相应单元格编辑公式来实现。例如判断水分的检查性干燥数值,可在C8单元格输入公式
=IF(C6>=C7,C7,C6)
按照标准要求对实验干燥C6样品数值、检查性干燥C7样品数值进行判定,若两次干燥数据差未超过0.0010 g,则报出值为两次干燥结果中较小的数值。如果判断灰分的检查性灼烧数值,在G8单元格输入=G7,若两次检查性干燥差值未超过0.0010 g,则报出值为G7单元格数值。对于水分Mad、灰分Aad和挥发分Vad的计算,可在相应单元格内输入计算公式,即可实现煤质检测项目的准确计算。若需要换算煤质检测项目的基准,例如在G17单元格输入=Aad×100/(100-Mad),即可求出干基灰分Ad的计算结果。水分、灰分及挥发分的重复性限分别为各自重复样差值的绝对值。例G14单元格输入=Abs(G10-H10),即可计算所检项目的重复性限。黄色区域为数值修约区,对绿色计算区单元格中的计算结果进行数值修约,在对应单元格输入修约函数、所修约单元格和保留位数实现数值修约。
总之,煤质实验室分析项目有全水、工业分析、热值、元素、全硫、灰成分等,每天需处理大量数据,人工计算耗时费力。采用Excel软件对煤质实验数据进行计算,利用软件VBA功能编辑自定义修约函数,对计算结果进行修约,并对超差数据进行预警,避免了人工计算错误结果的报出。
参考文献:
[1]樊炜.谈如何控制煤化验数据的准确性.2019.
[2]孙焕铜.关于Excel在煤质检测数据处理中的应用.2020.