/* * 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 喷枪开关状态,0表示关闭,1表示开启 */ 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_ */