充电机与BMS通信报文分析三

学习人数3214
课程类型 高级
课程时长0
综合评分5

更多内容关注‘点点电工科技’微信公众号

简介:

充电机与BMS通信报文分析(三):充电阶段报文

通信协议参照GB/T 2793-2015

充电配置阶段完成后,充电机和BMS进入充电阶段。在充电阶段中,BMS实时向充电机发送电池充电需求,充电机根据电池充电需求来调整充电电压和充电电流以保证充电过程正常进行。在充电过程中,充电机和BMS相互发送各自的充电状态。除此之外,BMS根据要求向充电机发送动力蓄电池具体状态信息及电压、温度等信息。BMVBMTBSP为可选报告,充电机不对其进行报文超时判定。

充电阶段报文分类表


1.BCL报文

其中:

1)SPN3072 电压需求

数据分辨率:0.1V/位,0V偏移量;

2)SPN3073 电流需求

数据分辨率:0.1A/位,—400A偏移量。

抓包工具显示内容:0x181056F4  A0 0F 3C 0F 01

0x181056F4  为报文ID,“18”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“10”为此报文的PGN=001000(BCL报文)。“56”表示此报文发送的目的地址为充电机。“F4” 为发送此报文的源地址为BMS。

A0 0F 3C 0F 01为此报文的数据内容

A0 0F”表示电压需求:0x0FA0=4000   4000*0.1=400V

3C 0F”表示电流需求:0x0F3C=3900   400-3900*0.1=10A

01”表示恒压充电

2.BCS报文

其中:

1)SPN3075 充电电压测量值

数据分辨率:0.1V/位,0V偏移量;

2)SPN3076 充电电流测量值

数据分辨率:0.1A/位,—400A偏移量;

3)SPN3077 最高单体动力蓄电池电压及其组号

1~12位:最高单体动力蓄电池电压,数据分辨率:0.01V/位,0V偏移量;数据范围:0~24V

13~16位:最高单体动力蓄电池电压所在组号,数据分辨率:1/位,0偏移量;数据范围:0~15

4)SPN3078 当前荷电状态SOC

数据分辨率:1%/位,0%偏移量,数据范围:0~100%

5)SPN3079 估算剩余充电时间,当BMS以实际电流为准进行测算的剩余时间超过600min时,按600min发送。

数据分辨率:1min/位,0min偏移量,数据范围:0~600min

抓包工具显示报文内容:0x1CEC56F4   10 09 00 02 FF 00 11 00

                                 0x1CECF456   11 02 01 FF FF 00 11 00

                                 0x1CEB56F4   01 9A 0F A0 0F 45 01 14

                                 0x1CEB56F4   02 5A 00 FF FF FF FF FF

                                 0x1CECF456   13 09 00 02 FF 00 11 00

报文数据长度为9字节(大于8字节),所以会按照多包报文的发送规则来发送报文。 在发送此报文数据之前要进行与充电机的请求连接,即为:1CEC56F4  10 09 00 02 FF 00 11 00

0x1CEC56F4为此报文ID, “1C”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“EC”为此报文的功能说明(EC为数据大于8字节的报文连接请求,EB为长度大于8字节的报文数据内容传输)。“56”表示此报文发送的目的地址为充电机。“F4”表发送此报文的源地址为BMS。(此报文说明BMS想要发送数据长度大于8字节的报文,首先希望与充电机建立长包的发送连接,之后BMS开始传输数据)。

“10 09 00 02 FF 00 11 00”为此报文的内容,“10”表示功能码16请求发送,说明此报文想要与充电机建立连接。“09 00”用两个字节表示BMS将要发送的数据数量为0x0009=9个字节数据。“02”表示要发送此报文中的9个数据一共要发送2个包才足以容纳9个字节的数据。“FF”为保留内容。“00 11 00”表示此报文BCS对应的PGN(查看报文时可通过此数据内容找出,现在要建立连接请求的报文为协议中对应的哪个报文)。

充电机接收到BMS发送的请求发送报文后,会发送一个功能码为17的准备发送报文,通知BMS可以发送长包了。即:1CECF456   11 02 01 FF FF 00 11 00

0x1CECF456为此报文ID, “1C”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“EC”为此报文的功能说明(EC为数据大于8字节的报文连接请求,EB为长度大于8字节的报文数据内容传输)。“56”为发送此报文的源地址为充电机。“F4”表示此报文发送的目的地址为BMS。

“11 02 01 FF FF 00 11 00”为此报文的数据内容,“11”表示功能码17准备发送,说明充电机允许BMS发送长度大于8字节的数据包。“02”表示充电机允许发送的最大数据包数。“01”表示BMS将要发送的下一个数据包的编号。“FF FF”为保留内容。“ 00 11 00 ” 表示要发送的报文为BCS。

在完成长包请求连接成功后,BMS开始发送数据包编号为12的包含数据内容的报文,

1CEB56F4   01 9A 0F 3C 0F 45 01 14 (第一包)

1CEB56F4   02 5A 00 FF FF FF FF FF  (第二包)

0x1CEB56F4为报文ID,“1C”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“EB”为此报文的功能说明(EC为数据大于8字节的报文连接请求,EB为长度大于8字节的报文数据内容传输)。“56” 此报文发送的目的地址为充电机。“F4”表示发送此报文的源地址为BMS

9A 0F”表示充电电压测量值为:0x0F9A=3994   3994*0.1=399.4V

3C 0F”表示充电电流测量值为:0x0F3C=3900   400-3900*0.1=10A

45 01”表示最高单体动力蓄电池电压及其组号:0x0145转换成二进制为:0000 0001 0100 01011~12位:0001 0100 0101转换为十进制为325,最高单体动力蓄电池电压为325*0.01=3.25V13~16位:0000,最高单体动力蓄电池组号为0

14”表示当前荷电状态SOC0x14=20%

5A 00”估算剩余充电时间为0x005A=90min

3.CCS报文

注:当收到CCSSPN39290时表示充电机将停止输出,收到SPN39291时表示充电机将继续开始充电。

其中:

1)SPN3081 电压输出值(V

数据分辨率:0.1V/位,0V偏移量;

2)SPN3082 电流输出值(A

数据分辨率:0.1A/位,—400A偏移量;

3)SPN3083 累计充电时间(min

数据分辨率:1min/位,0min偏移量,数据范围:0~600min

抓包工具显示报文内容:0x1812F456   DF 0D A0 0F 04 00 01

0x1812F456为报文ID,“18”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“12”为此报文的PGN=001200(CCS报文)。“F4”表示此报文发送的目的地址为BMS。“56” 为发送此报文的源地址为充电机。

DF 0D A0 0F 04 00 01为此报文的数据内容

DF 0D”表示电压输出值为:0x0DDF=3551  3551*0.1=355.1V

A0 0F”表示电流输出值为:0x0FA0=4000   400-4000*0.1=0A

04 00”表示累计充电时间:0x0004=4min

01表示充电机将继续开始充电

4.BSM报文

其中:

1)SPN3085 最高单体动力蓄电池电压所在编号

数据分辨率:1/位,1偏移量;数据范围:1~256

2)SPN3086 最高动力蓄电池温度

数据分辨率:1℃/位,—50偏移量;数据范围:50℃~+200℃;

3)SPN3087 最高温度检测点编号

数据分辨率:1/位,1偏移量;数据范围:1~128

4)SPN3088 最低动力蓄电池温度

数据分辨率:1℃/位,—50偏移量;数据范围:50℃~+200℃;

5)SPN3089 最低温度检测点编号

数据分辨率:1/位,1偏移量;数据范围:1~128

注:当接收到BSM报文中SPN3090SPN3095均为00(电池状态正常),且SPN309600(禁止充电)时,充电机暂停充电输出;当接收到BSM报文中SPN3090SPN3095均为00(电池状态正常),且且SPN309601(允许充电)时,充电机恢复充电且冲击电流应满足GB/T 18487.19.7要求。当接收到BSM报文中SPN3090SPN3095(电池状态)中有一项为异常状态,充电机应停止充电。

抓包工具显示的报文内容:0x181356F4  01 7D 01 28 02 00 10

0x181356F4为报文ID,“18”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“13”为此报文的PGN=001300(BSM报文)。“56”表示此报文发送的目的地址为充电机。“F4” 为发送此报文的源地址为BMS。

01 4C 01 4A 02 00 10”为此报文的数据内容。

01”表示最高单体动力蓄电池电压所在编号为:2

4C”表示最高动力蓄电池温度为:0x4C=76   76-50=26

01”表示最高温度检测点编号为:2

4A”表示最低动力蓄电池温度为:0x4A=74   74-50=24℃

“02”最低动力蓄电池温度检测点编号为:3

00”表示单体动力蓄电池电压正常,整车动力蓄电池荷电状态SOC正常,动力蓄电池充电电流正常,动力蓄电池温度正常。

10”转换为二进制为“0001000”,第一第二位数据“00”表示动力蓄电池绝缘状态正常,第三第四位数据“00”表示动力蓄电池组输出连接器连接状态正常,第五第六位数据“01”表示允许充电。

5.BST报文


其中:

1)SPN3511 BMS中止充电原因

1~2位:达到所需的SOC

<00>=未达到所需SOC目标值;<01>=达到所需SOC目标值;<10>=不可信状态;

3~4位:达到总电压的设定值

<00>=未达到总电压设定值;<01>=达到总电压设定值;<10>=不可信状态;

5~6位:达到单体电压的设定值

<00>=未达到单体电压设定值;<01>=达到单体电压设定值;<10>=不可信状态;

7~8位:充电机主动中止

<00>=正常;<01>=充电机中止(收到CST帧);<10>=不可信状态;

2)SPN3512 BMS中止充电故障原因

1~2位:绝缘故障

<00>=正常;<01>=故障;<10>=不可信状态;

3~4位:输出连接器过温故障

<00>=正常;<01>=故障;<10>=不可信状态;

5~6位:BMS元件、输出连接器过温故障

<00>=正常;<01>=故障;<10>=不可信状态;

7~8位:充电连接器故障

<00>=充电连接器正常;<01>=充电连接器故障;<10>=不可信状态;

9~10位:电池组温度过高故障

<00>=电池组温度正常;<01>=电池组温度过高;<10>=不可信状态;

11~12位:高压继电器故障

<00>=正常;<01>=故障;<10>=不可信状态;

13~14位:检测点2电压检测故障

<00>=正常;<01>=故障;<10>=不可信状态;

15~16位:其他故障

<00>=正常;<01>=故障;<10>=不可信状态;

3)SPN3513 BMS中止充电错误原因

1~2位:电流过大

<00>=电流正常;<01>=电流超过需求值;<10>=不可信状态;

3~4位:电流异常

<00>=正常;<01>=电压异常;<10>=不可信状态。

抓包工具显示的报文内容:0x101956F4  01 00 00 00

0x101956F4为报文ID,“10”为包含报文优先级(3个位)、保留位(1个位)和数据页(1个位)。“19”为此报文的PGN=001900(BST报文)。“56”表示此报文发送的目的地址为充电机。“F4” 为发送此报文的源地址为BMS

01 00 00 00为此报文的数据内容,第一个字节“01”(0000 0001二进制)前两位表示BMS中止充电的原因:为达到所需SOC目标值。

6.CST报文

其中:

1)SPN3521 充电机中止充电原因

1~2位:达到充电机设定的条件中止

<00>