最近在做直流充電方面的工作屈芜,要分析BMS和充電機(jī)的通信報文,所以就做了一個27930協(xié)議的在線解析工具属铁,除基本的協(xié)議解析功能外,做了額外的分析和處理焦蘑,具體如下盒发。
- 解析協(xié)議同時對報文做了基礎(chǔ)校驗(校驗可能不完整,歡迎提供當(dāng)前解析工具還沒校驗的數(shù)據(jù))蝶防,不符合27930標(biāo)準(zhǔn)的報文會被明確標(biāo)出明吩,在解析工具中體現(xiàn)為紅色背景條目,備注中描述了錯誤原因低葫。
- 解析庫同時支持27930協(xié)議基礎(chǔ)上的其他自定義協(xié)議的解析仍律,如BMS和充電機(jī)所在的CAN總線中存在其他設(shè)備的通訊協(xié)議。
- 對于非27930協(xié)議中的報文善涨,如果沒有自定義解析器,或自定義解析器標(biāo)記無法解析的钢拧,在解析工具中體現(xiàn)為黃色背景條目。
- 本解析庫還提供了27930協(xié)議中的流程校驗功能源内,在解析工具中[流程]列膜钓,綠色圓點表示正確,紅色圓點表示錯誤夫壁,黃色圓點表示跳過(非27930協(xié)議)。
注意:流程校驗現(xiàn)在僅提供不嚴(yán)格校驗掌唾,即有些不嚴(yán)格符合協(xié)議的報文可能會被忽略忿磅,但校驗流程錯誤的報文一定錯誤葱她。
解析工具:http://www.tt-site.com/parser/can27930parser.html
使用方法:將cantest工具讀取報文保存為csv格式,點擊工具中上傳按鈕吨些,選擇報文文件即可。如果使用其他工具導(dǎo)出的報文豪墅,只要csv文件符合下方格式即可("|"表示tab分隔符)
序號 | 傳輸方向 | 時間標(biāo)識 | 幀ID | 幀格式 | 幀類型 | 數(shù)據(jù)長度 | 數(shù)據(jù)(HEX)
解析庫可用方法 :
// 報文解析
Can27930Parser.parse(data: FrameUnit[], unknownFrameParser?: ((unit: FrameUnit, error: Error)=>ParsedResultUnit)): ParsedResultUnit[]
// 流程校驗
Can27930Parser.flowCheck(parsedResultUnits: ParsedResultUnit[], process?: (result: 0 | 1 | 2, message: string, index: number)=>void)
- ParsedResultUnit說明
ParsedResultUnit.errorCode: 0-報文正確 1-報文無法解析 2-報文錯誤
解析庫和解析工具最近幾天會持續(xù)優(yōu)化偶器,如果發(fā)現(xiàn)有bug或其他問題,請留言給我屏轰,謝謝霎苗。