#ifndef _VALVE_CONTROL_H_
|
#define _VALVE_CONTROL_H_
|
|
#include "define_all.h"
|
#include "system_general_para.h"
|
|
/**********************IOÅäÖÃ********************************/
|
#define Motor_A_PIN GPIO_Pin_8
|
#define Motor_A_PORT GPIOB
|
#define Motor_A_HIGH GPIO_SetBits(Motor_A_PORT,Motor_A_PIN)
|
#define Motor_A_LOW GPIO_ResetBits(Motor_A_PORT,Motor_A_PIN)
|
|
#define Motor_B_PIN GPIO_Pin_9
|
#define Motor_B_PORT GPIOB
|
#define Motor_B_HIGH GPIO_SetBits(Motor_B_PORT,Motor_B_PIN)
|
#define Motor_B_LOW GPIO_ResetBits(Motor_B_PORT,Motor_B_PIN)
|
|
#define Motor_OP_PIN GPIO_Pin_6
|
#define Motor_OP_PORT GPIOB
|
#define Motor_OP_IO_READ GPIO_ReadInputDataBit(Motor_OP_PORT,Motor_OP_PIN)
|
|
#define Motor_CL_PIN GPIO_Pin_7
|
#define Motor_CL_PORT GPIOB
|
#define Motor_CL_IO_READ GPIO_ReadInputDataBit(Motor_CL_PORT,Motor_CL_PIN)
|
|
#define VALVE_FORCE_OPEN_PIN GPIO_Pin_12
|
#define VALVE_FORCE_OPEN_PORT GPIOC
|
#define VALVE_FORCE_OPEN_IO_READ GPIO_ReadInputDataBit(VALVE_FORCE_OPEN_PORT,VALVE_FORCE_OPEN_PIN)
|
|
/**********************¿ØÖƲÎÊýºê¶¨Òå********************************/
|
//¹þµÂ»ù·§¿ª¹ØÊ±¼ä,×î´óʱ¼ä£¬³¬¹ý´ú±í³¬Ê±
|
#define VALVE_HADE_RUN_TIME_DN25 105U
|
#define VALVE_HADE_RUN_TIME_DN32 155U
|
#define VALVE_HADE_RUN_TIME_DN40 155U
|
#define VALVE_HADE_RUN_TIME_DN50 155U
|
#define VALVE_HADE_RUN_TIME_DN80 285U
|
#define VALVE_HADE_RUN_TIME_DN100 445U
|
#define VALVE_HADE_RUN_TIME_DN150 490U
|
#define VALVE_HADE_RUN_TIME_DN200 520U
|
|
|
typedef enum
|
{
|
VM_NONE = 0U,
|
VM_PENGSHENG, //ÅôÊ¢·§Ìå
|
VM_HADE, //¹þµÂ·§Ìå
|
} VALVE_TYPE; // ·§ÃÅÐͺÅ
|
|
|
typedef enum
|
{
|
VALVE_NONE = 0U,
|
VALVE_OPEN,
|
VALVE_CLOSE,
|
VALVE_OPENING,
|
VALVE_CLOSING,
|
VALVE_ERROR,
|
// VALVE_MISSING = 99U
|
} VALVE_STATUS; // ·§ÃÅ״̬ÀàÐÍ
|
|
|
|
typedef enum
|
{
|
VL_UNLOCK = 0U,
|
VL_LOCK
|
} VALVE_LOCK_STATE_T; // ·§ÃÅ״̬ÀàÐÍ
|
|
typedef enum
|
{
|
VC_NONE = 0U,
|
VC_CLOSE,
|
VC_CLOSE_AND_LOCK, //¹Ø·§²¢Ëø¶¨
|
VC_OPEN ,
|
VC_LOCK, //Ëø¶¨
|
VC_UNLOCK, //½âËø
|
VC_FORCE_OPEN
|
} VALVE_CTRL_TYPE_T; // ·§ÃÅÃüÁîÀàÐÍ
|
|
|
|
typedef enum
|
{
|
VALVE_CTRL_SOURCE_WRC = 1U, //Ô¶´«¿ØÖÆ
|
VALVE_CTRL_SOURCE_AUTO, //ÖÕ¶Ë×ÔÉí×Ô¶¯¿ØÖÆ
|
VALVE_CTRL_SOURCE_KEY, //°´¼ü¿ØÖÆ
|
VALVE_CTRL_SOURCE_UP_COMM, //ÉÏλ»ú¿ØÖÆ
|
VALVE_CTRL_FORCE_OPEN
|
} VALVE_CTRL_SOURCE_T; // ·§ÃÅ¿ØÖÆÀ´Ô´
|
|
|
typedef struct{
|
|
// VALVE_STATUS valve_status;
|
VALVE_CTRL_TYPE_T valve_ctrl_order;
|
VALVE_CTRL_SOURCE_T valve_ctrl_source;
|
uint16_t open_time_cnt;
|
uint16_t close_time_cnt;
|
|
FlagStatus force_open_status;
|
}VALVE_CTRL_PARA_T;
|
|
|
extern __IO VALVE_CTRL_PARA_T valve_ctrl_para_g;
|
|
void Valve_CTRL_GPIO_Init(void);
|
|
void valveCtrlPro(FUN_START_CTRL_PARA_T * sys_fun_run_ctrl_p);
|
void ValveRunParaInit(VALVE_TYPE valve_type_in);
|
void ValveMotorStop(void);
|
ErrorStatus ValveCtrlOrder(VALVE_CTRL_TYPE_T valve_ctrl_order_l,VALVE_CTRL_SOURCE_T valve_ctrl_source) ;
|
|
#endif
|