Yanmar(洋马)发动机SPN-FMI代码在仪表显示

2023-05-16

分享一个自己在仪表上显示洋马发动机SPN-FMI代码过程的记录。

1、问:SPN和FMI什么意思?

答:见SAE_J1939-73

5.6 诊断故障码定义

诊断故障代码(DTC)由4 个独立域构成,这4 个部分是:

a. 可疑参数的编号(SPN) 19位

b. 故障模式标志(FMI) 5位

c. 发生次数(OC) 7位

d. 可疑参数编号的转化方式(CM) 1 位

由SPN-FMI故障代码对照附录可查具体故障。

 

 

2、代码传送格式

CAN总线传输,扩展帧。

①单故障

地址

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

18FECA00

 

 

SPN 12-19bit

SPN 4-11bit

SPN 1-3bit

FMI

(5)

 

 

 

②多故障

地址

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

18EBFF00

0x01(循环No.

 

 

SPN 12-19bit

SPN 4-11bit

SPN 1-3bit

FMI

(5)

CM

(1)

OC

SPN 12-19bit

0x02

SPN 4-11bit

SPN 1-3bit

FMI

(5)

CM

(1)

OC

SPN 12-19bit

SPN 4-11bit

SPN 1-3bit

FMI

(5)

CM

(1)

OC

0x03

……

 

 

 

 

 

 

 

0x04

……

 

 

 

 

 

 

 

0x05

……

 

 

 

 

 

 

 

 

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

循环数1

 

 

代码1

代码1

代码1

 

代码2

循环数2

代码2

代码2

 

代码3

代码3

代码3

 

循环数3

 

代码4

代码4

代码4

 

代码5

代码5

循环数4

代码5

 

代码6

代码6

代码6

 

代码7

循环数5

代码7

代码7

 

……

 

 

 

循环数6

 

 

 

 

 

 

 

 

 

取代码思路:

1、  取最大循环数

2、  将每个发过来的帧存在二维数组N8

3、  将上面的二维数组错误代码取出来,按先后顺序,从第一条开始存在N2列的另一个二维数组中第一列是SPN代码第二列是FMI代码。每列SPNFMI组合参考附录D可查出具体故障。

4、  按条显示出来

 

示例:

 

则故障代码:

SPN      FMI

522242   04

522251   04

522252   04

522253   04

522254   04

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Yanmar(洋马)发动机SPN-FMI代码在仪表显示 的相关文章

随机推荐