想当高手?大众车型编码了解一下
众所周知,大众车系的车辆编码众多,因为“刷隐藏功能”和原厂增配升级的流行,使得大众车系给人一种“无控制单元不编码”的感觉。而且编码功能强大而灵活,例如许多功能通过修改编码即可实现,这也使编码有了些许神秘感。笔者管中窥豹,结合自己的使用经验,在此简谈大众车系编码,希望能为您揭开编码神秘面纱的一角。
需要说明是,目前很多诊断仪都可以读取和更改控制单元编码值,但笔者认为比较好用的当属大众原厂诊断系统ODIS和第三方诊断系统VCDS。VCDS是美国Ross-Tech公司开发的针对大众车系的诊断系统,笔者认为其编码帮助提示(告诉我们如何更改编码)等一些功能已经超越了原厂ODIS诊断系统。本文中对编码的举例皆是借助VCDS诊断系统完成。
编码的前生今世
编码是控制单元的“小程序”,每个程序都有自己的功能,不同的编码可以执行不同的功能。控制单元在生产装配时已经预制了许多程序,编码能够让我们实现想要的功能。
早期的控制单元是没有编码的,编码的出现一方面是为了满足生产厂商和消费者对汽车多样化、个性化的需求,另一个重要原因就是大众车系平台化战略的持续推进。同一控制单元可以在不同品牌的不同车型上使用,只需要更改相应的编码即可。对汽车维修而言也是降低了成本,但维修的技术门槛却提高了,对维修技师也有了更高的要求。
随着科技的进步和人们生活水平的提高,对车辆的安全性和舒适性有了更高的要求,车辆配置呈现出多样化,一款车就可能分为基本型、技术型、豪华型和旗舰型等。豪华型上有的功能如自动泊车等,基本型车辆上没有配备,因此编码也变得复杂起来,不同车辆同一控制单元的编码也会有所不同。
图1 车型编码
编码的类型
1.短编码
短编码又称普通编码,由最多7位阿拉伯数字组成,使用VCDS更改编码操作时,短编码不足7位的,需要在前面用“0”补足7位后,方可进行编码操作。在短编码的设计和使用中,可以通过叠加法和占位法,或者两种方法结合使用,来实现对应的功能。
(1)占位型编码
占位型编码如图2 所示,编码是“0000075”,最末位表示的是变速器类型和挡位,5表示“6挡自动变速器”;倒数第2位表示动力CAN数据总线有哪些控制单元,7表示车辆有“ABS防抱死制动系统控制单元”、“气囊控制单元”和“空调控制单元”。
图2 发动机控制单元短编码示
(2)叠加型编码
图3是驾驶员车门控制单元的叠加型编码示例,编码“0001204”即是叠加而来,如果拆分开来,1204=4+16+32+128+1024,不同的数字代表不同的功能:0000004=后视镜转向信号已安装;0000016=自动运行激活(即升降器单触功能);0000032=后视镜加热器已安装;0000128=5车门底盘;0001024=安全-电机未安装。
图3 驾驶员车门控制单元短编码示例
如果我们想要为车辆增加“出门/告警灯”功能,就需要在原编码的基础上加“0000064”,警告灯功能就就可以激活。
2.长编码
随着车辆配置的多样化,短编码已经不能满足功能越来越复杂的控制单元了,于是就出现了长编码。长编码由若干个字节(Byte)组成,一个字节(Byte)为8位二进制数,也是2位十六进制数。在VCDS中,每一位二进制对应一个比特(Bit)位,每个Bit代表一种含义,或几个Bit组合使用,如图4所示。
图4 雨量与光强长编码示例
Bit位可以单独勾选,若勾选,对应的二进制数值为1,否则为0。多位比特Bit组合使用时会出现下拉菜单,如图5所示。
图5 变速器传动类型编码
了解8位二进制和Bit位的对应关系,有助于更好地理解编码变化规律(图6、表1)。
图6 二进制与Bit对应关系
表1 8位二进制和Bit位的关系
编码的应用
现在大众车系没有编码的控制单元几近没有了,可见编码应用之广泛。那么什么时候需要编写或更改编码呢?笔者认为主要有3个场景:维修中更换控制单元;刷隐藏功能;原厂增配升级。下文将针对这3个场景举例,乃抛砖引玉之意。
1.更换控制单元
在实际维修工作中,车辆控制单元内部损坏的常见原因有以下3种:控制单元自身原因,如内部焊接不良,集成芯片损坏等;碰撞事故、泡水以及火烧车造成的损毁;人为损坏,如拆解读写芯片数据时的操作失误等。
不管是何种原因损坏,更换新的或是拆车的二手控制单元都有可能需要进行编码工作。如何获取正确的编码呢?如果旧的控制单元在更换之前尚可正常通讯,只要将编码信息记录下来,即可得到正确的编码。而有时控制单元在更换前已经无法通讯(如泡水等情况),编码已经无法读取,则可以通过以下的方法获取编码。
(1)连接厂家服务器获取编码
使用ODIS连接大众在德国沃尔夫斯堡总部的服务器在线编码。但目前只有大众授权的经销商有在线连接服务器的合法权限和口令,对众多独立修理厂来说这无疑是难以跨越的鸿沟。此外,也并非所有车型的所有控制单元都支持在线编码。
(2)参考其他相同车型编码
VCDS的自动扫描功能会对车辆全部控制单元进行扫描,并记录软件号和硬件号以及编码信息等。近年来有些控制单元(如03-ABS制动系统)的编码与车身底盘号VIN相关联,出现一车一编码的情况,备份原车编码显得尤为重要(图7)。
图7 一车一编码的ABS控制单元
另外,大众车系部分安全气囊控制单元的编码是根据索引码确定的(图8)。在更换新的安全气囊控制单元时,VCDS软件系统会提示输入索引码(索引码在气囊控制单元的标签纸上),然后自动编写对应的编码。
图8 安全气囊编码由索引码确定
2.刷隐藏功能
刷隐藏功能是指在不更改或加装硬件的情况下,通过更改编码值、匹配值等开通一些功能,车主自己通过诊断软件即可操作。“刷隐藏”并非官方术语,它的流行折射出大众车系车主对DIY的热情,刷隐藏的教程也充斥在网络尤其是各大汽车论坛上。
VCDS的编码帮助等功能降低了刷隐藏功能操作的难度,对刷隐藏的流行有着推波助澜的功效。如开通15 km/h自动落锁功能(即车速达到15km/h后中控自动上锁),只需找到相应控制单元,在“字节0”下勾选“Bit4”即可(图9)。
图9 实现15km/h自动落锁功能
经常有车友发出这样的疑问:为什么这些功能要被厂家隐藏?这是因为车辆在出厂时的基本功能已经可以满足日常使用,而被“隐藏”的功能也并非“人见人爱”,所以才被“隐藏”。另外,如锁车提示声音等一些功能,在部分国家是不合法规的,这也是被隐藏起来的原因之一。
对于DIY爱好者来说,刷隐藏功能可玩性更高,可以说是其乐无穷,也体现了大众车系的开放性。但刷隐藏并非没有风险,切不可盲目操作,而是要提前做好充分的功课。刷隐藏之前一定要记得备份好原车编码等信息,防止因误操作导致无法挽回的局面。笔者就曾经在刷隐藏时更改了错误的编码而导致ABS故障灯点亮的问题,吃一堑长一智,从此不忘在操作前备份编码。随着对VCDS诊断系统的不断了解,知道了VCDS对更改编码和匹配通道值操作都有相应的记录日志,这一功能可以说是非常实用的了。
3.原车升级增配
同样得益于大众集团平台化战略,高配车型的某些功能可以移植到低配车型上。刷隐藏功能可以在不改动硬件的前提下实现某些功能,是因为现有硬件已经支持这些功能,而有些功能(如定速巡航、自动泊车、氙气大灯、倒车影像等),现有的硬件不能满足,则需要更换或加装相应的硬件(如巡航开关等),所以加装硬件后也需要更改相应编码(图10)。
图10 加装硬件后更改相应编码
备份全车编码与VCDS自动扫描
前文多次提到了编码备份的重要性,而VCDS诊断系统的自动扫描功能,可以快速、系统地备份全车编码以及控制单元的其他信息。这也是VCDS诊断系统最重要的功能之一。
1.车辆识别与底盘类型
在VCDS软件主界面点击“自动扫描”,出现全车自动扫描界面。执行自动扫描之前,需要选择正确的底盘类型,底盘类型相较于平台更加细化了车型,VCDS诊断系统通过底盘类型来识别车辆。如果车辆具备网关且支持CAN诊断,可以选择使用“自动检测”,VCDS软件会自动识别车辆底盘类型。如果车辆不具备网关或不支持CAN诊断,则需要手动选择相应的代码,车辆底盘号(VIN)第7、8位就是底盘类型代码,如一辆高尔夫7的底盘号是LFV2B25G6E51*****,底盘类型代码就是5G,表示这是MQB平台下的第七代高尔夫。
图11 全车自动扫描
2.自动扫描及保存
确定好正确的底盘类型后,点击“开始”,执行自动扫描。自动扫描执行完成后,会看到全车各控制单元的信息,包含编码信息、硬件号(在控制单元的标签纸上,也就是俗称的零件号)、软件号、固件版本等,当然也包括控制单元内的故障码信息。
现在生产的大众车系CAN总线普及率已接近100%,控制单元之间通过CAN总线获取需要的信息。若某个控制单元出现故障码,有时会“告诉”总线内的其他控制单元,受故障控制单元的“传染”,其他多个控制单元也可能出现类似的故障码,而“元凶”自然就是最早发出故障信息的控制单元。使用自动扫描功能读取故障码环境参数的时间戳信息,可以准确地获得故障时间信息(图12),有助于我们更快找到“元凶”。
图12 编码及故障码等信息
此时可以复制或保存。点击“保存”按钮,会出现保存对话框,其中的底盘号和里程数一般是默认填写的。为了便于后期整理,建议补全牌照号码和维修单号,当然也可以自主添加一些相关信息(图13)。
图13 保存自动扫描
点击“确定”按钮,保存的同时出现“进程日志”,在对话框上可以查看保存的扫描文件,也可以打开扫描文件所在的文件夹(图14)。最重要的是,在不关闭该对话框或关闭进程的前提下,对车辆后续操作的跟踪记录都会保存在同一个文件内,比如保存更改的编码和匹配通道、保存高级标识信息以及保存读取的数据流等。
图14 进程日志
3.自动扫描的重要性
自动扫描非常重要,我们要养成工作前先进行自动扫描的习惯。前文提到的一车一编码已经不是个别车型的专利,现在的普及率很高,离全面普及也只是一步之遥,因此备份编码非常重要。笔者建议对每一台维修的车辆都要进行自动扫描,即使只是检查灯泡或更换机油机滤。刷隐藏功能和原车增配升级之前更要进行自动扫描,以降低风险,有备无患。而检修故障时的自动扫描,可以通过故障码发生环境时间戳来辅助诊断,帮助我们理清思路。更换控制单元时也可以直接调用以前保养时备份的编码。如果没有执行过自动扫描的车辆更换控制单元,也可以参考同配置车型自动扫描文件内的编码信息。总而言之,自动扫描好处多多。
大众车系空调系统停机代码汇总 实不实用自己看
一、压缩机切断状态细分
0 ――未探测到关闭条件--
1 ――剩余压力――制冷剂压力太高:视制冷剂压力而定的极限值:压力大于等于32bar时关闭,压力小于等于24bar时打开
2 ――基本设置未执行――或执行中出现故障
3 ――剩余压力――制冷剂压力太低:视制冷剂压力而定的极限值:压力小于等于1.4bar时关闭,压力大于等于2.0bar时打开
4 ――当前没有预计读数--
5 ――发动机运行时间小于1秒――(未识别到发动机起动)
6 ――ECON运行模式――(已按下ECON按钮或未按下空调按钮)
7 ――空调关闭――风扇切换至0档
8 ――外度温度――外部温度太低,外部温度低于1.5°C时或控制单元通过CAN未获取当前数值、获取的数值失真时关闭,外部温度高于2.5°C时打开。
9 ――当前没有预计读数--
10 ――电压不足――车载电压太低,低于9.5 V
11 ――发动机温度指示灯熄灭――发动机温度高于118°C(根据软件版本已关闭)
12 ――由发动机控制单元通过CAN关闭――原因可能在于发动机温度、冷却液风扇控制单元、强制降档
13 ――过电压――车载电压太高,电压(接线端15)或(接线端30)高于16V
14 ――蒸发器可能结冰的温度――蒸发器温度太低
15 ――无车辆代码或车辆代码错误--
16 ――激活压缩机――至控制阀的激活路径中的故障:例如断路/对蓄电池正极短路
17 ――压力传感器――无压力传感器信号或信号失真(脉冲宽度调制信号)
18 ――在静止状态时车速为0――发动机转速大于3000RPM且车速小于15km/h的时间达到3s后关闭一分钟
19 ――负荷管理――通过CAN从车载电网控制单元关闭(除霜再次生成该代码)
二、上海大众各款车型冷媒加注量
三、故障案例
例一:途观1.8T空调偶发性不制冷(线束问题)
故障现象
空调有时不制冷
维修情况
检查发现08-空调控制单元中存在如下故障码:
B10A115 新鲜空气鼓风机诊断电缆,前部断路/对正极短路
B10A129 新鲜空气鼓风机诊断电缆,前部不可靠信号
1、试车,当故障出现时,内外循环开关功能失效,空调制冷切断,但鼓风机工作正常。读数据组发现压缩机关闭条件显示:新鲜空气鼓风机故障(见图一)。
2、造成新鲜空气鼓风机故障主要有以下几个原因:
(1)空调鼓风机本身故障
(2)空调鼓风机到鼓风机控制单元之间线束、插头虚接、断路或对地短路等
(3)空调控制单元自身故障
3、查阅电路图(见图二),鼓风机供电、接地正常,连接J255-空调控制单元与J216-鼓风机控制单元的还有两根线,分别对应J255的T16d/15 、T16d/16 ,J126的T6z/2、T6z/1针脚。打开点火开关,开启鼓风机,风量处于1档时,用万用表测量J126的T6z/1对地电压为2.761V,T6z/2对地电压为2.744V;最高风速时T6z/2和T6z/1的对地电压都为8.12V。
4、同等条件下对比正常车辆:鼓风机风量处于1档,T6z/1对地电压为10.30V,T6z/2对地电压为2.51V。最高风速时,T6z/1对地电压10.30V,T6z/2对地电压为10.61V。
5、据此分析,T6z/2和T6z/1之间的线束存在故障。拔下鼓风机J126上的T6z 插头和空调控制单元T16d插头。测量T6z 插头上的T6z/2和T6z/1之间电阻值在10Ω左右,而正常车应为无穷大。
6、对问题线束进行修复,故障排除。
维修建议
该案例中故障代码指向的是鼓风机故障,鼓风机可以正常工作,但并不代表鼓风机的连接线束没有问题。维修中需通过读取数据块,测量电阻、电压值等手段仔细检查。
例二:空调低压管路和蒸发箱结冰(蒸发箱出口温度传感器)
故障现象
开空调高速行驶一段时间后,空调出风量变小或不出风。关闭空调数分钟后再开启,出风量恢复正常。
维修情况
检查发现空调低压管路和蒸发箱有结冰现象。
检查制冷剂纯度正常。
更换蒸发箱出口温度传感器 1K0 907 543 F,问题依旧。
故障处理:
更换蒸发箱出口温度传感器ENT 907 543 H,问题解决。
维修建议
如遇空调低压管路和蒸发箱结冰的车辆,应首先检查制冷剂纯度是否正常,检查膨胀阀是否有堵塞,如上述检查未发现问题,则更换蒸发箱出口温度传感器ENT 907 543 H
大众车空调压缩机停机中断的19个代码,你都认得全吗?
0 ――未探测到关闭条件
1 ――剩余压力
制冷剂压力太高,视制冷剂压力而定的极限值:压力≥32bar时关闭,压力≤24bar时打开
2 ――基本设置未执行
或执行中出现故障
3 ――剩余压力
制冷剂压力太低,视制冷剂压力而定的极限值:压力小于等于1.4bar时关闭,压力大于等于2.0bar时打开
4 ――当前没有预计读数
5 ――发动机运行时间小于1秒
未识别到发动机起动
6 ――ECON运行模式
已按下ECON按钮或未按下空调按钮
7 ――空调关闭
风扇切换至0档
8 ――外度温度
外部温度太低。外部温度低于1.5°C时或控制单元通过CAN未获取当前数值、获取的数值失真时关闭,外部温度高于2.5°C时打开。
9 ――当前没有预计读数
10 ――电压不足
车载电压太低,低于9.5 V
11 ――发动机温度指示灯熄灭
发动机温度高于118°C(根据软件版本已关闭)
12 ――由发动机控制单元通过CAN关闭
原因可能在于发动机温度、冷却液风扇控制单元、强制降档
13 ――过电压
车载电压太高,电压(接线端15)或(接线端30)高于16V
14 ――蒸发器可能结冰的温度
蒸发器温度太低
15 ――无车辆代码或车辆代码错误
16 ――激活压缩机
至控制阀的激活路径中的故障:例如断路/对蓄电池正极短路
17 ――压力传感器
无压力传感器信号或信号失真(脉冲宽度调制信号)
18 ――在静止状态时车速为0
发动机转速大于3000RPM且车速小于15km/h的时间达到3s后关闭一分钟
19 ――负荷管理
通过CAN从车载电网控制单元关闭(除霜再次生成该代码)