Files
CCU621M/app/collect_ctrl/collect_task.h
T

160 lines
6.3 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#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