APP下载

基于WinForm的变速箱电磁阀测试系统软件设计与实现

2023-07-04谭光兴戚秋晨

广西科技大学学报 2023年2期
关键词:变速箱电磁阀

谭光兴 戚秋晨

摘 要:变速箱电磁阀是汽车重要的零部件之一,其性能好坏直接影响换挡平滑与否,因此变速箱电磁阀的性能测试有着重要意义。为提高变速箱电磁阀测试的可视化程度,提出了一套变速箱电磁阀测试软件。在.NET Framework 4.8环境下,基于WinForm技术进行软件设计实现了电磁阀测试的数据采集、串口传输与测试过程可视化,并利用相关控件对性能参数自动绘制波形。通过对软件的相关功能进行测试,证明该测试软件功能运行稳定,满足了变速箱电磁阀测试的需求。

关键词:WinForm;电磁阀;上位机测试软件;变速箱

中图分类号:TP271.31 DOI:10.16375/j.cnki.cn45-1395/t.2023.02.012

0 引言

近年来,随着我国居民汽车保有量大幅度增长,汽车零部件再制造行业也迎来了高速发展。国家发改委等八部委印发《汽车零部件再制造规范管理暂行办法》,要求立足我国汽车零部件再制造行业发展实际,对再制造企业规范条件、旧件回收管理、再制造生产管理、再制造产品管理、再制造市场管理、监督管理等方面作出要求。汽车零部件再制造是指用现有的机械加工技术对回收的汽车零部件进行加工修复,或使用新的零部件对一些不可修复的部分零部件进行替换,使原已报废的产品实现产品使用性能的恢复或达到再次使用标准的性能参数[1]。为了确保再制造变速箱电磁阀的质量,在出厂前,厂家需要对其进行性能测试。传统的测试需要检测者通过人眼去观察一系列仪表动态并手动记录,或是通过拍照来记录,这样对测试信息的动态捕捉存在一定误差,并且很难对测试过程进行重要信息记录。因此,设计一套自动化程度高的测试系统具有重要意义。

文献[2]根据使用相应采集技术采集到的高压共轨柴油机喷油电磁阀的实时电流值来提取电流特征,再根据电流特征对电磁阀的工作状态做出判断,判断电磁阀是处于正常还是短路或者断路故障,最后使用CPLD(复杂可编程逻辑器件),以只包含硬件的方式设计了电磁阀故障检测系统。该系统对电磁阀实时电流进行直接采集,根据电磁阀驱动电流来判断电磁阀是否故障,但测试过程难以记录,不利于技术员操作。文献[3]提出了一种基于模型和数据驱动的故障检测方案,此种方案中的电磁阀检测是在不同的制动过程中实现的,同样也是采集电磁阀的驱动电流,用驱动电流的大小判断电磁阀的状态。基于模型的电磁阀检测方法在瞬态运行、元件退化和测量误差方面具有很好的效果,但是,该方法计算复杂度高,很难快速得出电磁阀的性能参数,导致应用中的效率不高;其次,这种测试方法也难以捕捉过程测试走向,对测试环境的硬件要求很高。

对此,本文在液压回路的基础上设计了一个变速箱电磁阀液压测试系统,该系统通过压力传感器对待测电磁阀的温度、输入压力、输出压力、流量等多种参数进行实时采集[4],通过变频器对其输出端压力进行控制,通过WinForm设计上位机软件实现测试过程记录及结果保存[5]。

1 测试平台组成与工作原理

1.1 测试平台组成

变速箱电磁阀测试系统主要由三大部分组成,分别是上位机软件、数据采集电路以及试验台。上位机软件运行在本地计算机上,能够在Windows10版本系统上稳定运行。电磁阀测试系统在完成单个型号的电磁阀测试后会生成测试结果,存储在指定文件夹下。待测电磁阀放置在试验台上,数据采集电路通过多个传感器采集目标量并以串口通信的方式传输到上位机。该系统的组成以数字化技术及信息化技术为支撑,能满足电磁阀测试的各种复杂工况,同时提高了测试的自动化程度及测试效率[6]。变速箱电磁阀测试平台如图1所示。

1.2 工作原理

電磁阀液压系统原理如图2所示。液压系统的运行是以电机为驱动,使得油箱里的液压油经过液压泵加压后流向直动式溢流阀,再经过直动式溢流阀定压溢流之后流向压力调节阀,在这里可以通过外接稳压电源来对流过压力调节阀的电流进行调节,以此达到调节其输出端压力大小的作用。在工装台的正确位置装入被测试的电磁阀,在其入口处和出口处分别接有压力传感器,油液最后经过压力传感器(10)流回油箱中,形成一个完整的回路。系统将标准电磁阀得到的IP特性曲线设置为参考标准,然后将此类型中剩下的电磁阀得到的IP特性曲线与之进行对比[7]。

2 测试平台上位机软件设计

2.1 系统功能总体设计

软件具有与下位机通信的功能,可采集各种目标参数,测试数据保存到本地数据库,并记录日志用于问题分析。图3所示为上位机软件设计框架,界面设计扁平化,具有良好的人机交互体验[8]。

2.2 串口监视流程设计

通过System.IO.Ports.SerialPort类实现串口通信。首先调用静态方法GetPortNames( )获取下位机的串行端口。根据获取的串口名称初始化SerialPort对象,设置参数,调用Open( )方法打开串口。若采用轮询的方式来接收数据会比较浪费时间,同时也会造成线程堵塞。采用DataReceived事件触发的方法可以较好地接收定长数据。此外,SerialPort读取数据的方法都是同步阻塞调用,可以使用异步处理或线程间处理。图4为串口监视功能设计流程图。

2.3 基于Chart控件的曲线绘制及测试报告自动生成设计

软件使用Chart图表控件实现动态曲线显示。因数据采集会实时传输数据,曲线图需要实现循环更新,在此使用Queue集合存放数据。Queue集合是先进先出的集合,调用Enquque( )方法配合Timer定时器可以实现更新数据及刷新图表。当Queue集合中的数据大于屏幕显示的最大宽度时,可以通过删除已经显示过的数据实现曲线随时间动态移动的效果。

使用Chart控件需要先定义图表区域、存储和显示点的容器以及图表显示的样式。曲线数据更新使用Queue.Dequeue( )的方法先从队列Queue取点,再用Chart.Series.Points.AddXY( )的方法添加到曲线中来更新曲线。

由于C#WinForm窗体程序中需要把界面显示线程与其他功能线程分开,为了防止线程冲突导致界面显示线程停止响应,在多线程编程应用中,需在任务执行的线程中去更新界面显示,需要用到跨线程调用控件,而在多线程中直接调用界面的控件是错误的方法,通常会以线程间操作无效反馈给编程人员。为了应对上述问题,软件设计使用了委托调用的方法。委托调用最常用的方法就是delegate委托方法和BeginInvoke方法,从其他线程中调用控件安全地更新界面显示。委托调用控件如图5所示。

2.4 基于多线程的系统程序设计

根据需求,电磁阀测试系统上位机软件需要同时运行串口通信、界面控件显示、测试数据采集、波形实时显示及电磁阀测试报告生成等功能模块,因此需要多线程的编程技术实现系统并行处理线程。在WinForm设计窗体程序时,界面显示控件程序即UI线程是人机交互最基本最重要的部分,因此界面显示控制线程是整个测试系统的主线程。根据CPU默认的进程运行方式处理多个功能进程时,Chart控件会出现数据波形绘制不连续、不能实现实时显示或者出现部分数据波形缺失错乱的问题。同时,将测试数据波形绘制进程写入测试系统主程序中运行,由于该线程需要通过串口通信采集大量的数据,因此波形绘制线程会与界面显示控件线程产生冲突,导致系统当前的线程阻塞,失去对系统的操作控制。

为了解决多个复杂功能模块运行相冲突的问题,本文将下位机数据采集、串口通信传输、动态数据波形绘制进程及其他功能进程以多线程运行的方法写入测试系统的主程序中,结合多线程优先级的设置实现不同功能模块的并行处理。测试系统同时配置了Timer定时器来刷新时间,从而连续地采集下位机系统的测试数据,实现电磁阀测试数据的实时采集,以串口通信的方式将电磁阀测试数据传输至数据波形绘制的进程中,实现了连续的数据波形动态显示[9]。图6为多线程系统设计原理图。

3 实验结果与分析

3.1 实验环境

本文针对变速箱电磁阀测试平台,在Visual Studio(Microsoft Visual Studio)开发环境下基于C#设计了平台上位机测试软件。实验的硬件平台为Intel(R) Core(TM) i5-8300H CPU,频率为2.3 GHz,内存为24 G;编程平台为Visual Studio2019,在 .NET Framework 4.8环境下基于WinForm实现。

3.2 标准参考线的设置及测试参数设置

实验过程中,电流的调节先从0逐渐增大,达到设定的电流峰值1 000 mA后,再从1 000 mA减小到0。通过实验证明,当电流从0增加到300 mA的时候,电磁阀的输出压力基本上没有变化,所以在测试电磁阀的时候,初始电流的设置可以是100 mA,也可以是300 mA。标准电磁阀实验测得的电流真有效值和平均值分别如图7(a)和图7(b)所示。因为真有效值启动曲线和返回曲线很接近,不容易分辨,为了增强对比效果,电磁阀测试参考线采用平均值。

本次实验对待测电磁阀性能测试的定义是:将同类型电磁阀中一号电磁阀得到的IP特性曲线设置为参考标准,然后将此类型中剩下的电磁阀得到的IP特性曲线与之进行对比,如果重合就是合格,否则就是不合格。以1型-2MPa-300-1100 mA为例,电磁阀试验2次以示一致性。图8(a)为第一次试验结果,图8(b)为第二次试验结果。

分别选取电磁阀试验电流为400 mA、600 mA、800 mA和1 000 mA处的2次试验的压力值作标准差。

电流从300到1 100 mA时,2次试验压力的标准差为:

σ =0.002 219 414. (1)

電流从1 100到300 mA时,2次试验压力的标准差为:

σ =0.002 579 687. (2)

通过计算可知电磁阀在设定电流处得到的压力标准差比较小,由此得出,设计的系统能够比较准确地获取待测电磁阀的IP特性曲线。

进入测试系统主页面,需要设置测试参数。测试参数设置主要是对测试系统中的一些常规参数进行设置,不同型号的电磁阀对应的测试参数设置不同。以1型-2MPa-300-1100mA为例,该型号电磁阀的试验压力需设置为2 MPa,试验电流从300 mA到1 100 mA,最后再返回到300 mA,结束试验。控制器用PID算法来进行控制,使得控制器通过D/A输出合适的控制电压给变频器,进而对液压系统中待测电磁阀的输入端压力进行实时调节。测试参数设置如图9所示。

3.3 实验结果

软件运行后先验证用户名与密码,系统的用户名和密码存储在本地数据库中,如需要授予用户新权限,需先在数据中添加。验证成功后会弹出消息提示框,并切换页面到测试系统主页面。

试验电流从1 100 mA返回300 mA,测试完成后,测试电磁阀的IP曲线与标准电磁阀的IP曲线可通过曲线图来比较,同时测试数据会保存在本地数据库,通过界面也可以查询。完成上述操作之后界面如图10所示。

电磁阀测试系统在完成指定型号的电磁阀测试后会生成测试结果,并存储在指定文件夹下,测试报告记录了测试阀的型号、性能曲线以及测试日期。在添加using System.Drawing命名空间后,调用Chart.SaveImage( )方法将完整的波形以.jpeg的格式保存到本地目标文件夹。

图11为设计的系统对同一类型的6个不同电磁阀进行测试的试验报告。通过试验报告中测试电磁阀的IP特性,可以判断出电磁阀的性能好坏。图11(a)、(c)、(e)对应的电磁阀的IP曲线平滑,无明显锯齿波,说明电磁阀的性能符合再制造标准。

图11(b)对应的电磁阀在试验电流从0到300 mA的过程中出现了明显的锯齿波,可能是由于电磁阀在测试前内部有污垢造成的。在进行冲洗后复测,所得IP曲线仍然在0到300 mA过程中产生锯齿波,因此图11(b)对应的电磁阀不符合再制造标准。同理,图11(d)对应的电磁阀在整个测试过程中存在锯齿波,图11(f)对应的电磁阀在试验电流从700 mA到1 000 mA的过程中存在锯齿波,因此,图11(d)、(f)对应的电磁阀也不符合再制造标准。

3.4 多线程优化性能对比

本次软件测试,曲线绘制用到的电磁阀输出压力曲线由2 000个离散点构成。通过对比测试线程在曲线绘制线程下的运行耗时,可以发现,多线程提升了目标线程的性能,提高了CPU的效率。

为了比较单线程系统与多线程系统的运行效率,通过使用Stopwatch类来记录程序运行耗时。Stopwatch类使用了操作系统和硬件提供的最高分辨机制,通常情况下分辨率少于1 ms,相比之下DateTime.Now方法和Environment.TickCount方法分辨率在15 ms左右。程序运行耗时对比如表1所示。

单线程的程序耗时取决于所有程序顺序执行完毕的总时间,而多线程的程序耗时取决于耗时最长的线程。如表1所示,单线程在处理复杂线程时速率较低,当后期系统功能越来越复杂时,与多线程的耗时差距会越来越大。在仅UI线程运行下,多线程的运行速度较单线程提升了64%,在曲线绘制线程下提升了78%[10]。

如表1所示,在多线程应用中对比设置了不同优先级的测试线程运行耗时,可以发现在设置了最高优先级Highest后,测试线程会被优先处理,设置了最低优先级的线程将会最后执行。由此可知,多线程的应用可以使得测试系统的性能达到预期要求,并且为测试系统中的调度机制设置提供了参考。

4 结束语

针对工厂里现有的人工作业分析效率低下、自动化测试程度低等问题,本文的这套基于WinForm的测试系统软件较好地解决了此类问题,且软件在工程人员的PC端运行,测试环境要求不高。基于串口通信实现了对液压系统的控制以及上、下位机的实时数据传输,解决了繁琐的手动调节控制并降低了数据采集的丢包率;基于Chart控件技术的动态曲线绘制提高了工程师对电磁阀测试的性能分析能力,同时,测试报告自动保存功能及日志功能為测试提供了结果及操作记录的保障,测试结果达到了预期设定的目标。

通过多线程的调度机制使不同功能模块并行处理,提高了测试系统的整体性能。测试软件可使测试过程操作简易化,有效降低了人工测试的误差率,提高了变速箱电磁阀再制造的可靠性。除了满足各项功能需求,软件设计力求达到高内聚低耦合的效果。

目前本软件仅实现了本地的传感器数据采集,下一步还需要将测试系统优化成远程控制方式,同时将测试曲线的相似性分析算法融入系统,以功能模块调用的方式实现也是测试系统优化的目标。此外,随着工业上图像检测技术的发展,自动化测试中引用机器视觉来对目标测试对象进行瑕疵测试也成为了趋势[11]。

参考文献

[1] 常香云,钟永光,王艺璇,等.促进我国汽车零部件再制造的政府低碳引导政策研究——以汽车发动机再制造为例[J].系统工程理论与实践,2013,33(11):2811-2821.

[2] 王孝,王璠璟.新型高压共轨喷油器电磁阀驱动系统故障诊断及自保护系统设计[J].内燃机工程,2009,30(6):58-60.

[3] YANG Y Z,ZHU C,XIAO P C,et al.Fault diagnosis of direct electro-pneumatic brake based on model and data-driven[C]//2018 13th World Congress on Intelligent Control and Automation(WCICA),Changsha,2018:1584-1589.

[4] 张建刚,周德俭,冯志君.基于LabVIEW的液压多参数测试系统[J].广西工学院学报,2012,23(2):56-59,80.

[5] 孙志刚,蒋爱平,高萌萌,等.基于WinForm的航天电磁继电器动态特性测试系统软件设计与实现[J].计算机测量与控制,2020,28(9):153-157,162.

[6] 王涛,杨年炯,宋李栋.基于Vector工具链车载总线自动化测试系统研究[J].广西科技大学学报,2021,32(1):60-65.

[7] 杨利州,谭光兴,钟耀文,等.自动变速器电磁阀液压测试的数据采集系统设计[J].传感器世界,2021,27(7):27-32.

[8] 李根武,曾丹.基于Winform的红外探测器定量化测试系统设计[J].工业控制计算机,2022,35(6):33-36.

[9] 王晶,黄玲娟.基于多线程的航空发动机数据采集系统软件设计[J].测控技术,2017,36(5):119-123.

[10] 张伟杰.基于多线程的数据采集效率优化实现[J].煤矿安全,2019,50(5):113-115.

[11] 朱宗洪,李春贵,李炜,等.改进Faster R-CNN模型的汽车喷油器阀座瑕疵检测算法[J].广西科技大学学报,2020,31(1):1-10.

Design and implementation of test system software of transmission

solenoid valve based on WinForm

TAN Guangxing, QI Qiuchen

( School ofAutomation, Guangxi University of Science and Technology, Liuzhou 545616, China )  Abstract: Transmission solenoid valve is one of the most important parts of the automobile, and its  performance directly affects whether the shift is smooth or not, so the performance test of transmission  solenoid valve is of great significance. In order to improve the visualization of transmission solenoid  valve test, a set of transmission solenoid valve test software is proposed. In. NET Framework 4.8  environment, the software based on WinForm technology is designed to implement the visualization of  the data collection, serial port transmission and test process. And the related control is used to  automatically draw the waveform of performance parameters. By testing the related functions of the  software, it is proved that the software runs stably and meets the requirements of the transmission  solenoid valve test.

Key words: WinForm; solenoid valve; test software of upper computer; transmission

猜你喜欢

变速箱电磁阀
基于ANSYS Maxwell的比例电磁阀隔磁环仿真分析与优化
低速机电控喷油器电磁阀换热特性计算
关于部分行程测试电磁阀的应用和探讨
基于冗余配置的双电磁阀回路设计与研究
福特6F35变速器的电磁阀控制策略
汽车变速箱壳体零件自动化生产线
变速箱输入轴内孔同轴度检具设计
带你走近一个你不知道的自动变速箱
浅析农机用变速箱壳生产工艺的改进
基于LabVIEW的DCT变速箱发热功率测试系统