文章目录

  • 前言
  • 一、理论描述
  • 二、使用步骤
    • 1.请求
    • 2.响应
  • 总结

->返回总目录<-

前言

简称: “InputOutputControlByIdentifier”,根据标识符控制输入输出
功能: 根据标识符控制输入输出服务用于替换输入信号的值、电控单元内部参数或控制电子系统的输出值。


一、理论描述

通俗解释: 在诊断模式下,通过请求2F服务直接控制开关发出指定的信号。例如:我想要让左转向灯亮,那么就可以通过该服务跳过硬件电路的检测直接软件里操作并替换想要控制的左转向信号输出。
注:诊断服务中一般简单开关类控制都会采用2F服务(转向灯,雨刮之类等);还有一些较为复杂的功能会通过0x31服务来实现(例如控制发动机转速,归零标定方向盘角度等)。

疑问: 这样直接控制要发出的开关信号而已,这样实际运用有啥意义呢?既无法检测硬件,也无法检测软件。
解答: 用在台架HIL测试,实现自动测试,为了测试与开关相关的其他控制器功能。如2f请求左转向,测试接收转向灯信号的节点BCM有没输出点亮左转向等。


在这里博主偷个懒哈,只说Sub-Function为00 和 03(因为开发的项目中只用到这两个子ID)~~
03: 在诊断模式中,请求该子ID的服务,会短暂控制输出,如上述:控制左转向灯信号发出。
注: 是暂时,若要请求一次该服务让左转向信号一直发出,就必须先请求诊断服务0x3E,让诊断一直处于通信握手状态
00: 释放刚才对转向灯的控制权,让其正常检测硬件来发出实际的信号。

二、使用步骤

1.请求

输入输出参数数据标识符分为位映射或非位映射两类。根据位映射和非位映射标识符,该服务的请求报文格式不同。

位映射标识符 使用位为单位表示一个输入或输出参数。
例如: 整车厂指定一个DID为 0x6E88 来控制灯光类的信号,该DID控制参数占2Byte,bit7用于控制远光灯OFF/ON,那么请求远光灯ON的
报文格式:2F 6E 88 03 80 00
Service ID:2F
DataIdentifier:6E 88
IO Control Parameter:03
ControlEnableMaskRecord:80 00

黄框:远光灯信号ON
红框:请求的报文,6E 80当作 6E 88

2,释放控制权,2F 6E 88 00,此时输出的远光灯信号是硬件检测采样的实际信号。

非位映射标识符使用字节为单位来表示一个输入或输出参数。这里就不演示了。
例如:整车厂指定一个DID为 0x6E88 来控制远光灯的信号,该DID控制参数占1Byte,请求格式 2F 6E 88 01/00 , 01 表示ON 00表示OFF

2.响应

1)正响应

Response ID:6F (2F + 0x40,统一规范,回复SID要比请求SID加0x40)
DataIdentifier:6E 88
IO Control Parameter:03
ControlState:80 00 (控制掩码数据)
参见CANoe图中的蓝框

2)否定响应
支持的否定响应如下,一般工作上根据整车厂给的诊断输入文档来选择要支持的NRC码。

博主平日项目中,上图的NRC都需要支持。

NRC13: 请求报文数据长度有误(正确请求数据2F 6E 88 03 80 00 有6个字节。而你请求的是2F 6E 88 03 00只有5个字节,ECU收到你这条报文,无法理解,因此回复该NRC)

NRC22: 请求条件不满足
(一般整车厂会告诉你NRC22的满足条件,例如:车速>3km/h,电源过欠压时候,请求服务,ECU便回复该NRC)

NRC31: 请求超出范围(不按套路出牌,发送 2F 66 66 03 80 00,DataIdentifier有66 66?)

NRC33: 安全访问拒绝(在请求2F服务之前,必须先解锁,否则ECU回复NRC33)

总结

0x2F服务还是比较容易理解的,下一章0x31 例行控制服务见!

->返回总目录<-

【UDS】ISO14229之0x2F服务相关推荐

  1. 跟我学UDS(ISO14229) ———— 0x19 服务参数介绍

    相关链接:跟我学UDS(ISO14229) ---- 0x19(ReadDTCInformation) 目录 DTCStatusMask 工作状态 bit 作用说明 切换逻辑 DTCExtendedD ...

  2. 跟我学UDS(ISO14229) ———— 0x11(ECUReset)

    0x11(ECUReset)服务的主要作用是使用ECUReset服务来请求服务器重置.该服务根据嵌入在ECUReset请求消息中的resetType参数值的内容,请求服务器有效地执行服务器重置. 在服 ...

  3. 【车载开发系列】UDS诊断---链接控制服务($0x87)

    [车载开发系列]UDS诊断-链接控制服务($0x87) 诊断---链接控制服务($0x87) [车载开发系列]UDS诊断---链接控制服务($0x87) 一.概念定义 二.应用场景 三.报文格式 1) ...

  4. 【UDS】ISO14229之0x19服务

    文章目录 前言 一.理论描述 1.服务分类 2.状态掩码 二.操作步骤 1.请求 2.回复 总结 ->返回总目录<- 前言 简称: "ReadDTCInformation&quo ...

  5. 【UDS】ISO14229之0x14服务

    文章目录 前言 一.理论描述 二.使用步骤 1.请求 2.响应 总结 ->返回总目录<- 前言 简称: "ClearDiagnosticInformation",清除D ...

  6. 【UDS】ISO14229之0x28服务

    文章目录 前言 一.理论描述 二.使用步骤 1.请求 2.响应 总结 ->返回总目录<- 前言 简称: "CommunicationControl",通信控制 功能: ...

  7. 【UDS】ISO14229之0x27服务

    文章目录 前言 一.理论描述 二.使用步骤 1.总述 2.请求 3.响应 总结 ->返回总目录<- 前言 简称: "SecurityAccess",安全访问 功能: 由 ...

  8. 【UDS】ISO14229之0x3E服务

    文章目录 前言 一.理论描述 二.使用步骤 1.请求 2.响应 总结 ->返回总目录<- 前言 简称: "TesterPresent",测试工具保持连接服务 功能: 此 ...

  9. 车载网络测试 - UDS诊断篇 - 诊断服务$10

    上一篇我们在(车载网络测试 - UDS诊断篇 - 诊断数据简析)中 有介绍各个服务的数据的格式,接下来的篇幅就是对各个服务做进一步的介绍,以便大家学习和了解:今天我们说的就是会话控制,有地方也叫会话切 ...

最新文章

  1. 命名实体识别NER 如何使用BERT实现
  2. 密恐警告:超2000万张,全球最大的人眼图像数据集开源了
  3. Ubuntu 安装JDK8
  4. *** FATAL ERROR: too many grib files .. 1st=F:\data\预测数据 2nd=- ***
  5. c语言编程*字母图形,BIT网教c语言练习_编程复习1输出图形
  6. IB COM Read
  7. 计算机启动类型bios,UEFI还是Legacy BIOS?如何确定Windows启动类型
  8. 【转】pthread_cond_signal 虚假唤醒问题
  9. 蓝桥杯 ALGO-39 算法训练 数组排序去重
  10. cad有没有网页版_AutoCAD
  11. 信息系统项目管理师自学笔记(二十二)—— 网络应用与管理
  12. (转)为什么证券行业的软件研发水平远低于互联网科技公司?
  13. Android手机游戏浅析
  14. 2018年第九届蓝桥杯真题解析 | 日志统计【Python】
  15. 再见 Excel,你好 Python Spreadsheets! ⛵
  16. Windows 下的一款弱网模拟工具NEWT
  17. overthewire靶场之——bandit(1-10)
  18. 数据结构-列出连通集(图的操作)
  19. 【Kubernetes 020】Helm3安装Dashboard
  20. matlab ode45三体问题,关于ode45中erf函数(输入必须为实数完全数的报错问题)

热门文章

  1. Rust语言开发环境搭建详细教程
  2. TOGAF架构开发方法 - 使用Visual Paradigm 自动化 过程
  3. 轨道交通系统的组成与构造详细资料阐述
  4. TOF-深度传感器技术
  5. 华为ensp报错40问题解决方法
  6. Z-stack3.0 Power Green的使用
  7. 下载mp4视频到本地,并播放
  8. 教你如何在你的程序或网站中接入聊天机器人(附实例分享)
  9. 任意文件上传mysql_[代码审计]XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)...
  10. 常用精度评价指标(evaluation factors)---持续更新中