当前位置: 首页 > backend >正文

C#调用GTS控制板

一、加载配置文件

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

二、配置C#项目

  1. gts.dllGTS800.cfg 放入运行程序中的 Debug目录
  2. gts.cs 放入项目下

三、调用方法

  1. 导入
using static gts.mc;
  1. 框架搭建
    在这里插入图片描述
  2. 完整代码
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);}}
}

压缩包中有使用手册,可以根据手册上的详细代码进行编辑

http://www.xdnf.cn/news/7658.html

相关文章:

  • DeepSeek+PiscTrace+YOLO:迅速实现Mask掩码抠图
  • IEEE 802.1Q协议下封装的VLAN数据帧格式
  • 【ISP算法精粹】什么是global tone mapping和local tone mapping?
  • 异步复位,同步释放
  • FineBI 和 Axure工具比较——数据分析VS原型设计
  • 常见回归损失函数详解:L1 Loss, L2 Loss, Huber Loss
  • 能碳一体化的核心功能模块
  • 【图像大模型】Kolors:基于自监督学习的通用视觉色彩增强系统深度解析
  • 抓包分析工具与流量监控软件
  • C语言入门
  • SQLite基础及优化
  • 从0到1搭建shopee测评自养号系统:独立IP+硬件伪装+养号周期管理​
  • [概率论基本概念1]什么是经验分布
  • 【NLP 76、Faiss 向量数据库】
  • Easylogging使用笔记
  • 【开源】一个基于 Vue3 和 Electron 开发的第三方网易云音乐客户端,具有与官方客户端相似的界面布局
  • pom.xml中的runtime
  • 关于汇编语言与接口技术——单片机串行口的学习心得
  • thread 的mutex优化
  • 基于FFT变换的雷达信号检测和参数估计matlab性能仿真
  • 每日两道leetcode(今天开始刷基础题模块——这次是之前的修改版)
  • ES 调优帖:关于索引合并参数 index.merge.policy.deletePctAllowed 的取值优化
  • 数字展厅是什么?怎样实现数字展厅的落地?
  • matlab编写的BM3D图像去噪方法
  • SpringBoot-4-Spring Boot项目配置文件和日志配置
  • 电子制造企业智能制造升级:MES系统应用深度解析
  • centos7安装mysql8.0
  • Android trace presentFence屏幕显示的帧
  • sgRNA的靶基因基因组如何获得? for 下游的 T7E1验证
  • 不同的二叉搜索树 II:动态规划与递归构造