UDS 服务标识符

注 请求消息服务标识符和肯定响应消息标识符之间存在一一对应关系,SI的bit第6位表示服务类型。所有请求消息中SI bit6=0。所有肯定响应消息中 SI bit6=1。 请求hex 请求binary 肯定响应hex 肯定响应binary 0x10 0010000 0x50 1010000 0xBA 10111010 0xFA 11111010 ReadDataByPeriodicidentifier(通过周期标识符读取数据)服务的周期性数据响应消息除外(0x2A),首先回复一个0x6A消息,之后会周期性回复periodicDataIdentifier+dataRecord[] Service Identifier(SI) Service type(bit6) 定义 0x10–0x3E service requests ISO14229-1 0x3F Not applicable 保留 0x50–0x7E positive service responses ISO14229-1 0x7F Negative response service identifier ISO14229-1 0x80–0x82 Not applicable 保留 0x83–0x88 service requests ISO14229-1 0x89–0xB9 Not applicable 保留 0xBA–0xBE Service requests 厂商自定义 0xBF–0xC2 Not applicable 保留 0xC3–0xC8 positive service responses ISO14229-1 0xC9–0xF9 Not applicable 保留 0xFA–0xFE Positive service responses 厂商自定义 0xFF Not applicable 保留

2025-08-11 · 1 min · airocld

ODX协议中COMPU-METHOD的八种类型解析

前置知识 内部值:从ECU收到的响应信息中提取出的结果 物理值:内部值转换到诊断仪或其他设备上人类可读的值 正向计算:内部值–>物理值 反向计算:物理值–>内部值 根据compu-method的标签情况,计算内部值->物理值转换的规则 COMPU-METHOD internal -> physical (response) use physical -> internal (request) use 只有 COMPU-INTERNAL-TO-PHYS COMPU-INTERNAL-TO-PHYS COMPU-INTERNAL-TO-PHYS 逆运算 COMPU-INTERNAL-TO-PHYS 、 COMPU-PHYS-TO-INTERNAL 都有 COMPU-INTERNAL-TO-PHYS COMPU-PHYS-TO-INTERNAL 只有 COMPU-PHYS-TO-INTERNAL COMPU-PHYS-TO-INTERNAL 逆运算 COMPU-PHYS-TO-INTERNAL COMPU-METHOD 一共有8种类型: IDENTICAL, LINEAR, SCALE-LINEAR, TEXTTABLE, COMPUCODE, TAB-INTP, RAT-FUNC , SCALE-RAT-FUNC。使用<CATEGORY>(必填)属性定义 1.IDENTICAL 它只传递输入值,因此内部值和物理值是相同的。即$f(x)=x$ 对于这种类型,不允许使用数据对象 COMPU-INTERNAL-TO-PHYS 和 COMPU-PHYS-TOINTERNAL。 如果编码类型(在 DIAG-CODED-TYPE 的 BASE-TYPE-ENCODING 处)为 A_ASCIISTRING 或 A_UTF8STRING,则在解码或编码过程中应隐式完成与物理 BASE-DATA-TYPE A_UNICODE2STRING 之间的转换。 可用的数据类型: Internal Physical A_INT32 A_INT32 A_UINT32 A_UINT32 A_FLOAT32 A_FLOAT32 A_FLOAT64 A_FLOAT64 A_BYTEFIELD A_BYTEFIELD A_ASCIISTRING A_ASCIISTRING A_UTF8STRING A_UTF8STRING A_UNICODE2STRING A_UNICODE2STRING 2.Linear 线性函数,通俗点就是个一元一次方程。将输入值与一个因子相乘并加上偏移量。(可选)得出的总和可以除以一个无符号整数常量。 $$ f(x) = \frac {V_{N0} + V_{N1} * x} {V_{D0}} $$ 需要精确定义一个 <COMPU-SCALE>。它包含 <COMPU-RATIONAL-COEFFS>,其中声明了<COMPU-NUMERATOR>和 <COMPU-DENOMINATOR>。分母应包含两个值。第一个是偏移量$V_{N0}$,第二个是系数$V_{N1}$。如果存在分母,则应精确指定一个无符号整数值。可以使用 <COMPU-SCALE>的 LIMIT 来限制值域。 ...

2025-07-17 · 5 min · airocld