C#调用GTS控制板
一、加载配置文件
通过网盘分享的文件:GTS运动控制.zip
链接: https://pan.baidu.com/s/1wxH9aklmesyxtcS53B2ylQ?pwd=437g 提取码: 437g
二、配置C#项目
- 将 gts.dll 和 GTS800.cfg 放入运行程序中的 Debug目录
- 将 gts.cs 放入项目下
三、调用方法
- 导入
using static gts.mc;
- 框架搭建
- 完整代码
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;
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/mscrdPrm.synAccMax = 3; // 最大加速度:1pulse/ms^2crdPrm.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);}}
}
压缩包中有使用手册,可以根据手册上的详细代码进行编辑