GTS-800二次开发的示例分析
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,这篇文章将为大家详细讲解有关GTS-800二次开发的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、打开控制器 GT_Open2、启动伺服使能 GT_C
千家信息网最后更新 2025年02月23日GTS-800二次开发的示例分析
这篇文章将为大家详细讲解有关GTS-800二次开发的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
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二次开发的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
位置
运动
指令
点位
目标
规划
控制器
伺服
控制
参数
模式
篇文章
速度
报警
示例
分析
开发
更多
结果
错误
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
第一张表关联其他表数据库
和鑫顺互联网科技有限公司
esxi离线下载服务器搭建
蝰蛇网络安全
服务器硬件结构图
ftp文件服务器管理平台
网络安全签名活动通讯稿
sql连接2个数据库
魔品科技迎合互联网
泰州服务器机房搭建报价
做一个游戏内部服务器
在香港联通无服务器
网络技术的岗位要求
金仓数据库如何查看实例
开展经常性的网络安全宣传
云服务器注意安全
h3c服务器功率多大
数据库自查报告
泰安戴尔服务器
工业自动化里包含网络技术吗
互联网和新科技哪个好
管家婆重装系统数据库
服务器能同时当电脑用吗
网络安全法受到刑事几年内
网络安全美国的棱镜计划
plsql数据库修改主键
服务器安全狗蓝屏
侏罗纪世界手游服务器连接失败
服务器版本不一样能用吗
王牌战争服务器怎么获得石斧