/* * @Author: Err: Err: git config user.name & please set dead value or install git && Err: git config user.email & please set dead value or install git & please set dead value or install git * @Date: 2024-09-03 16:49:03 * @LastEditors: Err: Err: git config user.name & please set dead value or install git && Err: git config user.email & please set dead value or install git & please set dead value or install git * @LastEditTime: 2024-09-06 14:09:00 * @FilePath: /_kEms_C_V1.0.0/bsp/bsp_data_mode.h * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ /***************************************************************************** * @copyright Copyright (c) 2025-2055 Gary. All rights reserved. * @file bsp_data_mode.h * @brief 所有的数据模型 * @author Gary * @date 2024-09-03 * @remark *****************************************************************************/ #ifndef BSP_DATA_MODE_H #define BSP_DATA_MODE_H #include #include #include #include #include #include #include #include #include "kit_data.h" #include "bsp_comm.h" #define DEV_IS_USE 0 /*所有设备是否启用,属于设备的第一个点*/ #define DEV_IS_ONLINE 0 /*所有设备是否离线,属于设备的第一个点*/ typedef struct { uint16_t devNum; uint16_t devPointNum; } devModeAttr_t; // 接入EMS的所有设备类型数量-用数据替换方便获取 extern uint16_t gStDevTypeNum[kDev_Type_End]; extern uint16_t gStDevTypePointNum[kDev_Type_End]; extern devModeAttr_t gStModeInfo[kDev_Type_End]; //-------------------------本机信息------------------------------ typedef enum { kEms_Start = 0, // 开始 kEms_SysFaultLed = kEms_Start, // 本机硬件故障 kEms_CpuTotalUsage, // CPU总利用率 kEms_ProcessCpuUsage, // 当前进程CPU占用 kEms_MemTotalSize, // 内存总大小 kEms_MemUsageRate, // 内存占用率 kEms_ProcessMemUsage, // 当前进程内存占用 kEms_netStatus, // 网络状态 1:连接外网,0:未连接外网 kEms_RunHeartCount, // 运行心跳 自增 kEms_Di_Start, // DI开始 kEms_Di1 = kEms_Di_Start, // DI1信号 kEms_Di40 = kEms_Di_Start + 39, // DI40信号 kEms_Di_End, // DI结束 kEms_Do_Start = kEms_Di_End, // DO信号起始 kEms_Do1 = kEms_Do_Start, // DO1输出 kEms_Do39 = kEms_Do_Start + 39, // DO40输出 kEms_Do_End, // DO信号结束 kEms_Rererve_Start = kEms_Do_End, // 控制预留开始 kEms_Rv1 = kEms_Rererve_Start + 9, // 预留测点 kEms_Rererve_End, // 控制预留结束 /*设备数量需要入库----切记此索引不能改变,同时用于web*/ kEms_DevNumStart = kEms_Rererve_End, kEms_EmsNum = kEms_DevNumStart, // EMS本机数量 kEms_PccmeterNum, // PCC电表数量 kEms_BsmeterNum, // 储能电表数量 kEms_BSUNum, // 电池堆数量 kEms_BCUNum, // 电池簇数量 kEms_PCSNum, // PCS 数量数量 kEms_AirCondNum, // 空调/液冷机组数量 kEms_ThsensorNum, // 温湿度传感器数量 kEms_WaterThsenorNum, // 水浸数量 kEms_YGThsenorNum, // 烟感 kEms_XfxtNum, // 消防系统 kEms_DI_Num, // DI/DO设备设备数量 kEms_UPSNum, // UPS设备数量 kEms_Rv1Num, // 预留设备类型1数量 kEms_Rv2Num, // 预留设备类型2数量 kEms_Rv3Num, // 预留设备类型3数量 kEms_Rv4Num, // 预留设备类型4数量 kEms_DevNumEnd, /*添加预留即可*/ kEms_Reserve_Start = kEms_DevNumEnd, // 控制预留开始 kEms_Rv6Num = kEms_Reserve_Start, // 预留设备类型1数量 kEms_Rv7Num, // 预留设备类型2数量 kEms_Rv8Num, // 预留设备类型3数量 kEms_Rv9Num, // 预留设备类型4数量 kEms_Rv10Num, // 预留设备类型5数量 kEms_LogicMode, // 运行模式 work_mode_e kEms_RunState, // 运行状态 state_e kEms_Reserve_End = kEms_Reserve_Start + 32, kEms_CtrlEnable, // 控制详细日志打印开关 0:日志输出不使能;1:日志输出使能 // 预留2段,控制预留1~99起始 kEms_Reserve2_Start, // 控制预留1~99起始 kEms_TcpLog_Enable = kEms_Reserve2_Start, // 网口通讯报文日志开关 kEms_UartLog_Enable, // 串口通讯报文日志开关 kEms_ModBusLog_Enable, // modbus通讯点位日志开关 kEms_LogicLog_Enable, // 保护日志开关 kEms_MqttLog_Enable, // MQTT日志开关 kEms_Reserve2_End = kEms_Reserve2_Start + 50, kEms_DataEnd, } devEms_E; //-------------------------PCC电表------------------------------ typedef enum { kPCC_Start = 0, // 开始 kPCC_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kPCC_VoltA, // A相电压 (精度: 0.1V) kPCC_VoltB, // B相电压 (精度: 0.1V) kPCC_VoltC, // C相电压 (精度: 0.1V) kPCC_VoltAB, // AB线电压 (精度: 0.1V) kPCC_VoltBC, // BC线电压 (精度: 0.1V) kPCC_VoltCA, // CA线电压 (精度: 0.1V) kPCC_CurA, // A相电流 (精度: 0.1A) kPCC_CurB, // B相电流 (精度: 0.1A) kPCC_CurC, // C相电流 (精度: 0.1A) kPCC_ActivePwrA, // A相有功功率 (精度: 0.1kW) kPCC_ActivePwrB, // B相有功功率 (精度: 0.1kW) kPCC_ActivePwrC, // C相有功功率 (精度: 0.1kW) kPCC_TotalActivePwr, // 总有功功率 (精度: 0.1kW) kPCC_ReactivePwrA, // A相无功功率 (精度: 0.1kVar) kPCC_ReactivePwrB, // B相无功功率 (精度: 0.1kVar) kPCC_ReactivePwrC, // C相无功功率 (精度: 0.1kVar) kPCC_TotalReactivePwr, // 总无功功率 (精度: 0.1kVar) kPCC_ApparentPwrA, // A相视在功率 (精度: 0.1kVA) kPCC_ApparentPwrB, // B相视在功率 (精度: 0.1kVA) kPCC_ApparentPwrC, // C相视在功率 (精度: 0.1kVA) kPCC_TotalApparentPwr, // 总视在功率 (精度: 0.1kVA) kPCC_PwrFactorA, // A相功率因数 (精度: 0.001) kPCC_PwrFactorB, // B相功率因数 (精度: 0.001) kPCC_PwrFactorC, // C相功率因数 (精度: 0.001) kPCC_TotalPwrFactor, // 总功率因数 (精度: 0.001) kPCC_Frequency, // 电网频率 (精度: 0.01Hz) kPCC_VoltTransformerRatio, // 电压互感比 (精度: 0.01) kPCC_CurTransformerRatio, // 电流互感比 (精度: 0.01) kPCC_ActiveENFwd, // 正向有功电度 (精度: 1kWh) kPCC_ActiveENRvs, // 反向有功电度 (精度: 1kWh) kPCC_ReactiveENFwd, // 正向无功电度 (精度: 1kVar) kPCC_ReactiveENRvs, // 反向无功电度 (精度: 1kVar) kPCC_ActiveENFwdVertex, // 尖正向有功电度 (精度: 1kWh) kPCC_ActiveENRvsVertex, // 尖反向有功电度 (精度: 1kWh) kPCC_ActiveENFwdPeak, // 峰正向有功电度 (精度: 1kWh) kPCC_ActiveENRvsPeak, // 峰反向有功电度 (精度: 1kWh) kPCC_ActiveENFwdsteady, // 平正向有功电度 (精度: 1kWh) kPCC_ActiveENRvssteady, // 平反向有功电度 (精度: 1kWh) kPCC_ActiveENFwdValley, // 谷正向有功电度 (精度: 1kWh) kPCC_ActiveENRvsValley, // 谷反向有功电度 (精度: 1kWh) kPCC_MaxDemandActiveFwd, // 当月正向有功最大需量 (精度: 0.1kW) kPCC_MaxDemandActiveRvs, // 当月反向有功最大需量 (精度: 0.1kW) /* 预留20个点位 */ kPCC_Reserve_Start, // kPCC_Reserve1 = kPCC_Reserve_Start, // 预留 kPCC_Reserve16 = kPCC_Reserve1 + 17, // 预留 kPCC_Reserve_End, // 预留结束 kPccMeter_DataEnd = kPCC_Reserve_End // 数据结束 } devPCC_E; //-------------------------储能电表------------------------------ typedef enum { kBs_Start = 0, // 开始 kBs_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kBs_VoltA, // A相电压 (精度: 0.1V) kBs_VoltB, // B相电压 (精度: 0.1V) kBs_VoltC, // C相电压 (精度: 0.1V) kBs_VoltAB, // AB线电压 (精度: 0.1V) kBs_VoltBC, // BC线电压 (精度: 0.1V) kBs_VoltCA, // CA线电压 (精度: 0.1V) kBs_CurA, // A相电流 (精度: 0.1A) kBs_CurB, // B相电流 (精度: 0.1A) kBs_CurC, // C相电流 (精度: 0.1A) kBs_ActivePwrA, // A相有功功率 (精度: 0.1kW) kBs_ActivePwrB, // B相有功功率 (精度: 0.1kW) kBs_ActivePwrC, // C相有功功率 (精度: 0.1kW) kBs_TotalActivePwr, // 总有功功率 (精度: 0.1kW) kBs_ReactivePwrA, // A相无功功率 (精度: 0.1kVar) kBs_ReactivePwrB, // B相无功功率 (精度: 0.1kVar) kBs_ReactivePwrC, // C相无功功率 (精度: 0.1kVar) kBs_TotalReactivePwr, // 总无功功率 (精度: 0.1kVar) kBs_ApparentPwrA, // A相视在功率 (精度: 0.1kVA) kBs_ApparentPwrB, // B相视在功率 (精度: 0.1kVA) kBs_ApparentPwrC, // C相视在功率 (精度: 0.1kVA) kBs_TotalApparentPwr, // 总视在功率 (精度: 0.1kVA) kBs_PwrFactorA, // A相功率因数 (精度: 0.001) kBs_PwrFactorB, // B相功率因数 (精度: 0.001) kBs_PwrFactorC, // C相功率因数 (精度: 0.001) kBs_TotalPwrFactor, // 总功率因数 (精度: 0.001) kBs_Frequency, // 电网频率 (精度: 0.01Hz) kBs_VoltTransformerRatio, // 电压互感比 (精度: 0.01) kBs_CurTransformerRatio, // 电流互感比 (精度: 0.01) kBs_ActiveENFwd, // 正向有功电度 (精度: 1kWh) kBs_ActiveENRvs, // 反向有功电度 (精度: 1kWh) kBs_ReactiveENFwd, // 正向无功电度 (精度: 1kVar) kBs_ReactiveENRvs, // 反向无功电度 (精度: 1kVar) kBs_ActiveENFwdVertex, // 尖正向有功电度 (精度: 1kWh) kBs_ActiveENRvsVertex, // 尖反向有功电度 (精度: 1kWh) kBs_ActiveENFwdPeak, // 峰正向有功电度 (精度: 1kWh) kBs_ActiveENRvsPeak, // 峰反向有功电度 (精度: 1kWh) kBs_ActiveENFwdsteady, // 平正向有功电度 (精度: 1kWh) kBs_ActiveENRvssteady, // 平反向有功电度 (精度: 1kWh) kBs_ActiveENFwdValley, // 谷正向有功电度 (精度: 1kWh) kBs_ActiveENRvsValley, // 谷反向有功电度 (精度: 1kWh) kBs_MaxDemandActiveFwd, // 当月正向有功最大需量 (精度: 0.1kW) kBs_MaxDemandActiveRvs, // 当月反向有功最大需量 (精度: 0.1kW) /* 预留20个点位 */ kBs_Reserve_Start, // Adjust 'previousEnumValue_End' to the last value from your preceding enumeration kBs_Reserve1 = kBs_Reserve_Start, // 预留1 kBs_Reserve18 = kBs_Reserve1 + 17, // 预留16 kBs_Reserve_End, // 预留结束 kBsMeter_DataEnd = kBs_Reserve_End // 数据结束 } devBsMeter_E; //-------------------------BSU堆------------------------------ typedef enum { kBsu_IsOnline = DEV_IS_ONLINE, ///< 设备在线 kBs_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kBsu_TotalAlarm, // 总告警 kBsu_TotalFault, // 总故障 kBsu_SysVolt, ///< 总压 kBsu_SysCur, ///< 总电流 kBsu_SOC, ///< SOC (State of Charge) kBsu_SOH, ///< SOH (State of Health) kBsu_SOE, ///< SOE (State of Energy) kBsu_RatedTotalVoltage, ///< 额定总压 kBsu_RatedCapacity, ///< 额定容量 (Ah) kBsu_RemainingCapacity, ///< 剩余容量 (Ah) kBsu_RatedEnergy, ///< 额定电量 (kWh) kBsu_RemainingEnergy, ///< 剩余电量 (kWh) kBsu_TotalSlaveDevices, ///< 从机总数 (BMU) kBsu_OnlineSlaveDevices, ///< 在线从机总数 (BMU) kBsu_TotalBatteryCells, ///< 电池总数 kBsu_OnlineBatteryCells, ///< 在线电池总数 kBsu_TotalTempSensors, ///< 温感总数 kBsu_OnlineTempSensors, ///< 在线温感总数 kBsu_MaxAllowedDischargeCurrent, ///< 最大允许放电电流 (A) kBsu_MaxAllowedDischargePower, ///< 最大允许放电功率 (kW) kBsu_MaxAllowedChargeCurrent, ///< 最大允许充电电流 (A) kBsu_MaxAllowedChargePower, ///< 最大允许充电功率 (kW) kBsu_PositiveInsulationRes, ///< 正极绝缘阻值 (Ω) kBsu_NegativeInsulationRes, ///< 负极绝缘阻值 (Ω) kBsu_CellAvgVoltage, ///< 单体平均电压 (V) kBsu_CellMaxVoltageDiff, ///< 单体最大压差 (V) kBsu_CellMaxVoltage, ///< 最高单体电压 (V) kBsu_CellMaxVoltageSlaveId, ///< 最高单体电压从机号 kBsu_CellMaxVoltageCellId, ///< 最高单体电压编号 kBsu_CellMinVoltage, ///< 最低单体电压 (V) kBsu_CellMinVoltageSlaveId, ///< 最低单体电压从机号 kBsu_CellMinVoltageCellId, ///< 最低单体电压编号 kBsu_CellAvgTemperature, ///< 单体平均温度 (°C) kBsu_CellMaxTemperatureDiff, ///< 最大温差 (°C) kBsu_MaxCellTemp, ///< 最高单体温度 (°C) kBsu_CellMaxTempSlaveId, ///< 最高单体温度从机号 kBsu_CellMaxTempCellId, ///< 最高单体温度编号 kBsu_MinCellTemp, ///< 最低单体温度 (°C) kBsu_CellMinTempSlaveId, ///< 最低单体温度从机号 kBsu_CellMinTempCellId, ///< 最低单体温度编号 kBsu_DailyChargeCapacity, ///< 日充电容量 (Ah) kBsu_DailyChargeEnergy, ///< 日充电电量 (kWh) kBsu_DailyDischargeCapacity, ///< 日放电容量 (Ah) kBsu_DailyDischargeEnergy, ///< 日放电电量 (kWh) kBsu_DailyChargeTime, ///< 日充电时间 (s) kBsu_DailyDischargeTime, ///< 日放电时间 (s) kBsu_TotalChargeCapacity, ///< 累计充电容量 (Ah) kBsu_TotalChgE, ///< 累计充电电量 (kWh) kBsu_TotalDChgE, ///< 累计放电容量 (Ah) kBsu_TotalDischargeEnergy, ///< 累计放电电量 (kWh) kBsu_Reverse_Start, ///< 预留开始 kBsu_Reserve = kBsu_Reverse_Start + 48, ///< 预留1 kBsu_DataEnd } devBsu_E; //-------------------------电池簇BCU------------------------------ typedef enum { kBcu_Start = 0, // 开始 kBcu_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kBcu_pointid1 = 1, ///< 设备在线 kBcu_TotalAlarm = 2, ///< 总告警 kBcu_TotalFault = 3, ///< 总故障 /*----- 一级告警 (4-13) -----*/ kBcu_CellOverVoltageAlarm1 = 4, ///< 单体过压告警一级 kBcu_CellUnderVoltageAlarm1 = 5, ///< 单体欠压告警一级 kBcu_CellOverTempAlarm1 = 6, ///< 单体过温告警一级 kBcu_CellLowTempAlarm1 = 7, ///< 单体低温告警一级 kBcu_CellVoltageDiffAlarm1 = 8, ///< 单体压差告警一级 kBcu_ChargeOverCurrentAlarm1 = 9, ///< 充电过流告警一级 kBcu_DischargeOverCurrentAlarm1 = 10, ///< 放电过流告警一级 kBcu_SOCLowAlarm1 = 11, ///< SOC过低告警一级 kBcu_SOCDiffAlarm1 = 12, ///< SOC差异过大告警一级 kBcu_InsulationLowAlarm1 = 13, ///< 绝缘过低告警一级 /*----- 二级告警 (14-23) -----*/ kBcu_CellOverVoltageAlarm2 = 14, ///< 单体过压告警二级 kBcu_CellUnderVoltageAlarm2 = 15, ///< 单体欠压告警二级 kBcu_CellOverTempAlarm2 = 16, ///< 单体过温告警二级 kBcu_CellLowTempAlarm2 = 17, ///< 单体低温告警二级 kBcu_CellVoltageDiffAlarm2 = 18, ///< 单体压差告警二级 kBcu_ChargeOverCurrentAlarm2 = 19, ///< 充电过流告警二级 kBcu_DischargeOverCurrentAlarm2 = 20, ///< 放电过流告警二级 kBcu_SOCLowAlarm2 = 21, ///< SOC过低告警二级 kBcu_SOCDiffAlarm2 = 22, ///< SOC差异过大告警二级 kBcu_InsulationLowAlarm2 = 23, ///< 绝缘过低告警二级 /*----- 三级告警 (24-33) -----*/ kBcu_CellOverVoltageAlarm3 = 24, ///< 单体过压告警三级 kBcu_CellUnderVoltageAlarm3 = 25, ///< 单体欠压告警三级 kBcu_CellOverTempAlarm3 = 26, ///< 单体过温告警三级 kBcu_CellLowTempAlarm3 = 27, ///< 单体低温告警三级 kBcu_CellVoltageDiffAlarm3 = 28, ///< 单体压差告警三级 kBcu_ChargeOverCurrentAlarm3 = 29, ///< 充电过流告警三级 kBcu_DischargeOverCurrentAlarm3 = 30, ///< 放电过流告警三级 kBcu_SOCLowAlarm3 = 31, ///< SOC过低告警三级 kBcu_SOCDiffAlarm3 = 32, ///< SOC差异过大告警三级 kBcu_InsulationLowAlarm3 = 33, ///< 绝缘过低告警三级 /*----- 特殊告警 (34-54) -----*/ kBcu_CellTempLimitAlarm = 34, ///< 电芯温度极限告警 kBcu_CellVoltageLimitAlarm = 35, ///< 电芯电压极限告警 kBcu_ClusterCurrent1Alarm = 36, ///< 簇间环流1级告警 kBcu_ClusterCurrent2Alarm = 37, ///< 簇间环流2级告警 kBcu_ClusterCurrent3Alarm = 38, ///< 簇间环流3级告警 kBcu_ClusterCurrentDiff1Alarm = 39, ///< 簇间电流差1级告警 kBcu_ClusterCurrentDiff2Alarm = 40, ///< 簇间电流差2级告警 kBcu_ClusterCurrentDiff3Alarm = 41, ///< 簇间电流差3级告警 kBcu_PackOverVoltage1Alarm = 42, ///< 组端过压1级告警 kBcu_PackOverVoltage2Alarm = 43, ///< 组端过压2级告警 kBcu_PackOverVoltage3Alarm = 44, ///< 组端过压3级告警 kBcu_PackUnderVoltage1Alarm = 45, ///< 组端欠压1级告警 kBcu_PackUnderVoltage2Alarm = 46, ///< 组端欠压2级告警 kBcu_PackUnderVoltage3Alarm = 47, ///< 组端欠压3级告警 kBcu_TerminalOverTemp1Alarm = 48, ///< 极柱过温1级告警 kBcu_TerminalOverTemp2Alarm = 49, ///< 极柱过温2级告警 kBcu_TerminalOverTemp3Alarm = 50, ///< 极柱过温3级告警 kBcu_AFETempWireFault = 51, ///< AFE温感排线异常 kBcu_AFEVoltageWireFault = 52, ///< AFE电压排线异常 kBcu_ClusterCommAlarm = 53, ///< 与电池簇通信告警 kBcu_MasterSlaveCommAlarm = 54, ///< 主从通讯告警 /*----- 硬件故障 (55-69) -----*/ kBcu_FuseFault = 55, ///< 熔丝故障 kBcu_CircuitBreakerFault = 56, ///< 断路器故障 kBcu_AirConditionerFault = 57, ///< 空调故障 kBcu_FireEquipmentFault = 58, ///< 消防设备故障 kBcu_FireAlarm = 59, ///< 消防火警 kBcu_FireSprinkler = 60, ///< 消防喷洒 kBcu_AFEFault = 61, ///< AFE故障 kBcu_HighVoltageAbnormal = 62, ///< 高压异常 kBcu_PrechargeAlarm = 63, ///< 预充告警 kBcu_OpenCircuitFault = 64, ///< 开路故障 kBcu_RelayStickAlarm = 65, ///< 继电器粘连告警 kBcu_BatteryLimitFault = 66, ///< 电池极限故障 kBcu_PrechargeRelayStatus = 67, ///< 预充继电器状态 kBcu_PositiveRelayStatus = 68, ///< 总正继电器状态 kBcu_NegativeRelayStatus = 69, ///< 总负继电器状态 /*----- 预留扩展 (70-100) -----*/ kBcu_ReservedAlarmStart = 70, ///< 告警+状态保留起始 kBcu_ReservedAlarmEnd = 100, ///< 告警+状态保留结束 /*----- 电池数据 (101-150) -----*/ kBcu_TotalVolt = 101, ///< 总压 kBcu_TotalCur = 102, ///< 总电流 kBcu_SOC = 103, ///< SOC kBcu_SOH = 104, ///< SOH kBcu_SOE = 105, ///< SOE kBcu_RatedTotalVoltage = 106, ///< 额定总压 kBcu_RatedCapacity = 107, ///< 额定容量 kBcu_RemainingCapacity = 108, ///< 剩余容量 kBcu_RatedEnergy = 109, ///< 额定电量 kBcu_RemainingEnergy = 110, ///< 剩余电量 kBcu_TotalSlaveDevices = 111, ///< 从机总数(BMU) kBcu_OnlineSlaveDevices = 112, ///< 在线从机总数(BMU) kBcu_TotalBatteryCells = 113, ///< 电池总数 kBcu_OnlineBatteryCells = 114, ///< 在线电池总数 kBcu_TotalTempSensors = 115, ///< 温感总数 kBcu_OnlineTempSensors = 116, ///< 在线温感总数 kBcu_MaxAllowedDischargeCurrent = 117, ///< 最大允许放电电流 kBcu_MaxAllowedDischargePower = 118, ///< 最大允许放电功率 kBcu_MaxAllowedChargeCurrent = 119, ///< 最大允许充电电流 kBcu_MaxAllowedChargePower = 120, ///< 最大允许充电功率 kBcu_PositiveInsulationRes = 121, ///< 正极绝缘阻值 kBcu_NegativeInsulationRes = 122, ///< 负极绝缘阻值 kBcu_CellAvgVoltage = 123, ///< 单体平均电压 kBcu_CellMaxVoltageDiff = 124, ///< 单体最大压差 kBcu_CellMaxVoltage = 125, ///< 最高单体电压 kBcu_CellMaxVoltageSlaveId = 126, ///< 最高单体电压从机号 kBcu_CellMaxVoltageCellId = 127, ///< 最高单体电压编号 kBcu_CellMinVoltage = 128, ///< 最低单体电压 kBcu_CellMinVoltageSlaveId = 129, ///< 最低单体电压从机号 kBcu_CellMinVoltageCellId = 130, ///< 最低单体电压编号 kBcu_CellAvgTemperature = 131, ///< 单体平均温度 kBcu_CellMaxTemperatureDiff = 132, ///< 最大温差 kBcu_MaxCellTemp = 133, ///< 最高单体温度 kBcu_CellMaxTempSlaveId = 134, ///< 最高单体温度从机号 kBcu_CellMaxTempCellId = 135, ///< 最高单体温度编号 kBcu_MinCellTemp = 136, ///< 最低单体温度 kBcu_CellMinTempSlaveId = 137, ///< 最低单体温度从机号 kBcu_CellMinTempCellId = 138, ///< 最低单体温度编号 kBcu_DailyChargeCapacity = 139, ///< 日充电容量 kBcu_DailyChargeEnergy = 140, ///< 日充电电量 kBcu_DailyDischargeCapacity = 141, ///< 日放电容量 kBcu_DailyDischargeEnergy = 142, ///< 日放电电量 kBcu_DailyChargeTime = 143, ///< 日充电时间 kBcu_DailyDischargeTime = 144, ///< 日放电时间 kBcu_TotalChargeCapacity = 145, ///< 累计充电容量 kBcu_TotalChgCap = 146, ///< 累计充电电量 kBcu_TotalDischargeCapacity = 147, ///< 累计放电容量 kBcu_TotalDisChgCap = 148, ///< 累计放电电量 kBcu_TotalChargeTime = 149, ///< 累计充电时间 kBcu_TotalDischargeTime = 150, ///< 累计放电时间 /*----- 系统状态 (151-160) -----*/ kBcu_BCUWorkStatus = 151, ///< BCU工作状态 kBcu_FaultWord1 = 152, ///< 故障字1 kBcu_FaultWord2 = 153, ///< 故障字2 kBcu_FaultWord3 = 154, ///< 故障字3 kBcu_FaultWord4 = 155, ///< 故障字4 kBcu_FaultWord5 = 156, ///< 故障字5 kBcu_FaultWord6 = 157, ///< 故障字6 kBcu_FaultWord7 = 158, ///< 故障字7 kBcu_FaultWord8 = 159, ///< 故障字8 kBcu_FaultWord9 = 160, ///< 故障字9 /*----- PACK均衡状态 (161-190) -----*/ kBcu_Pack1BalanceStatus = 161, ///< 1#PACK均衡状态 kBcu_Pack30BalanceStatus = 190, ///< 30#PACK均衡状态 /*----- 电池电压 (191-610) -----*/ kBcu_Cell1Voltage = 191, ///< 1号电池电压 kBcu_Cell420Voltage = 610, ///< 420号电池电压 /*----- 电池温度 (611-810) -----*/ kBcu_Cell1Temperature = 611, ///< 1号电池温度 kBcu_Cell200Temperature = 810, ///< 200号电池温度 /*----- 预留段 (811-1000) -----*/ kBcu_ReservedDataStart = 811, ///< 预留数据起始 kBcu_ReservedDataEnd = 1000, ///< 预留数据结束 /*----- 控制指令 (1001+) -----*/ kBcu_HighVoltageShutdownCmd = 1001, ///< 高压下电指令 /*----- 阈值及参数预留 (1002-1999) -----*/ kBcu_ReservedParamStart = 1002, ///< 预留阈值及参数起始 kBcu_ReservedParamEnd = 1999, ///< 预留阈值及参数结束 kBcu_DataEnd } devBcu_E; //-------------------------PCS------------------------------ typedef enum { /*----- 设备基础状态 (0-3) -----*/ kPcs_IsOnline = 0, ///< 是否在线 kPcs_Reserved1 = 1, ///< 预留 kPcs_TotalFault = 2, ///< 总故障 kPcs_TotalAlarm = 3, ///< 总告警 /*----- 硬件故障 (4-14) -----*/ kPcs_PhaseAOverCurrent = 4, ///< A相硬件过流 kPcs_PhaseBOverCurrent = 5, ///< B相硬件过流 kPcs_PhaseCOverCurrent = 6, ///< C相硬件过流 kPcs_PhaseNOverCurrent = 7, ///< N相硬件过流 kPcs_UnitDCVoltageFault = 8, ///< 单元直压故障 kPcs_PowerSupplyUnderVoltage = 9, ///< 开关电源欠压 kPcs_PhaseAIGBTFault = 10, ///< A相IGBT故障 kPcs_PhaseBIGBTFault = 11, ///< B相IGBT故障 kPcs_PhaseCIGBTFault = 12, ///< C相IGBT故障 kPcs_PhaseNIGBTFault = 13, ///< N相IGBT故障 kPcs_OverTemperatureFault = 14, ///< 过温故障 /*----- 输出保护 (15-22) -----*/ kPcs_PhaseAOutputOverCurrent = 15, ///< A相输出过流 kPcs_PhaseAOutputQuickBreak = 16, ///< A相输出速断 kPcs_PhaseBOutputOverCurrent = 17, ///< B相输出过流 kPcs_PhaseBOutputQuickBreak = 18, ///< B相输出速断 kPcs_PhaseCOutputOverCurrent = 19, ///< C相输出过流 kPcs_PhaseCOutputQuickBreak = 20, ///< C相输出速断 kPcs_PhaseNOutputOverCurrent = 21, ///< N相输出过流 kPcs_PhaseNOutputQuickBreak = 22, ///< N相输出速断 /*----- 电网异常 (23-34) -----*/ kPcs_ACOverVoltage = 23, ///< 交流过压 kPcs_ACUnderVoltage = 24, ///< 交流欠压 kPcs_ACOverFrequency = 25, ///< 交流过频 kPcs_ACUnderFrequency = 26, ///< 交流欠频 kPcs_VoltageTHDULimit = 27, ///< 电压THDU超限 kPcs_SystemPhaseLoss = 28, ///< 系统缺相 kPcs_SystemPhaseSequenceError = 29, ///< 系统相序错误 kPcs_DCPolarityReverse = 30, ///< 直流极性反接 kPcs_DCBusUnderVoltage = 31, ///< 直流母线欠压 kPcs_DCBusOverVoltage = 32, ///< 直流母线过压 kPcs_SystemOverFrequency = 33, ///< 系统过频 kPcs_SystemUnderFrequency = 34, ///< 系统欠频 /*----- 直流保护 (35-37) -----*/ kPcs_DCChargeOverCurrent = 35, ///< 直流充电过流 kPcs_DCDischargeOverCurrent = 36, ///< 直流放电过流 kPcs_IslandingProtection = 37, ///< 孤岛保护 /*----- 预留故障与状态 (38-150) -----*/ kPcs_ReservedFaultStart = 38, ///< 预留故障起始 kPcs_ReservedFaultEnd = 143, ///< 预留故障结束 /* 状态 */ kPcs_Stopped = 144, // 停机状态 kPcs_Standby = 145, // 待机状态 kPcs_Running = 146, // 运行状态 kPcs_GridConnected = 147, // 并网状态 kPcs_OffGrid = 148, // 离网状态 /* 信号 */ kPcs_BMSDryNodeSignal = 149, // BMS干节点信号 kPcs_LocalRemote = 150, // 本地/远程 /*----- 实时电参量 (151-187) -----*/ kPcs_PhaseAVoltage = 151, ///< A相电压 (V) kPcs_PhaseBVoltage = 152, ///< B相电压 (V) kPcs_PhaseCVoltage = 153, ///< C相电压 (V) kPcs_PhaseACurrent = 154, ///< A相电流 (A) kPcs_PhaseBCurrent = 155, ///< B相电流 (A) kPcs_PhaseCCurrent = 156, ///< C相电流 (A) kPcs_GridFrequency = 157, ///< 电网频率 (Hz) kPcs_PhaseAActivePower = 158, ///< A相有功功率 (kW) kPcs_PhaseBActivePower = 159, ///< B相有功功率 (kW) kPcs_PhaseCActivePower = 160, ///< C相有功功率 (kW) kPcs_TotalActivePwr = 161, ///< 总有功功率 (kW) kPcs_PhaseAReactivePower = 162, ///< A相无功功率 (kVar) kPcs_PhaseBReactivePower = 163, ///< B相无功功率 (kVar) kPcs_PhaseCReactivePower = 164, ///< C相无功功率 (kVar) kPcs_TotalReactivePwr = 165, ///< 总无功功率 (kVar) kPcs_PhaseAApparentPower = 166, ///< A相视在功率 (kVA) kPcs_PhaseBApparentPower = 167, ///< B相视在功率 (kVA) kPcs_PhaseCApparentPower = 168, ///< C相视在功率 (kVA) kPcs_TotalApparentPwr = 169, ///< 总视在功率 (kVA) kPcs_PhaseAPowerFactor = 170, ///< A相功率因数 kPcs_PhaseBPowerFactor = 171, ///< B相功率因数 kPcs_PhaseCPowerFactor = 172, ///< C相功率因数 kPcs_TotalPwrFactor = 173, ///< 总功率因数 kPcs_InputPower = 174, ///< PCS输入功率 (kW) kPcs_InputVoltage = 175, ///< PCS输入电压 (V) kPcs_InputCurrent = 176, ///< PCS输入电流 (A) kPcs_DailyChargeEnergy = 177, ///< 日充电量 (kWh) kPcs_DailyDischargeEnergy = 178, ///< 日放电量 (kWh) kPcs_TotalACChargeEnergy = 179, ///< 交流累计充电量 (kWh) kPcs_TotalACDischargeEnergy = 180, ///< 交流累计放电量 (kWh) kPcs_TotalDCChargeEnergy = 181, ///< 直流累计充电量 (kWh) kPcs_TotalDCDischargeEnergy = 182, ///< 直流累计放电量 (kWh) kPcs_MaxAllowedChgCur, // 最大允许充电电流(精度: 1A) kPcs_MaxAllowedDisChgCur, // 最大允许放电电流(精度: 1A) kPcs_MaxAllowedChgPwr, // 最大允许充电功率(精度: 1kW) kPcs_MaxAllowedDisChgPwr, // 最大允许放电功率(精度: 1kW) kPcs_IGBTTemperature = 187, ///< IGBT温度 (°C) /*----- 故障字与系统时间 (188-199) -----*/ kPcs_FaultWord1 = 188, ///< PCS故障字1 kPcs_FaultWord2 = 189, ///< PCS故障字2 kPcs_FaultWord3 = 190, ///< PCS故障字3 kPcs_FaultWord4 = 191, ///< PCS故障字4 kPcs_FaultWord5 = 192, ///< PCS故障字5 kPcs_FaultWord6 = 193, ///< PCS故障字6 kPcs_SystemTimeSecond = 194, ///< 系统时钟-秒 kPcs_SystemTimeMinute = 195, ///< 系统时钟-分 kPcs_SystemTimeHour = 196, ///< 系统时钟-时 kPcs_SystemTimeDay = 197, ///< 系统时钟-日 kPcs_SystemTimeMonth = 198, ///< 系统时钟-月 kPcs_SystemTimeYear = 199, ///< 系统时钟-年 /*----- 预留段 (200-250) -----*/ kPcs_ReservedDataStart = 200, ///< 预留数据起始 kPcs_ReservedDataEnd = 250, ///< 预留数据结束 /*----- 控制指令与设置 (251-259) -----*/ /* 远程控制设置 */ kPcs_RemoteLocalSet, // 远程本地设置 kPcs_OperationModeSet, // 运行模式设置 kPcs_GridConnectionSet, // 并网离网设置 kPcs_DeviceStartup, // 设备开机 kPcs_DeviceShutdown, // 设备停机 kPcs_ConstantActivePwrSet, // 恒功率有功功率设置(精度: 1kW) kPcs_ConstantReactPwrSet, // 恒功率无功功率设置(精度: 1kVar) kPcs_ConstantPFSet, // 功率因数控制 kPcs_DeviceSwitchCommand, // 设备开关机指令 /*----- 预留遥调与遥控 (260-299) -----*/ kPcs_ReservedControlStart = 260, ///< 预留遥调+遥控起始 kPcs_APhaseAPSet = kPcs_ReservedControlStart, kPcs_BPhaseAPSet, kPcs_CPhaseAPSet, kPcs_ReservedControlEnd = 299, ///< 预留遥调+遥控结束 kPcs_DataEnd } devPcs_E; //-------------------------液冷机组------------------------------ typedef enum { kAcLiquidMac_Start = 0, // 开始 kAcLiquidMac_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kAcLiquidMac_DataStart, /* 故障告警 */ kAcLiquidMac_Alarm_Start = kAcLiquidMac_DataStart, kAcLiquidMac_TotalAlarm = kAcLiquidMac_Alarm_Start, // 总故障 kAcLiquidMac_Alarm_Reserve = kAcLiquidMac_Alarm_Start + 39, // 告警预留 3~40 kAcLiquidMac_Alarm_End, /* 实时数据*/ kAcLiquidMac_YC_Start = kAcLiquidMac_Alarm_End, kAcLiquidMac_Temp = kAcLiquidMac_YC_Start, // 当前温度 kAcLiquidMac_Humidity, // 当前湿度 kAcLiquidMac_YC_Reserve = kAcLiquidMac_YC_Start + 29, // 遥测数据预留43~70 kAcLiquidMac_YC_End, /* 设置类数据*/ kAcLiquidMac_YT_Start = kAcLiquidMac_YC_End, kAcLiquidMac_SetCoolTemp = kAcLiquidMac_YT_Start, // 制冷温度 kAcLiquidMac_SetHeatTemp, // 制热温度 kAcLiquidMac_SetCoolDiff, // 制冷回差 kAcLiquidMac_SetHeatDiff, // 制热回差 kAcLiquidMac_SetRunMode, // 运行模式 kAcLiquidMac_SetOnOff, // 设备开关、制冷制热 kAcLiquidMac_SetCellMaxTemp, // 电芯最高温度 kAcLiquidMac_SetCellMInTemp, // 电芯最低温度 kAcLiquidMac_SetCellAvgTemp, // 电芯平均温度 kAcLiquidMac_Lc_RunMode, // 液冷机组运行模式 kAcLiquidMac_Lc_Switch, // 液冷机组开关机 kAcLiquidMac_Lc_RunTemp, // 液冷运行温度 kAcLiquidMac_YT_Reserve = kAcLiquidMac_YT_Start + 27, // 遥调预留 82~101 kAcLiquidMac_YT_End, kAcLiquidMac_DataEnd, // } devAcLiquidMac_E; //-------------------------水浸传感器------------------------------ typedef enum { kWater_IsOnline = DEV_IS_ONLINE, // 设备是否在线 /* 故障告警 */ kWater_DataStart, kWater_WaterAlarmI = kWater_DataStart, kWater_WaterAlarmII, kWater_WaterAlarmIII, kWater_CutAlarm, kWater_DataEnd = kWater_DataStart + 19, // } devWaterThsensor; //-------------------------烟感传感器------------------------------ typedef enum { kYg_IsOnline = DEV_IS_ONLINE, // 设备是否在线 /* 故障告警 */ kYg_DataStart, kYg_WaterAlarmI = kYg_DataStart, kYg_WaterAlarmII, kYg_WaterAlarmIII, kYg_CutAlarm, kYg_DataEnd = kYg_DataStart + 19, // } devYgThsensor; //-------------------------温湿度传感器------------------------------ typedef enum { kTHSenor_Start = 0, // 开始 kTHSenor_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kTHSenor_Temp, // 温度(精度: 1℃) kTHSenor_Humidity, // 湿度(精度: 1%RH) kTHSenor_Rerverse = kTHSenor_Start + 19, // 预留 kTHSenor_DataEnd, // } devTHSenor_E; //-------------------------DIDO设备-代表IO模块枚举------------------------------ typedef enum { kDiDoSign_Start = 0, // 开始 kDiDoSign_IsOnline = kDiDoSign_Start, // 设备是否在线 kDiDoSign_DIStart, kDiDoSign_DI1 = kDiDoSign_DIStart, kDiDoSign_DI40 = kDiDoSign_DIStart + 39, kDiDoSign_DIEnd, kDiDoSign_DOtart = kDiDoSign_DIEnd, kDiDoSign_DO1 = kDiDoSign_DOtart, kDiDoSign_DO40 = kDiDoSign_DOtart + 39, kDiDoSign_DOEnd, kDIDoSign_Reverse = kDiDoSign_DOEnd + 18, // 预留 kDiDoSign_DataEnd // } devDIDOSign_E; //-------------------------UPS------------------------------ typedef enum { kUps_Start = 0, // 开始 kUps_IsUse = DEV_IS_USE, // 设备启用 kUps_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kUps_DataStart, kUps_Data1 = kUps_DataStart, /* 故障告警 */ /* 实时数据*/ /* 设置类数据*/ kUps_Data100 = kUps_DataStart + 98, kUps_DataEnd, // } devUps_E; //-------------------------预留设备1------------------------------ typedef enum { kFireprotect_Start = 0, // 开始 kFireprotect_IsUse = DEV_IS_USE, // 设备启用 kFireprotect_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kFireprotect_DataStart, kFireprotect_Data1 = kFireprotect_DataStart, /* 故障告警 */ /* 实时数据*/ /* 设置类数据*/ kFireprotect_Data100 = kFireprotect_DataStart + 98, kFireprotect_DataEnd, // } devFireProtect_E; //-------------------------预留设备1------------------------------ typedef enum { kRev1_Start = 0, // 开始 kRev1_IsUse = DEV_IS_USE, // 设备启用 kRev1_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kRev1_DataStart, kRev1_Data1 = kRev1_DataStart, /* 故障告警 */ /* 实时数据*/ /* 设置类数据*/ kRev1_Data100 = kRev1_DataStart + 98, kRev1_DataEnd, // } devRev1_E; //-------------------------预留设备2------------------------------ typedef enum { kRev2_Start = 0, // 开始 kRev2_IsUse = DEV_IS_USE, // 设备启用 kRev2_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kRev2_DataStart, kRev2_Data1 = kRev2_DataStart, /* 故障告警 */ /* 实时数据*/ /* 设置类数据*/ kRev2_Data100 = kRev2_DataStart + 98, kRev2_DataEnd, // } devRev2_E; //-------------------------预留设备3------------------------------ typedef enum { kRev3_Start, // 开始 kRev3_IsUse = DEV_IS_USE, // 设备启用 kRev3_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kRev3_DataStart, kRev3_Data1 = kRev3_DataStart, /* 故障告警 */ /* 实时数据*/ /* 设置类数据*/ kRev3_Data100 = kRev3_DataStart + 98, kRev3_DataEnd, // } devRev3_E; //-------------------------预留设备4------------------------------ typedef enum { kRev4_Start, // 开始 kRev4_IsUse = DEV_IS_USE, // 设备启用 kRev4_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kRev4_DataStart, kRev4_Data1 = kRev4_DataStart, /* 故障告警 */ /* 实时数据*/ /* 设置类数据*/ kRev4_Data100 = kRev4_DataStart + 98, kRev4_DataEnd, // } devRev4_E; //-------------------------预留设备5------------------------------ typedef enum { kRev5_Start = 0, // 开始 kRev5_IsUse = DEV_IS_USE, // 设备启用 kRev5_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kRev5_DataStart, kRev5_Data1 = kRev5_DataStart, /* 故障告警 */ /* 实时数据*/ /* 设置类数据*/ kRev5_Data100 = kRev5_DataStart + 98, kRev5_DataEnd, // } devRev5_E; #endif // BSP_DATA_MODE_H