GTS-800二次开发的示例分析
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章将为大家详细讲解有关GTS-800二次开发的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、打开控制器 GT_Open2、启动伺服使能 GT_C
千家信息网最后更新 2025年01月19日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安全错误
数据库的锁怎样保障安全
纯真ip数据库 c
sql导出数据库脚本
服务器状态aq和s
中全通网络技术有限公司
信息服务器远程管理
2018年网络安全管理者必读
在医疗行业做软件开发
数据库管理系统产生于二十世纪多少年代
互联网科技画册
多米诺数据库迁移
可以查阅生存期的数据库
如何快速找到数据库的隐藏文件
申请软件开发服务资质认证
河源会员管理软件开发基本功能
服务器蠕虫病毒怎么消除
福州公司管理系统软件开发
香港服务器改装硬盘
高新区推广软件开发活动
网络技术化管理的特点
破解无线网络技术
重庆苹果手机软件开发
自考软件开发工具2018
西安网络安全培训报名
微信回恢复聊天数据库
手抄报网络安全教育日主题
网络安全亮点是什么
onenet采用数据库技术
网络安全每年至少评估几次
自己搭建IPTV服务器教程
郑州市紫荆网络安全园区