CANopen配置中返回错误码0x06040043的一种可能情况

最近在使用ELMO的驱动器。他家的驱动器里CANopen的PDO映射这些内容似乎是需要规规矩矩地按CANopen协议里写的这样,用SDO的方式去写,而不是像KEB那样可以在电脑软件里全配置好。

当然这些都不是问题,只是上位机里加几行代码的事。一个很让人头疼的问题是,当我试图按照手册修改PDO映射时,驱动器报错0x06040043。这是CANOPEN协议中约定的错误代码,它的含义是General parameter incompatibility,参数不兼容,没头没脑的,让人不知所措。

研究与参考了其他驱动器的手册后,发现问题出现在这里。ELMO手册里给了这样的配置过程,但是实际上这个过程是不完整的。
ELMO手册中的配置过程

在相同的目标下,操作过程应该在开头和结尾各加一步,结果是这样。
1.设置0x1800(1)的值为0x80000000+COB-ID
2.设置0x1A00(1)的值为0x60640020
3.设置0x1A00(2)的值为0x2F110010
4.设置0x1A00(3)的值为0x2F120010
5.设置0x1800(2)的值为1
6.设置0x1A00(0)的值为3
7.设置0x1800(1)的值为0x0+COB-ID

多出来的是第一步和第七步。含义是在配置前禁用PDO和在配置后启用PDO。这两步在其他驱动器的配置中是需要的,在ELMO中没说但是实际上也是需要的,可能是CANopen协议规定的操作步骤。我加上之后驱动器就不会报0x06040043的错误了。

当然最好是找一下CANOPEN原始的301协议看看0x1800(1)里面那高几位的含义,配置成自己想要用的样子。ELMO的301协议里没写这几位的含义,但是似乎他们是符合原始的协议的规定的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值