Files
CCU621M/Third_party/sdkEng/dev_model/protocol_data_def.h
T

1644 lines
58 KiB
C
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#if !defined(_PROTOCOL_DATA_DEF_H_)
#define _PROTOCOL_DATA_DEF_H_
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "infra_types.h"
#include "infra_defs.h"
/*******************************用户可配置项***************************************/
#define EVS_MAX_PORT_NUM (2) // 充电接口数量
#define EVS_MAX_INPUT_METER_NUM (1) // 直流充电桩输入电表数量
#define EVS_MAX_ALARM_LEN (255) // 最大故障告警数
#define EVS_MAX_DATA_LEN (128) // 响应数据区域长度
/*********************************************************************************/
#define EVS_MAX_SEG_LEN (96) // 最大功率调节时段数
#define EVS_MAX_TRADE_LEN (40 + 1) // 最大订单号长度:设备唯一标识(充电桩资产码:24位)+充电接口标识(2 位)+ 序列号(12 位)
#define EVS_MAX_CAR_VIN_LEN (17 + 1) // 最大车辆唯一识别码长度
#define EVS_MAX_MAC_ADDR_LEN (32 + 1) // 设备mac地址长度
#define EVS_MAX_MODEL_ID_LEN (16 + 1) // 最大计费模型id长度
#define EVS_MAX_QRCODE_LEN (256) // 二维码长度
#define EVS_MAX_ICCID_LEN (24) // sim卡iccid长度
#define EVS_MAX_PILE_TYPE_LEN (20) // 桩类型长度
#define EVS_MAX_DEV_SN_LEN (16 + 1) // 厂商出厂编码
#define EVS_MAX_MODEL_DEVSEG (96) // 最大计费模型时段数
#define EVS_MAX_METER_ADDR_LEN (6) // 电表地址长度
#define EVS_MAX_METER_ASSET_LEN (32 + 1) // 电表资产码长度
#define EVS_MAX_TIMESTAMP_LEN (15 + 1) // 时间戳长度
#define EVS_MAX_SOFTWAREVER_LEN (255 + 1) // 充电桩软件版本号长度
#define EVS_MAX_HARDWAREVER_LEN (255 + 1) // 充电桩硬件版本号长度
#define EVS_MAX_SDKVER_LEN (255 + 1) // SDK版本号长度
#define EVS_MAX_LOGQUERY_LEN (38 + 1) // 查询日志流水号长度
#define EVS_MAX_LOGAREA_LEN (255 + 1) // 日志响应数据最大长度
#define EVS_MAX_CARD_LEN (20 + 1) // 卡片序列号长度
#define EVS_MAX_PSYCARD_LEN (16 + 1) // 物理卡号长度
#define EVS_MAX_RANDDOM_LEN (8 + 1) // 随机数长度
#define EVS_MAX_TRADE_MAC_LEN (8 + 1) // 交易验证码长度
#define EVS_MAX_AUTHCODE_LEN (255 + 1) // 本地鉴权鉴权码长度
#define EVS_MAX_NETMDUINFO_LEN (64 + 1) // 网络模块型号长度
#define EVS_MAX_MDUINT_NUM (10) // 模块int型数组长度
#define EVS_MAX_MDUSTRING_NUM (10) // 模块string型数组长度
#define EVS_MAX_MDUSTRING_LEN (255 + 1) // 模块string长度
#define EVS_MAX_FUNCONF_LEN (255 + 1) // 功能配置参数最大长度
#define EVS_MAX_TERMINAL_SN_LEN (12 + 1) // 终端机编号最大长度
#define EVS_MAX_TIME_STRING_LEN (14 + 1) // 鉴权时间戳最大长度
#define EVS_MAX_TRADE_MAC2_LEN (8 + 1) // 加密机鉴权码最大长度
#define EVS_MAX_DEVINFO_LEN (64 + 1) // 设备信息长度
#define EVS_MAX_BLE_SECRETKEY_LEN (24 + 1) // 蓝牙密钥最大长度
#define EVS_MAX_BLE_MAC_NUM (10 + 1) // 蓝牙MAC最大数量
#define EVS_MAX_BLE_MACLIST_LEN (64 + 1) // 蓝牙鉴权信息最大长度
#define EVS_MAX_BLE_MAC_LEN (12 + 1) // 蓝牙MAC最大长度
#define EVS_MAX_VIN_LIST_LEN (100) // 白名单最大VIN条数
#define EVS_MAX_VIN_SN_LEN (38 + 1) // 查询日志流水号长度
#define EVS_MAX_OPT_SN_LEN (39 + 1) // 功能配置更新操作流水号长度
#define EVS_MAX_PARTS_SWITCH_NUM 10 // 部件开关最大数量
#define EVS_MAX_NET_SIG_QUA_LEN (255 + 1) // 网络信号质量最大长度
#define EVS_MAX_SAMPLE_VAL_LEN (255 + 1) // 设备运行采样数据最大长度
typedef struct
{
char product_key[IOTX_PRODUCT_KEY_LEN + 1]; // 设备品类标识字符串
char product_secret[IOTX_PRODUCT_SECRET_LEN + 1]; // 设备品类密钥
char device_name[IOTX_DEVICE_NAME_LEN + 1]; // 某台设备的标识字符串:未注册前为设备出厂编号(16位长度),注册后为设备在物联管理平台的资产码(24位长度)
char device_secret[IOTX_DEVICE_SECRET_LEN + 1]; // 某台设备的设备密钥
char device_reg_code[IOTX_DEVICE_REG_CODE_LEN + 1]; // 某台设备的设备注册码
char device_uid[IOTX_DEVICE_UID_LEN + 1]; // 某台设备的出厂编号
} evs_device_meta;
typedef enum
{
EVS_CMD_READER_INIT = 0, // 读卡器初始化
EVS_CMD_READER_CHECK, // 读卡器状态检查
EVS_CMD_OPEN_RF, // 打开射频
EVS_CMD_FOUND_CARD, // 卡片激活
EVS_CMD_GET_USER_ID, // 获取卡片序列号
EVS_CMD_GET_PSY_ID, // 获取卡片物理卡号
EVS_CMD_CHECK_PIN, // 卡密验证
EVS_CMD_GET_KEY_VER, // 获取卡片密钥版本
EVS_CMD_GET_CARD_AUTH, // 获取卡片鉴权信息
EVS_CMD_CONFIRM_AUTHCODE_S, // 确认平台鉴权信息
EVS_CMD_CLOSE_RF, // 关闭射频
} evs_cmd_card_enum;
typedef enum
{
EVS_CMD_EVENT_FIRMWARE_INFO = 0,
EVS_CMD_EVENT_ASK_FEEMODEL,
EVS_CMD_EVENT_STARTCHARGE,
EVS_CMD_EVENT_STARTRESULT,
EVS_CMD_EVENT_STOPCHARGE,
EVS_CMD_EVENT_TRADEINFO,
EVS_CMD_EVENT_ALARM,
EVS_CMD_EVENT_ACPILE_CHANGE,
EVS_CMD_EVENT_DCPILE_CHANGE,
EVS_CMD_EVENT_GROUNDLOCK_CHANGE,
EVS_CMD_EVENT_GATELOCK_CHANGE,
EVS_CMD_EVENT_ASK_DEV_CONFIG,
EVS_CMD_EVENT_CAR_INFO,
EVS_CMD_EVENT_VER_INFO,
EVS_CMD_EVENT_LOGQUERY_RESULT,
EVS_CMD_EVENT_CARD_INFO,
EVS_CMD_EVENT_CARD_AUTH,
EVS_CMD_EVENT_CARD_AUTH_RESULT,
EVS_CMD_EVENT_CARD_CHECK_ERROR,
EVS_CMD_EVENT_DEVMDU_INFO,
EVS_CMD_EVENT_CHARGE_CONNECT,
EVS_CMD_EVENT_BLE_PLUG_CHARGE_INFO,
EVS_CMD_EVENT_BLE_CONN_CHANGE,
EVS_CMD_EVENT_VIN_CHECK_RESULT,
EVS_CMD_EVENT_PILE_PARTS_CCU_INFO,
EVS_CMD_EVENT_PILE_PARTS_PCU_INFO,
EVS_CMD_EVENT_PILE_PARTS_CU_INFO,
EVS_CMD_EVENT_PILE_PARTS_SWITCH_INFO,
EVS_CMD_EVENT_PILE_PARTS_EDAS_INFO,
EVS_CMD_EVENT_PILE_PARTS_CU_WORK_INFO,
EVS_CMD_EVENT_RAW_DATA,
EVS_CMD_EVENT_DEV_MAINTAIN_RESULT,
EVS_CMD_EVENT_LOCK_CTRL_RESULT,
EVS_CMD_EVENT_TIME_SYNC_RESULT,
} evs_cmd_event_enum;
typedef enum
{
EVS_CMD_PROPERTY_DCPILE = 0,
EVS_CMD_PROPERTY_ACPILE,
EVS_CMD_PROPERTY_AC_WORK,
EVS_CMD_PROPERTY_AC_NONWORK,
EVS_CMD_PROPERTY_DC_WORK,
EVS_CMD_PROPERTY_DC_NONWORK,
EVS_CMD_PROPERTY_DC_OUTMETER,
EVS_CMD_PROPERTY_AC_OUTMETER,
EVS_CMD_PROPERTY_BMS,
EVS_CMD_PROPERTY_DC_INPUT_METER,
} evs_cmd_property_enum;
// 固件信息上报事件参数
typedef struct
{
char simNo[EVS_MAX_ICCID_LEN]; // 1 SIM卡号
char feeModelId[EVS_MAX_MODEL_ID_LEN]; // 2 电费计费模型编号
char stakeModel[EVS_MAX_PILE_TYPE_LEN]; // 3 充电桩型号
unsigned int vendorCode; // 4 生产厂商编码
char devSn[EVS_MAX_DEV_SN_LEN]; // 5 出厂编号//字符串
unsigned char devType; // 6 桩类型
unsigned char portNum; // 7 充电接口数量
char simMac[EVS_MAX_MAC_ADDR_LEN]; // 8 网络MAC地址//字符串
unsigned int longitude; // 9 经度
unsigned int latitude; // 10 纬度
unsigned int height; // 11 高度
unsigned int gridType; // 12 坐标类型
char btMac[EVS_MAX_MAC_ADDR_LEN]; // 13 蓝牙MAC地址
unsigned char meaType; // 14 计量方式
unsigned int otRate; // 15 额定功率
unsigned int otMinVol; // 16 输出最小电压
unsigned int otMinCur; // 17 输出最大电流
unsigned int otMaxVol; // 18 输出最大电压
unsigned int otMaxCur; // 19 输出最大电流
char inMeter[EVS_MAX_INPUT_METER_NUM][EVS_MAX_METER_ADDR_LEN]; // 20 交流输入电表地址//压缩BCD
char outMeter[EVS_MAX_PORT_NUM][EVS_MAX_METER_ADDR_LEN]; // 21 计量用电能表地址//压缩BCD
unsigned int CT; // 22 电流互感器系数 默认值1
unsigned char isGateLock; // 23 是否有智能门锁
unsigned char isGroundLock; // 24 是否有地锁
unsigned char mutliChargingMode; // 25 是否支持多时段类型计费模型
} evs_event_firmware_info;
// 即插即充智能卡信息
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char cardSn[EVS_MAX_CARD_LEN]; // 2 智能卡序列号
char cardPsySn[EVS_MAX_PSYCARD_LEN]; // 3 智能卡物理卡号
unsigned char startMode; // 4 充电模式
} evs_event_card_info;
// 即插即充智能卡鉴权信息
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char randomC[EVS_MAX_RANDDOM_LEN]; // 2 智能卡随机数
char cardBalance[8 + 1]; // 3 智能卡余额
char cardTradeSn[4 + 1]; // 4 智能卡联机交易序号
char keyVer[3]; // 5 秘钥版本
char keyFlag[3]; // 6 密钥标识
char tradeMac1[EVS_MAX_TRADE_MAC_LEN]; // 7 鉴权码
} evs_event_card_auth;
// 即插即充智能卡鉴权结果信息
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char preTradeNo[EVS_MAX_TRADE_LEN]; // 2 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 3 设备交易流水号
char tradeTac[EVS_MAX_TRADE_MAC_LEN]; // 4 鉴权确认码
} evs_event_card_auth_result;
// 设备版本信息
typedef struct
{
unsigned char devRegMethod; // 1 设备注册方式
char pileSoftwareVer[EVS_MAX_SOFTWAREVER_LEN]; // 2 充电桩软件版本号
char pileHardwareVer[EVS_MAX_HARDWAREVER_LEN]; // 3 充电桩硬件版本号
char sdkVer[EVS_MAX_SDKVER_LEN]; // 4 SDK版本号
} evs_event_ver_info;
// 设备配置数据
typedef struct
{
unsigned int equipParamFreq; // 1 充电设备实时监测属性上报频率
unsigned int gunElecFreq; // 2 充电枪充电中实时监测属性上报频率
unsigned int nonElecFreq; // 3 充电枪非充电中实时监测属性上报频率
unsigned int faultWarnings; // 4 故障告警全信息上传频率
unsigned int acMeterFreq; // 5 充电设备交流电表底值监测属性上报频率
unsigned int dcMeterFreq; // 6 直流输出电表底值监测属性上报频率
unsigned int offlinChaLen; // 7 离线后可充电时长
unsigned int grndLock; // 8 地锁监测上送频率
unsigned int doorLock; // 9 网门锁监测上送频率
char qrCode[EVS_MAX_PORT_NUM][EVS_MAX_QRCODE_LEN]; // 10 二维码数据
unsigned int s2CloseTime; // 11 交流启动S2闭合超时
unsigned int s2OpenTime; // 12 交流充电中S2长时间断开超时
} evs_data_dev_config;
// 设备日志查询服务下发参数
typedef struct
{
unsigned char gunNo; // 枪号 gunNo
unsigned int startDate; // 查询起始时间戳 startDate
unsigned int stopDate; // 查询终止时间戳 stopDate
unsigned char askType; // 查询类型 askType
char logQueryNo[EVS_MAX_LOGQUERY_LEN]; // 查询流水号
} evs_service_query_log;
// 日志查询服务回复参数
typedef struct
{
unsigned char gunNo; // 1 枪号
unsigned int startDate; // 2 查询起始时间
unsigned int stopDate; // 3 查询终止时间
unsigned char askType; // 4 查询类型
unsigned char result; // 5 响应结果
char logQueryNo[EVS_MAX_LOGQUERY_LEN]; // 6 查询流水号
} evs_service_feedback_query_log;
// 设备维护指令服务下发参数
typedef struct
{
unsigned char gunNo; // 1 枪号
unsigned char ctrlType; // 2 控制类型
} evs_service_dev_maintain;
// 设备维护状态查询服务回复参数
typedef struct
{
unsigned char ctrlType; // 1 当前类型
unsigned char result; // 2 查询结果
} evs_service_feedback_maintain_query;
// 充电枪电子锁控制服务下发参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char lockParam; // 2 控制
} evs_service_lockCtrl;
// 计费模型请求事件
typedef struct
{
char feeModelId[EVS_MAX_MODEL_ID_LEN]; // 1 计费模型编号
} evs_event_ask_feeModel;
// 计费模型更新服务下发参数
typedef struct
{
char feeModelId[EVS_MAX_MODEL_ID_LEN]; // 1 电费计费模型编号
unsigned char timeNum; // 2 电费模型时段数N 取值范围:1—96
char timeSeg[EVS_MAX_MODEL_DEVSEG][5]; // 3 电费模型时段开始时间点
unsigned int chargeFee[EVS_MAX_MODEL_DEVSEG]; // 4 电费模型
unsigned int serviceFee[EVS_MAX_MODEL_DEVSEG]; // 5 服务费费模型
} evs_service_issue_feeModel;
// 计费模型更新结果设备回复参数
typedef struct
{
char feeModelId[EVS_MAX_MODEL_ID_LEN]; // 1 电费计费模型编号
unsigned char result; // 2 失败原因
} evs_service_feedback_feeModel;
// 远程启动充电服务下发参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char preTradeNo[EVS_MAX_TRADE_LEN]; // 2 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 3 设备交易流水号
unsigned char startType; // 4 启动方式
unsigned char chargeMode; // 5 充电模式
unsigned int limitData; // 6 限制值
unsigned int stopCode; // 7 停机码
unsigned char startMode; // 8 启动模式
unsigned int insertGunTime; // 10 插枪事件时间戳
} evs_service_startCharge;
// 启动充电服务设备回复参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char preTradeNo[EVS_MAX_TRADE_LEN]; // 2 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 3 设备交易流水号
} evs_service_feedback_startCharge;
// 启动充电结果事件参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char preTradeNo[EVS_MAX_TRADE_LEN]; // 2 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 3 设备交易流水号
unsigned char startResult; // 4 启动结果
unsigned int faultCode; // 5 故障代码
char vinCode[EVS_MAX_CAR_VIN_LEN]; // 6 vin码
} evs_event_startResult;
// 启动充电鉴权事件参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char preTradeNo[EVS_MAX_TRADE_LEN]; // 2 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 3 设备交易流水号
unsigned char startType; // 4 启动方式
char authCode[EVS_MAX_CAR_VIN_LEN]; // 5 鉴权码 若启动方式为反向扫码,填入二维码信息;若为即插即充则为VIN码。
unsigned char batterySOC; // 6 电池SOC
unsigned int batteryCap; // 7 电车容量
unsigned int chargeTimes; // 8 已充电次数
unsigned int batteryVol; // 9 当前电池电压
} evs_event_startCharge;
// 鉴权充电服务下发参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char preTradeNo[EVS_MAX_TRADE_LEN]; // 2 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 3 设备交易流水号
unsigned char startType; // 4 启动方式
char authCode[EVS_MAX_AUTHCODE_LEN]; // 5 鉴权码
unsigned char result; // 6 鉴权结果
unsigned char chargeMode; // 7 充电模式
unsigned int limitData; // 8 限制值
unsigned int stopCode; // 9 停机码
unsigned char startMode; // 10 启动模式
unsigned int insertGunTime; // 11 插枪事件时间戳
} evs_service_authCharge;
// 鉴权启动充电服务设备回复参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char preTradeNo[EVS_MAX_TRADE_LEN]; // 2 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 3 设备交易流水号
} evs_service_feedback_authCharge;
// 远程停止充电服务下发参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char preTradeNo[EVS_MAX_TRADE_LEN]; // 2 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 3 设备交易流水号
unsigned char stopReason; // 4 停止原因
} evs_service_stopCharge;
// 远程停止充电服务设备回复参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char preTradeNo[EVS_MAX_TRADE_LEN]; // 2 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 3 设备交易流水号
} evs_service_feedback_stopCharge;
// 设备部件配置参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char optSn[EVS_MAX_OPT_SN_LEN]; // 2 平台操作序号
unsigned int funCode; // 3 功能代码
unsigned int confInt; // 4 参数信息
char confString[EVS_MAX_FUNCONF_LEN]; // 5 字符信息
// unsigned int powerAlloc; // 3 功率动态分配策略
// char partsType; // 4 组件类型
// char sendMode; // 5 上送方式
// char ccuPeriod; // 6 控制器上送周期
// char tcuPeriod; // 7 tcu上送周期
} evs_service_config_parts;
typedef struct
{
unsigned int resCode; // 1 结果
char optSn[EVS_MAX_OPT_SN_LEN]; // 2 平台操作序号
unsigned int funCode; // 3 功能代码
} evs_service_feedback_config_parts;
// 设备部件配置参数查询
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char partsType; // 2 部件类型
unsigned int funCode; // 3 功能代码
} evs_service_parts_config_get;
// 设备部件配置结果
typedef struct
{
unsigned int result; // 1 结果
unsigned int confInt; // 2 配置参数信息
char confString[EVS_MAX_FUNCONF_LEN]; // 3 配置字符信息
} evs_service_feedback_config_parts_get;
// 交易记录召测服务
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char askType; // 2 召测类型
char preTradeNo[EVS_MAX_TRADE_LEN]; // 3 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 4 设备交易流水号
char startDate[EVS_MAX_TIMESTAMP_LEN]; // 5 查询起始时间
char stopDate[EVS_MAX_TIMESTAMP_LEN]; // 6 查询结束时间
} evs_service_trade_get;
// 交易记录召测结果
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char askType; // 2 召测类型
char preTradeNo[EVS_MAX_TRADE_LEN]; // 3 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 4 设备交易流水号
char startDate[EVS_MAX_TIMESTAMP_LEN]; // 5 查询起始时间
char stopDate[EVS_MAX_TIMESTAMP_LEN]; // 6 查询结束时间
unsigned char askResult; // 7 查询结果
unsigned int tradeCnt; // 8 上报条数
} evs_service_feedback_trade_get;
// 电表底值召测服务
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char askType; // 2 召测类型
char askDate[EVS_MAX_TIMESTAMP_LEN]; // 3 查询时间
} evs_service_meter_get;
// 电表底值召测结果
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char askType; // 2 召测类型
char askDate[EVS_MAX_TIMESTAMP_LEN]; // 3 查询时间
unsigned char askResult; // 4 召测结果
} evs_service_feedback_meter_get;
// 设备维护指令结果
typedef struct
{
unsigned char ctrlType; // 1 当前控制类型
unsigned int reason; // 2 失败原因
} evs_event_feedback_dev_maintain;
// 电子锁控制结果
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char lockStatus; // 2 电子锁状态
unsigned int resCode; // 3 结果
} evs_event_feedback_lockCtrl;
// 停止充电结果事件上传参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char preTradeNo[EVS_MAX_TRADE_LEN]; // 2 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 3 设备交易流水号
unsigned char stopResult; // 4 停止结果
unsigned int resultCode; // 5 停止原因
unsigned char stopFailReson; // 6 停止失败原因
} evs_event_stopCharge;
// 交易记录事件上传参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char preTradeNo[EVS_MAX_TRADE_LEN]; // 2 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 3 设备交易流水号
char vinCode[EVS_MAX_CAR_VIN_LEN]; // 4 VIN
unsigned char timeDivType; // 5 计量计费类型
unsigned char startType; // 6 启动方式
unsigned int chargeStartTime; // 7 开始充电时间
unsigned int chargeEndTime; // 8 结束充电时间
unsigned char startSoc; // 9 启动时SOC
unsigned char endSoc; // 10 停止时SOC
unsigned int reason; // 11 停止充电原因
char feeModelId[EVS_MAX_MODEL_ID_LEN]; // 12 计量计费模型编号
long long sumStart; // 13 电表总起示值
long long sumEnd; // 14 电表总止示值
unsigned int totalElect; // 15 总电量
unsigned int totalPowerCost; // 16 总电费
unsigned int totalServCost; // 17 总服务费
unsigned int totalCost; // 18 总消费金额
unsigned char timeNum; // 19 时段数
unsigned int partElect[EVS_MAX_MODEL_DEVSEG]; // 20 时段电量
unsigned int chargeFee[EVS_MAX_MODEL_DEVSEG]; // 21 时段电费
unsigned int serviceFee[EVS_MAX_MODEL_DEVSEG]; // 22 时段服务费
unsigned char startPoint; // 23 起始点标识
unsigned char crossPoints; // 24 跨越点数
unsigned int pointsElect[EVS_MAX_MODEL_DEVSEG]; // 25 跨越点电量
} evs_event_tradeInfo;
// 交易记录确认服务下发参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char preTradeNo[EVS_MAX_TRADE_LEN]; // 2 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 3 设备交易流水号
unsigned char errcode; // 4 交易记录上传结果
} evs_service_confirmTrade;
// 故障告警事件上传参数
typedef struct
{
unsigned char gunNo; // 1 枪编号
unsigned short faultSum; // 2 故障总
unsigned short warnSum; // 3 告警总
unsigned short faultValue[EVS_MAX_ALARM_LEN]; // 4 故障点数据
unsigned short warnValue[EVS_MAX_ALARM_LEN]; // 5 告警点数据
} evs_event_alarm;
// VIN白名单更新服务下发参数
typedef struct
{
unsigned char updateSN[EVS_MAX_VIN_SN_LEN]; // 1 白名单编号
unsigned char optType; // 2 操作类型
unsigned int totalVINCnt; // 3 白名单总数
unsigned int packTotalCnt; // 4 更新总包数
unsigned int packCnt; // 5 更新包序号
unsigned int packVINCnt; // 6 当前包VIN条数
char vinList[EVS_MAX_VIN_LIST_LEN][EVS_MAX_CAR_VIN_LEN]; // 7 vin列表
} evs_service_vinList_update;
// VIN白名单更新服务设备回复参数
typedef struct
{
unsigned char updateSN[EVS_MAX_VIN_SN_LEN]; // 1 白名单编号
unsigned char optType; // 2 操作类型
unsigned char result; // 3 结果
} evs_service_feedback_vinList_update;
// 预约充电服务下发参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char appoMethod; // 2 预约方式
unsigned short appoDelay; // 3 预留
unsigned short appoData; // 4 预留
unsigned int startChargeTime; // 5 启动充电时间
unsigned int stopChargeTime; // 6 停止充电时间
} evs_service_rsvCharge;
// 预约充电服务设备回复参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char appoMethod; // 2 预约方式
unsigned char result; // 3 预约结果
} evs_service_feedback_rsvCharge;
// 地锁控制服务下发参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char ctrlFlag; // 2 控制指令
} evs_service_groundLock_ctrl;
// 地锁控制服务回复参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char result; // 2 控制结果
unsigned char reason; // 3 失败原因
} evs_service_feedback_groundLock_ctrl;
// 地锁状态变化事件上传参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char lockState; // 2 地锁状态
unsigned char powerType; // 3 供电方式
unsigned char cellState; // 4 电池状态
unsigned char lockerState; // 5 锁舌状态
unsigned char lockerForced; // 6 锁舌受外力强制动作
unsigned char lowPower; // 7 电池低电量报警
unsigned char soc; // 8 电池SOC
unsigned int openCnt; // 9 开闭次数
} evs_event_groundLock_change;
// 智能门锁控制服务下发参数
typedef struct
{
unsigned char lockNo; // 1 门锁编号
unsigned char ctrlFlag; // 2 控制指令
} evs_service_gateLock_ctrl;
// 智能门锁控制服务回复参数
typedef struct
{
unsigned char lockNo; // 1 充电枪编号
unsigned char result; // 2 控制结果
} evs_service_feedback_gateLock_ctrl;
// 智能门锁状态变化事件上传参数
typedef struct
{
unsigned char lockNo; // 1 充电枪编号
unsigned char lockState; // 2 智能门锁状态
} evs_event_gateLock_change;
// 有序充电策略服务下发参数
typedef struct
{
char preTradeNo[EVS_MAX_TRADE_LEN]; // 1 订单流水号
unsigned char num; // 2 策略配置时间段数量
unsigned char validTime[EVS_MAX_SEG_LEN][5]; // 3 策略生效时间//字符串数组。时间格式采用HHMM,24小时制。例如 [time1,time2,time3…]。
unsigned short kw[EVS_MAX_SEG_LEN]; // 4 策略配置功率//整型数组。功率精确到0.1KW[kw1,kw2,kw3…]
} evs_service_orderCharge;
// 有序充电策略服务设备回复参数
typedef struct
{
char preTradeNo[EVS_MAX_TRADE_LEN]; // 1 订单流水号
unsigned char result; // 2 返回结果
unsigned char reason; // 3 失败原因
} evs_service_feedback_orderCharge;
// 交直流充电设备枪状态变化事件上传参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned int yxOccurTime; // 2 发生时刻
unsigned char connCheckStatus; // 3 变位点数据
} evs_event_pile_stutus_change;
// 交直流充电设备充电前车辆信息上报事件上传参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char batterySOC; // 2 电池SOC
unsigned int batteryCap; // 3 电车容量
char vinCode[EVS_MAX_CAR_VIN_LEN]; // 4 vin码
unsigned char state; // 5 获取车辆信息状态
} evs_event_car_info;
// 设备组件信息上报事件参数
typedef struct
{
char netMduInfo[EVS_MAX_NETMDUINFO_LEN]; // 1 网络模块型号
char netMduSoftVer[EVS_MAX_NETMDUINFO_LEN]; // 2 网络模块软件版本号
char netMduImei[EVS_MAX_NETMDUINFO_LEN]; // 3 网络模块IMEI
unsigned char smartGun; // 4 智能充电枪功能 10支持,11不支持
unsigned int mduInfoInt[EVS_MAX_MDUINT_NUM]; // 5 int型数组
char mduInfoString[EVS_MAX_MDUSTRING_NUM][EVS_MAX_MDUSTRING_LEN]; // 6 string型数组
} evs_event_devmdu_info;
// VIN白名单查询结果数据
typedef struct
{
unsigned char result;
unsigned char updateSN[EVS_MAX_VIN_SN_LEN]; // 1 白名单编号
unsigned int totalVINCnt; // 3 白名单总数
unsigned int packTotalCnt; // 4 更新总包数
unsigned int packCnt; // 5 更新包序号
unsigned int packVINCnt; // 6 当前包VIN条数
char vinList[EVS_MAX_VIN_LIST_LEN][EVS_MAX_CAR_VIN_LEN]; // 7 vin列表
} evs_event_vinList_result;
// 时钟同步结果
typedef struct
{
unsigned char srvTime[EVS_MAX_TIMESTAMP_LEN]; // 1 平台时间
unsigned char devTime[EVS_MAX_TIMESTAMP_LEN]; // 2 设备当前时间
unsigned char resCode; // 3 同步结果
} evs_event_time_sync_result;
// 设备功能配置数据
typedef struct
{
unsigned int funCode; // 1 功能代码
unsigned int confInt; // 2 参数信息
char confString[EVS_MAX_FUNCONF_LEN]; // 3 字符信息
char optSn[EVS_MAX_OPT_SN_LEN]; // 4 操作流水号
} evs_service_dev_fun_config;
// 查询设备功能配置回复参数
typedef struct
{
unsigned int resCode; // 1 结果
unsigned int funCode; // 2 功能代码
char optSn[EVS_MAX_OPT_SN_LEN]; // 3 操作流水号
} evs_service_feedback_dev_fun_config;
// 查询设备功能配置
typedef struct
{
unsigned int funCode; // 1 功能代码
} evs_service_get_dev_fun_config;
// 计费模型查询服务下发参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
} evs_service_feeModel_query;
// 计费模型查询结果设备回复参数
typedef struct
{
char feeModelId[EVS_MAX_MODEL_ID_LEN]; // 1 电费模型编号
unsigned char timeNum; // 2 电费模型时段数N 取值范围:1—96
char timeSeg[EVS_MAX_MODEL_DEVSEG][5]; // 3 电费模型时段开始时间点
unsigned int chargeFee[EVS_MAX_MODEL_DEVSEG]; // 4 电费模型
unsigned int serviceFee[EVS_MAX_MODEL_DEVSEG]; // 5 服务费费模型
} evs_service_feedback_feeModel_qurey;
// 充电中连接状态变化事件参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char cpStatus; // 2 CP状态
unsigned int cpVolt; // 3 CP电压采集值
unsigned char s3Status; // 4 S3开关状态
unsigned int yxOccurTime; // 5 发生时刻
} evs_event_charge_connect_change;
// 智能卡检测异常事件参数
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char cardSn[EVS_MAX_CARD_LEN]; // 2 智能卡序列号
char cardPsySn[EVS_MAX_PSYCARD_LEN]; // 3 智能卡物理卡号
unsigned char faultValue; // 4 失败原因
} evs_event_card_check_error;
// 蓝牙秘钥更新服务参数
typedef struct
{
char bleSecretKey[EVS_MAX_BLE_SECRETKEY_LEN]; // 1 蓝牙秘钥
unsigned int updateTime; // 2 更新时间
} evs_service_blesecret_update;
// 蓝牙秘钥更新服务设备回复参数
typedef struct
{
char bleSecretKey[EVS_MAX_BLE_SECRETKEY_LEN]; // 1 蓝牙秘钥
unsigned char result; // 2 返回结果
} evs_service_feedback_blesecret_update;
// 蓝牙即插即充信息上报事件参数
typedef struct
{
unsigned char plugChgStatus; // 1 即插即充状态
unsigned char macNum; // 2 MAC数量
char macList[EVS_MAX_BLE_MAC_NUM][EVS_MAX_BLE_MACLIST_LEN]; // 3 蓝牙列表
} evs_event_ble_plug_charge_info;
// 蓝牙即插即充信息确认服务下发参数
typedef struct
{
unsigned char macNum; // 1 MAC数量
} evs_service_ble_plug_charge_info_conf;
// 蓝牙鉴权列表清除服务参数
typedef struct
{
unsigned char cleanType; // 1 清除方式
char macInfo[EVS_MAX_MAC_ADDR_LEN]; // 2 蓝牙MAC
} evs_service_blelist_clean;
// 蓝牙MAC鉴权列表清除服务设备回复参数
typedef struct
{
unsigned char cleanType; // 1 清除方式
unsigned char result; // 2 清除结果
} evs_service_feedback_blelist_clean;
// 蓝牙连接状态变更事件参数
typedef struct
{
unsigned int yxOccurTime; // 1 发生时刻
unsigned char connCheckStatus; // 2 变位点数据
char macInfo[EVS_MAX_BLE_MAC_LEN]; // 3 MAC信息
} evs_event_ble_conn_change;
// 蓝牙即插即充重置服务设备回复参数
typedef struct
{
unsigned char result; // 1 重置结果
} evs_service_feedback_ble_reset;
/*********************************************交流业务相关************************************************************/
// 交流设备属性上报参数
typedef struct
{
unsigned char netType; // 1 网络类型
unsigned char sigVal; // 2 网络信号等级
unsigned char netId; // 3 网络运营商
unsigned int acVolA; // 4 A相采集电压
unsigned int acCurA; // 5 A相采集电流
unsigned int acVolB; // 6 B相采集电压
unsigned int acCurB; // 7 B相采集电流
unsigned int acVolC; // 8 C相采集电压
unsigned int acCurC; // 9 C相采集电流
unsigned short caseTemp; // 10 桩内温度
char feeModelId[EVS_MAX_MODEL_ID_LEN]; // 11 计费模型编号
unsigned int totalRam; // 12 总内存 单位:KB
unsigned char ramUseRate; // 13 内存使用率
unsigned int totalRom; // 14 总硬盘空间 单位:KB
unsigned char romUseRate; // 15 硬盘使用率
unsigned char cpuUseRate; // 16 CPU使用率
char netSigQua[EVS_MAX_NET_SIG_QUA_LEN]; // 17 网络信号质量
char devRunSampVal[EVS_MAX_SAMPLE_VAL_LEN]; // 18 设备运行采样数据
} evs_property_acPile;
// 交流充电枪充电中实时监测属性
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char workStatus; // 3 工作状态
unsigned char conStatus; // 4 连接确认开关状态
unsigned char outRelayStatus; // 5 输出继电器状态
unsigned char eLockStatus; // 6 充电接口电子锁状态
unsigned short gunTemp; // 7 充电枪头温度
unsigned int acVolA; // 8 充电设备A相输出电压
unsigned int acCurA; // 9 充电设备A相输出电流
unsigned int acVolB; // 10 充电设备B相输出电压
unsigned int acCurB; // 11 充电设备B相输出电流
unsigned int acVolC; // 12 充电设备C相输出电压
unsigned int acCurC; // 13 充电设备C相输出电流
char preTradeNo[EVS_MAX_TRADE_LEN]; // 14 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 15 设备交易流水号
unsigned int realPower; // 16 充电实际功率
unsigned int chgTime; // 17 累计充电时间
unsigned int PwmDutyRadio; // 18 PWM占空比
unsigned int s2SwhActNum; // 19 S2开关动作次数
long long meterStartVal; // 20 表底值起始值
long long meterRealVal; // 21 表底值当前值
unsigned int totalElect; // 22 总电量
unsigned int totalCost; // 23 总金额
unsigned int totalPowerCost; // 24 总电费
unsigned int totalServCost; // 25 总服务费
unsigned char timeNum; // 26 时段数
unsigned int partElect[EVS_MAX_MODEL_DEVSEG]; // 27 时段电量
unsigned int chargeFee[EVS_MAX_MODEL_DEVSEG]; // 28 时段电费
unsigned int serviceFee[EVS_MAX_MODEL_DEVSEG]; // 29 时段服务费
unsigned char startPoint; // 30 起始点标识
unsigned char crossPoints; // 31 跨越点数
unsigned int pointsElect[EVS_MAX_MODEL_DEVSEG]; // 32 跨越点电量
} evs_property_ac_work;
// 交流充电枪非充电中实时监测属性
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char workStatus; // 3 工作状态
unsigned char conStatus; // 4 连接确认开关状态
unsigned char outRelayStatus; // 5 输出继电器状态
unsigned char eLockStatus; // 6 充电接口电子锁状态
unsigned short gunTemp; // 7 充电枪头温度
unsigned int acVolA; // 8 充电设备A相输出电压
unsigned int acCurA; // 9 充电设备A相输出电流
unsigned int acVolB; // 10 充电设备B相输出电压
unsigned int acCurB; // 11 充电设备B相输出电流
unsigned int acVolC; // 12 充电设备C相输出电压
unsigned int acCurC; // 13 充电设备C相输出电流
long long sumMeter; // 14 电表底值
} evs_property_ac_nonWork;
/*********************************************直流业务相关************************************************************/
// 直流设备属性上报参数
typedef struct
{
unsigned char netType; // 1 网络类型
unsigned char sigVal; // 2 网络信号等级
unsigned char netId; // 3 网络运营商
unsigned int acVolA; // 4 A相采集电压
unsigned int acCurA; // 5 A相采集电流
unsigned int acVolB; // 6 B相采集电压
unsigned int acCurB; // 7 B相采集电流
unsigned int acVolC; // 8 C相采集电压
unsigned int acCurC; // 9 C相采集电流
unsigned char caseHumidity; // 10 设备内湿度
unsigned short caseTemp; // 11 设备内温度
unsigned short inletTemp; // 12 设备入风口温度
unsigned short outletTemp; // 13 设备出风口温度
char feeModelId[EVS_MAX_MODEL_ID_LEN]; // 14 计费模型编号
unsigned int totalRam; // 15 总内存
unsigned char ramUseRate; // 16 内存使用率
unsigned int totalRom; // 17 总硬盘空间
unsigned char romUseRate; // 18 磁盘使用率
unsigned char cpuUseRate; // 19 cpu使用率
unsigned int sysStartTime; // 20 系统启动时间
unsigned int sysWorkTime; // 21 系统累计运行时间
} evs_property_dcPile;
// 直流充电枪BMS监测属性
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char preTradeNo[EVS_MAX_TRADE_LEN]; // 2 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 3 设备交易流水号
unsigned char socVal; // 4 SOC
unsigned char BMSVer; // 5 BMS通信协议版本号
unsigned short BMSMaxVol; // 6 最高允许充电总电压
unsigned char batType; // 7 电池类型
unsigned short batRatedCap; // 8 整车动力蓄电池额定容量
unsigned short batRatedTotalVol; // 9 整车动力蓄电池额定总电压
unsigned short singlBatMaxAllowVol; // 10 单体动力蓄电池最高允许充电电压
unsigned short maxAllowCur; // 11 最高允许充电电流
unsigned short battotalEnergy; // 12 整车动力蓄电池标称总能量
unsigned short maxVol; // 13 最高允许充电总电压
unsigned short maxTemp; // 14 最高允许温度
unsigned short batCurVol; // 15 整车动力蓄电池当前电池电压
char batManufacturer[11]; // 16 电池组厂商
char batSN[4]; // 17 电池组序号
char batMadeDay[9]; // 18 电池组生产日期
unsigned int chargeTimes; // 19 电池组充电次数
unsigned char batProperty; // 20 电池产权
char bmsSoftVer[11]; // 21 BMS软件版本号
} evs_property_BMS;
// 直流充电枪充电中实时监测属性
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char workStatus; // 2 工作状态
unsigned char gunStatus; // 3 充电枪连接状态
unsigned char eLockStatus; // 4 充电枪电子锁状态
unsigned char DCK1Status; // 5 直流输出接触器K1状态
unsigned char DCK2Status; // 6 直流输出接触器K2状态
unsigned char DCPlusFuseStatus; // 7 DC+熔断器状态
unsigned char DCMinusFuseStatus; // 8 DC-熔断器状态
unsigned short conTemp1; // 9 充电接口DC+温度
unsigned short conTemp2; // 10 充电接口DC-温度
unsigned int dcVol; // 11 输出电压
unsigned int dcCur; // 12 输出电流
char preTradeNo[EVS_MAX_TRADE_LEN]; // 13 平台交易流水号
char tradeNo[EVS_MAX_TRADE_LEN]; // 14 设备交易流水号
unsigned char chgType; // 15 充电类型
unsigned int realPower; // 16 充电设备输出功率
unsigned int chgTime; // 17 累计充电时间
unsigned short remainT; // 18 估算充满剩余充电时间
unsigned char socVal; // 19 SOC
unsigned short needVol; // 20 充电需求电压
unsigned short needCur; // 21 充电需求电流
unsigned char chargeMode; // 22 充电模式
unsigned short bmsVol; // 23 BMS充电电压测量值
unsigned short bmsCur; // 24 BMS充电电流测量值
unsigned short SingleMHV; // 25 最高单体动力蓄电池电压
unsigned short SingleMLV; // 26 最高单体动力蓄电池电压
unsigned short MHTemp; // 27 最高动力蓄电池温度
unsigned short MLTemp; // 28 最低动力蓄电池温度
unsigned int SingleMHVNo; // 29 最高单体动力蓄电池电压所在编号
unsigned int MHTempNo; // 30 最高动力蓄电池温度检测点编号
unsigned int MLTempNo; // 31 最低动力蓄电池温度检测点编号
unsigned short guidanceVol; // 32 控制导引电压
unsigned char acInputContactorState; // 33 交流输入接触器状态
unsigned char acInputContactorCtrlState; // 34 交流输入接触器控制状态
unsigned char k1CtrlState; // 35 直流接触器K1控制状态
unsigned char k2CtrlState; // 36 直流接触器K2控制状态
unsigned char apsSwtichCtrlState; // 37 交流输入接触器控制状态
unsigned char carbinFanCtrlState; // 38 风机开关控制状态
unsigned char elockCtrlState; // 39 电子锁控制状态
long long meterStartVal; // 40 表底值起始值
long long meterRealVal; // 41 表底值当前值
unsigned int totalElect; // 42 总电量
unsigned int totalCost; // 43 总金额
unsigned int totalPowerCost; // 44 总电费
unsigned int totalServCost; // 45 总服务费
unsigned char timeNum; // 46 时段数
unsigned int partElect[EVS_MAX_MODEL_DEVSEG]; // 47 时段电量
unsigned int chargeFee[EVS_MAX_MODEL_DEVSEG]; // 48 时段电费
unsigned int serviceFee[EVS_MAX_MODEL_DEVSEG]; // 49 时段服务费
unsigned char startPoint; // 50 起始点标识
unsigned char crossPoints; // 51 跨越点数
unsigned int pointsElect[EVS_MAX_MODEL_DEVSEG]; // 52 跨越点电量
} evs_property_dc_work;
// 直流充电枪非充电中实时监测属性
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned char workStatus; // 2 工作状态
unsigned char gunStatus; // 3 充电枪连接状态
unsigned char eLockStatus; // 4 充电枪电子锁状态
unsigned char DCK1Status; // 5 直流输出接触器K1状态
unsigned char DCK2Status; // 6 直流输出接触器K2状态
unsigned char DCPlusFuseStatus; // 7 DC+熔断器状态
unsigned char DCMinusFuseStatus; // 8 DC-熔断器状态
unsigned short conTemp1; // 9 充电接口DC+温度
unsigned short conTemp2; // 10 充电接口DC-温度
unsigned int dcVol; // 11 输出电压
unsigned int dcCur; // 12 输出电流
unsigned int chargeCnt; // 13 充电枪总充电次数
unsigned int chargeTime; // 14 充电枪总充电时长
unsigned int k1Cnt; // 15 K1总动作次数
unsigned int k2Cnt; // 16 K2总动作次数
unsigned char acContactorState; // 17 交流输入接触器状态
unsigned char guidanceVal; // 18 控制导引电压
unsigned char auxiliaryPowerStatus; // 19 辅助电源开关控制状态
unsigned char elockCtrlState; // 20 电子锁控制状态
unsigned char fanSwitchCtrlStatus; // 21 风机开关控制状态
long long sumMeter; // 22 电表底值
} evs_property_dc_nonWork;
// 直流输入电表底值监测属性
typedef struct
{
unsigned char gunNo; // 充电枪编号
char acqTime[EVS_MAX_TIMESTAMP_LEN]; // 采集时间
unsigned char mailAddr[EVS_MAX_METER_ADDR_LEN]; // 通信地址 压缩BCD
unsigned char meterNo[EVS_MAX_METER_ADDR_LEN]; // 电表表号 压缩BCD
char assetId[EVS_MAX_METER_ASSET_LEN]; // 电表资产编码
long long sumMeter; // 电表底值
unsigned int ApElect; // A相正向总电量
unsigned int BpElect; // B相正向总电量
unsigned int CpElect; // C相正向总电量
} evs_property_dc_input_meter;
/******************************************公共属性区*************************************************/
// 交直流输出电表底值监测属性
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
char acqTime[EVS_MAX_TIMESTAMP_LEN]; // 2 采集时间
unsigned char mailAddr[EVS_MAX_METER_ADDR_LEN]; // 3 通信地址 压缩BCD
unsigned char meterNo[EVS_MAX_METER_ADDR_LEN]; // 4 表号 压缩BCD
char assetId[EVS_MAX_METER_ASSET_LEN]; // 5 电表资产编码
long long sumMeter; // 6 电表底值
char lastTrade[EVS_MAX_TRADE_LEN]; // 7 最后交易流水
unsigned int elec; // 8 充电中订单的已充电量
} evs_property_meter;
// 设备日志查询结果上报事件
typedef union
{
char rawData[EVS_MAX_LOGAREA_LEN];
evs_event_tradeInfo tradeInfo;
evs_property_meter meterData;
evs_property_BMS BMSData;
} u_logData;
typedef struct
{
unsigned char gunNo; // 1 充电枪编号
unsigned int startDate; // 2 查询起始时间戳 startDate
unsigned int stopDate; // 3 查询终止时间戳 stopDate
unsigned char askType; // 4 查询类型
unsigned char result; // 5 响应结果
char logQueryNo[EVS_MAX_LOGQUERY_LEN]; // 6 查询流水号
unsigned char retType; // 7 响应类型
unsigned int logQueryEvtSum; // 8 日志结果上报事件总帧数
unsigned int logQueryEvtNo; // 9 日志结果上报帧序号
u_logData dataArea; // 10 响应数据区
} evs_event_logQuery_Result;
// 充电桩部件上报事件
typedef struct
{
unsigned int partsAddr;
unsigned int residualLife;
unsigned int workTime;
unsigned int alarmTimes;
unsigned int faultTimes;
unsigned int k1Cnt;
unsigned int k2Cnt;
unsigned int reliefCircuitCnt;
unsigned int gunPlugCnt;
unsigned int gunLockCnt;
unsigned int totalChargeCnt;
unsigned int totalChargeTime;
} evs_event_ccu_info; // 充电控制器
typedef struct
{
unsigned int partsAddr;
unsigned int residualLife;
unsigned int workTime;
unsigned int alarmTimes;
unsigned int faultTimes;
} evs_event_pcu_info; // 功率控制模块
typedef struct
{
unsigned int partsAddr;
char devType[EVS_MAX_DEVINFO_LEN];
char devSN[EVS_MAX_DEVINFO_LEN];
unsigned int residualLife;
unsigned int workTime;
unsigned int alarmTimes;
unsigned int faultTimes;
unsigned int upTimes;
unsigned int pfcTemper;
unsigned int transformerTemper;
unsigned int frontFanTemper;
unsigned int backFanTemper;
unsigned int inletTemer;
unsigned int phaseVa;
unsigned int phaseVb;
unsigned int phaseVc;
unsigned int status;
unsigned int outputVol;
unsigned int outputCur;
unsigned int currentGID;
unsigned int alarm1;
unsigned int alarm2;
unsigned int alarm3;
} evs_event_cu_info; // 充电模块
typedef struct
{
unsigned int partsAddr;
unsigned int residualLife;
unsigned int workTime;
unsigned int alarmTimes;
unsigned int faultTimes;
unsigned char switchType;
unsigned char commState;
unsigned int switchAnodeState[EVS_MAX_PARTS_SWITCH_NUM];
unsigned int switchAnodeActCnt[EVS_MAX_PARTS_SWITCH_NUM];
unsigned int switchCathodeActCnt[EVS_MAX_PARTS_SWITCH_NUM];
} evs_event_switch_info; // 开关模块
typedef struct
{
unsigned int partsAddr;
unsigned int residualLife;
unsigned int workTime;
unsigned int alarmTimes;
unsigned int faultTimes;
} evs_event_edas_info; // 环境信息采集模块
typedef struct
{
unsigned char gunNo; // 1 枪编号
unsigned char sumModul; // 2 总模块数
unsigned int ratedPower; // 3 充电模块额定功率
unsigned char workModulCnt; // 4 在用充电模块总数
unsigned char faultModulCnt; // 5 故障充电模块总数
unsigned char portWorkModulCnt; // 6 当前充电端口在用充电模块总数
} evs_event_cu_work_info;
typedef struct
{
unsigned char gunNo; // 1 枪编号
unsigned char startMode; // 2 启动模式
char tradeNo[EVS_MAX_TRADE_LEN]; // 3 设备交易流水号
unsigned char gunIsReady; // 4 插枪状态 0未插枪 1已插枪
} evs_smart_gun_auth_param;
/******************************************需用户实现的回调函数*************************************************/
/**
 *
 * 函数 callback_service_query_log() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_query_log() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform log query service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_query_log(evs_service_query_log *param, evs_service_feedback_query_log *result);
/**
 *
 * 函数 callback_service_devCtrl() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_devCtrl() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform device control service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_dev_maintain(evs_service_dev_maintain *param);
/**
 *
 * 函数 callback_service_lockCtrl() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_lockCtrl() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform chargeGun e-lock control service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_lockCtrl(evs_service_lockCtrl *param);
/**
 *
 * 函数 callback_service_issue_feeModel() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_issue_feeModel() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform feemodel issue service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_issue_feeModel(evs_service_issue_feeModel *param, evs_service_feedback_feeModel *result);
/**
 *
 * 函数 callback_service_startCharge() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_startCharge() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform remote start-charge service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_startCharge(evs_service_startCharge *param, evs_service_feedback_startCharge *result);
/**
 *
 * 函数 callback_service_authCharge() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_authCharge() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform authorization charge service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_authCharge(evs_service_authCharge *param, evs_service_feedback_authCharge *result);
/**
 *
 * 函数 callback_service_stopCharge() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_stopCharge() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform remote stop-charge service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_stopCharge(evs_service_stopCharge *param, evs_service_feedback_stopCharge *result);
/**
 *
 * 函数 callback_service_rsvCharge() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_rsvCharge() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform reservation charge service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_rsvCharge(evs_service_rsvCharge *param, evs_service_feedback_rsvCharge *result);
/**
 *
 * 函数 callback_service_confirmTrade() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_confirmTrade() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform transaction confirm service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_confirmTrade(evs_service_confirmTrade *param, void *result);
/**
 *
 * 函数 callback_service_grounLock_ctrl() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_grounLock_ctrl() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform smart ground locker service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_grounLock_ctrl(evs_service_groundLock_ctrl *param, evs_service_feedback_groundLock_ctrl *result);
/**
 *
 * 函数 callback_service_gateLock_ctrl() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_gateLock_ctrl() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform smart gate locker service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_gateLock_ctrl(evs_service_gateLock_ctrl *param, evs_service_feedback_gateLock_ctrl *result);
/**
 *
 * 函数 callback_service_orderCharge() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_orderCharge() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform order-charge strategy service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_orderCharge(evs_service_orderCharge *param, evs_service_feedback_orderCharge *result);
/**
 *
 * 函数 callback_service_get_config() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_get_config() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform device configuration get service by result through SDK.
*---
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_get_config(evs_data_dev_config *result);
/**
 *
 * 函数 callback_service_get_maintain_status() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_get_maintain_status() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform device configuration get service by result through SDK.
*---
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_get_maintain_status(evs_service_feedback_maintain_query *result);
/**
 *
 * 函数 callback_service_update_config() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_update_config() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform update devicce configuration service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_update_config(evs_data_dev_config *param, int *result);
/**
 *
 * 函数 callback_service_update_fun_config() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_update_fun_config() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform update devicce function configuration service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_update_fun_config(evs_service_dev_fun_config *param, evs_service_feedback_dev_fun_config *result);
/**
 *
 * 函数 callback_service_get_fun_config() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_get_fun_config() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform get devicce function configuration service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_get_fun_config(evs_service_get_dev_fun_config *param, evs_service_dev_fun_config *result);
/**
 *
 * 函数 callback_service_fee_model_query() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_fee_model_query() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform query feemodel service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_fee_model_query(evs_service_feedback_feeModel_qurey *result);
/**
 *
 * 函数 callback_service_reserve_charge() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_reserve_charge() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief Reply IOT platform reserve charge service by param through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_reserve_charge(evs_service_rsvCharge *param, evs_service_feedback_rsvCharge *result);
/**
 *
 * 函数 callback_service_ota_update() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_ota_update() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief perform the ota order from IOT platform .
*---
* @param [in] version: @n the new firmware version received from IOT platform.
*
* @return do not update device -1 update device 0.
* @see None.
* @note None.
*/
int callback_service_ota_update(const char *version);
/**
 *
 * 函数 callback_service_time_sync() 需要SDK的使用者针对SDK将运行的硬件平台填充实现, 供SDK调用
 * ---
 * Interface of callback_service_time_sync() requires to be implemented by user of SDK.
 *
 * 
 */
/**
* @brief send timestamp that Recived from IOT platform to user by timestamp through SDK.
*---
* @param [in] param: @n the param received from IOT platform.
* @param [out] result: @n the result data will be written by user of SDK.
* @return failed -1 success 0.
* @see None.
* @note None.
*/
int callback_service_time_sync(const unsigned int timestamp);
#endif