基于Hook模式的某零部件静刚度试验台精度提升

2020-10-20 07:18周砚文药陵州候向民
汽车实用技术 2020年15期

周砚文 药陵州 候向民

摘 要:为了提升现有某静刚度试验台的效率及测量精度,使用Visual BASIC的Hook模式编程开发了通用零部件静刚度测量软件,扩展试验台架的功能并通过多个试验验证了台架的可靠性。此外该设计思路也为同类台架功能的升级提供了参考。

关键词:零部件靜刚度;Hook模式;Visual BASIC

中图分类号:U467  文献标识码:A  文章编号:1671-7988(2020)15-92-03

Abstract: In order to improve efficiency and measurement precision of current stiffness measurement rig, general compon -ent stiffness measurement software is developed using Visual BASIC with hook pattern programming, the rig capacity is expanded and the reliability is validated via multiple measurements.Besides that, such design pattern can also provide reference for upgrading of other similar test rigs.

Keywords: Component stiffness; Hook pattern; Visual BASIC

CLC NO.: U467  Document Code: A  Article ID: 1671-7988(2020)15-92-03

引言

在零部件设计过程中,静刚度性能是关键的设计指标之一。静刚度的测量一般在静刚度试验台上开展。其通用结构一般由力加载装置和位移检测装置组成,被试件安装后,在弹性范围开展缓慢力加载,得到的力增量与相应位移的增量之比并绘制曲线,作为最终的结果。

目前使用静刚度试验台开展试验时,需手动进行测量,布置力加载电机和位移传感器后,进入静刚度试验台的测试界面(如图1所示),用鼠标点击按钮控制电机加/卸载(电机下降为施加拉力,上升为释放拉力),每到达一个目标点后,需先点击电机控制按钮暂停电机动作,再手工记录力和位移的结果。

该方法需要人为操作按钮,精度不高且有失误风险。如图2所示,在某零部件静刚度测量过程中(0N-800N加/卸载,1个位移通道),过程中只能设定约8个加载力目标点进行观测,刚度曲线变化趋势不明显。当所需观测的位移通道变多时,手工记录结果还容易出现疏忽。因此对于现有静刚度试验台进行功能扩展是很有必要的。

1 通用零部件刚度试验台功能扩展解决方案

1.1 软件总体设计思路

经过对现有测量过程的分析,使用Visual BASIC中Hook模式编程,完成了通用零部件刚度软件的开发,扩展了现有台架的功能。

软件功能结构图如图3所示,由初始化、过程监控和电机控制三个模块组成。初始化模块用于测量通道选择(目前能监测1个力通道和4个位移通道)、最大加载力(电机拉力加载)和采样间隔设定;过程监控用于实时测量各通道数据并将其保存;电机控制模块用于设定电机加/卸载控制。

软件流程图和软件界面如图4和图5所示。以拉力加载为例,在样件上安装力加载电机和位移传感器后,首先打开现有刚度试验台测试界面(如图1所示),接着启动通用零部件刚度软件(如图5所示)。在软件中完成传感器通道选择、最大加载力和采样频率设定后,点击开始采样按钮,软件可自动操作刚度试验台的测试界面相关按钮,包括控制电机加/卸载,实时采集各个通道的传感器数据并显示/保存。试验结束后点击停止采样,软件能自动输出结果,兼容常用电子表格软件,供后期处理使用。

1.2 Hook模式的使用

1.2.1 传感器数据监测子程序设计

在原测量过程中,需要手动点击按钮操作电机、肉眼观察各个传感器通道数值。而在Windows中以上行为都可以用消息机制从软件上实现。在Visual BASIC中通过Hook模式编程对这些消息进行处理,就可以用软件模拟上述动作,实现自动化测量效果。

如图1所示,试验过程中各传感器数值都会显示在对应的文本框中。通过使用Hook模式中的FindWindow, Find WindowEx,SendMessage 发送WM_GETTEXT等消息能得到文本框内容,可以将所关注通道数据从其对应的文本框中读出。此外通过timer控件,可设定采样时间,实现不同频率下的传感器数据定时采集。其流程图如图6所示。

1.2.2 电机操作按钮控制子程序设计

在测量刚度时,需要用电机产生拉力。如图1所示,电机控制由“上升”、“下降”、“电机运动”、“电机停止”四个按钮的点击实现(下降为施加拉力,上升为释放拉力)。先通过得到手动测试窗体句柄后,使用FindWindowsEx通过各按钮的标题得到其对应的句柄,最后使用PostMessage函数向这些句柄发送WM_BMCLICK等消息实现模拟鼠标点击,可实现电机的控制加载。当加载力达到设定最大值时,同理可控制电机开始卸载回零。其流程图如图7所示。

1.3 输出数据格式的定义

数据采集信息中一般包含日期、时间、采样点序号、力/位移传感器通道数据。使用Visual BASIC的文件功能进行编程,在试验完成后可按照常用电子表格的相关兼容格式输出文件,供后期处理。采样的数据示意格式如表1所示。

2 试验台功能扩展后的使用效率

图8为某零部件刚度的测量结果(一个力通道和一个位移通道,加载过程为0N-400N,负号表示为拉力),共采集到约1000多个点,且试验数据文件输出后可用常用电子表格文件打开。相比扩展前只能采样中间个别目标点的问题,功能扩展后的采样点数明显提高,且绘制曲线连续平滑,能准确反应刚度曲线的趋势。最终生成刚度曲线如图9所示,与CAE分析趋势一致。

3 结论

本文基于Hook模式编程,设计了通用零部件刚度测量软件,扩展了现有刚度试验台的功能。功能扩展后能够实现静刚度的多通道自动测量,提高效率并能显示曲线变化细节趋势。投入使用后,对多种零部件刚度进行了测量,结果与CAE分析一致,效果良好。同时该台架的扩展思路也可为其它类似功能台架的能力扩展提供参考。

参考文献

[1] 王栋.Visual BASIC程序设计[M].北京:清华大学出版社,2015.

[2] 布鲁斯·约翰逊.Visual Studio 2017高级编程[M].北京:北京:清华大学出版社,2018.