3. 通信协议与点表核对
储能EMS要完成功率调度、状态监视、告警联锁和保护联动,前提是它能“看懂”PCS、BMS、空调、消防、电表等设备的数据。通信协议决定数据怎么传,点表决定每个数据代表什么。联调阶段大量“数据不对、控制无效、告警误报”问题,根源并不在控制策略,而在协议选型与点表核对没有闭环。
三类协议在储能系统中的分工
Modbus TCP/RTU是储能现场最普遍的协议。RTU走RS-485串行总线,常用于BMS、温控、消防主机、电表等低速设备;TCP走以太网,常用于PCS、EMS与就地监控之间的数据交互。Modbus的核心是“寄存器地址+功能码+数据类型”,它本身不携带语义,同一个40001地址在不同厂家可能表示A相电压,也可能表示SOC,因此点表是唯一语义来源。
IEC 61850多用于升压站、并网点、保护测控和部分大型PCS。它用逻辑设备(LD)、逻辑节点(LN)、数据对象(DO)和数据属性(DA)构成分层信息模型,并通过MMS、GOOSE、SV报文承载。相比Modbus,61850自带语义和自描述能力,但配置复杂度高,依赖SCD/CID文件,联调时必须核对模型引用路径与数据集成员。
CAN主要用于BMS内部、PCS功率模块之间以及部分簇级管理单元。它面向报文而非寄存器,通过CAN ID区分帧类型,数据场按字节偏移和位域解析。CAN点表核对的重点是帧ID、周期、字节序、位定义和缩放因子,任何一项不一致都会导致电压、电流、温度解析错误。
点表一致性检查的实际做法
点表核对不是把两份Excel并排看一遍,而是按“物理量—协议地址—解析规则—EMS变量”四层逐项对齐。以一台PCS的A相电压为例,设备手册给出:Modbus TCP,功能码03,寄存器40011,数据类型UINT16,缩放0.1,单位V。EMS侧点表必须写成同样的地址、类型、缩放和单位,否则EMS读到5000时,若缩放写成1,就会显示5000V而不是500.0V。
核对时建议按以下顺序推进:
- 先对地址与功能码。确认寄存器是0基还是1基,40001在设备侧到底对应偏移0还是偏移1。很多“读不到数据”其实是基址差1。
- 再对数据类型与字节序。UINT16、INT16、UINT32、FLOAT32的字节排列不同。Modbus默认大端,但部分设备用CDAB或BADC。32位量必须确认字序和字节序。
- 然后对缩放与量纲。电压0.1、电流0.01、温度0.1、SOC 0.1或1,必须逐点确认。缩放错会导致数值整体偏大或偏小一个数量级。
- 最后对读写权限与状态字。控制类寄存器必须确认是写单个还是写多个,状态字要按位解析,不能整字当数值读。
IEC 61850的核对重点不同。它不核对寄存器地址,而是核对SCD文件中的IED名称、LD实例、LN前缀、DO/DA路径和数据集成员。例如并网点有功功率可能引用为IED1/MMXU1.TotW.mag.f,若EMS侧配置成IED1/MMXU1.TotW.mag,就会因缺少属性层而读不到值。GOOSE联锁还要核对APPID、数据集、GOID和订阅关系,任何一项不匹配都会导致联锁信号丢失。
CAN点表核对则要落到帧级。以BMS上报单体电压为例,假设帧ID为0x18F,周期100ms,数据场8字节,其中字节0~1为单体1电压,小端,缩放0.001V。若EMS按大端解析,读到的值会完全错误。CAN核对必须逐帧确认:帧ID、周期、字节偏移、位域、字节序、缩放、无效值定义。
常见错误与排查方向
| 错误现象 | 常见原因 | 排查方向 |
|---|---|---|
| 读不到任何数据 | 基址差1、站号错、功能码错、串口参数不一致 | 用Modbus Poll逐点读,确认站号、波特率、校验位、寄存器基址 |
| 数值整体偏大/偏小 | 缩放因子不一致、量纲不一致 | 对照设备手册与EMS点表,逐点核对缩放和单位 |
| 数值跳变或乱码 | 字节序/字序错误、32位量按16位读 | 用原始报文比对,确认ABCD/CDAB/BADC/DCBA |
| 控制命令下发无效 | 写功能码错、地址映射错、权限只读 | 确认写单个/写多个,检查设备侧是否允许远程写 |
| 告警误报或漏报 | 状态字按位解析错、位定义不一致 | 逐位核对状态字定义,确认0/1有效含义 |
| 61850读值失败 | LD/LN/DO/DA路径错、数据集成员错 | 用61850客户端浏览模型,核对SCD引用路径 |
| CAN数据错位 | 帧ID错、字节偏移错、字节序错 | 用CAN分析仪抓原始帧,逐字节比对点表 |
实际联调中,建议先做“单点闭环”:选一个模拟量(如A相电压)和一个控制量(如有功功率设定),从设备侧读到EMS侧显示,再从EMS侧下发到设备侧执行,确认整条链路地址、类型、缩放、权限全部正确。单点闭环通过后,再批量核对其余点位,效率远高于逐点盲查。点表核对完成后,应形成一份带版本号的核对记录,标注每个点位的地址、类型、缩放、量纲、读写权限和核对结果,作为后续运维和故障排查的依据。