102 lines
5.3 KiB
C
102 lines
5.3 KiB
C
/*
|
||
* parameter.h
|
||
*
|
||
* Created on: 2024年10月12日
|
||
* Author: psx
|
||
*/
|
||
|
||
#ifndef APP_INC_PARAMETER_H_
|
||
#define APP_INC_PARAMETER_H_
|
||
|
||
#include "debug.h"
|
||
#include "math.h"
|
||
#include "uart_dev.h"
|
||
|
||
|
||
typedef struct _Mppt_controlparameter{
|
||
float_t constantVoltageV; /* 电压高于ConstantVoltageV且电流大于(FloatI + 0.1)进行恒压充电
|
||
电压低于该(ConstantVoltageV - 0.2) 进行恒流充电 (V) */
|
||
float_t floatI; /* 电压高于该ConstantVoltageV且电流低于FloatI进行浮充充电 (A) */
|
||
float_t startSolarOpenCircuitV; /* 太阳能板开路电压高于该电压开始充电 (V) */
|
||
float_t stopSolarOpenCircuitV; /* 太阳能板开路电压高于该电压停止充电 (V) */
|
||
float_t constantVoltageChargeV; /* 恒压充电时的输出电压 (V) */
|
||
float_t FloatV; /* 浮充充电时的输出电压 (V) */
|
||
float_t loopImpedance; /* 回路阻抗大小 (mΩ) */
|
||
float_t HighSideMosTemperature_stop; /* 当上桥温度达到该值时,停止输出 (°C) */
|
||
float_t HighSideMosTemperature_end; /* 当上桥温度上升到该值时,降低功率运行 (°C) */
|
||
float_t HighSideMosTemperature_start; /* 当上桥温度降低到该值时,按照正常情况输出 (°C) */
|
||
float_t dutyRatio; /* 占空比 */
|
||
|
||
uint16_t sensorEnableBroadcastTime; /* 传感器运行再次注册的间隔 (S) */
|
||
uint16_t checkSolarOpenCircuitVTime; /* 启动任务中太阳能板开路电压检测间隔时间 (S) */
|
||
uint16_t outputAgainFlagTime; /* 出现短路保护后延长该段时间再次检测是否短路,仍然短路则关闭输出 (S) */
|
||
uint16_t excessiveLoadFlagTime; /* 出现过载后,在该间隔时间中多次(2次)出现过载,则关闭输出 (S) */
|
||
uint16_t eLAgainTime; /* 出现过载过载保护后,在该间隔段时间后,再次尝试输出 (S) */
|
||
uint32_t collectOpenCircuitVoltageTime; /* 开路电压采集时间间隔 */
|
||
} Mppt_controlparameter;
|
||
extern Mppt_controlparameter g_controlParameter;
|
||
|
||
typedef struct _Mppt_otherParameter{
|
||
/* SL */
|
||
uint8_t address[7]; /* 地址 */
|
||
uint16_t Access_Node_Type; /* 接入节点类型 */
|
||
uint16_t Communication_Methods; /* 通信方式 */
|
||
uint16_t Registration_Status; /* 注册状态 */
|
||
uint8_t startFlagSL[2]; /* 起始标志 */
|
||
uint8_t endFlagSL; /* 结束标志 */
|
||
|
||
/* HY */
|
||
uint8_t hardwareID[6]; /* 硬件ID */
|
||
uint8_t communicationID[4]; /* 通信ID */
|
||
uint8_t protocolType; /* 协议类型; 0x01表示:汇源协议(波特率9600) 0x02表示:南瑞协议(波特率115200)*/
|
||
uint8_t startFlagHY; /* 起始码 */
|
||
uint8_t endFlagHY; /* 结束码 */
|
||
|
||
uint8_t CommunicationProtocolType; /* 0x00:SL
|
||
0x01:HY*/
|
||
uint8_t onlyPower; /* 是否只充当电源板:0x00:不是
|
||
0x01:是*/
|
||
|
||
uint32_t gw485_Baud; /* 串口波特率 */
|
||
uint32_t bat485_Baud; /* 串口波特率,为0代表bms不支持通信 */
|
||
float_t Battery_Voltage; /* 电池电压 (V) */
|
||
float_t Output_Voltage; /* 输出电压 */
|
||
float_t Charg_Current; /* 充电电流(流向电池+负载) (A) */
|
||
float_t Discharg_Current; /* 放电电流(流向负载) (A) */
|
||
float_t Input_Voltage; /* 系统输入电压 (V) */
|
||
float_t Solar_Open_Circuit_Voltage; /* 太阳能板开路电压 (V) */
|
||
float_t HighSideMos_Temperature; /* 高端mos的温度 (°C) */
|
||
float_t Solar_In_Circuit_Voltage; /* 太阳能板输入电压 (V) */
|
||
|
||
float_t Charg_BatteryCurrent; /* 电池充电电流(流向电池) (A) */
|
||
float_t totalElectricityConsumption; /* 总电量消耗(W*H) */
|
||
float_t totalChargCapacity; /* 总充电电量(W*H) */
|
||
float_t SOC; /* 剩余电量 */
|
||
|
||
uint16_t chargMos_State; /* 充电开关状态 */
|
||
uint16_t DischargMos_State; /* 放电mos的状态 */
|
||
uint16_t MPPT_Mode; /* 工作模式 */
|
||
|
||
uint8_t versionInformation[13]; /* 软件版本信息 */
|
||
|
||
uint8_t batteryState; /* 有无电池(估计) */
|
||
uint8_t impedanceStart; /* 能否开始测量回路阻抗 */
|
||
uint8_t outputAgainFlag; /* 一段时间中输出短路次数 */
|
||
uint8_t excessiveLoadFlag; /* 一段时间中输出过载次数 */
|
||
uint8_t overTemperature; /* 温度检测保护标志位 */
|
||
uint8_t RegistrationRequestFlag; /* 回复广播标志位 */
|
||
uint8_t runBroadcast; /* 是否接收广播帧标志位 */
|
||
uint16_t RegisterNumberMax; /* 寄存器个数 */
|
||
uint16_t RegisterStartAddressMax; /* 读写的寄存器的最大起始位置,由设备决定 */
|
||
uint32_t collectOpenCircuitVoltageNUM; /* 距离上次开路电压采集,运行次数 */
|
||
|
||
uint8_t HYconfigModeState; /* HY通信协议是否进入了配置模式,0x00未进入,0xFF进入 */
|
||
uint8_t HYconfigModeT; /* HY通信协议进入配置模式后的延时时间 */
|
||
|
||
uint8_t randomNumber; /* 随机数 */
|
||
}Mppt_otherParameter;
|
||
extern Mppt_otherParameter g_otherParameter;
|
||
|
||
|
||
#endif /* APP_INC_PARAMETER_H_ */
|