You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
2.0 KiB

3 weeks ago
/*
* Function_Booth.h
*
* Created on: Mar 21, 2025
* Author: bihon
*/
#ifndef INC_FUNCTION_BOOTH_H_
#define INC_FUNCTION_BOOTH_H_
#define JOINT_INQUIRY_INTERVAL 20 //查询关节位置指令间隔时间
#define WAITING_INITIAL_PAINT 10000 //第一道自动喷漆作业等待时间(发送前往初始喷漆位置指令后)
#define VEHICLE_MOTION_TIME 5520 //等待大臂车上升/下降时间
#define PAINTGUN_DELAY_TIME1 500 //喷枪开启延迟时间1(大臂车下降正位置开枪)
#define PAINTGUN_DELAY_TIME2 500 //喷枪开启延迟时间2(大臂车下降逆位置开枪)
#define PAINTGUN_DELAY_TIME3 400 //喷枪开启延迟时间1(大臂车上升正位置开枪)
#define PAINTGUN_DELAY_TIME4 500 //喷枪开启延迟时间2(大臂车上升逆位置开枪)
#define CYCLE_CHECK_INTERVAL 20 //急停检测计数周期,每20次调用检测一次位置,同时进行位置变化对比
#define STOP_COUNT_THRESHOLD 5 //触发急停控制的未变化次数(连续5次位置未变化认为发生急停)
typedef enum
{
paint_gun_open, //喷枪开启
paint_gun_close //喷枪关闭
}paint_gun_state;
typedef enum
{
notwork, //非工作状态
decend, //大臂车下降
ascend //大臂车上升
}start_position_dir;
/**
* @brief
* @param state 01
*/
void Paint_Gun_Control(paint_gun_state state);
void Manual_Control_Mode();//手动控制操作
void Position_Detect();//超声波测距
void Elite_Power_On();//伺服上电
void Elite_Clear_Alarm();//清除报警
void Elite_Remote_PowerOn();//机械臂远程启动
void Elite_Remote_PowerOn2();
uint8_t GoToStartPosition();//前往初始位置
uint8_t GoToPaintPosition(start_position_dir dir);//前往喷涂起点
uint8_t GoToStopPosition();//前往停机位置
uint8_t StartPainting(start_position_dir dir);//喷涂作业启动
void VehicleConnectDetect();
uint8_t TrialOperation();
uint8_t GoToWashGunPosition();
#endif /* INC_FUNCTION_BOOTH_H_ */