分享GTS-800二次开发流程步骤

互联网 17-6-23
1、打开控制器         GT_Open
2、启动伺服使能        GT_ClrSts
3、轴规划位置清零       GT_SetPrfPos
4、轴运动模式         GT_PrfTrap
5、轴目标位置         GT_SetPos
6、轴转动速度         GT_SetVel
7、启动轴           GT_Update
8、关闭使能          GT_AxisOff
9、关闭控制器         GT_Close
C#:  using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;  using gts;      namespace GTS  {      class Program      {          static void command(string sz, short nR)          {              Console.WriteLine(sz + " = " + nR);          }            static void Main(string[] args)          {              short mAxis = 2;              short nR = mc.GT_Open(0, 1);              if (nR != 0)              {                  command("GT_Open", nR);                  Console.WriteLine("Open error");                  return;              }              command("GT_Open", nR);              // 清除各轴的报警和限位              command("GT_ClrSts", mc.GT_ClrSts(mAxis, 1));              // 伺服使能              command("GT_AxisOn", mc.GT_AxisOn(mAxis));              // 位置清零              command("GT_ZeroPos", mc.GT_ZeroPos(mAxis, 1));              // 轴规划位置清零              command("GT_SetPrfPos", mc.GT_SetPrfPos(mAxis, 0));              // 设置指定轴为点位运动模式。              command("GT_PrfTrap", mc.GT_PrfTrap(mAxis));              // 设置点位运动参数              mc.TTrapPrm trap = new mc.TTrapPrm();              trap.acc = 0.25;              trap.dec = 0.125;              trap.smoothTime = 25;              command("GT_SetTrapPrm", mc.GT_SetTrapPrm(mAxis, ref trap));              // 设置轴的目标位置              command("GT_SetPos", mc.GT_SetPos(mAxis, 50000));              // 设置轴的目标速度              command("GT_SetVel", mc.GT_SetVel(mAxis, 25));              // 启动轴运动              command("GT_Update", mc.GT_Update(1 << mAxis - 1));                mc.GT_Close();              Console.ReadKey();          }      }  }
C++源码:  #include "stdafx.h"  #include "windows.h"  #include "conio.h"  #include "gts.h"    #define AXIS		1    // 该函数检测某条GT指令的执行结果,command为指令名称,error为指令执行返回值  void commandhandler(char *command, short error)  {  	// 如果指令执行返回值为非0,说明指令执行错误,向屏幕输出错误结果  	if(error)  	{  		printf("%s = %d\n", command, error);  	}  }  int main(int argc, char* argv[])  {  	short sRtn;  	TTrapPrm trap;  	long sts;  	double prfPos;    	// 打开运动控制器  	sRtn = GT_Open();  	// 指令返回值检测,请查阅例2-1  	commandhandler("GT_Open", sRtn);  	// 配置运动控制器  	// 注意:配置文件取消了各轴的报警和限位  	sRtn = GT_LoadConfig("test.cfg");  	commandhandler("GT_LoadConfig ", sRtn);  	// 清除各轴的报警和限位  	sRtn = GT_ClrSts(1, 8);  	commandhandler("GT_ClrSts", sRtn);  	// 伺服使能  	sRtn = GT_AxisOn(AXIS);  	commandhandler("GT_AxisOn", sRtn);    	// 位置清零  	sRtn = GT_ZeroPos(AXIS);  	commandhandler("GT_ZeroPos", sRtn);  	// AXIS轴规划位置清零  	sRtn = GT_SetPrfPos(AXIS, 0);  	commandhandler("GT_SetPrfPos", sRtn);  	// 将AXIS轴设为点位模式  	sRtn = GT_PrfTrap(AXIS);  	commandhandler("GT_PrfTrap", sRtn);  	// 读取点位运动参数  	sRtn = GT_GetTrapPrm(AXIS, &trap);  	commandhandler("GT_GetTrapPrm", sRtn);  	trap.acc = 0.25;  	trap.dec = 0.125;  	trap.smoothTime = 25;  	// 设置点位运动参数  	sRtn = GT_SetTrapPrm(AXIS, &trap);  	commandhandler("GT_SetTrapPrm", sRtn);  	// 设置AXIS轴的目标位置  	sRtn = GT_SetPos(AXIS, 50000L);  	commandhandler("GT_SetPos", sRtn);  	// 设置AXIS轴的目标速度  	sRtn = GT_SetVel(AXIS, 50);  	commandhandler("GT_SetVel", sRtn);  	// 启动AXIS轴的运动  	sRtn = GT_Update(1<<(AXIS-1));  	commandhandler("GT_Update", sRtn);    	do  	{  		// 读取AXIS轴的状态  		sRtn = GT_GetSts(AXIS, &sts);  		// 读取AXIS轴的规划位置  		sRtn = GT_GetPrfPos(AXIS, &prfPos);  		printf("sts=0x%-10lxprfPos=%-10.1lf\r", sts, prfPos);  	}while(sts&0x400);	// 等待AXIS轴规划停止    	// 伺服关闭  	sRtn = GT_AxisOff(AXIS);  	printf("\nGT_AxisOff()=%d\n", sRtn);  	getch();  	return 0;    }

以上就是分享GTS-800二次开发流程步骤的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 流程
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:C# 定时器Timer的实例介绍

相关资讯