- 一、通信规范
- 1.1物理接口
BMS做从机默认地址为1,默认波特率19200、数据位8位、无奇偶校验、停止位1。
- 1.2通信数据格式
Modbus串行线路的协议是一个主从站协议。同一时间只有一个主节点连接到总线上,和一个或几个从站节点也连接到相同的串行总线。一个Modbus通信总是由主机启动,没有收到从主节点请求从节点不会发送数据,从节点不会互相通信。
本机地址 | 功能码 | 数据 | CRC校验码 |
(1Byte) | (1Byte) | (n Byte) | (2Byte) |
采用Modbus规约的RTU方式,数据部分高字节在前,CRC低字节在前。
BMS做从机,地址默认为1,支持0x03读、0x04读、0x06和0x10写功能码。
- 1.3功能码
下表列出了目前所支持的功能码及其功能描述。
序号 | 功能码 | 功能码描述 | 备注 |
1 | 0x01 | 读线圈 | |
2 | 0x02 | 读离散量输入 | |
3 | 0x03 | 读保持寄存器 | |
4 | 0x04 | 读输入寄存器 | |
5 | 0x05 | 写单个线圈 | |
6 | 0x06 | 写单个寄存器 |
- 1.4寄存器定义
- (1)水冷机/空调、风机模式(0x01读,0x5写)(部分内容)
地址 | 读寄存器名称 | R(读)/W(写) | 数据范围 | 单位 | 说明 |
20 | 逆变电源复归 | R/W | 1:复归,0:不动作 | ||
21 | 应急通风手/自动模式 | R/W | 1:自动,0:手动 | ||
22 | 应急通风手动启动 | R/W | 1:启动,0:停止 | ||
23 | 水冷机手/自动模式 | R/W | 1:自动,0:手动 | ||
24 | 水冷机手动启动 | R/W | 1:启动,0:停止 |
- (2)读箱式电源系统监测状态信息(只0x02读)(部分内容)
地址 | 读寄存器名称 | R(读)/W(写) | 数据范围 | 单位 | 说明 |
0 | 主断路器状态反馈 | R | 1:闭合,0:断开 | ||
1 | 环境一级故障状态 | R | 1:故障,0:正常 | ||
2 | 环境二级故障状态 | R | 1:故障,0:正常 | ||
3 | 一级、二级紧急关断信号 | R | 1:关断,0:未关断 | ||
4 | 安全互锁信号 | R | 1:互锁,0:未动作 | ||
5 | 消音按钮反馈 | R | 1:消音,0:未动作 | ||
6 | 远程/就地模式 | R | 1:就地,0:远程 | ||
7 | 启动/停止信号 | R | 1:启动,0:停止 | ||
8 | 复位按钮反馈 | R | 1:复位,0:未动作 | ||
9 | 急停按钮反馈 | R | 1:急停,0:未动作 | ||
200 | 簇过压三级告警 | R | 1:告警,0:正常 | ||
201 | 簇过压二级告警 | R | 1:告警,0:正常 | ||
202 | 簇过压一级告警 | R | 1:告警,0:正常 |
- (3)箱式电源系统实时监测数据(0x04只读)(部分内容)
地址 | 读寄存器名称 | R(读)/W(写) | 数据类型 | 数据范围 | 单位 | 说明 |
0 | 操作状态/模式 | R | uint16 | 1:本地,0远程 | ||
1 | 箱号 | R | uint16 | 集装箱地址 | ||
2 | 母线总功率 | R | uint16 | KW | ||
3 | 母线总电压 | R | uint16 | 0.1V | ||
4 | 母线总电流 | R | int16 | 0.1A | 充电为负 | |
5 | 总SOC | R | uint16 | % | ||
6 | 绝缘电阻 | R | uint16 | kΩ | ||
7 | 电池状态 | R | uint16 | 0:待机1:充电3放电 | ||
8 | 总SOH | R | uint16 | % | ||
9 | 输入状态(未用) | R | uint16 | |||
10 | 允许最大放电功率 | R | uint16 | kw | ||
11 | 允许最大充电功率 | R | uint16 | kw | ||
12 | 允许最大可放电量 | R | uint16 | kwh | ||
13 | 允许最大可充电量 | R | uint16 | kwh | ||
14 | 系统最高单体电压簇号 | R | uint16 | |||
15 | 系统最高单体电压簇内序号 | R | uint16 |
- (4)箱式电源监测数据(0x03读,0x06写)(部分内容)
地址 | 读寄存器名称 | R(读)/W(写) | 数据类型 | 数据范围 | 单位 | 说明 |
0 | 集装箱IP地址/箱号 | R/W | uint16 | |||
1 | 手动设置IP使能 | R/W | 10、11、12、13、14..... | |||
2 | 簇地址 | R/W | uint16 | 1~8 | ||
3 | 簇地址 | R/W | uint16 | 1~8 | ||
4 | 簇地址 | R/W | uint16 | 1~8 | ||
5 | 簇地址 | R/W | uint16 | 1~8 | ||
10 | 主继电器 | R/W | uint16 | 1:闭合,0:断开 | ||
11 | 就绪指示灯 | R/W | uint16 | 1:亮,0:灭 | ||
12 | 运行指示灯 | R/W | uint16 | 1:亮,0:灭 | ||
13 | 故障指示灯 | R/W | uint16 | 1:亮,0:灭 | ||
14 | 报警蜂鸣器 | R/W | uint16 | 1:亮,0:灭 | ||
15 | SOC低指示灯 | R/W | uint16 | 1:亮,0:灭 | ||
16 | 过温指示灯 | R/W | uint16 | 1:亮,0:灭 | ||
17 | 禁止充电 | R/W | uint16 | 1:禁止,0:不禁止 | 测试用 | |
20 | 开入开出测试使能 | R/W | uint16 | 1:使能,0:不使能 | ||
40 | 域控MAC地址1 | R/W | uint16 | 第一个参数为偶数 |