本文主要講解新能源行業技術人員在拿到一份電動汽車充電的通訊報文之後,該怎樣快速的獲取我們所需的數據,並定位報文中暴漏出來的問題。
1、一份充電報文應該是什麼樣的
以下表格是在一次售後問題處理過程中截取的充電報文,該報文並非完整報文,只是截取了其中必要的幾條報文組成一次不太完整的充電流程
表1
序號 |
幀ID(靠右對齊) |
數據長度 |
數據(HEX) |
1 |
0x1826f456 |
3 |
00 00 00 |
2 |
0x182756f4 |
2 |
a6 0e |
3 |
0x1801f456 |
8 |
00 01 00 00 00 00 00 00 |
4 |
0x1cec56f4 |
8 |
10 31 00 07 ff 00 02 00 |
5 |
0x1cecf456 |
8 |
11 07 01 ff ff 00 02 00 |
6 |
0x1ceb56f4 |
8 |
01 01 01 00 06 b0 05 02 |
7 |
0x1ceb56f4 |
8 |
02 0d ff ff ff ff 00 00 |
8 |
0x1ceb56f4 |
8 |
03 00 00 11 01 0a 0c 00 |
9 |
0x1ceb56f4 |
8 |
04 00 00 ff 00 00 00 00 |
10 |
0x1ceb56f4 |
8 |
05 00 00 00 00 00 00 00 |
11 |
0x1ceb56f4 |
8 |
06 00 00 00 00 00 00 01 |
12 |
0x1ceb56f4 |
8 |
07 15 04 07 e0 ff ff ff |
13 |
0x1cecf456 |
8 |
13 31 00 07 ff 00 02 00 |
14 |
0x1801f456 |
8 |
aa 01 00 00 00 00 00 00 |
15 |
0x1cec56f4 |
8 |
10 0d 00 02 ff 00 06 00 |
16 |
0x1cecf456 |
8 |
11 02 01 ff ff 00 06 00 |
17 |
0x1ceb56f4 |
8 |
01 9f 01 c6 0c d7 01 a6 |
18 |
0x1ceb56f4 |
8 |
02 0e 69 e3 03 58 0e ff |
19 |
0x1cecf456 |
8 |
13 0d 00 02 ff 00 06 00 |
20 |
0x1807f456 |
7 |
00 00 00 00 00 00 00 |
21 |
0x1808f456 |
8 |
4c 1d d0 07 d0 07 a0 0f |
22 |
0x100956f4 |
1 |
aa |
23 |
0x100af456 |
1 |
aa |
24 |
0x181056f4 |
5 |
a6 0e 00 00 02 |
25 |
0x1cec56f4 |
8 |
10 09 00 02 ff 00 11 00 |
26 |
0x1cecf456 |
8 |
11 02 01 ff ff 00 11 00 |
27 |
0x1ceb56f4 |
8 |
01 58 0e a0 0f 99 01 63 |
28 |
0x1ceb56f4 |
8 |
02 00 00 ff ff ff ff ff |
29 |
0x1cecf456 |
8 |
13 09 00 02 ff 00 11 00 |
30 |
0x1812f456 |
8 |
56 0e a0 0f 00 00 01 00 |
31 |
0x181356f4 |
7 |
17 38 00 37 0d 00 10 |
32 |
0x101956f4 |
4 |
00 00 40 f0 |
33 |
0x081e56f4 |
4 |
f0 f0 f1 f0 |
- 拿到一份充電報文之後應該做什麼
- 標註報文代碼
拿到一份充電報文之後首先要了解的是現場技術人員看到的是什麼現象,是不能成功建立充電過程還是充電過程中出現自動停機等問題,如果現場人員描述問題不清又要怎麼做
首先我建議在對充電流程不是很熟悉的技術人員在拿到報文的第一時間先標註出具體的報文代碼,然後標註報文代碼
表2
序號 |
幀ID(靠右對齊) |
數據長度 |
數據(HEX) |
報文代碼 |
1 |
0x1826f456 |
3 |
00 00 00 |
CHM |
2 |
0x182756f4 |
2 |
a6 0e |
BHM |
3 |
0x1801f456 |
8 |
00 01 00 00 00 00 00 00 |
CRM |
4 |
0x1cec56f4 |
8 |
10 31 00 07 ff 00 02 00 |
BRM |
5 |
0x1cecf456 |
8 |
11 07 01 ff ff 00 02 00 |
|
6 |
0x1ceb56f4 |
8 |
01 01 01 00 06 b0 05 02 |
|
7 |
0x1ceb56f4 |
8 |
02 0d ff ff ff ff 00 00 |
|
8 |
0x1ceb56f4 |
8 |
03 00 00 11 01 0a 0c 00 |
|
9 |
0x1ceb56f4 |
8 |
04 00 00 ff 00 00 00 00 |
|
10 |
0x1ceb56f4 |
8 |
05 00 00 00 00 00 00 00 |
|
11 |
0x1ceb56f4 |
8 |
06 00 00 00 00 00 00 01 |
|
12 |
0x1ceb56f4 |
8 |
07 15 04 07 e0 ff ff ff |
|
13 |
0x1cecf456 |
8 |
13 31 00 07 ff 00 02 00 |
|
14 |
0x1801f456 |
8 |
aa 01 00 00 00 00 00 00 |
CRM |
15 |
0x1cec56f4 |
8 |
10 0d 00 02 ff 00 06 00 |
BCP |
16 |
0x1cecf456 |
8 |
11 02 01 ff ff 00 06 00 |
|
17 |
0x1ceb56f4 |
8 |
01 9f 01 c6 0c d7 01 a6 |
|
18 |
0x1ceb56f4 |
8 |
02 0e 69 e3 03 58 0e ff |
|
19 |
0x1cecf456 |
8 |
13 0d 00 02 ff 00 06 00 |
|
20 |
0x1807f456 |
7 |
00 00 00 00 00 00 00 |
CTS |
21 |
0x1808f456 |
8 |
4c 1d d0 07 d0 07 a0 0f |
CML |
22 |
0x100956f4 |
1 |
aa |
BRO |
23 |
0x100af456 |
1 |
aa |
CRO |
24 |
0x181056f4 |
5 |
a6 0e 00 00 02 |
BCL |
25 |
0x1cec56f4 |
8 |
10 09 00 02 ff 00 11 00 |
BCS |
26 |
0x1cecf456 |
8 |
11 02 01 ff ff 00 11 00 |
|
27 |
0x1ceb56f4 |
8 |
01 58 0e a0 0f 99 01 63 |
|
28 |
0x1ceb56f4 |
8 |
02 00 00 ff ff ff ff ff |
|
29 |
0x1cecf456 |
8 |
13 09 00 02 ff 00 11 00 |
|
30 |
0x1812f456 |
8 |
56 0e a0 0f 00 00 01 00 |
CCS |
31 |
0x181356f4 |
7 |
17 38 00 37 0d 00 10 |
BSM |
32 |
0x101956f4 |
4 |
00 00 40 f0 |
BST |
33 |
0x081e56f4 |
4 |
f0 f0 f1 f0 |
BEM |
-
- 將報文分段解析
假設我們此時並不知道本次充電現場的實際現象,那麼報文代碼標註之後要先關注四條報文,BHM或BRM、BCL、BST/CST、BEM/CEM
①:BHM或BRM
執行15年標準的車在通訊過程中發送給充電樁的第一條報文是BHM報文,即BMS握手報文。執行11年標準的車在通訊過程中發送給充電樁的第一條報文是BRM報文,即BMS和車輛辨識報文。那麼通過這兩條報文可判定出車輛對電動汽車的握手請求是否正確響應。
如果車輛未對充電樁握手請求報文做出響應,那麼可對充電系統中的輔助電源(A+、A-)的通斷以及輸出電壓的精度進行確認(特別注意執行11年標準的車兩輔助電源有12V和24V兩種,確認充電系統輔助電源正常後可與車輛工作人員協助檢查車輛低壓電源開關的狀態(根據不同車型,低壓電源開關在充電時的開關狀態不同,同時要注意11標準的車輛中也有部分車型要求手動關閉高壓預警開關的))
②:BCL
如果車輛對充電樁握手報文正常響應之後,通過是否有BCL報文判斷車輛是否進入充電階段。
如果車輛未進入充電階段則可講問題排查重點放在BRO和CRO兩條報文上
如果有BRO報文並且報文數據域內容爲AA(如表2報文第22行),則表示電動汽車BMS校驗充電參數完成,對於車輛來說,充電樁發送的CML報文參數可用於車輛充電,如果沒有BRO_AA報文,則可解析出BCP和CML報文中BMS和充電樁的輸出信息判定具體是哪個參數不匹配
若參數不匹配
上表中15-19行爲BCP報文,由於報文內容超過8字節,所以在報文傳輸時使用TPCM協議進行分包處理,但是具體的分包過程我們目前無需瞭解,只需知道幀ID爲0x1ceb56f4的報文爲具體數據幀,報文數據域的第一個字節代表數據包的序號,所以將BCP報文按照上述規則進行提取之後得到如下一幀報文
BCP報文如下
9f 01 c6 0c d7 01 a6 0e 69 e3 03 58 0e ff
根據《GB/T27930-2015》協議10.2.1內容進行解析可得如下數據
單體動力蓄電池最高允許充電電壓:
報文數據9F 01,解析值0x019F * 0.01V=415 * 0.01V = 4.15V
最高運行充電電流:
報文數據 C6 0C,解析值(0x0CC6 * 0.1 -400)A = -73A(本協議中負值表示充電,正值表示放電)
動力蓄電池標稱總能量:
報文數據 D7 01,解析值0x01D7 *0.1Kw.h = 47.1Kw.h
最高允許充電電壓:
報文數據 A6 0E,解析值0x0EA6 * 0.1V = 375V
最高允許溫度:
報文數據 69,解析值0x69-50℃ = 55℃
整車動力蓄電池荷電狀態:
報文數據 E3 03 ,解析值(0x03E3 * 0.1)% = 99.5%
整車動力蓄電池當前電池電壓:
報文數據 58 0E,解析值0x0E58 * 0.1V = 367.2V
CML報文如下
4c 1d d0 07 d0 07 a0 0f
根據《GB/T27930-2015》協議10.2.3內容進行解析可得如下數據
最高輸出電壓:
報文數據 4C 1D,解析值0x1D4C * 0.1V = 750V
最低輸出電壓:
報文數據D0 07,解析值0x07D0 * 0.1V = 200V
最大輸出電流:
報文數據D0 07,解析值 (0x07D0*0.1-400)A = -200A
最小輸出電流:
報文數據A0 0F,解析值 (0x0FA0*0.1-400)A = 0A
那麼得到充電樁和和BMS的輸出和充電參數之後,再通過具體數值判定是哪個參數不匹配就能找到問題所在,比如BMS最高允許充電電壓和充電樁最小輸出電壓對比,再比如BMS最大充電電流和充電樁最小輸出電流等。
若參數匹配
若收到BMS的準備就緒報文,而充電樁的準備就緒報文CRO_AA沒有發出,則表示充電樁在準備就緒階段發生問題或檢測到錯誤,根據《GB/T27930-2015》協議附錄A.6流程圖所示着重檢查以下幾處可疑點
DC繼電器外側電壓是否正確?
判定標準1、與通訊報文電池電壓相差≤±5%
2、在充電機的最大最小輸出電壓之間
預充電壓是否正確?
判定標準 比電池電壓小1-10V
充電機DC繼電器是否閉合?
判定標準 充電樁自測迴路反饋狀態
③:BST/CST
BST報文爲BMS中止充電報文,BMS內部檢測到故障、錯誤、觸發停機條件等信息都將在該報文中體現出,如表2第32行報文內容如下
00 00 40 f0
根據《GB/T27930-2015》協議10.3.9內容進行解析可得如下數據
BMS中止原因:
原始數據00 = 0b(00 00 00 00),對照協議可知未觸發BMS正常停機原因
BMS中止充電故障原因:
原始數據00 40 ,高低位反轉後得到0x4000 ,轉化爲二進制數據得到
0b(01 00 00 00,00 00 00 00),對應協議得知爲其他故障0x01
BMS中止充電錯誤原因:
原始數據 F0 = 0b( 11 11 00 00),對照協議可知未發生錯誤
CST報文爲充電樁中止充電報文,充電樁內部檢測到故障、錯誤、觸發停機條件等 信息都將在該報文中體現出,CST解析方式與BST相同
④:BEM/CEM
BEM報文爲BMS錯誤報文,該報文中體現在通訊過程中捕捉到的充電樁報文超時行爲,如表2的33行報文內容如下
f0 f0 f1 f0
根據《GB/T27930-2015》協議10.5.1中定義可知,錯誤報文只取每個字節的低4位,所以在解析此條報文只需看低四位即可,高四位默認0b(1111) = 0xF0
所以可以看出只有第三個字節0xF1中有錯誤報出,那麼只解析這一個字節即可,0xF1 = 0b(11 11 00 01),說明第三字節第一、第二位爲01,對照協議可知表示接收充電機狀態報文超時
CEM報文爲充電樁錯誤報文該報文中體現在通訊過程中捕捉到的BMS報文超時行爲,CEM報文的解析方式與BEM相同。
從上面報文解析過程不難看出,技術人員實際在現場調試過程中抓取報文的時候,由於複雜的環境因素並不能保證每次鬥爭抓取完整的充電報文,所以就需要我們從一份不完整的報文中提取一些關鍵信息,從而確定本次充電的主要問題。