#ifndef COLLECT_TASK_H #define COLLECT_TASK_H #include "publicdata/type.h" #include "publicdata/publicdata.h" /* CC1电压阈值*/ #define GUNLINK_CC1_VOLT_LO (3.2f) #define GUNLINK_CC1_VOLT_HI (4.8f) /*结构定义及变量声明*/ typedef union{ //整桩相关的遥信联合体,2bit表示一个状态,预留16bit U32_T u32_yx_sys_data; struct { U32_T yx_emergency:2; //急停状态 U32_T yx_door:2; //门禁状态 U32_T yx_water:2; //水浸状态 U32_T yx_smoke:2; //烟感状态 U32_T yx_bus_KM:2; //母联直流接触器状态 U32_T yx_spd:2; //防雷器状态 U32_T yx_KM:2; //交流输入接触器状态 U32_T yx_QF:2; //交流输入断路器状态 U32_T reserve:16; //预留,16bit }bit_yx_sys_data; }SYS_YX_DATA; typedef union{ //充电枪相关的遥信联合体,2bit表示一个状态,预留18bit U32_T u32_yx_gun_data; struct { U32_T yx_gun_lock:2; //充电枪电子锁状态 U32_T yx_switch:2; //直流输出接触器状态+ U32_T yx_relief_swich:2; //泄放回路接触器状态 U32_T yx_fuse:2; //直流回路熔断器状态 U32_T yx_gun_power:2; //充电枪辅助电源状态 U32_T yx_gun_homing:2; //充电枪归位状态 U32_T reserve:20; //预留,18bit }bit_yx_gun_data; }GUN_YX_DATA; typedef struct //整桩遥信、遥测结构体 { /****遥信****/ SYS_YX_DATA yx_sys_data; //整桩相关的遥信数据 /****遥测****/ F32_T f32_yc_sys_temp1; //环境温度1 F32_T f32_yc_sys_temp2; //环境温度2 }SYS_RT_DATA; typedef struct //充电枪遥信、遥测结构体 { U8_T u8_gunlink_state; //充电枪连接状态,0 枪未连接,1 枪已连接 /****遥信****/ GUN_YX_DATA yx_gun_data; //充电枪相关的遥信数据 /****遥测****/ F32_T f32_yc_gun_vol_pos; //直流母线正对地电压 F32_T f32_yc_gun_vol_neg; //直流母线负对地电压 F32_T f32_yc_gun_curr; //直流回路测量电流 F32_T f32_yc_bat_vol_pos; //接触器外侧正对地电压 F32_T f32_yc_bat_vol_neg; //接触器外侧负对地电压 F32_T f32_yc_gun_temp_pos; //充电枪正极温度 F32_T f32_yc_gun_temp_neg; //充电枪负极温度 }GUN_RT_DATA; /*充电枪遥测遥信宏定义*/ typedef enum { /*充电枪遥信状态宏定义*/ YX_GUN_LINK, //枪连接状态 YX_GUN_LOCK, //枪电子锁 YX_GUN_DC_KM, //直流输出接触器状态 YX_GUN_DC_KM_POS = YX_GUN_DC_KM, //CCU601E_D 兼容: 正母线 YX_GUN_DC_KM_NEG , //CCU601E_D 兼容: 负母线 YX_GUN_RELIF, //泄放继电器状态 YX_GUN_DC_FUSE, //直流熔断器状态 YX_GUN_AUXPOWER, //低压辅源状态 YX_GUN_HOMING, //充电枪归位 }E_YX_GUN; typedef enum { /*充电枪遥测宏定义*/ ADC_GUN_VOLT_PLUS, //直流母线正对地电压 ADC_GUN_VOLT_MINUS, //直流母线负对地电压 ADC_GUN_MVI, //直流回路测量电流 ADC_GUN_BAT, //接触器外侧正对地电压 ADC_GUN_TEMP_PLUS, //充电枪正极温度 ADC_GUN_TEMP_MINUS, //充电枪负极温度 }E_YC_GUN; /*整桩遥信宏定义*/ typedef enum { /*整桩遥信状态宏定义*/ YX_PILE_EMERGENCY, //急停 YX_PILE_DOOR, //门禁 YX_PILE_WARTER, //水浸 YX_PILE_SPD, //防雷状态 YX_PILE_SMOKE, //烟感 YX_PILE_BUS_KM, //母联接触器 YX_PILE_KM, //交流输入接触器 YX_PILE_QF, //交流输入断路器 }E_YX_SYS; /*整桩遥测宏定义*/ typedef enum { /*整桩遥测宏定义*/ ADC_PILE_TEMP1, //桩温1 ADC_PILE_TEMP2, //桩温2 }E_YC_SYS; #define LED_DO_NUM (4) //LED DO控制数量 /*------ Exported struct(结构体定义) --------------------*/ typedef enum { E_ADC_TYPE_GUN_LINK_1=0, //0 A枪连接; E_ADC_TYPE_GUN_LINK_2, //1 B枪连接; E_ADC_TYPE_GUN_TEMP_A1, //2 A枪温+; E_ADC_TYPE_GUN_TEMP_A2, //3 A枪温- E_ADC_TYPE_GUN_TEMP_B1, //4 B枪温正; E_ADC_TYPE_GUN_TEMP_B2, //5 B枪温- E_ADC_TYPE_FAN_IN_TEMP, //6 进风口温度 E_ADC_TYPE_FAN_OUT_TEMP, //7 出风口温度 E_ADC_TYPE_GUN_DC_VOL_A1, //8 A枪DC 正极电压采集值 E_ADC_TYPE_GUN_DC_VOL_A2, //9 A枪DC 负极电压采集值 E_ADC_TYPE_GUN_DC_VOL_B1, //10 B枪DC 正极电压采集值 E_ADC_TYPE_GUN_DC_VOL_B2, //11 B枪DC 负极电压采集值 E_ADC_TYPE_GUN_MVI_A, //12 A枪直流回路测量电流(待对接) E_ADC_TYPE_GUN_MVI_B, //13 B枪直流回路测量电流(待对接) E_ADC_TYPE_GUN_BAT_VOL_A1, //14 A枪接触器外侧正对地电压采集值 E_ADC_TYPE_GUN_BAT_VOL_B1, //16 B枪接触器外侧正对地电压采集值 }E_ADC_TYPE; /*------ Exported function prototypes (函数声明) -------*/ U8_T u8_get_yxyc_data(SYS_RT_DATA *pile_data ,GUN_RT_DATA *gun_data ,U8_T u8_gunNo); //获取数据采集结构体 U8_T u8_get_gun_yx_data(E_YX_GUN gun_yx_type ,U8_T u8_gunNo); //获取枪遥信遥测数据 F32_T f32_get_gun_yc_data(E_YC_GUN gun_yc_type ,U8_T u8_gunNo); //获取枪adc采集数据 U8_T u8_get_sys_yx_data(E_YX_SYS sys_yx_type); //获取桩遥信遥测数据 F32_T f32_get_sys_yc_data(E_YC_SYS sys_yc_type); //获取桩adc采集数据 U8_T u8_get_gunLink(U8_T u8_gunNo); //获取枪连接状态 float f_get_gun_data(E_ADC_TYPE e_type); void v_collect_task(void *arg); U8_T u8_coll_get_gun_num(void); #endif