前几天,小轨收到了维修师傅一条求助消息,说仪表报出故障码,而诊断能手却不报,同时显示系统正常,难道是设备坏了么?为什么会出现这种问题?我们一起去看一下。
故障案例车型 :红岩杰狮
排放标准 :国四
发动机 :C9
ECU :EDC7UC31
后处理信息 :凯龙尿素泵
司机反馈车辆出现故障灯点亮,无力的情况。
仪表上显示:尿素喷射控制器(DCU)can信号接收超时;
故障码解释:当T15(钥匙线)激活后,所有电气部件会进行自检,检测当前是否存在有故障。对于CAN模块来说,会对模块进行检测。一段时间内是否能持续的发出对应的报文,如果不行的话就会报出上图的故障码。此仪表为智能CAN仪表,仪表上面的水温、转速、机油压力等,均来自CAN总线。且仪表也是一个智能诊断模块,可以对各个Can线模块诊断,当前是否有存在故障!
故障处理
师傅描述:这条故障码是在仪表上读出来的,而用诊断能手读故障码却没有读出来。师傅怀疑:是不是诊断能手显示不准呢?我们一起去探究一下。
仔细询问师傅一些细节,师傅的车是凯龙的后处理,单独DCU。在读故障码的时候用凯龙后处理UDS协议进系统时显示通讯失败,用J1939协议进系统,却显示系统正常。
为什么会出现这样的情况?
首先给在座师傅们解释一下:J1939协议是什么?
J1939协议就是我们通常说的CAN协议(广播类);控制器局域网络(CAN)是德国Bosch公司在20世纪80年代初为汽车业开发的一种串行数据通信总线。CAN是一种很高保密性,有效支持分布式控制或实时控制的串行通信网络。
CAN协议传输数据的方式分为两种,一种是【广播】类型,另一种【收发】类型的。
收发类型
收发类型指的是解码器与ECU或者模块与模块之间需要进行问答式的交互,一问一答。通过解码器或者其他模块发送特定的指令经由硬件通过OBD口传输给ECU,ECU接收到特定的指令会做出相应的指令回复,硬件接收相应的指令传回给解码器或者其他模块,进行规则化的解析从而显示在屏幕上!
比如,想获知车辆的电池电压为多少V,通过诊断能手会发送一条代表电池电压的指令给ECU,当然这个指令是ECU认识且唯一性的,ECU收到会立马做出反应回复一条相应规则的指令出来,从而进行一问一答的收发模式来解析出电池电压是24V或者12V左右!
广播类型
举个例子在车上很多传感器的信号都是给到了ECU的,但是有一些信息是其他模块需要共享的。比如仪表上面的水温、转速、机油压力等是哪里来的呢?那这个就是通过ECU用报文的形式发送给仪表,在仪表上来进行显示。那这种通讯方式就是广播类型的,只要模块上电后,就会源源不断的往外发送当前的信息。
其实这就是广播类型协议的特点了。在CAN线上时时刻刻都会传输着很多这种广播类型的信息,广播大家都知道,从一个地方发送出来,你要是想听,打开收音机,那就可以听,你要是不想听,关掉收音机,那就听不到了。
那师傅用1939协议读取故障码时显示系统正常也就比较好理解了。仪表在自检时丢失了DCU的帧ID那就会报出尿素喷射控制器(DCU)can信号接收超时故障码,但是走1939进入系统时是不需要握手信号的,诊断能手就是一个类似收音机的功能,如果发现在DCU的帧ID下,没有给出报文的话,诊断能手自然就会给出系统正常啦!
接下来我们回归到案例本身来继续处理故障;
根据仪表上的故障码开始进行检测:
第一步
检查DCU的供电地线T15线是否正常
检查后发现DCU的T15线有24V实电、02/23号脚有地线、01号脚没有火线。通过上图我们可以发现凯龙DCU是通过主继电器进行上电的,当T15进入DCU后,DCU会拉低04号脚的控制线让主继电器吸合。主继电器吸合后01号才会有火线,那现在的问题就是01号火线为什么没有电呢?顺着线束继续往下进行检查。
第二步
检查凯龙电源盒,顺着DCU的供电我们往上查看后发现,在线束上面有一个电源集线盒。主继电器、保险等都在集线盒内。
打开电源盒后发现,在电源盒内部有明显的进水痕迹。撬开电源盒底板,故障被发现如图
撬开电源盒底板发现,电源盒内部有严重进水烧毁的痕迹。此电源盒内部有DCU主继电器、DCU的长火线保险、NOX继电器等。如果继电器不上电的话,那肯定是与ECU之间通讯中断的。
决定更换后处理电源盒后再进行读取故障码及处理故障。
第三步
更换电源盒后再进行测试,更换后,发现仪表上的液位有显示了。解码器用UDS也可以进入系统了!故障码如下图
都是当前的现行故障码,基本有的传感器故障码都出来了。这个是因为小轨在处理问题时,一直没有断电,是带电拔插DCU、尿素的插头的。造成的误报出一些故障码,遇到这样的问题。可以通过一次钥匙循环进行恢复,具体就是插好插头。打着车怠速一段时间后再熄火。故障码就可以清楚了!
故障清楚后记得要出去试车,试车一段时间尿素正常消耗,故障到此算是排除了!
故障拓展1、问:为什么此车用UDS进入不了系统呢?
答:简单理解,UDS协议采用的是一问一答。解码器在进系统时会先发送一条指令,DCU如果回复了该指令,则DCU与解码器建立了通讯,可以直接进去;如果DCU没有回复,则通讯失败,进不去系统。显而易见,如果DCU都没有上电的话,就无法回复这条指令,所以解码器就进不去系统了。
2、问:仪表也是1939的通讯方式为什么可以读取到故障码而解码器却读取不到呢?
答:准确的来讲,仪表上报的故障码有些是ECU报出的,通过CAN线传递到仪表上的,仪表只是起到了一个解析的功能。
我们用解码器在1939这类广播类型诊断时,如果没有明确收到故障信息,都默认为系统正常,因为解码器也不知道应该收到哪些信息。相反,车上的ECU等是明确知道,我应该收取哪些信息的,如果收不到信息,就会报出通讯超时之类的故障。
这个案例中,DCU没上电,用解码器去收DCU信息,解码器不知道是用户进错系统了还是车上的DCU坏了,没有收到对应的信息就不会报错。而车上的ECU是知道,应该收到哪些制定信息的,如果收不到就会报错。
,