package com.ruoyi.other.udan.model;
|
|
import lombok.Data;
|
|
import java.io.Serializable;
|
|
/**
|
* 优旦储能-设备
|
* @author Lux
|
* @version 1.0.0
|
* @since 2026/9/14 17:59
|
*/
|
@Data
|
public class EmsState implements Serializable {
|
|
private static final long serialVersionUID = 1L;
|
|
/**
|
* 设备id (可关联系统配置的电站设备号)
|
* 只能由字母、数字和下划线组成,长度不超过50个字节
|
*/
|
private String deviceId;
|
|
/**
|
* 系统状态
|
*/
|
private String emsStatus;
|
|
/**
|
* 需量
|
*/
|
private Float demandPower;
|
|
/**
|
* 4G卡
|
*/
|
private String emsSimCard;
|
|
/**
|
* 时间
|
* 1970-01-01T00:00:00Z 以来的毫秒数
|
*/
|
private Long time;
|
|
/**
|
* proto协议版本
|
*/
|
private String protoProtocolVersion;
|
|
/**
|
* 运行状态
|
*/
|
private EmsRunStatus emsRunStatus;
|
|
/**
|
* 工作状态
|
*/
|
private EmsWorkStatus emsWorkStatus;
|
|
/**
|
* 故障状态
|
*/
|
private ErrorStatus faultStatus;
|
|
/**
|
* 并离网状态
|
*/
|
private String onGridStatus;
|
|
/**
|
* 控制源
|
*/
|
private ControlSrc controlSrc;
|
|
/**
|
* 指令模式
|
*/
|
private EmuModeCode emuModeCode;
|
|
/**
|
* 计划模式
|
*/
|
private EmuAutoMode emuAutoMod;
|
|
/**
|
* 防逆流控制
|
*/
|
private YesNo overDischargeProtect;
|
|
/**
|
* 防过载控制
|
*/
|
private YesNo overChargeProtect;
|
|
/**
|
* 需量控制
|
*/
|
private YesNo demandControl;
|
|
/**
|
* 动态增容控制
|
*/
|
private YesNo capacityExpansionModeCtrl;
|
|
/**
|
* 日充电量
|
* 单位:kWh
|
*/
|
private Float dailyChargeEnergyKwh;
|
|
/**
|
* 日放电量
|
* 单位:kWh
|
*/
|
private Float dailyDischargeEnergyKwh;
|
|
/**
|
* 月充电量
|
* 单位:kWh
|
*/
|
private Float monthlyChargeEnergyKwh;
|
|
/**
|
* 月放电量
|
* 单位:kWh
|
*/
|
private Float monthlyDischargeEnergyKwh;
|
|
/**
|
* 累计充电量
|
* 单位:kWh
|
*/
|
private Double totalChargeEnergyKwh;
|
|
/**
|
* 累计放电量
|
* 单位:kWh
|
*/
|
private Double totalDischargeEnergyKwh;
|
|
/**
|
* PCS总有功功率
|
* 单位:kW
|
*/
|
private Float pcsSumsActivePower;
|
|
/**
|
* PCS总视在功率
|
* 单位:kVar
|
*/
|
private Float pcsSumsApparentPower;
|
|
/**
|
* 直流母线总电压
|
* 单位:V
|
*/
|
private Float dcBusVoltage;
|
|
/**
|
* 直流母线总电流
|
* 单位:A
|
*/
|
private Float dcBusCurrent;
|
|
/**
|
* 总SOC
|
* 单位:%
|
*/
|
private Float sumsSoc;
|
|
/**
|
* 电池总节数
|
*/
|
private Integer cellSums;
|
|
/**
|
* 电池平均温度
|
* 单位:°C
|
*/
|
private Float batteryAverageTempr;
|
|
/**
|
* 电池最大温差
|
* 单位:°C
|
*/
|
private Float batteryMaxTemprDiff;
|
|
/**
|
* 最高单体电压值
|
* 单位:mV
|
*/
|
private Integer maxCellVoltage;
|
|
/**
|
* 最低单体电压值
|
* 单位:mV
|
*/
|
private Integer minCellVoltage;
|
|
/**
|
* 系统最大允许充电功率
|
* 单位:kW
|
*/
|
private Float systemMaxAllowChgPower;
|
|
/**
|
* 系统最大允许放电功率
|
* 单位:kW
|
*/
|
private Float systemMaxAllowDisPower;
|
|
/**
|
* 可充电量
|
* 单位:kWh
|
*/
|
private Float rechargeableKwh;
|
|
/**
|
* 可放电量
|
* 单位:kWh
|
*/
|
private Float dischargeableKwh;
|
|
/**
|
* 当前时刻最大允许充电功率(汇总)
|
* 单位:kW
|
*/
|
private Float currentMaxAllowChgPower;
|
|
/**
|
* 当前时刻最大允许放电功率(汇总)
|
* 单位:kW
|
*/
|
private Float currentMaxAllowDisPower;
|
|
/**
|
* SOC上限
|
* 单位:%
|
*/
|
private Float socUpperLimit;
|
|
/**
|
* SOC下限
|
* 单位:%
|
*/
|
private Float socLowerLimit;
|
|
/**
|
* 最大功率放电时长
|
* 单位:s
|
*/
|
private Integer maxPowerDischargeDuration;
|
|
/**
|
* 最大功率充电时长
|
* 单位:s
|
*/
|
private Integer maxPowerChargeDuration;
|
|
/**
|
* 与主机通讯状态
|
*/
|
private String masterCommStatus;
|
|
/**
|
* 并网点正向有功电能
|
* 单位:kWh
|
*/
|
private Double gridImportActiveEnergyKwh;
|
|
/**
|
* 并网点反向有功电能
|
* 单位:kWh
|
*/
|
private Double gridExportActiveEnergyKwh;
|
|
/**
|
* 直流侧总功率
|
* 单位:kW
|
*/
|
private Float dcTotalPower;
|
|
/**
|
* 负载功率
|
* 正放负充
|
* 单位:kW
|
*/
|
private Float loadTotalPower;
|
|
/**
|
* 储能侧总功率
|
* 正放负充
|
* 单位:kW
|
*/
|
private Float energyStoreTotalPower;
|
|
/**
|
* 高压侧电网功率
|
* 正放负充
|
* 单位:kW
|
*/
|
private Float highSideGridPower;
|
|
/**
|
* 低压侧电网功率
|
* 正放负充
|
* 单位:kW
|
*/
|
private Float lowSideGridPower;
|
|
/**
|
* 光伏功率
|
* 正放负充
|
* 单位:kW
|
*/
|
private Float pvPower;
|
|
/**
|
* 总SOH
|
* 单位:%
|
*/
|
private Float sumsSoh;
|
|
public enum ErrorStatus {
|
ERROR_STATUS_UNKNOWN(0), ERROR_STATUS_OCCURRING(1), ERROR_STATUS_NONE(2);
|
private final int code;
|
ErrorStatus(int code) { this.code = code; }
|
public int getCode() { return code; }
|
}
|
|
|
/**
|
* EMS运行状态
|
*/
|
public enum EmsRunStatus {
|
|
/**
|
* 预留
|
*/
|
EMS_RUN_STATUS_UNKNOWN(0),
|
|
/**
|
* 停止
|
*/
|
EMS_RUN_STATUS_STOPPED(1),
|
|
/**
|
* 待机
|
*/
|
EMS_RUN_STATUS_IDLE(2),
|
|
/**
|
* 运行
|
*/
|
EMS_RUN_STATUS_RUNNING(3),
|
|
/**
|
* 测试
|
*/
|
EMS_RUN_STATUS_TEST(4);
|
|
private final int code;
|
|
EmsRunStatus(int code) {
|
this.code = code;
|
}
|
|
public int getCode() {
|
return code;
|
}
|
}
|
|
/**
|
* EMS工作状态
|
*/
|
public enum EmsWorkStatus {
|
|
EMS_WORK_STATUS_UNKNOWN(0),
|
|
EMS_WORK_STATUS_CHARGING(1),
|
|
EMS_WORK_STATUS_DISCHARGING(2),
|
|
EMS_WORK_STATUS_IDLE(3);
|
|
private final int code;
|
|
EmsWorkStatus(int code) {
|
this.code = code;
|
}
|
|
public int getCode() {
|
return code;
|
}
|
}
|
|
/**
|
* 控制源
|
*/
|
public enum ControlSrc {
|
|
CONTROL_SRC_UNKNOWN(0),
|
|
CONTROL_SRC_LOCAL(1),
|
|
CONTROL_SRC_REMOTE(2),
|
|
CONTROL_SRC_OTHER(3);
|
|
private final int code;
|
|
ControlSrc(int code) {
|
this.code = code;
|
}
|
|
public int getCode() {
|
return code;
|
}
|
}
|
|
/**
|
* 指令模式
|
*/
|
public enum EmuModeCode {
|
|
EMU_MODE_CODE_UNKNOWN(0),
|
|
EMU_MODE_CODE_SUB_SYSTEM(1),
|
|
EMU_MODE_CODE_PLAN(2),
|
|
EMU_MODE_CODE_GENERAL_INSTRUCTION(3);
|
|
private final int code;
|
|
EmuModeCode(int code) {
|
this.code = code;
|
}
|
|
public int getCode() {
|
return code;
|
}
|
}
|
|
/**
|
* 计划模式
|
*/
|
public enum EmuAutoMode {
|
|
EMU_AUTO_MODE_UNKNOWN(0),
|
|
EMU_AUTO_MODE_24_HOUR_SCHEDULED_MODE(1),
|
|
EMU_AUTO_MODE_DEMAND_RESPONSE_SCHEDULED_MODE(2);
|
|
private final int code;
|
|
EmuAutoMode(int code) {
|
this.code = code;
|
}
|
|
public int getCode() {
|
return code;
|
}
|
}
|
|
/**
|
* 保留
|
*/
|
public enum YesNo {
|
|
YES_NO_UNKNOWN(0), // 保留
|
|
YES_NO_YES(1), // 是
|
|
YES_NO_NO(2); // 否
|
|
private final int code;
|
|
YesNo(int code) {
|
this.code = code;
|
}
|
|
public int getCode() {
|
return code;
|
}
|
}
|
}
|