⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gtcardapi.h

📁 关于固高卡的包装的api函数和轴状态以及坐标系状态下的状态实时读取及显示
💻 H
📖 第 1 页 / 共 2 页
字号:
//						    第三位为1,表示当前轴是命令出错
//		   (2) 0表示没有错误
//		   (3) -1表示检测时出错
virtual int check_axis_error(int axis);

// 功  能:判断当前轴运动是否完成
//
// 参  数: axis的取值 (1) axis <= 0 判断所有的轴运动是否完成所
//					  (2) 1 , 2 , 3 ,4 时使指定的轴
//
// 返回值:1表示在没有完成
//		   0表示运动完成
//		  -1表示检测时出错
virtual int check_axis_done(int axis = -1);

// 功  能:检查连续插补缓冲区是否空
//
// 参  数: axis的取值 (1) axis  <= 0 无效的参数
//					  (2) 1 , 2 , 3 ,4 时使指定的轴
//
// 返回值:1表示在运动
//		   0表示没有运动
//		  -1表示检测时出错

// 功  能: 设置探针触发模式
//
// 返回值: 1表示有错误发生
//			0表示命令执行成功
virtual int set_capt_prob(void);

// 功  能: 检测探针触发是否完成
//
// 返回值: 0表示触发完成
//			1表示触发没有完成
//		   -1表示检测时出错
virtual int check_capt_prob_done(void);

// 功  能:获取当前轴的捕获位置值 当调用,GT_CaptHome,GT_CaptIndex,GT_CaptProb 
//
//
// 参  数: axis的取值 (1) axis  <= 0 无效的参数
//					  (2) 1 , 2 , 3 ,4 时使指定的轴
//			pos	存放位置信息缓冲区
//
// 返回值: 1表示有错误发生
//			0表示命令执行成功
virtual long get_axis_capt_pos(int axis , long *pos);

// 功  能:专用输入信号参数设置
//
// 返回值: 1表示有错误发生
//			0表示命令执行成功
virtual int input_singl_cfg(void);

// 功  能:查询执行命令出错的第一条原因
//
// 参  数:MsgBuf指向存放错误信息的缓冲区
//         bufSize缓冲区的长度,以字节为单位
//
// 返回值: 
//			0表示没有有错误发生 
//			1表示有错误发生
//			2表示还有下一条错误发生
virtual int get_cmd_error_first(char *MsgBuf , int bufSize);

// 功  能:查询执行命令出错的下一条原因
//
// 参  数:MsgBuf指向存放错误信息的缓冲区
//         bufSize缓冲区的长度,以字节为单位
//
// 返回值: 
//			0表示没有有错误发生 
//			1表示有错误发生
//			2表示还有下一条错误发生
virtual int get_cmd_error_next(char *MsgBuf , int bufSize);

// 功  能:该函数获得运动控制器通用数字量输入的状态
//
// 参  数: *inData 返回该状态,其各位与通用数字量输入口对应
//
// 返回值: 1表示有错误发生
//			0表示命令执行成功
virtual int get_IO_input(unsigned short *inData);

/// 功  能:该函数设置运动控制器通用数字量输出的状态
//
// 参  数: outData 是所要设置的状态,其各位与通用数字输出口对应
//
// 返回值: 1表示有错误发生
//			0表示命令执行成功
virtual int get_IO_output(unsigned short outData);
// 功  能:设置指定的轴步进或者单轴运动时的运动参数
//
// 参  数: speed的取值(1) speed > 0 指定的轴向以speed的速度运动0 --0.1 最大速度为 30m
//		   acc的取值  (1) 指定的轴加速度 0 -- 0.0000003 最大速度为 27m/min2
virtual int set_syn_para(double speed ,double acc);

// 功  能:设置当前运动模式为坐标系运动模式或者缓冲区运动模式
//
// 参  数: mode的取值(1) mode > 0 指定当前运动模式为缓冲区连续运动模式
//					 (2) mode = 0 指定当前运动模式为坐标系单段运动模式
virtual int init_conti_run_mode(int mode);
// 功  能:该函数设置运动控制器以圆弧插补方式运动
//
// 参  数: 是所要运动到指定的位置,单位为mm
//
// 返回值: 1表示有错误发生
//			0表示命令执行成功
virtual int add_conti_blk_circle_center( double xC , double yC , double zC ,double angle , int direction,int circle_cb_mode, double synvel, double synacc );

// 功  能:该函数设置运动控制器以圆弧插补(终点半径)方式运动
// 参  数: 是所要运动到指定的位置,单位为mm
//
// 返回值: 1表示有错误发生
//			0表示命令执行成功
virtual int add_conti_blk_circle_radius(double xT, double yT, double zT, double radius,int direction, int circle_cb_mode, double synvel, double synacc);

// 功  能:该函数设置运动控制器以XYZ插补方式运动到指定的位置
//
// 参  数: xyz是所要运动到指定的位置,单位为mm
//
// 返回值: 1表示有错误发生
//			0表示命令执行成功
virtual int add_conti_blk_XYZ(double x , double y ,double Z, int line_cb_mode);

// 功  能:在当前运动模式为缓冲区连续运动模式时启动缓冲区命令的执行
//
// 返回值: 1表示有错误发生
//			0表示命令执行成功
virtual int run_conti_mode(void);

// 功  能:在当前运动模式为缓冲区连续运动模式时重新打开命令缓冲区
//
// 返回值: 1表示有错误发生
//			0表示命令执行成功

virtual int add_conti_mode(void);

// 功  能:在当前运动模式为缓冲区连续运动模式时暂停缓冲区命令的执行
//
// 返回值: 1表示有错误发生
//			0表示命令执行成功
virtual int stop_conti_mode(void);

// 功  能:该函数立即停止基于坐标系的多轴协调运动命令。
//		   在当前运动模式为缓冲区连续运动模式时暂停缓冲区命令的执行在立即命
//		   令输入执行状态,运动停止后将丢弃当前运动信息。
//
// 返回值: 1表示有错误发生
//			0表示命令执行成功
virtual int Estop_conti_mode(void);

// 功  能:在当前运动模式为缓冲区连续运动模式时关闭缓冲区
//
// 返回值: 1表示有错误发生
//			0表示命令执行成功
virtual int end_conti_mode(void);

// 功  能:检查连续插补缓冲区是否空
//
// 返回值:1表示没有空
//		   0表示空
//		  -1表示检测时出错
virtual int check_conti_buffer_done(void);

// 功  能:检查坐标系模式运动时是否出错
//
// 返回值:1表示出错
//		   0表示没有出错
//		  -1表示检测时出错
virtual int check_conti_run_error(void);

// 功  能: 设置指定轴的1um对应的脉冲数
//
// 参  数:axis的取值(1)  axis  <= 0 无效的参数
//					 (2)  1 , 2 , 3 ,4 时初始化指定的轴
//		   PerPlus的取值(1) 每转脉冲数目
//		   PerGap的取值 (1) 每转工作台移动的距离
virtual void set_axis_ratio(int axis,long PerPlus , long PerGap);

// 功  能:将指定轴对应的以um为单位的位置,转换成以脉冲为单位的位置
//
// 参  数:axis的取值(1)  axis  <= 0 无效的参数
//					 (2)  1 , 2 , 3 ,4 时初始化指定的轴
//		   pos的取值 (1)  以um为单位的位置
//
// 返回值: 以脉冲为单位的位置
virtual long cmd_to_motion_pos(int axis,long pos);

// 功  能:将指定轴对应的以脉冲为单位的位置,转换成以um为单位的位置
//
// 参  数:axis的取值(1)  axis  <= 0 无效的参数
//					 (2)  1 , 2 , 3 ,4 时初始化指定的轴
//		   pos的取值 (1)  以um为单位的位置
//
// 返回值: 以um为单位的位置
virtual long motion_to_cmd_pos(int axis,long pos);

// 功  能:获取系统当前的运行速度(合成速度)
//
// 参  数: *aCurSpeed 返回当前的合成速度
//
// 返回值:1表示出错
//		   0表示没有出错
virtual int get_cur_speed(double * aCurSpeed);

virtual int get_cur_axis_state(int axis, unsigned short *pAxis_state);
virtual int get_cur_cordinate_state(unsigned short *axis_state);
virtual int Outport(unsigned short);
//将轴模式寄存器中的运动出错自动停止标志位置1
//参数
//返回值:1表示出错
//		  0表示没有出错
virtual int AuStopOn(int axis);

//参数自动更新
//参数Mask各位表示0:1号轴;1:2号轴;2:3号轴
//返回值:1表示出错
//		  0表示没有出错
virtual int Gt_Card_Api::MultiUpdate(unsigned short Mask);

//将当前轴的限位开关设为有效
//参数axis为轴号
//返回值:1表示出错
//		  0表示没有出错
virtual short SetLmtsOn(int axis);

//设置坐标系映射参数
//参数axis为欲映射的轴,MapPara为映射参数
//返回值:1表示出错
//		  0表示没有出错
virtual int SetMapAxis(int axis ,double MapPara[3]);
//设置坐标系状态下轴异常自动停止有效
//映射到各轴的运动全部停止
//返回值:1表示出错
//		  0表示没有出错
virtual int SetAutoAbruptOn(void);

//设置坐标系状态下轴异常自动停止无效
//映射到各轴的运动全部停止
//返回值:1表示出错
//		  0表示没有出错
virtual int SetAutoAbruptOff(void);
//设置坐标系状态下缓冲区内起始点位置和参数
//x为起点x坐标,y起点y坐标,vel为速度,acc为加速度
//返回值:1表示出错
//		  0表示没有出错
virtual int SetXYOriginPointInCordinates(double x, double y, double vel, double acc);
//设置坐标系状态下缓冲区内起始点XYZ位置和参数
//x为起点x坐标,y起点y坐标,z起点z坐标,vel为速度,acc为加速度
//返回值:1表示出错
//		  0表示没有出错
virtual int SetXYZOriginPointInCordinates(double x, double y, double z, double vel, double acc);


///////////////////////////////////////////////////////////



private:
	// 功  能: 检测指定的轴是否是有效轴(1,2,3,4为有效轴)
	//
	// 返回值: 1表示无效轴
	//			0表示有效轴
	int check_axis_user(int axis);


private:
	int m_home_step[Sys_Max_Axis_Num+1];
	double m_axis_ratio[Sys_Max_Axis_Num+1];
	unsigned short  error_msk;
	int axis_mode;

	double acc_home_jog;
	double speed_jog;
	double speed_home;
	
	double speed_move_step;
	double acc_move_step;
	double jerk_move_step;

	double acc_syn;
	double speed_syn;
};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -