canopen从理论到源码——基础篇(主要介绍字典使用方法)

 

 

 

 

 

 

 如果需要添加则按左下角选择之后添加即可

 

 

5. 0x1600-0x17ff 该区域即为RPDO的映射区域。上面提到RPDO的数据接收存放问题即在此编辑。每添加或者删除一个RPDO,字典编辑器会在此自动添加或者删除一个PDO映射。简言之,当我们在上一步骤中添加或者删除一个RPDO,字典编辑器会在此区域自动添加或者删除一个RPDO映射。每个映射中数据的个数、值需要我们自己编辑。subindex即为子索引,箭头所指的数字8是该RPDO接收的数据个数,最下方箭头所指内容即为需要接收的数据。图中只有一个选项是因为这部分内容在后面的自定义区域编辑,后续会讲到。只需知道在这里选择需要接收的数据即可。
 

 6. 0x1800-0x19ff
结构与0x1400-0x15ff相似,只是该区域设置的是TPDO的参数。

7. 0x1a00-0x1bff
结构与0x1600-0x17ff相似,该区域设置的是TPDO的映射。

8. 0x1c00-0x1fff
该区域在此编辑器中无法编辑,可能需要其他编辑器才能编辑,如有请邮我。

9. 0x2000-0x5fff
该区域即为自定义传输的地图变量。该编辑器提供了三种数据类型,一是单一变量,二是数组,三是多变量集合。变量在字典文件中定义为全局变量。
**添加单一变量:type选择var

 添加之后可以在type中选择数据类型,如u8,u16等。

**添加数组变量:类型选择array

输入数组成员的个数

数组中所有元素的数据类型都是一样的,只能在子索引为1的位置修改,如下图所示。

 

 数组成员的value值可以预设,也可以在程序中赋值。

**添加变量集合:type选择REC

该方法与数组方法不同,首先数组方法各成员变量名称无法自定义,其次数组方法成员变量类型全部一致。该方法可以自命名各个变量名称,并且选择各个变量的数据类型。如下图所示。

 添加数据之后,在RPDO或者TPDO的mapping中即可选择需要传输的数据。注意:如果想要通过PDO传输数据,那两个节点的RPDO与TPDO应该对应,即接收方的RPDO接收的数据与发送方TPDO地图(Mapping)中映射的的数据以及数据类型都应一一对应,协议栈会自动将接收到的数据一一对应并赋值,无需接收后手动分解报文解码。
 

 

10. 0x6000-0xbfff

行业自定义区域,例如伺服电机的DS401在该区域定义了许多变量用以存放数据,例如线圈数,最大转速,当前位置等等。这些都是由组织统一规范制定的。

canopen从理论到源码——基础篇_canopen主站源码-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值