/* * @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 1997-2010, . Power SUPPLY CO., LTD. * @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 1 /*所有设备是否离线,属于设备的第一个点*/ /* //接入EMS的所有设备类型数量 typedef struct{ uint8_t kEmsNum; //EMS本机 数量一个 uint8_t kPccMeterNum; //pcc电表 数量一个 uint8_t kBsMeterNum; //储能并网点电表 一般数量一个 uint8_t kPCSNum; // PCS数量 多个可配置 uint8_t kBSUNum; // BSU数量 多个可配置 uint8_t kBCUNum; // BCU数量 多个可配置 uint8_t kUPSNum; // UPS数量 一般1个 uint8_t kAcLiquidMacNum; // 液冷机组或空调 uint8_t kThSensorNum; // 温湿度传感器 多个可配置 uint8_t kReserve1Num; // 预留类型1 uint8_t kReserve2Num; // 预留类型1 uint8_t kReserve3Num; // 预留类型1 uint8_t kReserve4Num; // 预留类型1 uint8_t kReserve5Num; // 预留类型1 }DevTypeNum_T; extern DevTypeNum_T gStDevTypeNum; */ 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_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kEms_SysFaultLed, // 本机硬件故障 kEms_RvsFaultStart, kEms_RvsFault1 = kEms_RvsFaultStart, kEmsEmgStopL1 = kEms_RvsFault1, // 1#急停故障 kEmsEmgStopL2, // 2#急停故障 kEmsEmgStopL3, // 3#急停故障 kEmsSmokeL1, // 1#烟雾告警 kEmsSmokeL2, // 2#烟雾告警 kEmsSmokeL3, // 3#烟雾告警 kEmsDoorCtrlL1, // 1#门禁告警 kEmsDoorCtrlL2, // 2#门禁告警 kEmsDoorCtrlL3, // 3#门禁告警 kEmsFireAlarmL1, // 1#消防火警 kEmsFireAlarmL2, // 2#消防火警 kEmsFireAlarmL3, // 3#消防火警 kEmsFireFaultL1, // 1#消防故障 kEmsFireFaultL2, // 2#消防故障 kEmsFireFaultL3, // 3#消防故障 kEmsFireSprayL1, // 1#消防喷洒 kEmsFireSprayL2, // 2#消防喷洒 kEmsFireSprayL3, // 3#消防喷洒 kEmsFireFloodL1, // 1#消防水浸告警 kEmsFireFloodL2, // 2#消防水浸告警 kEmsFireFloodL3, // 3#消防水浸告警 kEmsDcCaseAbnL1, // 1#直流塑壳反馈异常 kEmsDcCaseAbnL2, // 2#直流塑壳反馈异常 kEmsDcCaseAbnL3, // 3#直流塑壳反馈异常 kEmsAcCaseAbnL1, // 1#交流塑壳反馈异常 kEmsAcCaseAbnL2, // 2#交流塑壳反馈异常 kEmsAcCaseAbnL3, // 3#交流塑壳反馈异常 kEmsPcsFaultNode, // PCS严重故障干节点 kEmsBmsFaultNode, // BMS严重故障干节点 kEmsAcPowerLoss, // 交流失电严重故障 kEms_Pow, // EMS失电故障 kEmsFireAerosol1, // 1#消防气溶胶 kEmsFireAerosol2, // 2#消防气溶胶 kEmsFireAerosol3, // 3#消防气溶胶 kEmsSurge1, // 1#浪涌辅助触点 kEmsSurge2, // 2#浪涌辅助触点 kEmsSurge3, // 3#浪涌辅助触点 kEmsTemp1, // 1#温感告警 kEmsTemp2, // 2#温感告警 kEmsTemp3, // 3#温感告警 kEms_RvsFault62 = kEms_RvsFault1 + 61, kEms_RvsFaultEnd, kEms_CpuTotalUsage = kEms_RvsFaultEnd, // 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信号结束 /*设备数量需要入库----切记此索引不能改变,同时用于web*/ kEms_DevNumStart = kEms_Do_End, kEms_EmsNum = kEms_DevNumStart, // EMS本机数量 kEms_PccmeterNum, // PCC电表数量 kEms_BsmeterNum, // 储能电表数量 kEms_PCSNum, // PCS 数量数量 kEms_BSUNum, // 电池堆数量 kEms_BCUNum, // 电池簇数量 kEms_ThsensorNum, // 温湿度传感器数量 kEms_DI_Num, // DI/DO设备设备数量 kEms_UPSNum, // UPS设备数量 kEms_AirCondNum, // 空调/液冷机组数量 kEms_WaterThsenorNum, // 水浸数量 kEms_Rv1Num, // 预留设备类型1数量 kEms_Rv2Num, // 预留设备类型2数量 kEms_Rv3Num, // 预留设备类型3数量 kEms_Rv4Num, // 预留设备类型4数量 kEms_Rv5Num, // 预留设备类型5数量 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 + 98, kEms_DataEnd, } devEms_E; //-------------------------PCC电表------------------------------ typedef enum { kPCC_Start = 0, // 开始 kPCC_IsUse = DEV_IS_USE, // 设备启用 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 + 16, // 预留 kPCC_Reserve_End, // 预留结束 kPccMeter_DataEnd = kPCC_Reserve_End // 数据结束 } devPCC_E; //-------------------------储能电表------------------------------ typedef enum { kBs_Start = 0, // 开始 kBs_IsUse = DEV_IS_USE, // 设备启用 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 + 16, // 预留16 kBs_Reserve_End, // 预留结束 kBsMeter_DataEnd = kBs_Reserve_End // 数据结束 } devBsMeter_E; //-------------------------PCS------------------------------ typedef enum { kPcs_Start = 0, // 开始 kPcs_IsUse = DEV_IS_USE, // 设备启用 kPcs_IsOnline = DEV_IS_ONLINE, // 设备是否在线 /* 故障告警 */ kPcs_TotalFault, // 总故障 kPcs_TotalAlarm, // 总告警 kPcs_HardwareOverCurA, // A相硬件过流 kPcs_HardwareOverCurB, // B相硬件过流 kPcs_HardwareOverCurC, // C相硬件过流 kPcs_HardwareOverCurN, // N相硬件过流 kPcs_UnitDCVolt, // 单元直压 kPcs_SwitchPwrLwVolt, // 开关电源欠压 kPcs_IGBTFaultA, // A相IGBT故障 kPcs_IGBTFaultB, // B相IGBT故障 kPcs_IGBTFaultC, // C相IGBT故障 kPcs_IGBTFaultN, // N相IGBT故障 kPcs_OverTempFault, // 过温故障 kPcs_OutputOverCurA, // A相输出过流 kPcs_OutputInterruptA, // A相输出速断 kPcs_OutputOverCurB, // B相输出过流 kPcs_OutputInterruptB, // B相输出速断 kPcs_OutputOverCurC, // C相输出过流 kPcs_OutputInterruptC, // C相输出速断 kPcs_OutputOverCurN, // N相输出过流 kPcs_OutputInterruptN, // N相输出速断 kPcs_ACOverVolt, // 交流过压 kPcs_ACLwVolt, // 交流欠压 kPcs_ACOverFreq, // 交流过频 kPcs_ACLwFreq, // 交流欠频 kPcs_VoltTHDUOverLimit, // 电压THDU超限 kPcs_SysPhaseLoss, // 系统缺相 kPcs_SysPhaseSeqErr, // 系统相序错误 kPcs_DCPolarityRvs, // 直流极性反接 kPcs_DCBusLwVolt, // 直流母线欠压 kPcs_DCBusOverVolt, // 直流母线过压 kPcs_SysOverFrequency, // 系统过频 kPcs_SysLwFrequency, // 系统欠频 kPcs_DCChgOverCur, // 直流充电过流 kPcs_DCDisChgOverCur, // 直流放电过流 kPcs_IslandingProtection, // 孤岛保护 kPcs_ACMainConnFault, // 交流主接合闸故障 kPcs_ACMainDiscFault, // 交流主接分闸故障 kPcs_ACSoftStartConnFault, // 交流软启合闸故障 kPcs_ACSoftStartDiscFault, // 交流软启分闸故障 kPcs_DCMasterConnFault, // 直流主接合闸故障 kPcs_DCMasterDiscFault, // 直流主接分闸故障 kPcs_DCSoftStartConnFault, // 直流软启合闸故障 kPcs_DCSoftStartDiscFault, // 直流软启分闸故障 kPcs_FeEltcParamStoreErr, // 铁电参数存储错误 kPcs_DCSoftStartFailure, // 直流软起失败 kPcs_BootReqNotMet, // 起机条件不满足 kPcs_SwitchFaultDuringOp, // 运行中开关故障 kPcs_InvStartTimeout, // 逆变器启动超时 kPcs_ParameterSetErr, // 参数下发设置错误 kPcs_BMSCommFault, // BMS通讯故障 kPcs_BMSTempAbnormal, // BMS温度异常 kPcs_BMSTrip, // BMS跳机 kPcs_BMSBattAlarm, // BMS电池告警 kPcs_DCDCCommFault, // DCDC通讯故障 kPcs_EMSCommFault, // EMS通讯故障 kPcs_EmergencyStopFault, // 急停故障 kPcs_BattSoftwareLwVolt, // 电池软件欠压 kPcs_BattSoftwareOverVolt, // 电池软件过压 kPcs_BusUnbalanceAbnormal, // 母线不平衡异常 kPcs_BusHalfDCVoltUpVolt, // 母线半直压过压 /* 预留告警 */ kPcs_ReserveAlarm_Start, kPcs_ReserveAlarm_1 = kPcs_ReserveAlarm_Start, // 预留告警1 kPcs_ReserveAlarm_87 = kPcs_ReserveAlarm_1 + 86, // 预留告警 kPcs_ReserveAlarm_End, /* 状态 */ kPcs_Stopped = kPcs_ReserveAlarm_End, // 停机状态 kPcs_Standby, // 待机状态 kPcs_Running, // 运行状态 kPcs_GridConnected, // 并网状态 kPcs_OffGrid, // 离网状态 /* 信号 */ kPcs_BMSDryNodeSignal, // BMS干节点信号 kPcs_LocalRemote, // 本地/远程 /* 监测数据 */ kPcs_VoltA, // A相电压(精度: 1V) kPcs_VoltB, // B相电压(精度: 1V) kPcs_VoltC, // C相电压(精度: 1V) kPcs_CurA, // A相电流(精度: 1A) kPcs_CurB, // B相电流(精度: 1A) kPcs_CurC, // C相电流(精度: 1A) kPcs_GridFrequency, // 电网频率(精度: 1Hz) kPcs_ActivePwrA, // A相有功功率(精度: 1kW) kPcs_ActivePwrB, // B相有功功率(精度: 1kW) kPcs_ActivePwrC, // C相有功功率(精度: 1kW) kPcs_TotalActivePwr, // 总有功功率(精度: 1kW) kPcs_ReactivePwrA, // A相无功功率(精度: 1kVar) kPcs_ReactivePwrB, // B相无功功率(精度: 1kVar) kPcs_ReactivePwrC, // C相无功功率(精度: 1kVar) kPcs_TotalReactivePwr, // 总无功功率(精度: 1kVar) kPcs_ApparentPwrA, // A相视在功率(精度: 1kVA) kPcs_ApparentPwrB, // B相视在功率(精度: 1kVA) kPcs_ApparentPwrC, // C相视在功率(精度: 1kVA) kPcs_TotalApparentPwr, // 总视在功率(精度: 1kVA) kPcs_PwrFactorA, // A相功率因数 kPcs_PwrFactorB, // B相功率因数 kPcs_PwrFactorC, // C相功率因数 kPcs_TotalPwrFactor, // 总功率因数 kPcs_PCSInputPwr, // PCS输入功率(精度: 1kW) kPcs_PCSInputVolt, // PCS输入电压(精度: 1V) kPcs_PCSInputCur, // PCS输入电流(精度: 1A) kPcs_ACAccumulatedChg, // 交流累计充电量(精度: 1kWh) kPcs_ACAccumulatedDisChg, // 交流累计放电量(精度: 1kWh) kPcs_DCAcquiredChg, // 直流累计充电量(精度: 1kWh) kPcs_DCAcquiredDisChg, // 直流累计放电量(精度: 1kWh) kPcs_SysClockSeconds, // 系统时钟-秒 kPcs_SysClockMinutes, // 系统时钟-分 kPcs_SysClockHours, // 系统时钟-时 kPcs_SysClockDays, // 系统时钟-日 kPcs_SysClockMonths, // 系统时钟-月 kPcs_SysClockYears, // 系统时钟-年 kPcs_PCSFaultWord1, // PCS故障字1 kPcs_PCSFaultWord2, // PCS故障字2 kPcs_PCSFaultWord3, // PCS故障字3 kPcs_PCSFaultWord4, // PCS故障字4 kPcs_PCSFaultWord5, // PCS故障字5 kPcs_PCSFaultWord6, // PCS故障字6 kPcs_MaxAllowedChgCur, // 最大允许充电电流(精度: 1A) kPcs_MaxAllowedDisChgCur, // 最大允许放电电流(精度: 1A) kPcs_MaxAllowedChgPwr, // 最大允许充电功率(精度: 1kW) kPcs_MaxAllowedDisChgPwr, // 最大允许放电功率(精度: 1kW) kPcs_ReserveYC_Start, kPcs_IgbtTemp = kPcs_ReserveYC_Start, // IGBT温度 kPcs_ReserveYC47 = kPcs_ReserveYC_Start + 46, // 预留 kPcs_ReserveYC_End, /* 远程控制设置 */ kPcs_RemoteLocalSet = kPcs_ReserveYC_End, // 远程本地设置 kPcs_OperationModeSet, // 运行模式设置 kPcs_GridConnectionSet, // 并网离网设置 kPcs_DeviceStartup, // 设备开机 kPcs_DeviceShutdown, // 设备停机 kPcs_DeviceSwitchCommand, // 设备开关机指令 kPcs_RemoteEmergencyStop, // 远程急停 kPcs_GridDisconnectionSet, // 并离网设置 kPcs_ConstantVoltChgSet, // 恒压充电电压设置值(精度: 1V) kPcs_ConstantCurChgSet, // 恒流充电电流设置值(精度: 1A) kPcs_ConstantActivePwrSet, // 恒功率有功功率设置(精度: 1kW) kPcs_ConstantReactPwrSet, // 恒功率无功功率设置(精度: 1kVar) /*预留字段*/ kPcs_ReserveYT_Start, kPcs_APhaseAPSet = kPcs_ReserveYT_Start, // A相有功设置 kPcs_BPhaseAPSet, // B相有功设置 kPcs_CPhaseAPSet, // C相有功设置 kPcs_ReserveYT37 = kPcs_ReserveYT_Start + 37, // 预留 kPcs_ReserveYT_End, kPcs_DataEnd = kPcs_ReserveYT_End } devPcs_E; //-------------------------BSU堆------------------------------ typedef enum { kBsu_Start = 0, // 开始 kBsu_IsUse = DEV_IS_USE, // 设备启用 kBsu_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kBsu_BattClsCommAlarm, // 与电池簇通信告警 kBsu_MasterSlaveCommAlarm, // 主从通讯告警 kBsu_TotalAlarm, // 总告警 kBsu_TotalFault, // 总故障 kBsu_CellOverVoltAlarmI, // 单体过压告警一级 kBsu_CellLwVoltAlarmI, // 单体欠压告警一级 kBsu_CellOverTempAlarmI, // 单体过温告警一级 kBsu_CellLowTempAlarmI, // 单体低温告警一级 kBsu_CellVoltDiffAlarmI, // 单体压差告警一级 kBsu_ChgOverCurAlarmI, // 充电过流告警一级 kBsu_DisChgOverCurAlarmI, // 放电过流告警一级 kBsu_SOCLwAlarmI, // SOC过低告警一级 kBsu_SOCDiffOverAlarmI, // SOC差异过大告警一级 kBsu_InsuLwAlarmI, // 绝缘过低告警一级 kBsu_CellOverVoltAlarmII, // 单体过压告警二级 kBsu_CellLwVoltAlarmII, // 单体欠压告警二级 kBsu_CellOverTempAlarmII, // 单体过温告警二级 kBsu_CellLowTempAlarmII, // 单体低温告警二级 kBsu_CellVoltDiffAlarmII, // 单体压差告警二级 kBsu_ChgOverCurAlarmII, // 充电过流告警二级 kBsu_DisChgOverCurAlarmII, // 放电过流告警二级 kBsu_SOCLwAlarmII, // SOC过低告警二级 kBsu_SOCDiffOverAlarmII, // SOC差异过大告警二级 kBsu_InsuLwAlarmII, // 绝缘过低告警二级 kBsu_CellOverVoltAlarmIII, // 单体过压告警三级 kBsu_CellLwVoltAlarmIII, // 单体欠压告警三级 kBsu_CellOverTempAlarmIII, // 单体过温告警三级 kBsu_CellLowTempAlarmIII, // 单体低温告警三级 kBsu_CellVoltDiffAlarmIII, // 单体压差告警三级 kBsu_ChgOverCurAlarmIII, // 充电过流告警三级 kBsu_DisChgUpCurAlarmIII, // 放电过流告警三级 kBsu_SOCLwAlarmIII, // SOC过低告警三级 kBsu_SOCDiffOverAlarmIII, // SOC差异过大告警三级 kBsu_InsuLwAlarmIII, // 绝缘过低告警三级 kBsu_CellTempLimitAlarm, // 电芯温度极限告警 kBsu_CellVoltLimitAlarm, // 电芯电压极限告警 kBsu_ClsCirCurAlarmI, // 簇间环流1级告警 kBsu_ClsCirCurAlarmII, // 簇间环流2级告警 kBsu_ClsCirCurAlarmIII, // 簇间环流3级告警 kBsu_ClsCurDiffAlarmI, // 簇间电流差1级告警 kBsu_ClsCurDiffAlarmII, // 簇间电流差2级告警 kBsu_ClsCurDiffAlarmIII, // 簇间电流差3级告警 kBsu_GrpOverVoltAlarmI, // 组端过压1级告警 kBsu_GrpOverVoltAlarmII, // 组端过压2级告警 kBsu_GrpOverVoltAlarmIII, // 组端过压3级告警 kBsu_GrpLwVoltAlarmI, // 组端欠压1级告警 kBsu_GrpLwVoltAlarmII, // 组端欠压2级告警 kBsu_GrpLwVoltAlarmIII, // 组端欠压3级告警 kBsu_PoleOverTempAlarmI, // 极柱过温1级告警 kBsu_PoleOverTempAlarmII, // 极柱过温2级告警 kBsu_PoleOverTempAlarmIII, // 极柱过温3级告警 kBsu_AFETempCableAnomaly, // AFE温感排线异常 kBsu_AFEVoltCableAnomaly, // AFE电压排线异常 kBsu_AFEFault, // AFE故障 kBsu_HighVoltAnomaly, // 高压异常 kBsu_PreChgAlarm, // 预充告警 kBsu_OpenCircuitFault, // 开路故障 kBsu_RelayStickingAlarm, // 继电器粘连告警 kBsu_BattLimitFault, // 电池极限故障 kBsu_FuseFault, // 熔丝故障 kBsu_CircuitBreakerFault, // 断路器故障 kBsu_AirConditioningFault, // 空调故障 kBsu_FireSprinkler, // 消防喷洒 kBsu_FireDeviceFault, // 消防设备故障 kBsu_FireAlarm, // 消防火警 kBsu_EmergencyStopFault, // 急停故障 kBsu_MSDFault, // MSD故障 kBsu_CtrlCommandTimeout, // 控制指令超时 kBsu_AlarmReserveStart, // 告警保留69 kBsu_AlarmReserve1 = kBsu_AlarmReserveStart, // 告警保留100 kBsu_TotalDChgE = 99, kBsu_TotalChgE = 100, kBsu_AlarmReserve30 = kBsu_AlarmReserveStart + 30, // 告警保留100 kBsu_AlarmReserveEnd, kBsu_TotalDisCap = kBsu_AlarmReserveEnd, // 累计放电量 kBsu_TotalChgCap, // 累计充电量 kBsu_ChgDisabledSignal, // 禁充信号 kBsu_DisChgDisabledSignal, // 禁放信号(0:待机 1:充电 2:放电) kBsu_ChgDisChgStatus, // 充放电状态 kBsu_OnlineRackCount, // 在线Rack数 kBsu_TotalRackCount, // 总Rack数 kBsu_SysVolt, // 系统电压(精度: 0.1V) kBsu_SysCur, // 系统电流(精度: 0.1A) kBsu_SysSOC, // 系统SOC(精度: 0.1%) kBsu_SysSOH, // 系统SOH(精度: 0.1%) kBsu_MaxCellVolt, // 最大单体电压(精度: 1mV) kBsu_MinCellVolt, // 最小单体电压(精度: 1mV) kBsu_AvgCellVolt, // 平均单体电压(精度: 1mV) kBsu_MaxCellTemp, // 最高单体温度(精度: 0.1℃) kBsu_MinCellTemp, // 最低单体温度(精度: 0.1℃) kBsu_AvgCellTemp, // 平均单体温度(精度: 0.1℃) kBsu_ChgCurLimit, // 充电限制电流(精度: 0.1A) kBsu_DisChgCurLimit, // 放电限制电流(精度: 0.1A) kBsu_ChgPwrLimit, // 充电限制功率(精度: 0.1kW) kBsu_DisChgPwrLimit, // 放电限制功率(精度: 0.1kW) kBsu_OnlineVolt, // 在线电压(精度: 0.1V) kBsu_OnlineSOC, // 在线SOC(精度: 0.1%) kBsu_ChgCutoffVolt, // 充电截止电压(精度: 0.01V) kBsu_DisChgCutoffVolt, // 放电截止电压(精度: 0.01V) kBsu_BattRechgCap, // 电池可充电量(精度: 1kWh) kBsu_BattDischgCap, // 电池可放电量(精度: 1kWh) kBsu_InstalledCap, // 装机容量(精度: 1kWh) kBsu_DataEnd } devBsu_E; //-------------------------电池簇BCU------------------------------ typedef enum { kBcu_Start = 0, // 开始 kBcu_IsUse = DEV_IS_USE, // 设备启用 kBcu_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kBcu_BattClsCommAlarm, // 与电池簇通信告警 kBcu_MasterSlaveCommAlarm, // 主从通讯告警 kBcu_TotalAlarm, // 总告警 kBcu_TotalFault, // 总故障 kBcu_CellOverVoltAlarmI, // 单体过压告警一级 kBcu_CellLwVoltAlarmI, // 单体欠压告警一级 kBcu_CellOverTempAlarmI, // 单体过温告警一级 kBcu_CellLowTempAlarmI, // 单体低温告警一级 kBcu_CellVoltDiffAlarmI, // 单体压差告警一级 kBcu_ChgOverCurAlarmI, // 充电过流告警一级 kBcu_DisChgOverCurAlarmI, // 放电过流告警一级 kBcu_SOCLwAlarmI, // SOC过低告警一级 kBcu_SOCDiffOverAlarmI, // SOC差异过大告警一级 kBcu_InsuLwAlarmI, // 绝缘过低告警一级 kBcu_CellOverVoltAlarmII, // 单体过压告警二级 kBcu_CellLwVoltAlarmII, // 单体欠压告警二级 kBcu_CellOverTempAlarmII, // 单体过温告警二级 kBcu_CellLowTempAlarmII, // 单体低温告警二级 kBcu_CellVoltDiffAlarmII, // 单体压差告警二级 kBcu_ChgOverCurAlarmII, // 充电过流告警二级 kBcu_DisChgOverCurAlarmII, // 放电过流告警二级 kBcu_SOCLwAlarmII, // SOC过低告警二级 kBcu_SOCDiffOverAlarmII, // SOC差异过大告警二级 kBcu_InsuLwAlarmII, // 绝缘过低告警二级 kBcu_CellOverVoltAlarmIII, // 单体过压告警三级 kBcu_CellLwVoltAlarmIII, // 单体欠压告警三级 kBcu_CellOverTempAlarmIII, // 单体过温告警三级 kBcu_CellLowTempAlarmIII, // 单体低温告警三级 kBcu_CellVoltDiffAlarmIII, // 单体压差告警三级 kBcu_ChgOverCurAlarmIII, // 充电过流告警三级 kBcu_DisChgUpCurAlarmIII, // 放电过流告警三级 kBcu_SOCLwAlarmIII, // SOC过低告警三级 kBcu_SOCDiffOverAlarmIII, // SOC差异过大告警三级 kBcu_InsuLwAlarmIII, // 绝缘过低告警三级 kBcu_CellTempLimitAlarm, // 电芯温度极限告警 kBcu_CellVoltLimitAlarm, // 电芯电压极限告警 kBcu_ClsCirCurAlarmI, // 簇间环流1级告警 kBcu_ClsCirCurAlarmII, // 簇间环流2级告警 kBcu_ClsCirCurAlarmIII, // 簇间环流3级告警 kBcu_ClsCurDiffAlarmI, // 簇间电流差1级告警 kBcu_ClsCurDiffAlarmII, // 簇间电流差2级告警 kBcu_ClsCurDiffAlarmIII, // 簇间电流差3级告警 kBcu_GrpEndUpVoltAlarmI, // 组端过压1级告警 kBcu_GrpEndUpVoltAlarmII, // 组端过压2级告警 kBcu_GrpEndUpVoltAlarmIII, // 组端过压3级告警 kBcu_GrpEndLwVoltAlarmI, // 组端欠压1级告警 kBcu_GrpEndLwVoltAlarmII, // 组端欠压2级告警 kBcu_GrpEndLwVoltAlarmIII, // 组端欠压3级告警 kBcu_PoleTempAlarmI, // 极柱过温1级告警 kBcu_PoleTempAlarmII, // 极柱过温2级告警 kBcu_PoleTempAlarmIII, // 极柱过温3级告警 kBcu_AFETempLineException, // AFE温感排线异常 kBcu_AFEVoltLineException, // AFE电压排线异常 kBcu_AFEFault, // AFE故障 kBcu_HighVoltException, // 高压异常 kBcu_PreChgAlarm, // 预充告警 kBcu_OpenCircuitFault, // 开路故障 kBcu_RelayStickingAlarm, // 继电器粘连告警 kBcu_BattLimitFault, // 电池极限故障 kBcu_FuseFault, // 熔丝故障 kBcu_CircuitBreakerFault, // 断路器故障 kBcu_AirConditionerFault, // 空调故障 kBcu_FireSprinkler, // 消防喷洒 kBcu_FireDeviceFault, // 消防设备故障 kBcu_FireAlarm, // 消防火警 kBcu_EmergencyStopFault, // 急停故障 kBcu_MSDFault, // MSD故障 kBcu_CtrlCommandTimeout, // 控制指令超时 kBcu_AlarmReserveStart, kBcu_AlarmReserve1 = kBcu_AlarmReserveStart, // 告警保留 kBcu_AlarmReserve31 = kBcu_AlarmReserve1 + 30, // 告警保留 kBcu_AlarmReserveEnd, kBcu_SOC = kBcu_AlarmReserveEnd, // SOC kBcu_SOH, // SOH kBcu_TotalVolt, // 总电压(精度: 0.01V) kBcu_TotalCur, // 总电流(精度: 0.01A) kBcu_SysSOH, // 系统SOH(精度: 0.1%) kBcu_MaxCellVolt, // 最大单体电压(精度: 0.001mV) kBcu_MinCellVolt, // 最小单体电压(精度: 0.001mV) kBcu_AvgCellVolt, // 平均单体电压(精度: 0.001mV) kBcu_MaxCellTemp, // 最高单体温度(精度: 0.01℃) kBcu_MinCellTemp, // 最低单体温度(精度: 0.01℃) kBcu_AvgCellTemp, // 平均单体温度(精度: 0.01℃) kBcu_ChgCurLimit, // 充电限制电流(精度: 0.01A) kBcu_DisChgCurLimit, // 放电限制电流(精度: 0.01A) kBcu_ChgPwrLimit, // 充电限制功率(精度: 0.01kW) kBcu_DisChgPwrLimit, // 放电限制功率(精度: 0.01kW) kBcu_Reserve35_Start, // 预留35起始 kBcu_TotalChgCap = kBcu_Reserve35_Start, // 累计充电电量 kBcu_TotalDisChgCap, // 累计放电电量 kBcu_Reserve35 = kBcu_Reserve35_Start + 34, // 预留35 kBcu_Reserve35_End, // 预留35结束 kBcu_PackBalanceStatus_Start = kBcu_Reserve35_End, // PACK均衡状态起始 kBcu_PackBalanceStatus1 = kBcu_PackBalanceStatus_Start, // PACK均衡状态字1 kBcu_PackBalanceStatus30 = kBcu_PackBalanceStatus_Start + 29, // PACK均衡状态字30 kBcu_PackBalanceStatus_End, // PACK均衡状态结束 kBcu_Reserve20_Start = kBcu_PackBalanceStatus_End, // 预留20起始 kBcu_Reserve1_20 = kBcu_Reserve20_Start, // 预留1 kBcu_Reserve20 = kBcu_Reserve1_20 + 19, // 预留20 kBcu_Reserve20_End, // 预留20结束 kBcu_CellVolt_Start = kBcu_Reserve20_End, // 单体电压起始 kBcu_CellVolt1 = kBcu_CellVolt_Start, // 单体电压1 kBcu_CellVolt450 = kBcu_CellVolt1 + 449, // 单体电压450 kBcu_CellVolt_End, // 单体电压结束 kBcu_CellSOC_Start = kBcu_CellVolt_End, // 单体SOC起始 kBcu_CellSOC1 = kBcu_CellSOC_Start, // 单体SOC1 kBcu_CellSOC450 = kBcu_CellSOC1 + 449, // 单体SOC450 kBcu_CellSOC_End, // 单体SOC结束 kBcu_CellSOH_Start = kBcu_CellSOC_End, // 单体SOH起始 kBcu_CellSOH1 = kBcu_CellSOH_Start, // 单体SOH1 kBcu_CellSOH450 = kBcu_CellSOH1 + 449, // 单体SOH450 kBcu_CellSOH_End, // 单体SOH结束 kBcu_CellTemp_Start = kBcu_CellSOH_End, // 单体温度起始 kBcu_CellTemp1 = kBcu_CellTemp_Start, // 单体温度1 kBcu_CellTemp250 = kBcu_CellTemp1 + 249, // 单体温度250 kBcu_CellTemp_End, // 单体温度结束 kBcu_Reserve200_Start = kBcu_CellTemp_End, // 预留200起始 kBcu_Reserve1_200 = kBcu_Reserve200_Start, // 预留1 kBcu_Reserve200 = kBcu_Reserve1_200 + 199, // 预留200 kBcu_Reserve200_End, // 预留200结束 kBcu_DataEnd = kBcu_Reserve200_End } devBcu_E; //-------------------------温湿度传感器------------------------------ typedef enum { kTHSenor_Start = 0, // 开始 kTHSenor_IsUse = DEV_IS_USE, // 设备启用 kTHSenor_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kTHSenor_Temp, // 温度(精度: 1℃) kTHSenor_Humidity, // 湿度(精度: 1%RH) kTHSenor_DataEnd // } devTHSenor_E; //-------------------------DIDO设备-代表IO模块枚举------------------------------ typedef enum { kDiDoSign_Start = 0, // 开始 kDiDoSign_IsUse = DEV_IS_USE, // 设备启用 kDiDoSign_IsOnline = DEV_IS_ONLINE, // 设备是否在线 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_DataEnd = kDiDoSign_DOEnd // } 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 + 99, kUps_DataEnd, // } devUps_E; //-------------------------液冷机组------------------------------ typedef enum { kAcLiquidMac_Start = 0, // 开始 kAcLiquidMac_IsUse = DEV_IS_USE, // 设备启用 kAcLiquidMac_IsOnline = DEV_IS_ONLINE, // 设备是否在线 kAcLiquidMac_DataStart, /* 故障告警 */ kAcLiquidMac_Alarm_Start = kAcLiquidMac_DataStart, kAcLiquidMac_TotalAlarm = kAcLiquidMac_Alarm_Start, // 总故障 kAcLiquidMac_Alarm_Reserve = kAcLiquidMac_Alarm_Start + 38, // 告警预留 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 = kAcLiquidMac_YT_End, // } devAcLiquidMac_E; //-------------------------水浸传感器------------------------------ typedef enum { kWater_Start = 0, // 开始 kWater_IsUse = DEV_IS_USE, // 设备启用 kWater_IsOnline = DEV_IS_ONLINE, // 设备是否在线 /* 故障告警 */ kWater_DataStart, kWater_YX_DataStart = kWater_DataStart, kWater_WaterAlarmI = kWater_YX_DataStart, kWater_WaterAlarmII, kWater_WaterAlarmIII, kWater_CutAlarm, kWater_YX_Reserve = kWater_YX_DataStart + 99, kWater_YX_End, /* 实时数据*/ /* 设置类数据*/ kWater_DataEnd = kWater_YX_End, // } devWaterThsensor; //-------------------------预留设备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 + 99, 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 + 99, 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 + 99, 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 + 99, 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 + 99, kRev5_DataEnd, // } devRev5_E; #endif // BSP_DATA_MODE_H