BMS(电池管理系统):电池的大脑,负责监控电池电压、温度、充放电状态。
TMS(热管理系统):空调机组的大脑,负责给电池加热或冷却。

通俗理解:TMS和BMS之间用一根"电话线"(CAN总线)通话,拨号规则遵循汽车行业通用标准(J1939),网速默认250k,每次短信限8个字。

通俗理解:BMS住在244号房间,TMS住在58号房间,它们互相发消息时会在地址栏写上对方房号。
报文1:BMS → TMS(BMS给TMS下指令)
报文ID:0x18FF45xx
发送频率:每500ms发一次(每秒2次)
这条报文里,BMS把8个字节的数据打包发给TMS,每个字节的含义如下:

通俗理解:BMS每0.5秒对TMS喊一次话:
"我现在电压是576V,你进入制冷模式,设定温度15℃,上高压!收到请回答!"
报文2:TMS → BMS(TMS向BMS汇报状态)
报文ID:0x18FFCxxx
发送频率:每500ms发一次(每秒2次)

通俗理解:TMS每0.5秒回一次话:
"收到!我现在是制冷模式,高压继电器已闭合,出水温度20℃,回水温度21℃,目前需要2.2kW的功率,一切正常没有故障!"
协议里温度存储有一个 偏移量(Offset),这是比较绕的地方:
公式:真实温度 = 原始数值 + (-40℃)
举个例子:
CAN总线上读到 Byte2 = 0x3C(十进制60)
真实温度 = 60 + (-40) = 20℃
40以下(0x28)就是零下,40以上就是零上。比如:
0x00 = -40℃(极寒)
0x28 = 0℃(冰点)
0x3C = 20℃(室温)
0x5A = 50℃(高温)
电压的计算更简单:真实电压 = 高字节×256 + 低字节
例如报文数据为 02 40,则电压 = 0x0240 = 576V。
功率的计算:真实功率 = (高字节×256 + 低字节) × 0.1kW
例如报文数据为 00 16,则功率 = 22 × 0.1 = 2.2kW。

上高压流程(简化版)
BMS说:"准备上高压了吗?" → 发送上高压请求
TMS自检: → 自检通过后发"继电器断开"
BMS说:"好,我闭合继电器。" → BMS闭合继电器 + 发送上高压请求
TMS检查条件: → 电压正常、无1级故障、预充完成
TMS说:"预充完成,闭合继电器!" → TMS闭合主回路继电器
BMS收到后说:"好的,开始干活!" → BMS发送工作模式(制冷/制热/自循环)
关键时间要求:
下高压时,TMS必须在 5秒内 将电流降为0并关闭压缩机。
如果BMS发出下高压请求后 8秒内 没收到TMS继电器的断开状态,BMS会强制切断。