C#调用GTS控制板

打印 上一主题 下一主题

主题 2022|帖子 2022|积分 6066

一、加载设置文件

通过网盘分享的文件:GTS运动控制.zip
链接: https://pan.baidu.com/s/1wxH9aklmesyxtcS53B2ylQ?pwd=437g 提取码: 437g
二、设置C#项目


  • gts.dllGTS800.cfg 放入运行程序中的 Debug目次
  • gts.cs 放入项目下
三、调用方法


  • 导入
  1. using static gts.mc;
复制代码

  • 框架搭建

  • 完整代码
  1. using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using static gts.mc;
  2. namespace _04插补运动{    public partial class Form1 : Form    {        short rtn;        public Form1()        {            InitializeComponent();        }        /// <summary>        /// 验证调用方法的状态        /// </summary>        /// <param name="str"></param>        /// <param name="rtn"></param>        private void CommanPrint(string str, short rtn)        {            Console.WriteLine($"调用方法:{str},调用状态:{rtn}");        }        //初始化控制器        private void button1_Click(object sender, EventArgs e)        {            //打开控制器              rtn = GT_Open(0, 1);            CommanPrint("GT_Open" + "打开控制器", rtn);            //复位运动控制器            rtn = GT_Reset();            CommanPrint("GT_Reset" + "复位运动控制器", rtn);            //加载设置好的设置文件            rtn = GT_LoadConfig("GTS800.cfg");            CommanPrint("GT_LoadConfig" + "加载设置文件", rtn);            //清除状态            rtn = GT_ClrSts(1, 8);            CommanPrint("GT_ClrSts" + "清除各轴的报警和限位", rtn);        }        private void button2_Click(object sender, EventArgs e)        {            TCrdPrm crdPrm = new TCrdPrm();            //设置坐标系的维度             crdPrm.dimension = 2; // 坐标系为二维坐标系            crdPrm.synVelMax = 500; // 最大合成速度:500pulse/ms            crdPrm.synAccMax = 3; // 最大加快度:1pulse/ms^2            crdPrm.evenTime = 10; // 最小匀速时间:50ms            //设置坐标系规划的轴            crdPrm.profile1 = 1; // 规划器1(即profile[0])对应到X轴(即1)            crdPrm.profile2 = 2; // 规划器2(即profile[1])对应到Y轴(即2            //设置原点            crdPrm.setOriginFlag = 1; // 表示需要指定坐标系的原点坐标的规划位置            crdPrm.originPos1 = 100; // 坐标系的原点坐标的规划位置为(100, 100)            crdPrm.originPos2 = 100;            rtn = GT_SetCrdPrm(1, ref crdPrm);            CommanPrint("GT_SetCrdPrm" + " 设置坐标系参数", rtn);        }        //斜线插补        private void button3_Click(object sender, EventArgs e)        {            GT_CrdClear(1, 0);            //定义了一个直线插补            rtn = GT_LnXY(1, 10000, 10000, 4, 0.1, 0, 0);            CommanPrint("GT_LnXY" + " 定义一个直线插补", rtn);            //再加入插补             rtn = GT_LnXY(1, 200, 200, 4, 0.1, 0, 0);            CommanPrint("GT_LnXY" + " 定义一个直线插补", rtn);            //启动插补运动            rtn = GT_CrdStart(1, 0);            CommanPrint("GT_CrdStart" + " 启动插补运动", rtn);        }        //圆弧插补        private void button4_Click(object sender, EventArgs e)        {            GT_CrdClear(1, 0);//清除缓存            //描述一段圆弧插补            GT_LnXY(1,1000,1000,4,0.1,0,0);            //描述整个园            GT_ArcXYC(1,5000,5000,10000,10000,0,4,0.5,0,0);            //GT_ArcXYR(1,5000,0,5000,1,5,0.2,0,0);            //启动插补运动            GT_CrdStart(1,0);        }        private void button5_Click(object sender, EventArgs e)        {            rtn = GT_Stop(1 << (1 - 1), 0);            rtn = GT_Stop(1 << (2 - 1), 0);            CommanPrint("GT_Stop" + "停止运动", rtn);        }    }}
复制代码
压缩包中有利用手册,可以根据手册上的详细代码举行编辑

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

傲渊山岳

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表