量块检定数据自动化处理方法探讨
众所周知, 根据JJG146-2011《量块检定规程》, 量块的主要检定参数有量块长度、量块长度变动量和长度年稳定度, 数据处理量极其庞大。为了提高量块检定的质量和效率, 我们必须使量块检定数据数字化, 把复杂的数据处理交给计算机来做。
对于接触式干涉仪、光学计和测长机等传统的量块检定光学设备来说, 量块检定数据数字化的方法就是在设备的目镜处安装一个摄像头, 将量块检定采点触测时的图片采集到计算机, 通过图像处理, 将刻线的差值转变为量块长度偏差, 然后进行计算。
随着激光、电感及光栅技术的发展, 特别是电脑量块比较仪的出现, 使我们的数据处理更为简单, 它可以通过传感器把量块检定数据采集到电脑中, 进行处理和显示。如果没有特殊要求, 还可以把数据直接拷贝粘贴使用, 但是这还不足够自动化。本文介绍一种数据自动化处理转化, 并实现一键生成证书的方法。
一、设备现状及问题
1.某品牌电脑量块比较仪, 只能输出“Word”数据格式和“TXT”数据格式。
2.自行研制的电脑证书制作打印系统, 能通过识别“Excel”格式的电子原始记录, 直接生成证书。
出于技术保密原因, 电脑量块比较仪生产厂家没有提供通信方式和协议, 无法实现检定数据直接导入证书系统, 只能先将数据的“TXT”格式转化为“Excel”格式, 然后进行数据处理。
二、数据自动化处理方法
由于量块检定数据多, 数据处理时间长, 为了不影响量块的检定工作, 我们通过交换机, 将每台电脑量块比较仪的数据传输到主机上进行统一处理打印 (见图1) 。

图1 电脑量块比较仪网络连接示意图
以JJG146-2011和内部质量管理体系要求为依据, 以证书系统中电子原始记录模板为基础, 利用Excel软件强大的VBA编辑功能, 实现量块检定数据自动化处理。具体流程如图2所示。

图2 数据自动化处理流程图
对于电脑量块比较仪出具的原始检定数据, 由于已在其自带软件中自行计算、判定结果, 所以如何让数据自动进入常规的电子原始记录指定位置是我们需要解决的问题。
用VBA语句来解决这个问题的思路分三步:
第一步, 以“样品号”作为两种文件格式的连接点。每一盒需要检定的量块, 在进入证书系统前, 都会得到一个独立的“样品号”作为其身份证明, 以此设置为量块文件名, 不仅查询方便, 而且不易混淆。检定完成后, 我们将电脑量块比较仪自动生成的原始检定数据命名为“样品号量块数据.txt”, 并将此文件通过内部局域网放入主机指定的文件夹。在装有证书制作打印系统的主机中, 我们只需打开一个拥有样品号的量块电子原始记录模板, 用VBA程序设置命令去指定文件夹中寻找匹配相同样品号的“样品号量块数据.txt”文件, 将数据导入到相应的电子原始记录模板工作表中。由于后续还需对原始检定数据进行处理, 所以先在量块电子原始记录中另建一个空白工作表用作数据缓存。设定该空白工作表为“电脑量块检定数据” (见图3) 。

图3 以“样品号”作为连接点过程
打开量块电子原始记录Excel表, 依次点击“工具”菜单→宏功能→VBA编辑器, 输入相应VBA语句。
第二步, 自动识别并删除缺失规格的量块数据。在平常送检过程中, 客户可能会根据自身需要只送检几块量块, 或者一套量块中缺失几块的情况也时常出现。某品牌电脑量块比较仪以数据“9999”作为对缺失量块的标记处理, 但如果我们出具的证书上面出现“9999”的数据, 很可能会给客户造成数据误解。以往我们在数据处理过程中, 常需要人工剔除这些数据, 所以这次编程添加了对缺失规格数据的自动剔除功能, 于是同样可以用VBA来解决。
For B=1 To 1000
If Sheets (“工作表名”) .Cells (b, 2) =“9999”Then
Sheets (“工作表名”) .Rows (b) .Delete
B=B-1
End If
Next B
……
第三步, 将剔除无效数据后的完整量块检定数据按顺序自动进入电子原始记录和指定位置, 主要用VBA语句中CELL (infotype, reference) 语句来实现这一功能。
最后用VBA语句将三步骤汇总组合, 在Excel表中调用窗体工具栏, 创建一个“电脑导入”按钮放在主页上, 将已经做好的宏命令, 指定给该按钮。在今后工作中, 我们只需在主机原始记录模版中点击“电脑导入”按钮, 就可以将指定文件夹中的量块检定数据直接导入电子原始记录, 生成证书。