基于检测电路的需要,每个程序员对认为重要的电路编写程序指令集。电路测试根据时间条件设计检测点,而且要把检测点分配到每个单独的电路。这些检测点被编程为电路正常运行电压上方和下方的某个范围值。这些初始化测试的主要目的是找到在系统启动过程中产生严重故障的某个电路。如果一个电路在预定的时间段中检测设置点值与标准值不符,程序将设置状态等于“true”,并会采取通过适当的程序指令去执行应急模式运行。相应的,指令系统可能会在挂起列中设置DTC,或者设置一个真正的DTC,同时激活打开该车辆故障报警灯。
这里需要了解一个重要事项,有的电路在其操作运行范围内可能不能设置出相应的DTC。举个例子:当TPS接地电阻产生了我们不想发生的电阻后,会导致传感器的电压值上升超过了溢出模式设置点(图3)。在这种模式下,系统会在发动机启动时控制关闭喷油器的触发脉冲以使火花塞变干。但是,如果发动机当时不处在淹缸状态,这种不想发生的条件将会导致发动机无法启动的故障。相关程序指令控制如下:如果曲轴位置信号为启动状态等于“true”和TPS电压大于4.0V等于“true”,系统程序将设定为关闭燃料喷油器脉冲。此时,CPU将直接管理当前的数据。这时系统无法检查驾驶员的意图,它只检查实际的TPS电压和TPS电压是否在正确范围内。
在编写程序时,程序员并没有做出TPS信号将是无效的假设。也就是说,程序是在假设系统正常工作的前提下编写的。在CPU能够进行正确执行指令时,对于类似的真正故障(问题),DTC将可能不会作为“故障”去设置,一旦该子程序自测已完整地运行,测试进程可能会暂停,直至在下一个关键周期再执行,也可能是以连续循环的方式继续运行。
通过具有程序指令的逻辑电路接收输入信号,车辆行驶过程中,基本的程序将继续运行,用来实现对所控制设备的监控,由于这些指令基于特定的算法,因此可获得正确的输出。在设备的控制过程中,DTC子程序将动态地运行对电路、传感器和执行器工作状态的检查。
启用Arsenal标准
若要获得成功的D T C子程序测试的最高概率,需要应用这一启用标准,这是一种通过控制变量来控制测试结果的方式。正如在实验室里,为获得一致的结果,测试必须控制变量到最低限度范围,同时还要应用一套专门设定的程序。
启用条件为了实现这一目的,允许DTC子程序的运行仅在某些特定的条件下才有效。一旦所有条件都满足,DTC子程序才将被允许运行。例如,在对蒸发排放物控制系统(EVAP)中是否存在微小泄漏的监测上,此项监测是用DTCP0442来表示的。激活P0442故障码运行的启用条件可理解为:燃料箱液面大于15%、低于85%的状态等于“true”,环境温度大于30 (约-1℃)和小于95 (约35℃)的状态等于“true”,进气压力值大于70kPa的状态等于“true”。
既然该测试是关于燃料容器系统中的压力,可能会影响到系统内压力变化的所有条件都必须得到控制。当燃油箱满时,油箱内非液态区域变得很小,可能所感应的压力变化不是一个实际的泄漏,因此会设置一个虚假的DTC。当油箱为空时,油箱内的非液态区域变得非常大,也许所显示压力变化也并不是一个实际的泄漏。在这种情况下产生的DTC也将不按实际反映的故障进行设置。