基于LabVIEW的振动台自动检定系统
2013-05-14马培凤
袁 振 马培凤 杨 兰
(中国空空导弹研究院计量测试中心,洛阳 471009)
0 引言
振动测试在各项产品环境试验中占据重要位置。由于振动试验台检定项目多,测试数据量大,35670A动态信号分析仪操作复杂,并且后续数据处理以手动计算为主,由于数据多,计算量大,出错率较高。使用35670A动态信号分析仪进行动态信号测试时,由于现在已经很少使用三寸软盘,动态图谱无法导出,给检定、校准和测试工作带来了一定的困难。因此,需要一套自动化采集系统来实现自动配置设备、数据整理,并可导出动态图谱。
1 检定系统工作原理及组成
1.1 检定系统工作原理
将控制用压电加速度计和检定用压电加速度计刚性连接到振动试验台台面中心位置,控制用加速度计通过电荷放大器与振动控制仪连接,控制信号通过功率放大器放大后,对振动试验台进行控制,实现正弦振动、随机振动等各种类型的振动试验。检定用压电加速度计通过电荷放大器,与35670A动态信号分析仪连接,动态信号分析仪通过数据采集器与计算机连接,使用LabVIEW编程语言设计自动采集软件,自动采集振动台试验系统输出的振动信号,按照JJG 948—1999《数字式电动振动试验系统》检定规程的要求,对振动台试验系统进行检定,对采集到的振动信号进行数据处理,并按照国防科技工业4111二级计量站管理手册的要求自动生成检定记录和证书报告,导出动态响应图谱,从而完成振动试验台的自动检定过程。
1.2 检定系统组成
本检定系统由35670A动态信号分析仪、2692电荷放大器、4371单轴压电加速度计、4326A001三轴压电加速度计、计算机等组成,系统组成框图如图1所示。
图1 振动台自动检定系统组成框图
1.3 软件设计流程图
本设计以美国NI公司的LabVIEW为软件开发平台,设计振动台自动检定软件。
在本设计中,使用LabVIEW中VISA控件与动态信号分析仪通信,实现控制、数据采集。随后使用ADO控件与DB控件,实现数据的存储与调取。最后调取参与结果计算的数据,通过公式模块计算后,使用LabVIEW自带报表生成模块根据需要格式生成报表。振动台自动检定软件流程框图如图2所示。
图2 振动台自动检定软件流程框图
通过正确输入用户帐户和用户密码后,进入主界面,在主界面输入被测振动台信息与环境信息等,进入检测模块。根据JJG 948—1999《数字式振动试验系统》检定规程,检定系统分正弦测试、动态范围测试、随机振动测试等三个模块组成,进入不同的测试模块进行振动台各项检定参数的检定、测试。根据检定项目设置好参数后即可进行检定。检定过程中数据会经过自动采集并储存在数据库中,检定结束后,根据JJG 948—1999《数字式振动试验系统》检定规程的要求,自动计算并判断结果,同时生成原始记录。
2 软件设计
2.1 动态信号分析仪35670A控制
动态信号分析仪35670A与计算机连接端口是GPIB端口,而它遵循编程仪器标准命令SCPI。对前端总线连接,使用VISA函数。在LabVIEW中用户可根据NI提供的VISA Driver Development Wizard编写VISA仪器驱动,包括自动查找VISA通信地址,VISA指令写入等模块,根据需要在模块外接命令写入模块进行编程,用户不需要把大量的工作放在仪器通信上。
在控制方面,使用的是35670A说明书提供的SCPI指令集,根据指令集的指令对检定用仪器进行控制及测量参数进行定义。在控制编程中,对振动台检定测试使用的操作及参数设计,每一步进行模块化编程,如带宽设置、正弦基频设置、四通道同时显示、对数及线性函数定义、THD设置和各通道单位设置等,放入LABVIEW子文件夹中user.lib用户自定义库中。在对仪器控制部分进行编程时随时调取使用,可对测试仪器使用的操作进行综合控制,实现了一键式设置,较大程度的提高了工作效率,在缩短了仪器设置时间的同时,一定程度上对设备进行了保护。
2.2 数据采集
在数据采集方面,仍然使用了LABVIEW提供的VISA函数模块中VISA读取,从VISA资源名称制定的设备模块中读取指定数量字节,使数据返回至读取缓冲区,通过读取缓冲区的字符串数据进行各种数据再次定义,随后通过各种数据显示控件反应在前面板上,实现了动态数据显示。就此原理,进行了四通道XY轴方向、谐波失真、谱密度、加速度总均方根值等参数的实时监控,为下一步数据储存与数据处理奠定了基础。
2.3 数据处理
2.3.1 数据库写入与查询
在数据储存及数据库访问方面,NI公司提供的附加工具包LabVIEW SQL Toolkit比较昂贵,本设计使用免费的LabSQL多数据库、跨平台数据库访问工具包。本系统使用ACCESS数据库,首先建立我们需要修改、查询、调取的数据库,再通过对WINDOWS系统中的ODBC数据源管理器进行数据库连接设置,使用LabSQL中ADO Connection Create.vi连接数据库,并使用ADO Connection Open.vi在制定路径中打开数据库,再通过ADO Execute.vi实现数据库写入。在读取数据方面,则使用了NI提供的DATABASE模块,使用它对路径下数据库进行连接,并通过DB语言执行模块,使用SQL语言,对数据库进行编辑,如数据查询,删除等操作。
2.3.2 数据处理及自动判断结论
将采集后的数据从数据库查询出后,按照JJG 948—1999《数字式振动试验系统》检定规程的检定方法与数据处理方法,使用公式节点对每项指标进行计算,并将计算后的数据,使用LABVIEW中比较控件,所有指标均不能超过JJG 948—1999《数字式振动试验系统》检定规程的要求。若有任何一项超出规程要求,则自动通过条件模块判断为不合格,并通过结论自动标记试验类型、结论及是否给出有效期等功能,从而实现自动判断结论。
2.4 报表生成
基于LABVIEW平台,实现报表生成功能,与VB和C语言比起来,原理有些不同,不像后者引用WORD自带的宏命令编辑器。而LABVIEW有两种方式,首先针对于填空式数据,他运用的是WORD中书签功能,使用LABVIEW中自带的报表生成组件中添加报表文本控件,他通过使用簇3元素和簇2元素及整数、字符串组成的格式化数组定义写入位置,写入位置的名称与WORD书签中的名称必须一致。第二种就是写入表格数据,从ACCESS查询的数据,大多是以表格形式输出,把从数据库引出的2-D数组,再根据需要分解成的众多双64位实数,经过格式需要,进行计算、筛选、排列,最后格式转换为2-D数组,引入LABVIEW自带写入报表模块,从而实现报表生成功能。
3 结束语
本文基于LabVIEW软件为平台开发的振动台自动检定系统,将复杂的35670A动态分析仪设置,实现了一键式操作,对试验数据进行自动采集处理,生成报表等功能,较大的提高了振动台的校准检定试验工作效率,并且对振动试验数据对比与储存提供了条件,为振动类等试验的动态分析测试发挥了重要作用。
[1] 侯国屏.LabVIEW7.1编程与虚拟仪器设计[M].第2版.北京:清华大学出版社,2005:158-159
[2] 杨乐平,等.LabVIEW高级程序设计[M].第4版.北京:清华大学出版社,2007.7
[3] 李红军.SQL技术手册[M].第3版.北京:电子工业出版社,2009.11