故障管理
5.1 自诊断需求
故障自检测是指电控单元在运行应用软件时所执行的全部检测(包括初始化阶段自诊断和持续运行 时的自诊断)。所有电控单元都应持续地进行故障自检测, 以监控功能运行状态下的异常事件(错误)。 如果检测到的故障被视为潜在危险, 为确保安全,必须采取必要的措施。
5.1.1 故障自诊断范围
故障自诊断的范围, 应包含但不限于如下所列内容:
a)法规确定规定条件;
b) ECU内部异常情况;
c) 网络通信异常情况;
d) 输入/输出线路的开路或短路情况; e) 超出线路正常运行范围的错误信号; f) 影响或限制系统性能的情况;
g) 可引起用户对性能问题感知的异常情况;
h) 迫使系统以失效安全模式运行的情况。
5.1.2 电控单元初始化/关闭时的故障自检测
电控单元初始化或关闭时,应执行故障自检测,并且故障自检测应包含但不限于如下所列:
a) RAM检查;
b) ROM/EEPROM/Flash检查;
c)输入/输出检查。
电控单元初始化时检测到的任何故障,都应设置诊断故障代码。如果该故障被视为潜在危险,为 确保安全, 必须采取必要的措施。
5.2 诊断客户端
诊断设备分为:
1) 车载诊断设备: 固定于车内 (例如TBOX) ;
2) 离线诊断设备: 通过诊断接口与车内网络相连。
在诊断过程中, 应人为地避免车载诊断设备和离线诊断设备同时进行诊断。
5.3 故障记录
5.3.1 诊断故障代码
如果某故障是用户可感知的, 对系统或整车性能是不利的,或是法规要求的,则电控单元应将检测 到的故障设置为相应的诊断故障代码。
电控单元的诊断故障代码应在其开发阶段早期定义,并且应确保不仅覆盖到电控单元本身,还尽可 能地覆盖到与电控单元相连的系统。每个诊断故障代码的根本原因都应在零部件故障规范中详细说明。
5.3.2 故障等级
每个故障代码都需要有相应的故障等级,用于判断在故障代码存储空间已满的情况下需要采取的故 障代码存储策略,以及用于判断故障代码是否需要上传至云端。
在故障代码存储空间已满的情况下,高等级的故障代码能够覆盖低等级的故障代码。 表 2 故障等级
等级 | 描述 |
1 | 安全相关或会对车辆造成重大影响的错误,需要立即停止行驶。 |
2 | 需要尽快去车辆维修场所进行处理的错误。 |
3 | 不需要尽快去车辆维修场所进行处理的错误,可在车辆保养时处理。 |
5.3.3 故障记录信息
a)当ECU检测到一个故障时,其将在存储器中存储对应的一个代码,此代码被称为故障代码 (DTC);
b)除故障代码外, ECU还可能存储与此故障相关的故障状态、快照信息及扩展信息。
5.3.4 诊断故障代码格式
a) 故障代码由3个字节组成: 故障代码高字节、故障代码低字节及故障代码失效类型。前两个字 节代表发生故障的对象, 而第三个字节代表故障失效类型信息。有关故障代码的详细定义请参考 SAEJ2012 :2013;
b)所有法规相关的故障代码必须符合SAEJ2012的定义。 h事业部专有的故障码应由其诊断工程 师分配。如两者有冲突, 则必须法规要求优先。
c) SAEJ2012:2013中定义的部分故障码前两个字节已经表明了该故障的失效类型,如果在这种情 况下, 失效类型字节应设置为“0x00”。
5.3.5 DTC 状态信息
故障状态字节提供故障的状态信息,具体定义如下表所示。有关故障状态位的详细定义, 请参考 ISO14229- 1 :2013。
表 3 DTC 状态定义
位序号 | 描述 | 排放相关 | 非排放相关 |
0 | 测试失败 | M | M |
testFailed | |||
1 | 本次操作循环测试失败 | M | U/C1 |
testFailedThisMonitoringCycle | |||
2 | 未确认的诊断故障代码 | M | U |
pendingDTC | |||
3 | 已确认的诊断故障代码 | M | M |
confirmedDTC | |||
4 | 自上次消除后测试未完成 | M | U/C2 |
testNotCompletedSinceLastClear | |||
5 | 自上次消除后测试失败 | M | U/C2 |
testFailedSinceLastClear | |||
6 | 本次操作循环测试未完成 | M | U |
testNotCompletedThisMonitoringCycle | |||
7 | 请求点亮警告指示灯 | M | U |
warningIndicatorRequested | |||
注: C1:如果位2支持,位1必须支持;如果位2不支持,位1是否支持是可选的。 C2:位4和位5必须同时支持。 |
5.3.6 故障快照信息
a)快照信息是在故障码设置时存储的一组额外数据,对故障的修复具有辅助作用;
b)根据使用范围的不同,快照信息可分为全局快照和局部快照。对于每个可存储故障信息的ECU, 全局快照是必须支持的, 局部快照则是可选的。电控单元所支持的快照信息(包括全局快照和局部快 照)应在零件诊断规范内详细描述;
c)EUC是否支持快照信息的存储以及存储内容,须由h事业部诊断工程师和产品工程师共同确定; d)快照信息内容参考见下:
表 4 快照信息参考内容
标识 ID | 信号名称 | 适用车型 |
0x0B00 | 点火开关信号 | 所有车型 |
0x0B01 | 蓄电池电压 | 所有车型 |
0x0B02 | 总里程 | 所有车型 |
0x0B03 | 车速 | 所有车型 |
0x0B04 | 日期和时间 | 所有车型 |
发动机转速 | 燃油车及混合动力车型 | |
0x0B06 | 行车允许 | 混合动力及 EV 车型 |
0x0B07 | SOC | 混合动力及 EV 车型 |
5.3.7 扩展数据
a)扩展数据信息是一组提供诊断故障代码相关扩展状态信息的数据组;
b)扩展数据所包含的内容应在零件诊断规范内详细描述;
c)ECU是否支持扩展数据的存储以及存储内容,须由h事业部诊断工程师和产品工程师共同确定; d)扩展数据内容参考见下表:
表 5 扩展数据参考内容
序号 | 扩展数据内容 |
1 | 故障出现计数器 |
2 | 故障已老化计数器 |
3 | 故障正老化计时器 |
5.4 故障信息存储要求
所有的诊断故障代码及相关信息都应存储于非易失性存储器,具体的存储策略应在零件诊断规范内 详细描述。
5.5 故障清除
诊断故障代码一旦生成, 将会一直保留, 直到达到故障清除条件。ECU清除已存储的故障及其相关 信息的条件包括:接收到清除诊断信息的指令或该故障的自恢复条件满足。
5.5.1 清除诊断指令
当ECU接收到诊断14服务的请求,需根据14服务的参数清除相对应组别的DTC信息。
通过清除诊断指令清除故障码,所有与该诊断故障码有关的信息都将被重置,即以下参数都将被设 置成“0”;
a) 诊断故障码状态字节;
b) 全局快照信息;
c) 局部快照信息;
d)故障码扩展数据。
5.5.2 故障自恢复条件
ECU故障自恢复条件即满足故障老化机制。每一个可以老化的DTC都应该定义老化的标准,即在之 前连续“DTC老化标准”次数的操作循环中,没有再发生故障, 则此DTC已老去。
在DTC列表中, 如没有特殊说明,“DTC老化标准”等于40个IGN循环。
通过故障老化机制清除故障代码,除了部分故障码扩展数据将被保留外(由诊断工程师根据实际实 现内容确定),其余与诊断故障码有关的信息将被重置,及以下参数将被设置成“0”;
a)诊断故障码状态字节;
b)全局快照信息;
c)局部快照信息。
5.6 故障码记录暂停策略
5.6.1 暂停策略综述
以下情况应采取诊断故障代码暂停策略:
在某些情况下,由于某一故障危及若干系统的功能,则受危及系统的各零部件不需要单独的诊断故 障代码;但应记录一个覆盖故障根本原因的“父”诊断故障代码。该类情况应包含但不限于如下所列:
1) 电池电压超过阀值;
2) BUSOFF;
5.6.2 电池电压超过阀值
如果因电压超出阈值的先决条件而影响到电控单元的功能操作, 则电控单元应记录“父”诊断故障代 码--“输入电压低”或“输入电压高”。不需要再单独记录功能故障的诊断故障代码。
电压判定的持续检测时间应持续保持1s (±10%),才能记录或恢复高低电压的故障码。在此状态下, 不再记录通信类DTC。
5.6.3 BUSOFF
如果因BusOff而使电控单元的某些功能受限。在这种情况下,应记录一个“父”诊断故障代码,以表 明总线关闭。
此状态下, 不再记录通信类DTC。
5.7 故障指示
当检测到某个可能引起危险的故障时,ECU必须采取必要的措施以保证部件及整车安全。具体采取 的措施(如:报警音,报警灯 …等) 及其激活/关闭准则需在零部件诊断规范中描述。