diff --git a/ems_c/app/app_comm.h b/ems_c/app/app_comm.h index 6e298b5..3b34de3 100644 --- a/ems_c/app/app_comm.h +++ b/ems_c/app/app_comm.h @@ -1,5 +1,5 @@ /***************************************************************************** - * @copyright 1997-2010, . POWER SUPPLY CO., LTD. + * @copyright Copyright (c) 2025-2055 Gary. All rights reserved. * @file app_comm.h * @brief xx功能 * @author Gary diff --git a/ems_c/app/app_parse.c b/ems_c/app/app_parse.c index 349b06c..ceb2924 100644 --- a/ems_c/app/app_parse.c +++ b/ems_c/app/app_parse.c @@ -1,5 +1,5 @@ /***************************************************************************** - * @copyright 1997-2010, . POWER SUPPLY CO., LTD. + * @copyright Copyright (c) 2025-2055 Gary. All rights reserved. * @file app_parse.c * @brief 解析所有配置文件的入口 * @author Gary @@ -28,15 +28,16 @@ uint16_t gStDevTypePointNum[kDev_Type_End] = kEms_DataEnd, kPccMeter_DataEnd, kBsMeter_DataEnd, - kPcs_DataEnd, kBsu_DataEnd, kBcu_DataEnd, + kPcs_DataEnd, + kAcLiquidMac_DataEnd, kTHSenor_DataEnd, + kWater_DataEnd, + kYg_DataEnd, + kFireprotect_DataEnd, kDiDoSign_DataEnd, kUps_DataEnd, - kAcLiquidMac_DataEnd, - kWater_DataEnd, - kRev1_DataEnd, kRev2_DataEnd, kRev3_DataEnd, kRev4_DataEnd, diff --git a/ems_c/app/app_parse.h b/ems_c/app/app_parse.h index 2d38145..dc10e84 100644 --- a/ems_c/app/app_parse.h +++ b/ems_c/app/app_parse.h @@ -1,6 +1,6 @@ /***************************************************************************** - * @copyright 1997-2010, . POWER SUPPLY CO., LTD. + * @copyright Copyright (c) 2025-2055 Gary. All rights reserved. * @file app_parse.h * @brief 解析所有配置文件的入口 * @author Gary diff --git a/ems_c/bsp/bsp_comm.h b/ems_c/bsp/bsp_comm.h index a66643d..9cf78a2 100644 --- a/ems_c/bsp/bsp_comm.h +++ b/ems_c/bsp/bsp_comm.h @@ -1,5 +1,5 @@ /***************************************************************************** - * @copyright 1997-2010, . POWER SUPPLY CO., LTD. + * @copyright Copyright (c) 2025-2055 Gary. All rights reserved. * @file bsp_comm.h * @brief xx功能 * @author Gary diff --git a/ems_c/bsp/bsp_data_mode.c b/ems_c/bsp/bsp_data_mode.c index e629d18..08bcfb9 100644 --- a/ems_c/bsp/bsp_data_mode.c +++ b/ems_c/bsp/bsp_data_mode.c @@ -1,5 +1,5 @@ /***************************************************************************** - * @copyright 1997-2010, . POWER SUPPLY CO., LTD. + * @copyright Copyright (c) 2025-2055 Gary. All rights reserved. * @file bsp_data_mode.c * @brief xx功能 * @author Gary @@ -119,8 +119,6 @@ void getGpioMsge() setRtdbPointValue(kSign_ShMem, kDev_Type_EMS, 0, (kEms_Di_Start + loop), (double_t)tmp); } } - // 掉电检测 可能没用因为掉电之后很快就宕机 建议用drvGpioFlFcu2601Read(kForlinux_FC2601_Pow)直接获取不通过RTDB - setRtdbPointValue(kSign_ShMem, kDev_Type_EMS, 0, kEms_Pow, drvGpioFlFcu2601Read(kForlinux_FC2601_Pow)); } // 本机设备数量获取 直接写入共享内存 diff --git a/ems_c/bsp/bsp_data_mode.h b/ems_c/bsp/bsp_data_mode.h index 86f1d59..b8986d6 100644 --- a/ems_c/bsp/bsp_data_mode.h +++ b/ems_c/bsp/bsp_data_mode.h @@ -7,7 +7,7 @@ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ /***************************************************************************** - * @copyright 1997-2010, . Power SUPPLY CO., LTD. + * @copyright Copyright (c) 2025-2055 Gary. All rights reserved. * @file bsp_data_mode.h * @brief 所有的数据模型 * @author Gary @@ -30,29 +30,7 @@ #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; -*/ +#define DEV_IS_ONLINE 0 /*所有设备是否离线,属于设备的第一个点*/ typedef struct { @@ -68,59 +46,14 @@ 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_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信号 @@ -132,24 +65,29 @@ typedef enum 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_Do_End, + kEms_DevNumStart = kEms_Rererve_End, kEms_EmsNum = kEms_DevNumStart, // EMS本机数量 kEms_PccmeterNum, // PCC电表数量 kEms_BsmeterNum, // 储能电表数量 - kEms_PCSNum, // PCS 数量数量 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_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, // 控制预留开始 @@ -170,7 +108,7 @@ typedef enum kEms_ModBusLog_Enable, // modbus通讯点位日志开关 kEms_LogicLog_Enable, // 保护日志开关 kEms_MqttLog_Enable, // MQTT日志开关 - kEms_Reserve2_End = kEms_Reserve2_Start + 98, + kEms_Reserve2_End = kEms_Reserve2_Start + 50, kEms_DataEnd, } devEms_E; @@ -178,7 +116,6 @@ typedef enum 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) @@ -225,7 +162,7 @@ typedef enum /* 预留20个点位 */ kPCC_Reserve_Start, // kPCC_Reserve1 = kPCC_Reserve_Start, // 预留 - kPCC_Reserve16 = kPCC_Reserve1 + 16, // 预留 + kPCC_Reserve16 = kPCC_Reserve1 + 17, // 预留 kPCC_Reserve_End, // 预留结束 kPccMeter_DataEnd = kPCC_Reserve_End // 数据结束 @@ -235,7 +172,6 @@ typedef enum 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) @@ -284,284 +220,68 @@ typedef enum /* 预留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_Reserve18 = kBs_Reserve1 + 17, // 预留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_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; @@ -569,187 +289,332 @@ typedef enum typedef enum { kBcu_Start = 0, // 开始 - kBcu_IsUse = DEV_IS_USE, // 设备启用 kBcu_IsOnline = DEV_IS_ONLINE, // 设备是否在线 + kBcu_pointid1 = 1, ///< 设备在线 + kBcu_TotalAlarm = 2, ///< 总告警 + kBcu_TotalFault = 3, ///< 总故障 - 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 + /*----- 一级告警 (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 { - kTHSenor_Start = 0, // 开始 - kTHSenor_IsUse = DEV_IS_USE, // 设备启用 - kTHSenor_IsOnline = DEV_IS_ONLINE, // 设备是否在线 - kTHSenor_Temp, // 温度(精度: 1℃) - kTHSenor_Humidity, // 湿度(精度: 1%RH) - kTHSenor_DataEnd // -} devTHSenor_E; + /*----- 设备基础状态 (0-3) -----*/ + kPcs_IsOnline = 0, ///< 是否在线 + kPcs_Reserved1 = 1, ///< 预留 + kPcs_TotalFault = 2, ///< 总故障 + kPcs_TotalAlarm = 3, ///< 总告警 -//-------------------------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; + /*----- 硬件故障 (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, ///< 过温故障 -//-------------------------UPS------------------------------ -typedef enum -{ - kUps_Start = 0, // 开始 - kUps_IsUse = DEV_IS_USE, // 设备启用 - kUps_IsOnline = DEV_IS_ONLINE, // 设备是否在线 + /*----- 输出保护 (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相输出速断 - kUps_DataStart, - kUps_Data1 = kUps_DataStart, - /* 故障告警 */ - /* 实时数据*/ - /* 设置类数据*/ - kUps_Data100 = kUps_DataStart + 99, - kUps_DataEnd, // -} devUps_E; + /*----- 电网异常 (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_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_Reserve = kAcLiquidMac_Alarm_Start + 39, // 告警预留 3~40 kAcLiquidMac_Alarm_End, /* 实时数据*/ @@ -775,29 +640,94 @@ typedef enum kAcLiquidMac_Lc_RunTemp, // 液冷运行温度 kAcLiquidMac_YT_Reserve = kAcLiquidMac_YT_Start + 27, // 遥调预留 82~101 kAcLiquidMac_YT_End, - kAcLiquidMac_DataEnd = kAcLiquidMac_YT_End, // + kAcLiquidMac_DataEnd, // } 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_WaterAlarmI = kWater_DataStart, kWater_WaterAlarmII, kWater_WaterAlarmIII, kWater_CutAlarm, - kWater_YX_Reserve = kWater_YX_DataStart + 99, - kWater_YX_End, + 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, + /* 故障告警 */ /* 实时数据*/ /* 设置类数据*/ - kWater_DataEnd = kWater_YX_End, // -} devWaterThsensor; + 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 @@ -811,7 +741,7 @@ typedef enum /* 故障告警 */ /* 实时数据*/ /* 设置类数据*/ - kRev1_Data100 = kRev1_DataStart + 99, + kRev1_Data100 = kRev1_DataStart + 98, kRev1_DataEnd, // } devRev1_E; @@ -827,7 +757,7 @@ typedef enum /* 故障告警 */ /* 实时数据*/ /* 设置类数据*/ - kRev2_Data100 = kRev2_DataStart + 99, + kRev2_Data100 = kRev2_DataStart + 98, kRev2_DataEnd, // } devRev2_E; @@ -843,7 +773,7 @@ typedef enum /* 故障告警 */ /* 实时数据*/ /* 设置类数据*/ - kRev3_Data100 = kRev3_DataStart + 99, + kRev3_Data100 = kRev3_DataStart + 98, kRev3_DataEnd, // } devRev3_E; @@ -859,7 +789,7 @@ typedef enum /* 故障告警 */ /* 实时数据*/ /* 设置类数据*/ - kRev4_Data100 = kRev4_DataStart + 99, + kRev4_Data100 = kRev4_DataStart + 98, kRev4_DataEnd, // } devRev4_E; @@ -875,7 +805,7 @@ typedef enum /* 故障告警 */ /* 实时数据*/ /* 设置类数据*/ - kRev5_Data100 = kRev5_DataStart + 99, + kRev5_Data100 = kRev5_DataStart + 98, kRev5_DataEnd, // } devRev5_E; diff --git a/ems_c/bsp/bsp_redis.h b/ems_c/bsp/bsp_redis.h index e6c8ac2..4eb0699 100644 --- a/ems_c/bsp/bsp_redis.h +++ b/ems_c/bsp/bsp_redis.h @@ -7,7 +7,7 @@ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ /***************************************************************************** - * @copyright 1997-2010, . POWER SUPPLY CO., LTD. + * @copyright Copyright (c) 2025-2055 Gary. All rights reserved. * @file bsp_redis.h * @brief xx功能 * @author Gary diff --git a/ems_c/bsp/bsp_shm.h b/ems_c/bsp/bsp_shm.h index f773dd5..6d86dc7 100644 --- a/ems_c/bsp/bsp_shm.h +++ b/ems_c/bsp/bsp_shm.h @@ -7,7 +7,7 @@ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ /***************************************************************************** - * @copyright 1997-2010, . POWER SUPPLY CO., LTD. + * @copyright Copyright (c) 2025-2055 Gary. All rights reserved. * @file bsp_shm.h * @brief 共享内存接口封装 * @author Gary diff --git a/ems_c/kernel/kit_data.h b/ems_c/kernel/kit_data.h index 9503459..b6ad106 100644 --- a/ems_c/kernel/kit_data.h +++ b/ems_c/kernel/kit_data.h @@ -1,5 +1,5 @@ /***************************************************************************** - * @copyright 1997-2010, . POWER SUPPLY CO., LTD. + * @copyright Copyright (c) 2025-2055 Gary. All rights reserved. * @file kit_data.h * @brief 所有的数据类型定义以及 * @author Gary diff --git a/ems_c/kernel/kit_log.c b/ems_c/kernel/kit_log.c index d584a85..c48eace 100644 --- a/ems_c/kernel/kit_log.c +++ b/ems_c/kernel/kit_log.c @@ -1,5 +1,5 @@ /***************************************************************************** - * @copyright 1997-2010, . POWER SUPPLY CO., LTD. + * @copyright Copyright (c) 2025-2055 Gary. All rights reserved. * @file bsp_log.c * @brief 日志功能 * @author Gary diff --git a/ems_c/kernel/kit_log.h b/ems_c/kernel/kit_log.h index 700241b..a7c3d19 100644 --- a/ems_c/kernel/kit_log.h +++ b/ems_c/kernel/kit_log.h @@ -1,6 +1,6 @@ /***************************************************************************** - * @copyright 1997-2010, . POWER SUPPLY CO., LTD. + * @copyright Copyright (c) 2025-2055 Gary. All rights reserved. * @file kit_log.h * @brief 日志功能 * @author Gary diff --git a/ems_c/kernel/kit_math.h b/ems_c/kernel/kit_math.h index f784651..e435da2 100644 --- a/ems_c/kernel/kit_math.h +++ b/ems_c/kernel/kit_math.h @@ -1,5 +1,5 @@ /***************************************************************************** - * @copyright 1997-2010, . POWER SUPPLY CO., LTD. + * @copyright Copyright (c) 2025-2055 Gary. All rights reserved. * @file kit_math.h * @brief xx功能 * @author Gary diff --git a/ems_c/logic/logic_bcu2bsu.c b/ems_c/logic/logic_bcu2bsu.c index e42d758..1ef715e 100644 --- a/ems_c/logic/logic_bcu2bsu.c +++ b/ems_c/logic/logic_bcu2bsu.c @@ -5,7 +5,7 @@ // 定义哈希表的结构 // 声明全局变量 - +#if 1 // 初始化全局哈希表 void init_bcu_bsu_map(BcuBsuMap **bsu_map) { @@ -15,8 +15,8 @@ void init_bcu_bsu_map(BcuBsuMap **bsu_map) {kBsu_SysVolt, kBcu_TotalVolt}, {kBsu_SysCur, kBcu_TotalCur}, - {kBsu_SysSOC, kBcu_SOC}, - {kBsu_SysSOH, kBcu_SOH}, + {kBsu_SOC, kBcu_SOC}, + {kBsu_SOH, kBcu_SOH}, {kBsu_MaxCellTemp, kBcu_MaxCellTemp}, {kBsu_MinCellTemp, kBcu_MinCellTemp}, {kBsu_TotalChgE, kBcu_TotalChgCap}, @@ -87,3 +87,5 @@ double getBsuRTDBPointValue(BcuBsuMap *bsu_map, rtdb_type_e type, uint16_t devTy return getRtdbPointValue(type, devType, devId, pointId); } } + +#endif \ No newline at end of file diff --git a/ems_c/logic/logic_dido.c b/ems_c/logic/logic_dido.c index aa29457..2cd32ad 100644 --- a/ems_c/logic/logic_dido.c +++ b/ems_c/logic/logic_dido.c @@ -158,33 +158,6 @@ void faultDataGet() // RTDB数据写入 void faultDataSet(uint8_t cabt) { - setRtdbPointValue(kSign_ShMem, kDev_Type_EMS, 0, kEmsEmgStopL1 + cabt, (double)gpioRtdbData.emergStop[cabt]); - setRtdbPointValue(kSign_ShMem, kDev_Type_EMS, 0, kEmsSmokeL1 + cabt, (double)gpioRtdbData.smokeDetec[cabt]); - setRtdbPointValue(kSign_ShMem, kDev_Type_EMS, 0, kEmsDoorCtrlL1 + cabt, (double)gpioRtdbData.accessSensor[cabt]); - - if (gpioRtdbData.smokeDetec[cabt] && gpioRtdbData.tempSensor[cabt]) - { - setRtdbPointValue(kSign_ShMem, kDev_Type_EMS, 0, kEmsFireAlarmL1 + cabt, (double)kGpioSwitch_on); - } - else - { - setRtdbPointValue(kSign_ShMem, kDev_Type_EMS, 0, kEmsFireAlarmL1 + cabt, (double)kGpioSwitch_off); - } - - setRtdbPointValue(kSign_ShMem, kDev_Type_EMS, 0, kEmsFireFaultL1 + cabt, (double)gpioRtdbData.fireFault[cabt]); - setRtdbPointValue(kSign_ShMem, kDev_Type_EMS, 0, kEmsFireSprayL1 + cabt, (double)gpioRtdbData.fireFeedback[cabt]); - - if (gpioRtdbData.waterLow[cabt] && gpioRtdbData.waterHigh[cabt]) - { - setRtdbPointValue(kSign_ShMem, kDev_Type_EMS, 0, kEmsFireFloodL1 + cabt, (double)kGpioSwitch_on); - } - else - { - setRtdbPointValue(kSign_ShMem, kDev_Type_EMS, 0, kEmsFireFloodL1 + cabt, (double)kGpioSwitch_off); - } - - setRtdbPointValue(kSign_ShMem, kDev_Type_EMS, 0, kEmsSurge1 + cabt, (double)gpioRtdbData.surge[cabt]); - setRtdbPointValue(kSign_ShMem, kDev_Type_EMS, 0, kEmsTemp1 + cabt, (double)gpioRtdbData.tempSensor[cabt]); return; }