53 lines
1.7 KiB
C
53 lines
1.7 KiB
C
/*****************************************************************************
|
|
* @copyright 2024-202, . POWER SUPPLY CO., LTD.
|
|
* @file logic_peakvalley.h
|
|
* @brief xxxx
|
|
* @author Gary
|
|
* @date 2024/09/20
|
|
* @remark 初修订
|
|
*****************************************************************************/
|
|
#ifndef __LOGIC_PEAKVALLEY_H__
|
|
#define __LOGIC_PEAKVALLEY_H__
|
|
|
|
#define MAX_DATA_SEGMENTS 0x0C // 一年12个月最多分 12个时间段
|
|
#define MAX_TIME_SEGMENTS 0x60 // 一天24小时最多分 96个时间段
|
|
|
|
#include "kit_data.h"
|
|
|
|
// // 时段类型
|
|
// typedef enum
|
|
// {
|
|
// kPeakvalley_Start = 0, // 开始值
|
|
// kPeakvalley_Valley, // 谷
|
|
// kPeakvalley_Peak, // 峰
|
|
// kPeakvalley_Flat, // 平
|
|
// kPeakvalley_End // 结束值
|
|
// } peak_valley_e;
|
|
|
|
// 所有时间表结构体 用于查询
|
|
typedef struct
|
|
{
|
|
pv_date_config_t* peakItem; // 时区表
|
|
int zoneTabLen; // 时区表实际表长
|
|
} peakvalley_zone_tab_t;
|
|
|
|
// 削峰填谷传参结构体
|
|
typedef struct
|
|
{
|
|
int runPeriod; // 运行周期 ms
|
|
float_t power; // 最终计算的目标功率
|
|
} peakvalley_params_t;
|
|
|
|
/*****************************************************************************
|
|
* @brief 获取保护参数
|
|
* @return 0 成功 -1 失败
|
|
*****************************************************************************/
|
|
int logic_getProtectParam();
|
|
|
|
/*****************************************************************************
|
|
* @brief 更新时区时段表
|
|
* @return 0 更新成功 -1 失败
|
|
*****************************************************************************/
|
|
int logic_peakValleyUpdate();
|
|
|
|
#endif |