点位运动

2023-10-31

梯形速度规划是最简单的速度规划方法,加速度是常数,规划过程中只需要控制速度和位移与时间的关系。如图所示,整个过程分为①加速段、②匀速段、③减速段。

 

每一个轴在规划静止时都可以设置为点位运动。在点位运动模式下,各轴可以独立设置目标位置、目标速度、加速度、减速度、起跳速度、平滑时间等运动参数,能够独立运动或停止。

 

将第 1 轴设定为点位运动模式,并且以速度 50pulse/ms,加速度 0.25pulse/ms2,减速度
0.125pulse/ms2,平滑时间为 25ms 的运动参数正向运动 50000 个脉冲。

 

 

1、打开运动控制器,然后运控卡复位

2、加载运动控制器的配置文件

3、清除各轴的报警和限位

4、伺服使能

5、轴的位置清零

6、AXIS轴规划位置清零

7、将AXIS轴设为点位模式

8、读取点位运动参数

9、设置AXIS轴的目标位置

10、设置AXIS轴的目标速度

11、启动AXIS轴的运动

12、一直读取轴的状态,直到AXIS轴规划停止

13、伺服关闭

#include "stdafx.h"
#include "conio.h"
#include "gts.h"
// 定义轴号
#define AXIS 1
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;
    }

参考:

固高运动卡手册(官网下载)

https://blog.csdn.net/qq_33628827/article/details/100528984

https://blog.csdn.net/qq_30567891/article/details/80236106

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

点位运动 的相关文章

随机推荐

  • python中Pandas 库函数DataFrame的基本属性详解

    import pandas as pd DataFrame是一个结构体 class DataFrame data None index Optional Axes None columns Optional Axes None dtype
  • App Store 审核指南(中文版)

    App Store 审核指南 中文版 时间 2010 09 17 12 51 苹果对开发者提交的应用的审核之严格是出了名的 了解苹果的审核标准对于开发者防止应用被拒有着十分重要的意义 几天前苹果官方公布了 App Store 审核指南 后经
  • Python程序设计实验报告【合集】

    课堂作业 1 词频统计 输入一个文件 程序读取文件 文件内容是英文内容 不少于500个单词的内容 统计每个单词在该短文内出现的次数 https www jb51 net article 144405 htm https www cnblog
  • Spring Security怎么给方法配置权限的?

    前言 突然反应过来 前面一篇好像突然讲的太深了 应该先从入门开始 结果直接整源码分析 导致一些不了解Spring Security的朋友不太懂用 本篇非常重要 主要讲怎么给你的函数添加权限管理 本章内容 动态管理权限规则 怎么根据目标资源从
  • Fabric 链码Chaincode 的安装、初始化、调用、升级

    Fabric 链码Chaincode 的安装 初始化 调用 升级 Fabric chaincode 上一篇文章 我们启动了一个Fabric网络 这篇文章来看看在Fabric网络进行应用的开发 上一篇文章 我们启动了一个 Fabric 网络
  • ViewPager 详解(二)---详解四大函数

    http blog csdn net harvic880925 article details 38487149
  • Unity 中子弹弓箭射击脚本

    一个非常牛逼的计算射击目标的脚本 主要用于计算从子弹发射点到目标的抛物线路径 在很多游戏开发中都会用到子弹或者弓箭攻击对手的情况 如何能够计算出子弹或者箭头的运行轨迹 并能够让它准确的命中目标 是很多游戏开发者都会遇到的问题 这里就为大家提
  • 计算机鼠标显示停顿原因,经常遇到鼠标指针停顿卡的解决方法

    经常遇到鼠标指针停顿卡怎么办呢 通过鼠标卡顿事件 透析各种可能问题 触类旁通了解电脑维护 下面就由学习啦小编来给大家说说经常遇到鼠标指针停顿卡的解决方法 欢迎大家前来阅读 经常遇到鼠标指针停顿卡的解决方法 可能原因 1 鼠标的灵敏度变差 这
  • python中的基本要素

    1 python中的基本元素 python和Java一样 也是面向对象的语言 相对于java 代码编写比较自由 python语言不像java语言那样需要定义一个main方法作为入口 python程序代码可以像批处理文件一样从上到下按顺序编写
  • 【前端】Vue+Element UI案例:通用后台管理系统-Home组件:卡片、表格

    文章目录 目标 代码 0 布局 1 左上User卡片 2 左下table卡片 2 1数据 TableData js 2 2table 2 3代码优化 循环 3 右上数据卡片 3 1数据 CountData 3 2结构 3 3布局 3 4样式
  • Linux命令·which·whereis·locate·find

    我们经常在linux要查找某个文件 但不知道放在哪里了 可以使用下面的一些命令来搜索 which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 which w
  • 我的一切主要想法和想做的东西

    一 VFD时钟 目前基本已经完成 但是只卖出不到50个 没找到原因 是营销不够 市场份额太少 还是产品本身有问题 目前自己想对满意 不会再更新 二 低功耗手表 老李做到2 0版本 缺外壳 目前有老板介入 但是进度未知 主打一个续航编写 三
  • Qt 获取顶级窗口(top-level window)

    在Qt中 可以使用 QWidget window 函数来获取窗口的顶级窗口 top level window 顶级窗口是指没有父窗口的窗口 通常是应用程序的主窗口或独立的对话框窗口 include
  • The type org.springframework.dao.DataAccessException cannot be resolved. It is indirectly referenced

    今天使用Spring Cloud Mybatis Plus3 x 搭建微服务项目时 提示如下错误信息 The type org springframework dao DataAccessException cannot be resolv
  • vue-cli3搭建多入口应用项目搭建以及webpack配置

    我们平时开发 vue项目的时候 就有一种感觉就是 vue就像是专门为单页应用而诞生的 因为人家的官方文档中也说了 其实不是的 因为vue在工程化开发的时候依赖于 webpack 而webpack是将所有的资源整合到一块后形成一个html文件
  • Python基础(三)_函数和代码复用

    三 函数和代码复用 一 函数的基本使用 1 函数的定义 函数是一段具有特定功能的 可重用的语句组 用函数名来表示并通过函数名进行功能调用 函数也可以看作是一段具有名字的子程序 可以在需要的地方调用执行 不需要在每个执行的地方重复编写这些语句
  • HJ32 密码截取(java详解)(动态规划)

    hello world 你好 世界 想要了解这题的动态规划 提议先了解这题的 中心扩散法 解题思路 最长回文子串的中心扩散法 遍历每个字符作为中间位 进行左右比较 算法流程 从右到左 对每个字符进行遍历处理 并且每个字符要处理两次 因为回文
  • 二手打印机如何挑选?

    打印机作为生产力工具 最重要的是 稳定性 可靠性 以及使用成本 常用的打印机分为三种 分别是 激光打印机 喷墨打印机 针式打印机 不管你是去网店还是实体店铺购买打印机 首先你要了解自己的需求 打印机作为商品 没有好与不好 只有适不适合你 一
  • Python编程基础题(20-宇宙无敌加法器)

    Description Input 输入首先在第一行给出一个 N 位的进制表 0 lt N 20 以回车结束 随后两行 每行给出一个不超过 N 位的非负的 PAT 数 Output 在一行中输出两个 PAT 数之和 Sample Input
  • 点位运动

    梯形速度规划是最简单的速度规划方法 加速度是常数 规划过程中只需要控制速度和位移与时间的关系 如图所示 整个过程分为 加速段 匀速段 减速段 每一个轴在规划静止时都可以设置为点位运动 在点位运动模式下 各轴可以独立设置目标位置 目标速度 加