forked from gary/ems
2
0
Fork 0
sun_ems/ems_c/bsp/bsp_data_mode.h

812 lines
40 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* @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 <stdio.h>
#include <string.h>
#include <stdint.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdbool.h>
#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