CANopen DS402 Home offset理解

2023-12-31 20:44
文章标签 理解 home canopen offset ds402

本文主要是介绍CANopen DS402 Home offset理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文通俗解释CANopen DS402中Home offset的含义。


一 原本解释

CANopen DS402中规定对象字典项0x607C用于存放Home offset,文档中对其解释如下,

The home offset object is the difference between the zero position for the application and the machine home position (found during homing), it is measured in position units.
During homing the machine home position is found and once the homing is completed the zero position is offset from the home position by adding the home offset to the home position. All subsequent absolute moves shall be taken relative to this new zero position.

也就是说Home offset是application的零位和machine的home位之间的差值,homing过程找到machine的home位,等homing结束,零位就是machine home位偏移home offset的位置。

文档中给的示意图如下,
在这里插入图片描述
对象字典项解释如下,默认值是0
在这里插入图片描述
感觉还是得不到直观的理解。


二 易于理解的形式

本人重新画了一幅示意图,如下,
在这里插入图片描述
顺序是先找Home为,再找零位。

Homing开始后,假设往右运动去寻找机器Home位,遇到limit switch后认为找到Home位,然后根据Home offset值去找零位,这里假设Home offset为3毫米,那么就会往左走3毫米,此时可能会过冲,如果过冲发生,那么就再往右回来,最终走到3mm的位置停下来,表示找到零位。

零位找到后,对于application来说,当前位置就是0mm,这样就形成了一个坐标系,如下,后续运动都必须按照这个坐标系进行运动,
在这里插入图片描述

往右过0之后最多走3mm,往左过0之后最多走到左侧的limit switch处。

Note: 如果Home offset是0,那么零位和Home位就是重合的,找到Home位就找到零位了。

Homing method(对象字典项是0x6098)决定了如何寻找Home位,可以参考这篇文章。


三 总结

本文通俗易懂的解释了Home offset的意义,须记住顺序是先找Home为,再找零位,而找Home位的各种方法请参考另外一篇文章。

这样就弄懂了DS402里找Home位和找零位的过程。

这篇关于CANopen DS402 Home offset理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/557095

相关文章

深入理解go中interface机制

《深入理解go中interface机制》本文主要介绍了深入理解go中interface机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前言interface使用类型判断总结前言go的interface是一组method的集合,不

Java Spring的依赖注入理解及@Autowired用法示例详解

《JavaSpring的依赖注入理解及@Autowired用法示例详解》文章介绍了Spring依赖注入(DI)的概念、三种实现方式(构造器、Setter、字段注入),区分了@Autowired(注入... 目录一、什么是依赖注入(DI)?1. 定义2. 举个例子二、依赖注入的几种方式1. 构造器注入(Con

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

spring IOC的理解之原理和实现过程

《springIOC的理解之原理和实现过程》:本文主要介绍springIOC的理解之原理和实现过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、IoC 核心概念二、核心原理1. 容器架构2. 核心组件3. 工作流程三、关键实现机制1. Bean生命周期2.

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

深入理解Redis大key的危害及解决方案

《深入理解Redis大key的危害及解决方案》本文主要介绍了深入理解Redis大key的危害及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、背景二、什么是大key三、大key评价标准四、大key 产生的原因与场景五、大key影响与危