光电式曲轴转角传感器产生的信号为固定脉冲宽度的脉冲波形,波形显示控件幅值范围设定为- 10~10 V ,且时间轴采用ms 为基本单位。检测此信号波形的关键是观察波形频率、占空比及峰2峰值随发动机转速变化的规律,因此其程序的编写也和车速传感器检测程序相似。
2.4 传感器检测模块主程序设计
主程序通过对各传感器检测程序各种属性的操作,实现其程序切换功能。当确定运行某一传感器检测程序时,首先自动运行该程序,同时通过设置程序属性Wait until done 为True ,将主程序挂起,直到此传感器检测程序运行结束后,再释放主程序。各传感器检测程序均以True-False 判断结构进行控制,保证一次只能选择一个传感器检测程序运行。传感器检测主程序的原代码如图7 所示。
图7 传感器检测主程序原代码
Fig. 7 Original code of sensor test main program
3.点火系统检测模块程序设计
电控发动机点火系统性能的好坏直接影响着发动机的动力性、经济性和驾驶性,还直接决定了发动机工作状态,因此点火系统的检测是发动机检测分析仪系统中的重点目标。本系统对点火系统的检测主要包括次级线圈点火信号阵列波形、次级线圈点火信号单缸波形和次级线圈点火位置信号。
点火系统检测模块功能同传感器检测模块一致,就是直接准确地采集到点火信号,因此点火系统检测的各模块程序也是建立在信号采集这一核心程序上。由于点火信号的瞬间击穿电压可达几kV ,故在试验时为了保护系统硬件设备,通常使用电容或电感探头对其进行降压处理,在程序编写时要对其幅值进行软件还原[10] ,由于点火信号产生极快,通常一个点火信号只占1 ms 左右,故使用示波器触发方式对其进行显示,便于观察信号的变化。
3.1 点火信号采集程序
(1) 次级线圈点火信号检测程序(阵列波形、单缸波形)
波形显示控件幅值范围设定为0~10 kV ,时间轴采用ms 为基本单位。检测此信号波形的关键是观察波形最大击穿电压是否达到要求,因此本程序通过对采集信号离散数据的数组加以比较及计算,得到所需参数,并在前面板上用数字进行显示。点火信号的阵列波形和单缸波形主要是通过对触发点及显示周期的不同设置来实现[11 ] 。次级线圈点火信号检测程序原代码如图8 所示。
图8 次级线圈点火信号检测程序原代码(阵列波形)
Fig. 8 Original code of secondary coil ignition
signal test program (array waveform)
次级线圈点火位置信号主要表示1 缸点火时刻,每次1 缸点火均产生一个击穿电压信号,此信号的类型、特性均和次级线圈点火信号相同,只是增加了对1 缸点火间隔(ms) 的检测。
3.2 点火系统检测模块主程序及其界面的设计
与传感器检测模块主程序相似,点火系统检测模块也需要编写一个主程序,对点火系统各检测程序进行统一调用。此主程序的编写方法与传感器检测主程序相同,其原代码如图9 所示。
图9 点火系统检测主程序原代码
Fig. 9 Original code of ignition system test main program
通常需要对多路信号同时进行检测,对比相互之间的变化关系,发动机信号记录仪模块即可实现此功能。此模块程序可支持最多4 路信号的实时采集,并以记录仪的方式同步进行显示,在采集过程中还可以通过设置各通道的触发电平,使所采集信号超过设定范围时,自动停止相关所有信号的采集并显示产生错误信号的位置,便于分析错误产生的原因。本程序的编写也是基于信号采集这一核心程序,4 个通道顺序进行采集,采集到的信号数据统一进行处理,保证了信号显示的同步性。此程序的波形显示控件幅值范围均设定为- 10~10 V ,时间轴采用s 为基本单位,且均以记录仪的方式进行波形显示。发动机信号记录仪模块程序的信号显示和触
发控制部分的原代码如图10 所示。
图10 发动机信号记录仪模块程序部分原代码
Fig. 10 Original code of engine signal recorder models
将各功能模块程序集成后,形成完整的汽车发动机检测分析仪控制软件系统时,需要对其进行代码优化,增加程序运行的稳定性,提高程序运行速度,以最小的系统资源实现所需功能,并实现各子程序的协调运行。本程序在代码优化阶段,将许多重复使用的代码形成子VI ,增强了代码重用性,并尽可能减少局域变量、全局变量的使用,降低对系统内存的占用,同时将各子程序间的接口进行优化,使各子程序数据传输统一流畅。本程序经代码优化后,运行速度大大增加,且各控件的逻辑关系更加清晰。
程序封装使用的是LabVIEW 自带的编译工具,在控制软件系统主程序界面下, 选择Build
Application or Shared Library (DLL) 选项,进入程序编译界面,如图11 所示。在此编译界面输入所要生成的应用程序名及安装程序名后,即可自动将本软件系统的各个程序及运行环境