CANopen协议在机械研究院中的应用实例分析 CANopen是一种基于Controller Area Network(CAN)总线的应用层协议,广泛应用于工业自动化、机器人技术、医疗设备、汽车电子等领域。同济大学机械研究院的CANopen协议-PDO SDO应用实例分析,为我们提供了一个深入了解CANopen协议的机会。 CANopen协议简介 CANopen协议是一种开放式的通信协议,主要应用于工业自动化、机器人技术、医疗设备等领域。它基于CAN总线,提供了一个灵活的通信架构,能够满足不同工业应用的需求。CANopen协议的主要特点是开放式、灵活、可扩展、实时性强等。 PDO应用实例分析 PDO(Process Data Object)是CANopen协议中的一种数据对象,用于传输过程数据。在机械研究院的应用实例中,PDO应用实例分析主要涉及到对象字典的编写、节点之间的数据传输等方面。 对象字典的编写 在CANopen协议中,对象字典是指节点之间的数据交换所需的数据结构。对象字典的编写是PDO应用实例分析的重要步骤。根据机械研究院的应用实例,在对象字典的编写中,需要定义节点 ID、对象类型、对象名称、数据类型等信息。 节点之间的数据传输 在机械研究院的应用实例中,节点之间的数据传输是通过CAN总线实现的。节点 1 发送数据至节点 2、节点 3,节点 2 发送数据至节点 3。数据传输的过程中,需要遵守CANopen协议的规定,例如数据帧的格式、传输速率等。 SDO应用实例分析 SDO(Service Data Object)是CANopen协议中的一种服务数据对象,用于传输服务数据。在机械研究院的应用实例中,SDO应用实例分析主要涉及到服务数据的传输、错误处理等方面。 服务数据的传输 在CANopen协议中,服务数据的传输是通过SDO实现的。服务数据的传输包括服务请求、服务响应、错误处理等方面。在机械研究院的应用实例中,服务数据的传输需要遵守CANopen协议的规定,例如服务请求的格式、服务响应的格式等。 错误处理 在CANopen协议中,错误处理是非常重要的。错误处理包括错误检测、错误报告、错误恢复等方面。在机械研究院的应用实例中,错误处理需要遵守CANopen协议的规定,例如错误代码的定义、错误处理的流程等。 同济大学机械研究院的CANopen协议-PDO SDO应用实例分析,为我们提供了一个深入了解CANopen协议的机会。通过该应用实例,我们可以了解CANopen协议的基本原理、PDO和SDO的应用、错误处理等方面的知识。
2024-06-22 15:56:36 491KB CANopen 学习资料
1
之前工作有接触到Ethercat 并学习实践了IghMaster库,现在不做这方面工作了把代码开源出来,希望对大家有用。 代码使用Source Insight 3.5编辑的,用其它编辑器可能会出现乱码。 压缩包中包含了 1.基于Ighmaster 1.5.2驱动Sanyo,泰科伺服电机做力矩模式运动的代码。包含电机使能/禁止使能,设置运行模式,控制模式,发送力矩控制命令,读取力矩反馈等功能。基于SDO方式实现的代码。 2. 基于Ighmaster 1.5.2 驱动Et100 Io板代码,基于PDO,SDO方式的Io控制及温湿度读取 3. 测试例子包括了介于原生驱动接口ioctl方式控制码和基于libethercat库的驱动代码。具体见源代码。 文档目录结构及简要说明 0.Ethercat调试记录.txt 自己调试Ethercat过程中碰到的问题及解决办法 1. libethercat\std 目录 编译Igh生成的ethecat库 2. libethercat\include Igh Master Ethercat库包含的头文件 3. scripts/ 自动生成从站信息的相关脚本文件,要生成从站信息,将该文件夹复制到开发板运行GenerateSlavesConfig.sh。 默认生成ec_common_configs_define.h和ec_common_configs_define.c文件,这两个文件会在libethercat\ec_common\ecat_common.c,libethercat\ec_common\ecat_common.h相关接口使用。 4. libethercat\ec_common 4.0 ec_common_configs_define.h ec_common_configs_define.c 由脚本scripts/GenerateSlavesConfig.sh自动生成的从站信息,包括从站PDO,SDO设置等,更具体的可以参照scripts/README.txt 4.1 ecat_common.h ecat_common.c 基于ibethercat\std 中的库的二次封装库,简化了PDO,SDO等操作 4.2 ecat_common_intermediate_interface.h ecat_common_intermediate_interface.c 与具体厂商相关的接口库,基于ecat_common.c中接口的实现,不同设备修改这两个文件中的接口进行适配。 目前该文件实现的山羊电机接口。主要实现的PDO接口的电机状态查询,上电开机,关机,操作模式设置,力矩设置等接口,不同电机的类似接口可以参照该文件实现,接口作用见名知意。 封装接口的关键是对象字典的操作,根据手册设置对象字典即可,标准的Ethercat接口伺服电机一般来说对象字典定义基本是一样的,可能稍微有差别 5. 标准Igh Master接口的使用例子 mytest目录 mytest/test_torque_sanyo_ioctl 基于ioctl接口的sanyo电机测试例子 mytest/test_torque_tec_ioctl 基于ioctl接口的泰科电机电机测试例子 mytest/test_torque_tec_lib 基于libethercat\std库接口的电机测试例子 mytest/test_torque2 基于libethercat\std库接口的电机测试例子2 mytest/test_io_board ET1100,IO板的测试例子 基于标准的Igh 库及iotcl接口可以参照该文件夹例子 6.二次封装接口库ecat_common_intermediate_interface.c的使用说明 使用步骤 (1)将编译生成的Igh库文件替换libethercat\std文件, 文件名可能要改成,或者不该也行,自己写Makefile时匹配库名称就行 (2)将 scripts/ 目录复制到开发运行GenerateSlavesConfig.sh脚本,将脚本生成的ec_common_configs_define.h ec_common_configs_define.h 复制到libethercat\ec_common 文件夹 (3)基于二次封装接口的电机一般操作参照demo.c 参照demo.c中的ethercat_init() 进行从站初始化 初始化后就可以调用ecat_common_intermediate_interface.c中接口对从站进行操作 比如 interpolation_2_ecat_set_slave_pwr_on()接口使能电机, interpolation_2_ecat_set_slave_pwr_off() 关闭电机 interpolation_2_ecat_set_slave_target_pos() 设置目标位置,对应位置模式操作 其它接口作用见参照具体实现 7.关于轴操作的几点说明 (1)每个轴对应一个从站,由alias,position确定,一般来说从站不多时alias=0固定不变,对不同轴根据positon确定。 例如使能和关闭不同的轴 int interpolation_2_ecat_set_slave_pwr_on(MasterSpecifiedInfo_T *master_specified_info, int slave_pos); int interpolation_2_ecat_set_slave_pwr_off(MasterSpecifiedInfo_T *master_specified_info, int slave_pos); 中slave_pos参数就对应不同的轴,slave_pos=0,axis1 slave_pos=1,axis2... (2)设置不同轴的操作模式,位置,力矩,速度模式 可以参照这个接口 int interpolation_2_ecat_set_slave_operation_model(MasterSpecifiedInfo_T *master_specified_info, int slave_pos, unsigned char operation_model) 代码已经托管在云上,可以直接通过git下载: https://gitee.com/wllw7176/MyEthercat-IGH-1.5.2.git
2022-11-28 15:36:03 1.25MB IghMaster Ethercat PDO SDO
1
PDO SDO应用实例分析,让人茅塞顿开!
2021-08-29 12:26:19 532KB PDO SDO
1
CANopen PDO-SDO应用实例讲解,看完之后对于CANopen协议中的对象数据,PDO,SDO能有比较全面的认识,协助进行编程。
2021-04-14 16:53:15 4.73MB CANopen PDO-SDO
1
介绍了canopen协议中PDO和SDO的实现方式
2021-03-25 09:42:32 490KB canopen pdo sdo
1