1、startDiagnosticSession SID $10 (K2STDS) 开始新的诊断会话

此消息用于在ECU中启用不同的诊断模式。诊断模式(会话)只能在执行过securityAccess服务后才会启动(除非启用defaultMode-StandardDiagnosticsMode)。如果非引导块区域(代码和/或数据)的内容无效或不能擦除,则可以在不执行安全访问的情况下进入ECUProgrammingMode。

2、 ecuReset SID $11 (K2ER) 控制单元复位

只支持“powerOn”重置模式。通信不被维护,因此必须在重置后重新设置。在重置之前,仍然输入到EEPROM处理器中的所有任务都被执行,任务队列被阻塞。

ReadFreezeFrameData [$12] Service (k2rffd) 读取冻结帧数据

读取保存在错误内存中的特定错误的冻结帧数据。错误由请求消息中指定的DTC值标识,参数(冻结帧数量)必须设置为0x00,以读取存储在内存中的所有冻结帧数据。此服务只支持DTC选项的请求。因此,参数记录访问方法标识符必须设置为0x04。

3、ClearDiagnosticInformation SID $14 (K2CDI) 清除诊断信息

删除error memory中的信息。测试人员清除ECU内存中的诊断信息

4、 ReadStatusOfDiagnosticTroubleCodes SID $17 (K2RSODTC) 读DTC状态

读取 DTC的状态,计数器和可获得的环境条件。

5、readDiagnosticTroubleCodesByStatus SID $18 (K2RDTCBS) 读DTC

用于测试人员从ECU的故障内存中按状态读取诊断故障码(DTC)的服务

6、ReadEcuIdentification SID $1A (K2REI) 读取ECU ID

读出特定于控制单元的信息

7、 Reading ECU data (ReadDataByLocalIdentifier SID $21) (K2RDLI) 读ECU数据

通过本地标识符$F0定义的数据记录的度量值由DynamicalDefineLocalIdentifier服务设置。ReadDatabyLocalIdentifier服务也可以读取设置在ECU内部表中的其他的数据记录。每个本地标识符都有自己的特定表,其中包含要传输的数据的描述。

8、 readMemoryByAddress SID $23 (K2RMBA) 读内存信息

读取由内存地址和内存大小参数确定的ECU的内存数据

9、 securityAccess SID $27 (K2SECA) 安全访问

此服务的目的是允许访问敏感信息。安全访问仅在驱动软件中可用。为了避免未经授权的访问,EDC支持多级种子和密钥安全访问。由于诊断模式被分配到不同的访问级别,因此必须在开始诊断会话之前执行securityAccess服务(默认模式-标准诊断模式除外)。

10、 Communication Control SID $28 (ISO14229_CC) 通信控制

 依照ISO14229标准 允许或禁止 传输或接收 CAN报文
注意:此服务只能在引擎速度Eng_nAvrg =0和车辆速度VSSCD_v =0时执行。如果不满足任何条件,就会发送一个消极响应(0x22)。如果设置了#2 [controlType]字节的第7位,则将抑制积极响应。

11、dynamicallyDefineLocalIdentifier SID $2C (K2DDLI) 定义本地标识符

此服务的目标是定义一个临时本地标识符,可以使用ReadDataByLocalIdentifier服务读出该标识符

12、Input/output control (InputOutputControlByLocalId SID$30) (K2IOCBLI) 输入/输出控制

该服务用于根据EDC16SCD - KLine的诊断协议确定内部控制单元功能和执行机构的替代值。Acces仅适用于LID 01h-15h。

13、 Input/output control (InputOutputControlByLocalId SID $90) (K2IOCBLI90)

此服务用于确定内部控制单元功能和执行机构的替代值

14、 RoutineControl by Local ID for use with Engine Test Function for SCD LID 31h, 32h, 33h (K2RC)

此功能的目的是控制启动停止,并请求SCD(标准客户诊断)指定的发动机测试的例行结果。

15、 startRoutineByLocalIdentifier SID 31h (K2STRBLI)

这个函数的目的是通过它们的id运行不同的日常活动以进行数据交换。

16、 Start Routine By Local Identifier 28h – Request for Engine Brake Test 引擎刹车测试

使用这项服务,测试人员可以启动发动机刹车测试。测试启动取决于EDC中的其他启动条件。相应的,一个积极的响应(测试开始了)或一个消极的响应(测试没有开始)将被传输回测试人员。

17、stopRoutineByLocalId (SID 32h) (K2SPRBLI)

结束由startRoutineByLocalId启动的不同程序

18、requestRoutineResultsByLocalIdentifier SID 33 (K2RRRBLI)

这个服务的目标是检查或查询startRoutineByLocalIdentifier启动的例程的结果

19、Request download (SID 34) (K2RQDN)

downloadRequest服务用于启动从测试人员到ECU(下载)的数据传输。ECU收到requestDownload请求消息后,ECU在发送积极响应消息之前,采取所有必要的操作来接收transferData请求消息中的数据。

20、CRAROTICNtS-trcureuoC:aVmr-kw200-KRQ2DNRequest upload (SID 35) (K2RQUP)

RequestUpload服务的目的是初始化从ECU到测试人员的数据传输。

21、Transfer data (SID 36) (K2TD)

测试人员在两种情况下使用transferData服务:将数据从ECU传输到测试人员(上载),将数据从测试人员传输到ECU(下载)。

22、Request transfer exit (SID 37) (K2RTE)

此函数用于结束数据传输。重要的是:即使不是所有的数据都已经被传输,也可以发送一个积极的响应。控制单元在未检查之前请求的数据量是否实际到达的情况下终止传输。

23、writeDataByLocalIdentifier service SID $3B (K2WRDLI)

24、Write memory by address (SID 3D) (K2WMBA)

测试人员使用这个服务向控制单元ram写入数据

25、 testerPresent SID $3E (K2TP)

保持通信

26、escapeCode (SID 80) (K2ESC)

该服务为串行应用程序和引擎诊断提供了一系列功能。

27、 startCommunication SID $81 (K2STC)

该服务的目的是在k线上建立测试单元和控制单元之间的通信。

28、stopCommunication SID $82 (K2SPC)

终止在测试单元和控制单元之间的通信

29、accessTimingParameters SID $83 (K2ATP)

此服务的目的是在此通信链路处于活动状态期间读取和更改通信链路的默认定时参数

30、 Control Diagnostic Trouble Codes Setting SID $85 (ISO14229_CDTCS)

测试人员使用此服务来停止或恢复ECU中的诊断故障码(DTCs)设置。此服务只能在引擎速度Eng_nAvrg = 0和车辆速度VSSCD_v = 0时执行。当任何条件不满足时,将发送一个消极响应(22h)。

31、ReadStatusOfDiagnosticTroubleCodes SID $87 (K2RSODTC87) 读取DTC状态

此服务的目的是读取单个错误路径的状态以及可用的环境条件

32、readDiagnosticTroubleCodesByStatus SID $88 (K2RDTCBS88)

使用此诊断服务,可以输出当前保存在错误内存中的错误路径及其状态。此外,可以检索所有已定义错误路径的列表,不管它们是否保存在错误内存中。