#ifndef CALCULATE_TASK_H #define CALCULATE_TASK_H #ifdef __cplusplus /*C++编译环境下兼容C语言*/ extern "C" { #endif /*------ Exported includes(头文件) ----------------------*/ #include "main.h" #include "meter_calculate/meter_calculate_impl.h" /*------ Exported macro(宏定义) -------------------------*/ /*------ Exported struct(结构体定义) --------------------*/ typedef struct { U8_T u8_billing_flag; //计费标志 0不进行计量计费 1进行计量计费 -- 注意,充电结束后应延时足够的时间,保证电量更新完全 U8_T u8_discharge_flag; //充放电标志 0常规充电 1放电 U32_T u32_billing_time; //充电结束后计量延时起始时间 U64_T u64_whm_start_energy; //循环起始电量值 精度 0.0001kW 用于存储上次周期计算电表低值 /* 充电中临时订单写入节流(秒):上次写入时间戳 */ U32_T u32_last_temp_save_sec; }S_CHAR_DATA; typedef struct { U8_T u8_period_time; //当前费率时段 0-95 代表一天15分钟的时段位置 U32_T u32_money_rate; //当前电费 单位0.0001元 U32_T u32_money_service; //当前服务费 单位0.0001元 }S_REAL_FEE_DATA; typedef struct { U8_T u8_gunCnt; //枪数量 U16_T u16_timer; //周期计数 S_REAL_FEE_DATA s_real_fee_data[NUM_2]; //实时电费信息 - 0代表充电电费 1代表放电电费 S_CHAR_DATA s_char_data[GUN_MAX_CNT]; //充电计费 控制信息 S_LOG_DATA s_gun_log[GUN_MAX_CNT]; //枪订单信息 }S_METERING_BILLING_CTRL; /*------ Exported variables(变量定义) -------------------*/ /*------ Exported function prototypes (函数声明) -------*/ void v_meterfee_task(void *arg); #ifdef __cplusplus } #endif #endif /* CALCULATE_TASK_H */