产品中心 product 当前位置: 首页 > 产品中心 > ISO15765协议解析插件 >
固定电话:028-68743610
客服手机:13730631678
客服QQ  :
客服邮箱:@7200games.com
 
联系地址:四川省成都市成华区双林横路12号
ISO15765协议解析插件
2016-05-18 15:16:00

ISO15765协议解析插件

ISO15765协议解析插件依附于CANslinkal或CANupoks系统,作为这两个系统的可选功能而存在。
该插件严格按照ISO15765-2协议实现了CAN网络通信功能,按照J1979与ISO15765-4协议实现了ECU自动检测功能,按照J1979与ISO15031-5实现了OBD诊断服务功能。总而言之,该插件实现了ISO15765、ISO15031与J1979等协议定义的相关功能,还支持包括ISO14230-3和ISO14229等在内,以CAN作为通信方式、与之兼容的协议。如果厂商自定义的协议可与之兼容,也可以使用,如GMLAN等。该插件主要实现了如下功能:
1.读取ECU的故障代码(J1979 Service $03,$07,$0A)
2.读取ECU的冻结帧(
J1979 Service $02)
3.清除ECU故障代码与冻结帧(
J1979 Service $04)
4.读取ECU支持的实时信息,如发动机转速、水温、车速等等
(J1979 Service $01)
5.读取车辆信息,如车辆编号、发动机编号等等(J1979 Service $09)
6.读取特别监测部件的测试结果(J1979 Service $06)
7.自定义命令测试
  
8.自定义脚本交互
9.ECU自动检测

1.读取ECU的故障代码(J1979 Service $03,$07,$0A)

 J1979的$03,$07与$0A服务,主要用于读取ECU的当前故障代码、历史故障代码与永久故障代码。故障代码以PCODE的形式表示。程序界面如下图($03,$07与$0A的操作界面一样,这里只展示了$07的页面):

\
  程序会自动解析ECU原始的应答命令,将其转换成PCODE的表现形式,并且查询数据库,将其故障名称显示出现。系统提供的数据库是规格文档所定义的,用户可以自己编辑,或添加对象ECU自定义的故障代码,编辑界面如下:
\

2.读取ECU的冻结帧(J1979 Service $02)

 使用J1979的$02服务,能够读取ECU存储的冻结帧,界面如下:
\

3.清除ECU故障代码与冻结帧(J1979 Service $04)

该模式是清除相关的故障代码与$02冻结帧:
\

4.读取ECU支持的实时信息(J1979 Service $01)

   该功能用于读取J1979支持的当前ECU实时信息,如发动机转速、水温、车速等等。如下图:
\
除这之外,也可连续读取数据以波形方式显示出来,相当于在持续监测数据:
\

5.读取车辆信息(J1979 Service $09)

 该功能用于读取车辆信息,如车辆编号、发动机编号等等:
  \

6.读取特别监测部件的测试结果(J1979 Service $06)

该功能用于读取监测部件的测试结果,页面会自动显示测试的当前值,有效数据范围与测试结果:
\

7.自定义命令测试

自定义命令测试,主要目的是为了支持ECU自定义的功能模式(比如ECU支持功能模式$27,不在前面所述系统本身支持的模式之内)。它的界面如下图:
\
  用户只需要在下部的命令栏中输入命令以及参数,然后发送命令即可,上部会显示用户发送的命令以及ECU返回的应答。这里的应答就只是原始的应答数据了。不像上面系统支持的模式,会自动解析其内容。
 用户不必在意数据在CAN总线是怎么传输(不用了解ISO15765-2定义的数据传输方式),系统会自动完成这一部分,只用关心命令及应答本身内容即可。

8.自定义脚本交互

 脚本的功能与上面用户命令比较类似,但用户命令一次就只能完成一次“命令-应答”过程,也不能动态解析其数据内容。而脚本的话,相当于用户自己编程完成命令发送与应答接收,并可以通过编程来解析应答内容,完成输出显示。当然,上与面的用户命令一样,用户自己也完全不用在意数据的传输过程,系统会自动完成数据分解、发送、接收组装这一过程,用户只用注意力放在命令测验应答内容本身即可。
 系统没有专门为该插件提供脚本页面,而是在工程的“交互脚本”功能的环境中,增加了对ISO15765-2支持的接口函数与回调函数,如下图:
\

  上面的脚本演示了该功能:用户在按下“S”键后,发送一个命令(使用系统函数kwp_send_request),其功能模式为0x09,参数为0x04。在收到应答后,在“消息窗口”中,以16进制形式显示应答的全部内容。显示结果如下图:
\

9.ECU自动检测

  当用户不知道CAN网络中是否有支持ISO15765或OBDCAN的设备,或者不知道其使用CAN ID为何时,可以使用ECU自动检测功能,其间不需要用户干预,界面如下图:

\

 点击“连接”按钮后,系统发发送测试ID,然后检测出是否存在OBDCAN设备,以及其支持的CAN ID。如上面,检测出了CAN总线上存在一个OBDCAN设备,并且其CAN ID为标准ID 0x7EC。

  上面介绍了ISO15765插件的大致功能,更详细的信息,用户可以参看CANslinkal或者CANupoks的帮助文档相关部分。