1、 注册心跳帧类型码数据定义
1.1 充电桩登录认证
1.2 登录认证应答
1.3 充电桩心跳包
1.4 心跳包应答
1.5 计费模型验证请求
1.6 计费模型验证请求应答
1.7 充电桩计费模型请求
1.8 计费模型请求应答
2、 实时数据帧类型码数据定义
2.1 读取实时监测数据
2.2 上传实时监测数据
2.3 充电握手
2.4 参数配置
2.5 充电结束
2.6 错误报文
2.7 充电阶段 BMS 中止
2.8 充电阶段充电机中止
2.9 充电过程 BMS 需求与充电机输出
2.10 充电过程 BMS 信息
3、 运营交互帧类型码数据定义
3.1 充电桩主动申请启动充电
3.2 运营平台确认启动充电
3.3 运营平台远程控制启机
3.4 远程启动充电命令回复
3.5 运营平台远程停机
3.6 远程停机命令回复
3.7 远程停机命令回复
3.8 交易记录
3.8 交易记录确认
3.9 远程账户余额更新
3.10 余额更新应答
3.11 离线卡数据同步
3.12 离线卡数据同步应答
3.13 离线卡数据清除
3.14 离线卡数据清除应答
3.15 离线卡数据查询
3.16 离线卡数据查询应答
4、 运营平台设置帧类型码数据定义
4.1 充电桩工作参数设置
4.2 充电桩工作参数设置应答
4.3 对时设置
4.4 对时设置应答
4.5 计费模型设置
4.6 计费模型应答
5、车位锁通信协议定义
地锁状态变化需要传输给平台,若地锁出现故障,则传输故障码至平台,若检测出现故障则,默认 地锁为降下状态;若为升降出现故障,则保持现有状态
5.1 地锁数据上送
5.2 遥控地锁升锁与降锁命令
5.3 充电桩返回数据(上行)
6、 电桩远程维护帧类型码数据定义
6.1 远程重启
6.2 远程重启应答
6.3 远程更新
6.4 远程更新应答
7、附录
7.1 充电停止原因代码表
7.2 CRC16 校验的计算方法
CRC(Cyclical Redundancy Check)由两字节组成,生成函数如下:
1、CRC 计算函数
WORD ModbusCRC(BYTE * pData, BYTE len)
{
BYTE byCRCHi = 0xff;
BYTE byCRCLo = 0xff;
BYTE byIdx;
WORD crc;
while(len--)
{
byIdx = byCRCHi ^* pData++;
byCRCHi = byCRCLo ^ gabyCRCHi[byIdx];
byCRCLo = gabyCRCLo[byIdx];
}
crc = byCRCHi;
crc <<= 8;
crc += byCRCLo;
return crc;
}
CRC 码表高字节
BYTE gabyCRCHi[] =
{
0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,0x01,0xc0,
0x80,0x41,0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,
0x00,0xc1,0x81,0x40,0x00,0xc1,0x81,0x40,0x01,0xc0,
0x80,0x41,0x01,0xc0,0x80,0x41,0x00,0xc1,0x81,0x40,
0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,0x00,0xc1,
0x81,0x40,0x01,0xc0,0x80,0x41,0x01,0xc0,0x80,0x41,
0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,0x00,0xc1,
38
0x81,0x40,0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,
0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,0x01,0xc0,
0x80,0x41,0x00,0xc1,0x81,0x40,0x00,0xc1,0x81,0x40,
0x01,0xc0,0x80,0x41,0x01,0xc0,0x80,0x41,0x00,0xc1,
0x81,0x40,0x01,0xc0,0x80,0x41,0x00,0xc1,0x81,0x40,
0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,0x01,0xc0,
0x80,0x41,0x00,0xc1,0x81,0x40,0x00,0xc1,0x81,0x40,
0x01,0xc0,0x80,0x41,0x00,0xc1,0x81,0x40,0x01,0xc0,
0x80,0x41,0x01,0xc0,0x80,0x41,0x00,0xc1,0x81,0x40,
0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,0x01,0xc0,
0x80,0x41,0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,
0x00,0xc1,0x81,0x40,0x00,0xc1,0x81,0x40,0x01,0xc0,
0x80,0x41,0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,
0x01,0xc0,0x80,0x41,0x00,0xc1,0x81,0x40,0x01,0xc0,
0x80,0x41,0x00,0xc1,0x81,0x40,0x00,0xc1,0x81,0x40,
0x01,0xc0,0x80,0x41,0x01,0xc0,0x80,0x41,0x00,0xc1,
0x81,0x40,0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,
0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,0x01,0xc0,
0x80,0x41,0x00,0xc1,0x81,0x40
};
CRC 码表高字节
BYTE gabyCRCLo[] =
{
0x00,0xc0,0xc1,0x01,0xc3,0x03,0x02,0xc2,0xc6,0x06,
0x07,0xc7,0x05,0xc5,0xc4,0x04,0xcc,0x0c,0x0d,0xcd,
0x0f,0xcf,0xce,0x0e,0x0a,0xca,0xcb,0x0b,0xc9,0x09,
0x08,0xc8,0xd8,0x18,0x19,0xd9,0x1b,0xdb,0xda,0x1a,
0x1e,0xde,0xdf,0x1f,0xdd,0x1d,0x1c,0xdc,0x14,0xd4,
0xd5,0x15,0xd7,0x17,0x16,0xd6,0xd2,0x12,0x13,0xd3,
0x11,0xd1,0xd0,0x10,0xf0,0x30,0x31,0xf1,0x33,0xf3,
0xf2,0x32,0x36,0xf6,0xf7,0x37,0xf5,0x35,0x34,0xf4,
0x3c,0xfc,0xfd,0x3d,0xff,0x3f,0x3e,0xfe,0xfa,0x3a,
0x3b,0xfb,0x39,0xf9,0xf8,0x40,0x28,0xe8,0xe9,0x29,
0xeb,0x2b,0x2a,0xea,0xee,0x2e,0x2f,0xef,0x2d,0xed,
0xec,0x2c,0xe4,0x24,0x25,0xe5,0x27,0xe7,0xe6,0x26,
0x22,0xe2,0xe3,0x23,0xe1,0x21,0x20,0xe0,0xa0,0x60,
0x61,0xa1,0x63,0xa3,0xa2,0x62,0x66,0xa6,0xa7,0x67,
0xa5,0x65,0x64,0xa4,0x6c,0xac,0xad,0x6d,0xaf,0x6f,
0x6e,0xae,0xaa,0x6a,0x6b,0xab,0x69,0xa9,0xa8,0x68,
0x78,0xb8,0xb9,0x79,0xbb,0x7b,0x7a,0xba,0xbe,0x7e,
0x7f,0xbf,0x7d,0xbd,0xbc,0x7c,0xb4,0x74,0x75,0xb5,
0x77,0xb7,0xb6,0x76,0x72,0xb2,0xb3,0x73,0xb1,0x71,
0x70,0xb0,0x50,0x90,0x91,0x51,0x93,0x53,0x52,0x92,
0x96,0x56,0x57,0x97,0x55,0x95,0x94,0x54,0x9c,0x5c,
0x5d,0x9d,0x5f,0x9f,0x9e,0x5e,0x5a,0x9a,0x9b,0x5b,
0x99,0x59,0x58,0x98,0x88,0x48,0x49,0x89,0x4b,0x8b,
0x8a,0x4a,0x4e,0x8e,0x8f,0x4f,0x8d,0x4d,0x4c,0x8c,
0x44,0x84,0x85,0x45,0x87,0x47,0x46,0x86,0x82,0x42,
0x43,0x83,0x41,0x81,0x80,0x40
};