07服务也是获取DTC,但是它与03服务区别在于,它用于获取在当前以及上一个驾驶循环中出现的处于“pending”状态的DTC(可以参见本专栏中“汽车控制器(ECU)中DTC的状态位”一文),日照柴油车OBD省钱,而03服务获取的是confirmed DTC。 它的请求格式和响应格式如下两幅图: 07服务的request 07服务的
08服务用于对系统进行控制,进行元件测试操作。它相当于UDS中定义的2F和31服务,日照柴油车OBD省钱,日照柴油车OBD省钱。它的使用方法是SID TID,注意这个TID与05和06服务的TID不同,在OBD中有一个专门给08服务使用的TID表格。
01服务该服务用于读取动力系统当前的诊断数据,比如某个传感器的状态、发动机转速、DTC数量、故障指示灯是否亮起等,命令格式是SID 若干PID(Parameter ID)。每个PID也是一个byte,所以理论上PID取值范围是0x00至0xFF,但是ISO-15031-5只明确定义了部分PID,其余的值都保留。问题来了,OBD定义了如此多的PID,那么某个ECU到底支持哪些PID,诊断仪是如何获知的呢?实际上,PID分为两类,一类用于表征具体的数据,而另一类则用于指出该ECU支持哪些PID。用于第二种目的的PID分别是0x00 , 0x20 , 0x40…. 读取其中一个ID后ECU会返回4个字节的结果,这4个字节中的每个bit表示其所对应的PID是否被支持。以下面这个例子来说明就很容易理解了: OBD request for SID 01 OBD response for SID 01 通常来说,诊断仪要首先读取00、20、40这些ID,然后就知道ECU支持哪些其他的PID了,而其他的PID就是很直接地表示某种数据,在ISO-15031-5的附录中有全部数据格式的定义。
OBD盒子
通过分析发现OBD盒子主要实现的功能为数据分析,监控提醒类被动型功能,很少能实现车辆控制类(如车窗控制、发动机点火控制等)主动型功能。这是为什么呢? 数据分析、监控类功能实现原理:车辆工作时各个节点会不断的向总线发送各类CAN报文,OBD盒子可以读取总线上的CAN报文,完成车辆信息的采集,如通过监控EngineRun,BatteryVotage信号值便可分别实现对汽车启动状态和电瓶电压值的监控;通过对VehicleSpeed信号监控,便可统计汽车运行实时速度。当然这一过程涉及各个厂家具体CAN协议解析与**。
免责声明: 本页面所展现的信息及其他相关推荐信息,均来源于其对应的用户,本网对此不承担任何保证责任。如涉及作品内容、 版权和其他问题,请及时与本网联系,我们将核实后进行删除,本网站对此声明具有最终解释权。