GTS-800二次开发的示例分析
发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,这篇文章将为大家详细讲解有关GTS-800二次开发的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、打开控制器 GT_Open2、启动伺服使能 GT_C
千家信息网最后更新 2024年11月25日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安全错误
数据库的锁怎样保障安全
数据库安全员培训
数据库表创建与修改管理
网络安全防范宣传漫画部队
服务器书记
伊犁软件开发规定
网络安全数据处理征求意见稿
二年级网络安全手抄内容
国外服务器太慢怎么办
分析身边的网络安全
如何加强对数据库的支持
网络安全专业去哪里留学好
mfc tcp 服务器
软件开发过程管理谁来做
服务器为什么可以不重启
贺卫东网络安全
保密局搞网络安全的
数据库一列为字母加上id列
湖北惠普服务器维修价格
华谷网络技术有限公司
盛网科技服务器
网络安全系统安全吗
我网络技术有限公司
数据库启动发生系统错误5
服务器集群管理系统的开发
镇政府网络安全应急预案
科学养猪 数据库
后端数据库如何更新
同程软件开发待遇怎么样
pb不连数据库打开窗口
网络技术方面专长