canopen PDO传输疑问

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_36568888/article/details/78401128

最近做一个项目碰到的问题,系统中有三个can站,一主二从,主站为主控制模块,从站A控制电机A转动,从站B控制电机B转动,考虑命令传输的延迟,想把A和B的速度命令放到一条PDO里控制。
具体的配置如下:
主站TPDO配置
这里写图片描述

1A00[1] = 0x20c80110
1A00[2] = 0x20c80210
1A00[3] = 0x30020008
1A00[4] = 0x30070008

从站A RPDO配置
这里写图片描述
1600[1] = 0x20c80010
1600[2] = 0x0
1600[3] = 0x30020008
1600[4] = 0x30070008

从站B RPDO配置
这里写图片描述

1600[1] = 0x0
1600[2] = 0x20c80010
1600[3] = 0x30020008
1600[4] = 0x30070008

配置好之后,速度都发送100 也就是0x64,然而从机A3002里面的值是0x64,很奇怪。再次验证,20c8-1发送0xABCD,20c8-2发送0x1234,结果
从站A
20c8=0xABCD
3002=0x34
3007=0x12

从站B
20c8=0xABCD
3002=0x34
3007=0x12

这个结果很奇怪,查阅了相关canopen的资料,也没有看到说这个问题的。

展开阅读全文

没有更多推荐了,返回首页