分享GTS-800二次开发流程步骤
导读:收集整理的这篇文章主要介绍了分享GTS-800二次开发流程步骤,觉得挺不错的,现在分享给大家,也给大家做个参考。1、打开控制器 GT_OPEn2、启动伺服使能 GT_ClrSts3、轴规划位置清零 ...
收集整理的这篇文章主要介绍了分享GTS-800二次开发流程步骤,觉得挺不错的,现在分享给大家,也给大家做个参考。1、打开控制器 GT_OPEn2、启动伺服使能 GT_ClrSts3、轴规划位置清零 GT_SetPRfPos4、轴运动模式 GT_PrfTrap5、轴目标位置 GT_SetPos6、轴转动速度 GT_SetVel7、启动轴 GT_Update8、关闭使能 GT_AxisOff9、关闭控制器 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二次开发流程步骤的详细内容,更多请关注其它相关文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 分享GTS-800二次开发流程步骤
本文地址: https://pptw.com/jishu/592254.html
