雷赛运动控制卡编程(2)限位设定与回原方式、脉冲模式设置

一、限位开关及急停开关的设置

限位开关的设置

            //设置限位开关// dmc_set_el_modeushort _cardNo=0;ushort _axisNo = 0;ushort _enable = 1;  // 正负限位使能 ushort _elLogic = 0;  // 正负限位 低电平 有效ushort _model = 0;//  正负限位停止方式为立即停止LTDMC.dmc_set_el_mode( _cardNo, _axisNo, _enable, _elLogic, _model);

急停开关设置

            // 急停设置LTDMC.dmc_set_emg_mode(_cardNo, _axisNo, _enable, _elLogic);

二、回原点设置

回原点的步骤

回原点运动主要步骤如下:
1)使用 dmc_set_home_pin_logic 函数设置原点开关的有效电平;
2)使用 dmc_set_homemode 函数设置回原点方式;
3)设置回原点运动的速度曲线;
4)设置回零偏移量、回零完成是否清零及非限位回零方式遇限位是否反找;
5)使用 dmc_home_move 函数执行回原点运动;

回原方式

方式 0:一次原点回零

适合于行程短、安全性要求高的场合。动作过程为:电机从初
始位置以恒定速度向原点方向运动,当到达原点开关位置,原点信号被触发,电机立即停止(过
程 0);将停止位置设为原点位置

 方式 1:一次原点回零加回找

该方式先进行方式 0运动,完成后再反向回找原点开关的边缘位置,当原点信号第一次无
效的时候,电机立即停止;

 方式 2:两次原点回零

该方式为方式 0和方式1的组合。先进行方式 1 的回零加反找,完成后再 进行方式 0的一次回零

 方式 3:一次原点回零后再同向找 1 个 EZ 信号后回零

该方式在回原点运动过程中,当找到原点信号后,还要等待该轴的 EZ 信号出现,此时电
机停止

 方式 4:记 1 个 EZ 信号回零

方式 5:一次原点回零再反找 EZ 信号 

该方式在回原点运动过程中,当找到原点信号后,减速停止,然后以反找速度反向找到 EZ 生效此时电机停止

 方式 6:原点锁存

电机先以设定速度回原点,当原点开关边沿触发时,将当前位置锁存下来, 同时电机减速停止。电机减速停止完成后再反向回找锁存位置,运动到锁存位置,电机停止

 方式 7:原点锁存加同向 EZ 锁存

该方式先以方式 6 执行一次原点锁存回零,完成后继续沿设定回零方向运行到 EZ 信号产
生, EZ 信号产生时锁存当前位置并执行减速停,电机减速停止之后再反向回找 EZ 的锁存位
置,运动到锁存位置,电机停止

方式 8:单独记一个 EZ 锁存

在回零过程中检测到 EZ 有效边沿出现,锁存当前位置,执行减速停,电机减速停止之后 再反向回找 EZ 的锁存位置,运动到锁存位置,电机停止

 方式 9:原点锁存加反向 EZ 锁存

该方式先以方式 6 执行一次原点锁存回零,完成后以与设定回零方向相反的方向运行到 EZ 信号产生, EZ 信号产生时锁存当前位置并执行减速停,电机减速停止之后再反向回找 EZ 的锁存位置,运动到锁存位置,电机停止

方式 10:一次限位回零

该方式以设定速度回原点;适合于行程短、安全性要求高的场合。动作过程为:电机从初
始位置以恒定速度向限位方向运动,当到达限位开关位置,限位信号被触发,电机立即停止(过
程 0);将停止位置设为原点位置

 方式 11:一次限位回零加回找

三、 脉冲模式设置

指令脉冲输出模式

 设置指定轴的脉冲输出模式

 读取指定轴的脉冲输出模式设置

四、函数测试

初始化板卡

 控制卡关闭

控制卡硬件复位函数 

获取控制卡硬件 ID 号

获取控制卡固件版本号

获取控制卡硬件版本号

 Code

        private void InitBtn_Click(object sender, EventArgs e){short res;res = LTDMC.dmc_board_init();if (res <= 0 || res > 8){Console.WriteLine("shibai");return;}// 获取轴卡上所有的ID号和固件版本号ushort cardNumber = 0;uint[] CardTypeList = new uint[8];ushort[] CardIdList = new ushort[8];res = LTDMC.dmc_get_CardInfList(ref cardNumber, CardTypeList, CardIdList);if (res == 0){// 卡号_CardNo = CardIdList[0];// 版本}uint axises = 0;// 卡的轴数short res2=  LTDMC.dmc_get_total_axes(CardIdList[0], ref axises);if(res2==0){Movtion_Number.Items.Clear();for (ushort i = 0; i < axises; i++){Axises[i] = i;Movtion_Number.Items.Add(Axises[i]);}Movtion_Number.SelectedItem = 0;_Init_flag = true;}}private void ClosedBtn_Click(object sender, EventArgs e){if (_Init_flag){LTDMC.dmc_board_close();}}

限位开关设置

 设置 EL 限位信号

设置软限位

 

回原 

设置 ORG 原点信号  

读取 ORG 原点信号

*设置回原点模式(重点)

注意
1)当回零模式 mode=4 时,回零速度模式将固定为低速回零
2)DMC3C00 后四轴只支持 0、1、2、10、11、12 六种回零模式
3)后三种回零模式最新固件(3XX201611 及以后固件)才支持。正向回零时进行正限
位回零,负向回零时进行负限位回零; 若开始回零时处于限位信号中,会先向设置的
回零方向的反向运动,移出限位信号范围后,再变向,找相应的限位信号;一次限位回
零遇到限位信号后急停;一次限位回零加反找在反找阶段遇到限位信号后急停;二次限
位回零在第二次遇到限位信号后急停;

 读取回原点模式

回零遇限位是否反找

 读取回零遇限位是否反找

设置回零偏移量及清零模式

读取回零偏移量及清零模式

设置开启限位反找偏移距离

读取限位反找偏移距离

回原点运动

读取回零执行状态

  public int GoHome(){//设置原点信号的有效电平ushort _cardNo = 0;ushort _axisNo = 0;ushort _org_log = 0;  // 原点信号低电平有效double filter = 0.4;  //保留参数LTDMC.dmc_set_home_pin_logic(_cardNo, _axisNo,_org_log,filter);// 选择回原的模式ushort _home_dir = 0;  //负方向回零double _vel = 0;   //回零速度模式为低速ushort _mode = 1;  //回零模式为方式 1,一次回零ushort _EZ_count = 2;//保留参数LTDMC.dmc_set_homemode(_cardNo, _axisNo, _home_dir, _vel, _mode, _EZ_count);// 设置回零遇限位是否反找ushort _enable = 0;LTDMC.dmc_set_home_el_return(_cardNo, _axisNo, _enable);// 设置回零偏移量及清零模式LTDMC.dmc_set_home_position(_cardNo, _axisNo,_enable,-19);// 按指定的方向和速度方式开始回原点LTDMC.dmc_home_move(_cardNo, _axisNo);// 读取回零状态ushort _statble = 0;LTDMC.dmc_get_home_result(_cardNo, _axisNo,ref  _statble);return 0;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/871931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

构建实用的NLP应用程序:重塑人类与计算机的协同工作方式

文章目录 一、NLP技术的核心价值二、构建实用NLP应用程序的关键步骤三、NLP应用程序在协同工作中的创新应用《赠ChatGPT中文范例的自然语言处理入门书》编辑推荐内容简介作者简介精彩书评目录前言/序言获取方式 在数字化时代&#xff0c;自然语言处理&#xff08;NLP&#xff0…

手机数据恢复:适用于 Android 的 4 大数据恢复应用程序

没有人希望丢失设备上的重要数据。如果发生这种情况&#xff0c;请不要惊慌。以下是可帮助您恢复丢失或删除的数据的 Android 数据恢复应用程序列表。 有多种方法可以恢复已删除或丢失的 Android 数据&#xff0c;最简单、最快捷的方法是使用第三方恢复应用程序。这些应用程序会…

Transformer模型:Postion Embedding实现

前言 这是对上一篇WordEmbedding的续篇PositionEmbedding。 视频链接&#xff1a;19、Transformer模型Encoder原理精讲及其PyTorch逐行实现_哔哩哔哩_bilibili 上一篇链接&#xff1a;Transformer模型&#xff1a;WordEmbedding实现-CSDN博客 正文 先回顾一下原论文中对Posit…

[Windows] 号称最快免费小巧的远程桌面 AnyDesk v8.0.11单文件版

描述 对于经常在互联网上进行操作的学生&#xff0c;白领等&#xff01; 一款好用的软件总是能得心应手&#xff0c;事半功倍。 今天给大家带了一款高科技软件 虽然 QQ 拥有远程协助功能&#xff0c;但很多时候连接并不够流畅&#xff0c;而且被控电脑那方也必须要有人操作才行…

电脑关机被阻止

1. winR输入regedit进入注册表 2. 选择HKEY_USERS-》.DEFAULT-》Control Panel-》Desktop 3. 右键DeskTop新建字符串值&#xff0c;命名为AutoEndTasks&#xff0c;数值设置为1

C++中链表的底层迭代器实现

大家都知道在C的学习中迭代器是必不可少的&#xff0c;今天我们学习的是C中的链表的底层迭代器的实现&#xff0c;首先我们应该先知道链表的底层迭代器和顺序表的底层迭代器在实现上有什么区别&#xff0c;为什么顺序表的底层迭代器更加容易实现&#xff0c;而链表的底层迭代器…

不会编程怎么办?量化交易不会编程可以使用吗?

量化交易使用计算机模型程序代替人工进行交易&#xff0c;一般需要投资者自己编写程序建模&#xff0c;然后回测无误之后再进行实盘交易&#xff0c;那么不会编程的投资者能使用量化软件进行量化交易吗&#xff1f; 不会编程使用量化软件有两种方法 一种是请人代写代码&#x…

Java软件设计模式-单例设计模式

目录 1.软件设计模式的概念 2.设计模式分类 2.1 创建型模式 2.2 结构型模式 2.3 行为型模式 3.单例设计模式 3.1 单例模式的结构 3.2 单例模式的实现 3.2.1 饿汉式-方式1&#xff08;静态变量方式&#xff09; 3.2.2 懒汉式-方式1&#xff08;线程不安全&#xff09; 3.…

办公灯多普勒雷达模组感应开关,飞睿智能24G毫米波雷达超低功耗uA级,节能LED灯新搭档

在科技日新月异的今天&#xff0c;节能、环保已经成为我们生活和工作中不可或缺的一部分。作为新时代的办公人&#xff0c;我们不仅要追求高效的工作方式&#xff0c;更要关注我们所使用的设备是否足够环保、节能。今天&#xff0c;我们就来聊聊一个令人兴奋的创新——飞睿智能…

如何30分钟下载完368G的Android系统源码?

如何30分钟下载完368G的Android系统源码&#xff1f; Android系统开发的一个痛点问题就是Android系统源码庞大&#xff0c;小则100G,大则&#xff0c;三四百G。如标题所言&#xff0c;本文介绍通过局域网高速网速下载源码的方法。 制作源码mirror 从源码git服务器A&#xff0c…

推荐系统:从协同过滤到深度学习

目录 一、协同过滤&#xff08;Collaborative Filtering, CF&#xff09;1. 基于用户的协同过滤2. 基于物品的协同过滤 二、深度学习在推荐系统中的应用1. 深度学习模型的优势2. 深度学习在推荐系统中的应用实例 三、总结与展望 推荐系统是现代信息处理和传播中不可或缺的技术&…

【话题】破茧而出:打破AI“信息茧房”,捍卫信息自由与多样性

目录 AI发展下的伦理挑战&#xff0c;应当如何应对&#xff1f; 方向一&#xff1a;构建可靠的AI隐私保护机制 方向二&#xff1a;确保AI算法的公正性和透明度 方向三&#xff1a;管控深度伪造技术 AI发展下的伦理挑战&#xff0c;应当如何应对&#xff1f; 在人工智能&…

Tita的OKR:高端制造行业的OKR案例

高端设备制造行业的发展趋势&#xff1a; 产业规模持续扩大&#xff1a;在高技术制造业方面&#xff0c;航空、航天器及设备制造业、电子工业专用设备制造等保持较快增长。新能源汽车保持产销双增&#xff0c;新材料新产品生产也高速增长。 标志性装备不断突破&#xff1a;例如…

Flink Window 窗口【更新中】

Flink Window 窗口 在Flink流式计算中&#xff0c;最重要的转换就是窗口转换Window&#xff0c;在DataStream转换图中&#xff0c;可以发现处处都可以对DataStream进行窗口Window计算。 窗口&#xff08;window&#xff09;就是从 Streaming 到 Batch 的一个桥梁。窗口将无界流…

系统架构师考点--软件工程(上)

大家好。今天我来总结一下软件工程的相关考点。这部分是考试的重点。在上午场客观题、下午场案例题以及下午场论文都有可能考到&#xff0c;在上午场客观题中大约占12-15分左右。 一、软件工程概述 软件开发生命周期 软件定义时期&#xff1a;包括可行性研究和详细需求分析过…

uniapp打包成Android时,使用uni.chooseLocation在App端显示的地址列表是空白?一直转圈的解决办法

问题描述&#xff1a; uniapp打包后的测试版app在ios里可以显示高德地图的定位列表&#xff0c;但是安卓手机却不显示定位列表&#xff0c;一直在转圈圈&#xff0c;怎么回事&#xff1f;之前的功能在正式版都能用&#xff0c;真机运行也能用&#xff0c;为什么测试版的安卓手…

ADC性能规格--动态性能

所有真正的ADC都有额外的噪声源和失真过程&#xff0c;会降低性能。 动态性能规范报告了ADC动态行为中的这些缺陷&#xff0c;包括总谐波失真&#xff08;THD&#xff09;、信噪比加失真&#xff08;SND&#xff09;、信号噪声比&#xff08;SNR&#xff09;和无杂散动态范围&a…

Study--Oracle-07-ASM自动存储管理(二)

一、ASM安装准备条件 1、ASM支持存储类型 本地祼设备(本地的磁盘和分区) 网络附加存储(NAS) 存储区域网络(SAN) 2、ASM使用本地裸设备,要点: 已经被挂载到操作系统上或者已经做了分区 映射裸设备为文件名 设置正确的权限(针对grid用户和asmadmin组,权限为660) 二、OR…

【CUDA】CUDA中缓存机制对计时的影响

笔者在阅读知乎上一个关于CUDA编程的专栏时&#xff0c;发现作者写的很多文章中都会附带计时的模块用于评估程序的运行效率&#xff0c;然而笔者发现&#xff0c;在运行这篇文章中的代码时时&#xff0c;得到的结果和作者的结果有较大差异&#xff0c;主要体现在&#xff1a;使…

Python - Word转TXT文本,或TXT文本转Word

Word文档&#xff08;.doc或.docx&#xff09;和纯文本文件&#xff08;.txt&#xff09;是两种常用的文件格式。Word文档通常用于复杂的文档处理和排版&#xff0c;而纯文本文件则用于存储和传输纯文本信息。了解如何在这两种格式之间进行转换能提高工作效率&#xff0c;并便于…