结构整理,修改文件编码格式适配VS gb2312
This commit is contained in:
+107
-107
@@ -16,7 +16,7 @@
|
||||
const double SCALE_UNITS = 1000.0;
|
||||
static CLogger* g_pLogger;
|
||||
static CLogger* g_pLogger2;
|
||||
static bool g_IsClose;//用于DoEvents()的退出,而不异常
|
||||
static bool g_IsClose;//用于DoEvents()的退出,而不异常
|
||||
|
||||
enum E_SO7_MOTION_TYPE
|
||||
{
|
||||
@@ -27,23 +27,23 @@ enum E_SO7_MOTION_TYPE
|
||||
};
|
||||
enum E_EF3_HOME_STATUS
|
||||
{
|
||||
E_EF3_HOME_NONE,//0表示从未回过回原点
|
||||
E_EF3_HOME_ING,//1表示正在回原点
|
||||
E_EF3_HOME_FINISHED,//2表示已经回过原点
|
||||
E_EF3_HOME_NONE,//0表示从未回过回原点
|
||||
E_EF3_HOME_ING,//1表示正在回原点
|
||||
E_EF3_HOME_FINISHED,//2表示已经回过原点
|
||||
};
|
||||
|
||||
enum FUN_CMD //第一级指令
|
||||
enum FUN_CMD //第一级指令
|
||||
{
|
||||
CT_MOTOR = 0x01, //MOTOR
|
||||
CT_LIGHT, //LIGHT
|
||||
CT_PORT, //PORT
|
||||
CT_ORDER, //ORDER
|
||||
CT_SOFTSTOP, //STOP
|
||||
CT_GLUEDISPENSER, //点胶
|
||||
CT_GLUEDISPENSER, //点胶
|
||||
CT_TURNTABLE,
|
||||
};
|
||||
|
||||
enum MOTOR_CMD //第二级指令
|
||||
enum MOTOR_CMD //第二级指令
|
||||
{
|
||||
CT_MOTOR_SET = 0x01,
|
||||
CT_START_JOG_POS, //
|
||||
@@ -63,7 +63,7 @@ enum MOTOR_CMD //第二级指令
|
||||
CT_GLUEDISPENSER_CLEAR,
|
||||
CT_GLUEDISPENSER_START,
|
||||
CT_GLUEDISPENSER_STOP,
|
||||
//转盘时启用
|
||||
//转盘时启用
|
||||
CT_RTSET,
|
||||
CT_BINSDATA,
|
||||
CT_RTSTOP,
|
||||
@@ -72,13 +72,13 @@ enum MOTOR_CMD //第二级指令
|
||||
|
||||
enum MOTOR_START_POSOTION //
|
||||
{
|
||||
INTERPOLATION = 0x61,//插补
|
||||
GANGED = 0x41,//独立
|
||||
INTERPOLATION = 0x61,//插补
|
||||
GANGED = 0x41,//独立
|
||||
CIRCLER = 0x64,
|
||||
CIRCLEL = 0x65,
|
||||
};
|
||||
|
||||
enum MOTOR_AXISCHOOES_CMD //第三级指令
|
||||
enum MOTOR_AXISCHOOES_CMD //第三级指令
|
||||
{
|
||||
AXIS_X = 0x01,
|
||||
AXIS_Y = 0x02,
|
||||
@@ -97,7 +97,7 @@ enum MOTOR_AXISCHOOES_CMD //第三级指令
|
||||
AXIS_XYZU = 0x0f,
|
||||
};
|
||||
|
||||
enum MOTOR_SET_KIND //第四级指令
|
||||
enum MOTOR_SET_KIND //第四级指令
|
||||
{
|
||||
JOG_SPEED_ACC_DEC,
|
||||
POSITION_SPEED_ACC_DEC_POS,
|
||||
@@ -235,28 +235,28 @@ public:
|
||||
static HANDLE m_Thread_Id;
|
||||
static HANDLE m_Thread_Mutex;
|
||||
static HANDLE m_hTriggerEvent;
|
||||
//用于IO发消息的线程
|
||||
//用于IO发消息的线程
|
||||
static int m_Thread_StateIO;
|
||||
static HANDLE m_Thread_IdIO;
|
||||
static HANDLE m_Thread_MutexIO;
|
||||
static HANDLE m_hTriggerEventIO;
|
||||
|
||||
//读取EF3的数据状态
|
||||
//读取EF3的数据状态
|
||||
static int m_Thread_StateData;
|
||||
static HANDLE m_Thread_IdData;
|
||||
static HANDLE m_Thread_MutexData;
|
||||
static HANDLE m_hTriggerEventData;
|
||||
|
||||
//读取EF3的探针状态
|
||||
//读取EF3的探针状态
|
||||
static int m_Thread_StateProbe;
|
||||
static HANDLE m_Thread_IdProbe;
|
||||
static HANDLE m_Thread_MutexProbe;
|
||||
static HANDLE m_hTriggerEventProbe;
|
||||
|
||||
//点胶运行状态
|
||||
//点胶运行状态
|
||||
static int bRunGlueDispenser;
|
||||
|
||||
//读取EF3的JOG stop的状态
|
||||
//读取EF3的JOG stop的状态
|
||||
static int m_Thread_StateJOGStop;
|
||||
static HANDLE m_Thread_IdJOGStop;
|
||||
static HANDLE m_Thread_MutexJOGStop;
|
||||
@@ -266,16 +266,16 @@ public:
|
||||
static HANDLE g_WR_ToMove_Mutex;
|
||||
static HANDLE g_Lock_JogAndTrigger;
|
||||
|
||||
double m_Resolution[5];//从1开始,0不用
|
||||
double m_N_Work_Limit[5]; //负限位
|
||||
double m_P_Work_Limit[5]; //正限位
|
||||
double m_Resolution[5];//从1开始,0不用
|
||||
double m_N_Work_Limit[5]; //负限位
|
||||
double m_P_Work_Limit[5]; //正限位
|
||||
|
||||
int m_Home_AddJogGears[5];
|
||||
int m_Home_DecJogGears[5];
|
||||
int m_Home_Time[5];
|
||||
int m_SetPotion_Count[5];
|
||||
|
||||
//定位参数
|
||||
//定位参数
|
||||
int m_SetPotion_StartSpeed[5];
|
||||
int m_SetPotion_DriveSpeed[5];
|
||||
int m_SetPotion_Line[5];
|
||||
@@ -288,129 +288,129 @@ public:
|
||||
int m_stepPosition_H_speed[10];
|
||||
int m_stepPosition_Load[10];
|
||||
int m_stepPosition_acc[10];
|
||||
double m_PositionA;//第四轴的地位位置
|
||||
double m_PositionA;//第四轴的地位位置
|
||||
|
||||
//jog参数
|
||||
int m_JogDriveSpeed[5][5];//5:轴号,从1开始;5:档位
|
||||
//jog参数
|
||||
int m_JogDriveSpeed[5][5];//5:轴号,从1开始;5:档位
|
||||
int m_JogStartSpeed[5][5];
|
||||
int m_JogAccLine[5][5];
|
||||
int m_JogDecLine[5][5];
|
||||
int m_JogAccCurve[5][5];
|
||||
int m_JogDecCurve[5][5];
|
||||
int m_Jog_Auto_Focus;//变焦使用的速度
|
||||
int m_Jog_Auto_Focus;//变焦使用的速度
|
||||
|
||||
int m_LogIsOpen[5];//是否打开记录,0为打开,非0为关闭
|
||||
int m_LogIsOpen[5];//是否打开记录,0为打开,非0为关闭
|
||||
|
||||
unsigned int m_precisionCount[5];
|
||||
unsigned int m_precisionTime[5];
|
||||
int m_StopJogMode[5];//JOG模式采用急停还是平滑停止
|
||||
double m_PosThread[5];//SetpositionXyz的目标位置
|
||||
int m_PosNow[5];//调用SetpositionXyz时,读取当前位置
|
||||
int m_StopJogMode[5];//JOG模式采用急停还是平滑停止
|
||||
double m_PosThread[5];//SetpositionXyz的目标位置
|
||||
int m_PosNow[5];//调用SetpositionXyz时,读取当前位置
|
||||
|
||||
double targetpos_n[5];
|
||||
double targetpos_l[5];
|
||||
|
||||
short m_AxisThread;
|
||||
int m_IsExMotion; //0是xyz用的,1是单轴用的,2都不用
|
||||
int m_Home_Machine_Axis[5];//用于启动时需要回原点的轴号选择
|
||||
int m_Home_Pos_Axis[5];//记住关闭电源时的位置,用于判断是否还需要回原点
|
||||
int m_IsHomeEncPos; //是否启动实际位置判断是否回家,默认0,1启用,0关闭
|
||||
int m_IsHomePrfPos; //是否启动规划位置判断是否回家,默认1,1启用,0关闭
|
||||
int m_IsExMotion; //0是xyz用的,1是单轴用的,2都不用
|
||||
int m_Home_Machine_Axis[5];//用于启动时需要回原点的轴号选择
|
||||
int m_Home_Pos_Axis[5];//记住关闭电源时的位置,用于判断是否还需要回原点
|
||||
int m_IsHomeEncPos; //是否启动实际位置判断是否回家,默认0,1启用,0关闭
|
||||
int m_IsHomePrfPos; //是否启动规划位置判断是否回家,默认1,1启用,0关闭
|
||||
|
||||
int m_IsIOFuntion;//是否启动IO功能,1为打开,0为关闭
|
||||
int m_IsStartInput;//是否启用脚踏开关功能,1为启用,0为关闭,默认0
|
||||
UINT m_StartInputPort;//外部输入按钮启动程序
|
||||
int m_IsIOFuntion;//是否启动IO功能,1为打开,0为关闭
|
||||
int m_IsStartInput;//是否启用脚踏开关功能,1为启用,0为关闭,默认0
|
||||
UINT m_StartInputPort;//外部输入按钮启动程序
|
||||
UINT m_InputStatus;
|
||||
UINT m_ForStatus;
|
||||
int m_Set_XYZA_Reserve;//XYZA轴方向
|
||||
int m_motorType;//电机类型 1为伺服电机 0为步进电机
|
||||
int m_setPositionDelay;//设置定位超时
|
||||
int m_setPositionPrecision;//设置定位精度
|
||||
int m_Set_XYZA_Reserve;//XYZA轴方向
|
||||
int m_motorType;//电机类型 1为伺服电机 0为步进电机
|
||||
int m_setPositionDelay;//设置定位超时
|
||||
int m_setPositionPrecision;//设置定位精度
|
||||
int m_setPositionNum;
|
||||
CString m_AppPath;
|
||||
//MST软件运行标志,trueMST软件已经启动,falseMST软件停止
|
||||
//MST软件运行标志,trueMST软件已经启动,falseMST软件停止
|
||||
bool m_MSTRunFlag;
|
||||
int m_IsUse_HSICompensation;//是否启用HSI进行定位补偿 0为不启用 1为启用 默认为0
|
||||
int m_Compensation_Pluse;//补偿脉冲数
|
||||
int m_IsHardLimit; //设备轴硬限位设置 为0表示所有轴都为软限位 1为X轴为硬限位 2为Y轴 3为XY轴 4为Z轴 7为XYZ轴 默认为7
|
||||
int m_IsEnableAxis; //设备启用轴设置 为0表示所有轴不启用 1为X轴启用 2为Y轴启用 3为XY轴启用 4为Z轴启用 7为XYZ轴启用 默认为7
|
||||
int m_IsUseExternalTrigger; //是否启用外触发功能 0为不启用 1为启用 默认为1
|
||||
int m_IsUseSixRingEightArea; //是否启用六环八区灯功能 0为不启用 1为启用 2为二环八区灯 默认为0
|
||||
int m_SixEightSubArea[8]; //六环八区分区功能
|
||||
int m_IsUseTwentySixLight;//是否启用26路灯光 0为不启用 1位启用 默认为0
|
||||
int m_IsUseEF3;//是否启用EF3
|
||||
int m_DeviceType;//设备类型,0为通用设备,1为三激光, 2为大视野,3为转盘设备 默认为0
|
||||
int m_UseAxisNum;//转盘设备使用轴号
|
||||
int m_IbinCount;//记录获取到的分bin数
|
||||
int m_IsUse_HSICompensation;//是否启用HSI进行定位补偿 0为不启用 1为启用 默认为0
|
||||
int m_Compensation_Pluse;//补偿脉冲数
|
||||
int m_IsHardLimit; //设备轴硬限位设置 为0表示所有轴都为软限位 1为X轴为硬限位 2为Y轴 3为XY轴 4为Z轴 7为XYZ轴 默认为7
|
||||
int m_IsEnableAxis; //设备启用轴设置 为0表示所有轴不启用 1为X轴启用 2为Y轴启用 3为XY轴启用 4为Z轴启用 7为XYZ轴启用 默认为7
|
||||
int m_IsUseExternalTrigger; //是否启用外触发功能 0为不启用 1为启用 默认为1
|
||||
int m_IsUseSixRingEightArea; //是否启用六环八区灯功能 0为不启用 1为启用 2为二环八区灯 默认为0
|
||||
int m_SixEightSubArea[8]; //六环八区分区功能
|
||||
int m_IsUseTwentySixLight;//是否启用26路灯光 0为不启用 1位启用 默认为0
|
||||
int m_IsUseEF3;//是否启用EF3
|
||||
int m_DeviceType;//设备类型,0为通用设备,1为三激光, 2为大视野,3为转盘设备 默认为0
|
||||
int m_UseAxisNum;//转盘设备使用轴号
|
||||
int m_IbinCount;//记录获取到的分bin数
|
||||
bool m_IsUsePPS;
|
||||
int m_iJoyStick;//遥感类型:0:无 1:老式摇杆
|
||||
int m_iJoyStick;//遥感类型:0:无 1:老式摇杆
|
||||
int m_bISUseMoreLights;
|
||||
int m_EF3LightType;
|
||||
int m_LightType;
|
||||
int m_IsUseFourthSpeed;
|
||||
CString m_IsOpenTCPIP[4];//可提供的tcp通信的ip
|
||||
CString m_IsOpenTCPIP[4];//可提供的tcp通信的ip
|
||||
bool m_tcpCntFlag[4];
|
||||
int m_selectedIndex;
|
||||
bool m_Led8MotionFlag[4];//是否为8路光源板
|
||||
int m_IsHavePattern;//是否有光栅
|
||||
int m_AxisHomeDirection;//轴回家时的方向
|
||||
int m_IsUseJerk;//是否启用急停 0为不启用 1为启用
|
||||
DWORD t_start;//获取jog运行的开始时间
|
||||
DWORD t_end;//获取jog运行的结束时间
|
||||
DWORD set_start;//获取定位运行开始时间
|
||||
DWORD set_end;//获取定位运行结束时间
|
||||
//是否启用探针捕获功能,1启用,默认0关闭
|
||||
bool m_Led8MotionFlag[4];//是否为8路光源板
|
||||
int m_IsHavePattern;//是否有光栅
|
||||
int m_AxisHomeDirection;//轴回家时的方向
|
||||
int m_IsUseJerk;//是否启用急停 0为不启用 1为启用
|
||||
DWORD t_start;//获取jog运行的开始时间
|
||||
DWORD t_end;//获取jog运行的结束时间
|
||||
DWORD set_start;//获取定位运行开始时间
|
||||
DWORD set_end;//获取定位运行结束时间
|
||||
//是否启用探针捕获功能,1启用,默认0关闭
|
||||
int m_IsProbe;
|
||||
//探针触发时,锁存的轴号,默认3表示锁存XYZ共3轴,4表示XYZA共4轴
|
||||
//探针触发时,锁存的轴号,默认3表示锁存XYZ共3轴,4表示XYZA共4轴
|
||||
int m_ProbeAllAxis;
|
||||
long m_ProbeCapturePos[5];//锁存各轴的位置
|
||||
double m_ProbeReturnPos;//探针触发时,调试时返回的距离mm,点击启动按钮时不起作用,默认10.0mm
|
||||
int m_ProbeReturnSpeed;//探针触发后,轴的回退速度
|
||||
int m_isOKGlint; //是否开启ok/ng闪烁
|
||||
int m_ETIPort;//外部触发拍照输入端口号
|
||||
int m_axisStatus;//运动各轴的状态
|
||||
int m_axisAlarmStatus;//轴报警状态
|
||||
int m_EF3COMPort;//EF3板com口,默认为2
|
||||
int m_ForSoft;//针对使用软件 0为MST 1为Metus
|
||||
int m_IsUseManualRunin;//是否开启手动插补(只针对步进电机)
|
||||
long m_ProbeCapturePos[5];//锁存各轴的位置
|
||||
double m_ProbeReturnPos;//探针触发时,调试时返回的距离mm,点击启动按钮时不起作用,默认10.0mm
|
||||
int m_ProbeReturnSpeed;//探针触发后,轴的回退速度
|
||||
int m_isOKGlint; //是否开启ok/ng闪烁
|
||||
int m_ETIPort;//外部触发拍照输入端口号
|
||||
int m_axisStatus;//运动各轴的状态
|
||||
int m_axisAlarmStatus;//轴报警状态
|
||||
int m_EF3COMPort;//EF3板com口,默认为2
|
||||
int m_ForSoft;//针对使用软件 0为MST 1为Metus
|
||||
int m_IsUseManualRunin;//是否开启手动插补(只针对步进电机)
|
||||
|
||||
int m_IsUseRocker; //是否启用摇杆 0为不启用 1为启用旧摇杆,2为新摇杆, 默认为0
|
||||
int m_IsCollectPos; //是否通过串口打印位置,与摇杆2互斥
|
||||
int m_IsUseRocker; //是否启用摇杆 0为不启用 1为启用旧摇杆,2为新摇杆, 默认为0
|
||||
int m_IsCollectPos; //是否通过串口打印位置,与摇杆2互斥
|
||||
int m_IsCloseRocker;
|
||||
int m_IsLightDebug;//是否不回家也能调试灯光 0为不启用 1为启用 默认为0
|
||||
int m_rockerHStartSpeed[4];//摇杆XYZ轴高初始速度
|
||||
int m_rockerHDriveSpeed[4];//摇杆XYZ轴高驱动速度
|
||||
int m_rockerLStartSpeed[4];//摇杆XYZ轴低初始速度
|
||||
int m_rockerLDriveSpeed[4];//摇杆XYZ轴低驱动速度
|
||||
int m_rockerASpeed[4]; //XYZ轴加减速1
|
||||
int m_rockerDSpeed[4]; //XYZ轴加减速2
|
||||
int m_SaveAxisNum;//保存轴号
|
||||
int m_SaveAxisSpeed;//保存速度
|
||||
int m_IsLightDebug;//是否不回家也能调试灯光 0为不启用 1为启用 默认为0
|
||||
int m_rockerHStartSpeed[4];//摇杆XYZ轴高初始速度
|
||||
int m_rockerHDriveSpeed[4];//摇杆XYZ轴高驱动速度
|
||||
int m_rockerLStartSpeed[4];//摇杆XYZ轴低初始速度
|
||||
int m_rockerLDriveSpeed[4];//摇杆XYZ轴低驱动速度
|
||||
int m_rockerASpeed[4]; //XYZ轴加减速1
|
||||
int m_rockerDSpeed[4]; //XYZ轴加减速2
|
||||
int m_SaveAxisNum;//保存轴号
|
||||
int m_SaveAxisSpeed;//保存速度
|
||||
bool bSaveSpeedFlag;
|
||||
bool fourthAxisFlag;
|
||||
bool bCircleRun;//圆弧插补
|
||||
int iCircleRunPnt[5];//圆弧插补时的圆心位置
|
||||
int jogAxisNum;//jog运动的轴号
|
||||
bool bCircleRun;//圆弧插补
|
||||
int iCircleRunPnt[5];//圆弧插补时的圆心位置
|
||||
int jogAxisNum;//jog运动的轴号
|
||||
int jogspeed;
|
||||
bool jogMoving;
|
||||
bool jogDirFlag;
|
||||
bool m_bEmergencyState;
|
||||
bool bUseGlueDispenser;//是否开启点胶
|
||||
bool bUseGlueDispenser;//是否开启点胶
|
||||
int m_iGlueStartSpeed;
|
||||
int m_iGlueDriveSpeed;
|
||||
int m_iGlueAccSpeed;
|
||||
int GlueDispenserindexNum;//点胶段数
|
||||
int GlueDispenserindexNum;//点胶段数
|
||||
int GluerunCount;
|
||||
|
||||
int m_iSpeedType;
|
||||
int m_axisDirX;//探针运动时X轴的运动方向
|
||||
int m_axisDirY;//探针运动时Y轴的运动方向
|
||||
int m_axisDirZ;//探针运动时Z轴的运动方向
|
||||
int m_axisDirX;//探针运动时X轴的运动方向
|
||||
int m_axisDirY;//探针运动时Y轴的运动方向
|
||||
int m_axisDirZ;//探针运动时Z轴的运动方向
|
||||
int m_probeSeekSpeed;
|
||||
|
||||
int m_isUseAport;//A串口
|
||||
int m_isUseAport;//A串口
|
||||
int m_portAnum;
|
||||
int m_isUseBport;//B串口
|
||||
int m_isUseBport;//B串口
|
||||
int m_portBnum;
|
||||
|
||||
int SpCompleteTStart;
|
||||
@@ -426,7 +426,7 @@ public:
|
||||
|
||||
double m_EncPos[5];
|
||||
double m_PrfPos[5];
|
||||
double m_PosForAllAxis[5];//记录4轴位置
|
||||
double m_PosForAllAxis[5];//记录4轴位置
|
||||
bool m_bConnected;
|
||||
int m_SendDataLength;
|
||||
unsigned char m_cSendData[64];
|
||||
@@ -442,13 +442,13 @@ public:
|
||||
DWORD m_RecvDataSize;
|
||||
E_EF3_HOME_STATUS CurrentHomeMachineState;
|
||||
|
||||
//刷新探针状态
|
||||
//刷新探针状态
|
||||
static unsigned __stdcall m_ThreadProbe(LPVOID pThis);
|
||||
void CreateThreadProbe();
|
||||
void CloseThreadProbe();
|
||||
void UpdateMotionStateProbe();
|
||||
|
||||
//刷新位置状态
|
||||
//刷新位置状态
|
||||
static unsigned __stdcall m_Thread(LPVOID pThis);
|
||||
void CreateThread();
|
||||
void CloseThread();
|
||||
@@ -456,19 +456,19 @@ public:
|
||||
void UpdateMotionStateEx();
|
||||
void GluedispenserDone();
|
||||
|
||||
//IO发消息使用
|
||||
//IO发消息使用
|
||||
static unsigned __stdcall m_ThreadIO(LPVOID pThis);
|
||||
void CreateThreadIO();
|
||||
void CloseThreadIO();
|
||||
void UpdateMotionStateIO();
|
||||
|
||||
//读取EF3的数据状态
|
||||
//读取EF3的数据状态
|
||||
static unsigned __stdcall m_ThreadData(LPVOID pThis);
|
||||
void CreateThreadData();
|
||||
void CloseThreadData();
|
||||
void UpdateMotionStateData();
|
||||
|
||||
//读取EF3的JOG位置 以便停止JOG运动
|
||||
//读取EF3的JOG位置 以便停止JOG运动
|
||||
static unsigned __stdcall m_ThreadJOGStop(LPVOID pThis);
|
||||
void CreateThreadJOGStop();
|
||||
void CloseThreadJOGStop();
|
||||
@@ -496,12 +496,12 @@ private:
|
||||
int iScanMotionType;
|
||||
int iTriggleNum;
|
||||
int iMotionDirection;
|
||||
int begin_position[5]; //外触发到初始点需要发送的脉冲数
|
||||
int begin_position[5]; //外触发到初始点需要发送的脉冲数
|
||||
HINSTANCE m_Hinst;
|
||||
E_SO7_MOTION_TYPE CurrentMotionState;
|
||||
E_SO7_MOTION_READ_TYPE CurrentReadDataType;
|
||||
|
||||
//网口通信添加
|
||||
//网口通信添加
|
||||
private:
|
||||
TCPIP_RETURN_CODE TCPConnect(int index,char* Address, u_short port);
|
||||
void DisConnect();
|
||||
@@ -525,9 +525,9 @@ private:
|
||||
unsigned char lightdata[64];
|
||||
int LightSend;
|
||||
public:
|
||||
HSI_STATUS CollectPos(bool isEnable, MOTOR_AXISCHOOES_CMD axis, short cycle); //位置采集打开/关闭
|
||||
HSI_STATUS CollectPos(bool isEnable, MOTOR_AXISCHOOES_CMD axis, short cycle); //位置采集打开/关闭
|
||||
private:
|
||||
HSI_STATUS SetAllGears(); //下发所有档位数据
|
||||
HSI_STATUS SetAllGears(); //下发所有档位数据
|
||||
};
|
||||
|
||||
extern HSI_Motion *g_pHSI_Motion;
|
||||
|
||||
Reference in New Issue
Block a user