Excel在传感器检测标定软件中的应用
2016-06-23陈庆峰赵晶晶
王 伟,陈庆峰,赵晶晶
(长春机械科学研究院有限公司,吉林 长春 130103)
Excel在传感器检测标定软件中的应用
王伟,陈庆峰,赵晶晶
(长春机械科学研究院有限公司,吉林 长春 130103)
摘要:Excel和传感器检测标定软件结合使用,使得传感器检测标定数据记录和计算变得方便快捷。本文简要介绍了软件的设计原理和Excel编程基础知识。
关键词:Excel;VB;传感器;标定
1引言
通常,在传感器进行检测标定时,都是手工记录测量数据、手工输入到Excel中进行数据处理。所测各点的数据都是多位小数,输入到Excel表中特别麻烦,常因为输入出错而反复修改,影响工作效率。现在开发出一种测量标定软件,将Excel编程和该软件结合起来,由软件自动完成数据记录并填写到Excel表格中,解决了手动输入出错的问题,提高了工作效率。
2软件工作原理
软件工作时,通过计算机串口和6000数字测量仪(或其它测量仪器)通信,采集传感器各个测量点数据。软件对采集来的数据进行格式化处理后,采取两种方式送入Excel表格中,然后在Excel表中进行处理。工作原理图如图1所示。
图1 工作原理
3Excel表编程基础知识介绍
Microsoft Office中的Excel表在编程设计与常规软件设计有很大区别,Microsoft公司为此给广大编程爱好者创建了独立完善的编程体系,使得编程爱好者很容易掌握和运用。
3.1激活一个工作簿
在VBA编程中,想要使用一个Excel表,首先需要激活此表。采用Activate进行激活,并将激活的工作簿放在活动窗口中。下面语句为激活工作簿 “Book1.xlsx”。
Workbooks("Book1.xlsx").Activate
3.2创建一个新的工作簿
在VBA编程中,想要创建一个新的工作簿,需要使用Add方法。下面语句为创建新工作簿,并将该工作簿命名为“工资”。
Workbooks.Add
Set xlBook = Workbooks.Add
xlBook.Title = "工资"
xlBook.SaveAs "工资.xlsx"
3.3打开一个工作簿
在VBA编程中,打开工作簿用Open方法,并且打开的工作簿是Workbooks集合中的一员。下面语句为打开指定位置文件夹内的工作簿“工资.xlsx”。
Workbooks.Open("E:MyWorks “工资.xlsx”")
3.4用数字编号引用工作表
在Excel中,可以用编号来引用工作表。用Worksheets中的属性,激活工作簿中的一张工作表。
Worksheets(1).Activate
如果要对所有类型的工作表操作,可以使用Sheets属性。下面语句是激活工作簿中的第一张工作表。
Sheets(1).Activate ’激活第1张工作表
3.5用Cells属性数字编号引用单元格
Excel表中有一个重要属性,即Cells属性,通过Cells的行号和列标来引用某一个单元格。Cells属性返回代表单个单元格的 Range 对象。下面语句表示对工作表“Sheet2”上的单元格“B8”操作,并赋予 Value 属性值为“工资”。
Worksheets("Sheet2").Cells(8,2).Value =“工资”
4编程实现
检测标定软件采用VB6.0开发设计。打开VB,新建一个工程命名为“数字测量仪标定软件”的文件,添加需要的窗体,设计软件界面和窗体布局,运行后的软件主界面如图2所示。要想在软件中结合Excel进行编程,必须在VB设计环境中选择“工程”菜单中“引用”选项,在弹出可引用对象对话框中选择“Microsoft Excel 11.0 Object Library(计算机中安装的Office版本不同会有所不同)”。只有引用了此类库才能在软件设计中对Excel表进行编程设计。
图2 软件界面
引用完成后,就可以在工程中添加一个模块Module1,在模块中声明相关的数据结构和变量,然后声明Excel所需对象变量。
′声明Excel对象
Public xlApp As Excel.Application
Public xlBook As Excel.Workbook
Public xlSheet As Excel.Worksheet
这三个对象分别是Excel应用对象、工作簿对象、工作表对象。
Excel对象声明完就可以应用对象对Excel表进行操作。Excel表编程可以形象地用图3所示的流程来描述。软件设计时,按照Excel表编程流程步骤就可以轻松完成。
图3 流程图
检测标定软件设计中,有很多涉及到数据采集、数据处理与6000数字测量仪之间的编程,这里不多赘述,而是主要针对Excel表如何编程加以描述。
下面子过程描述的是如何打开指定路径上的指定Excel表,并且把表单1设置为活动工作表,然后激活表单准备使用。
′根据选择的Excel表确定打开哪个表
Private Sub SelectTable()
′定义对象变量,创建Excel应用类。
Set xlApp = CreateObject("Excel.Application") ′创建EXCEL应用类
′要打开的Excel表所在路径和表名
Set xlBook = xlApp.Workbooks.Open(App.Path &“” &ExcelTableName)
xlApp.Visible = True ′设置EXCEL对象可见(或不可见)
Set xlSheet = xlBook.Worksheets("sheet1") ′设置活动工作表
′激活工作表
xlSheet.Activate
End Sub
Excel表一旦激活,就可以向单元格中添加数据了。下面的for循环实现了将测量点标准值数据(如图4所示)写入对应单元格中,同时保存工作表,把数据存储在表中。
图4 测量设置界面
For i = 0 To OperateSave.InputNum - 1
OperateSave.txtPNValue(i) = Val(txtStandardValue(i).Text)
′采用编号引用方式写入单元格。
xlSheet.Cells(i + 11,1) = Val(txtStandardValue(i).Text)
′保存工作表及其表中数据
xlBook.Save ′保存
Next
软件操作全部完成后,在软件退出时,一定要关闭工作表,释放对象变量所占用的资源。如下所示语句实现关闭和释放等功能。
xlBook.Save ′保存
xlBook.Close (True) ′关闭工作簿
xlApp.Quit ′结束EXCEL对象
Set xlApp = Nothing′释放xlApp对象
在软件设计时,有时需要根据使用过程判断Excel表是否已经打开或者已经关闭等,这里不再加以描述。
5结束语
应用Excel软件,可以方便地采集测量数据,并准确地将数据添加到Excel单元格中,方便测量人员进行数据处理,提高了工作效率。
参考文献
[1]何光渝.Visual Basic常用数值算法[M].北京:科学出版社,2002.
[2]范逸之,陈立元.Visual Basic与RS-232串行通信控制(最新版)[M].北京:清华大学出版社,2002.
[3]张强,刘飚.Excel 2007与VBA编程从入门到精通[M].北京:电子工业出版社,2008.
Application of Excel to Calibration Software for Sensor
Wang Wei,Chen Qingfeng,Zhao Jingjing
(Changchun Research Institute for Mechanical Science Co.,Ltd.Changchun 130103,Jilin,China)
Abstract:The application of Excel to calibration software for sensor is introduced in the paper.The combination of Excel and calibration software makes the record and calculation of sensor calibration data convenient and fast.The design principle of software and the basic knowledge of Excel programming are introduced in brief.
Keywords:Excel;VB;sensor;calibration
[收稿日期]2016-02-24
[作者简介]王伟(1976—),男,软件工程师,主要从事试验机软件开发与设计工作。
中图分类号:TP274+.2
文献标识码:B
doi:10.3969/j.issn.1674-3407.2016.01.029