《零》canfestival系列教程之总结(数据流分析)
因为通信是双方的,
我们需要对比双方的字典,才能找到完整的数据流,
只看驱动器或单片机,不能找到完整的数据传输的过程.
所以,下面我们打开驱动器和单片机端的字典,进行对比,便可看到数据完整的传输方向.

本文讲解需要用到的工具:
链接:https://pan.baidu.com/s/1j_JJdHUHt_Ow42F_TZe9rQ
提取码:1234
里面的内容如下:


驱动器端字典:
所用的驱动器为faulhaber,下面是他的配置文件(可以用faulhaber配套的上位机打开):

faulhaber驱动器的优点是可以通过上位机很直观看到里面canopen对应的参数.
并能够看到其字典的配置.上位机如下图:

上面文件是我配置好的,用上位机打开,可以下.


点击下载,刷新字典文件.
这个时候,可能会卡,等待半分钟左右.
之后就可以看到驱动器的字典:


单片机端字典:
用canfestival自带的上位机工具:

打开单片机端的配置文件:



经过上面步骤,
打开了驱动器端的字典和单片机端的字典.
进行两者对比,找出数据传输轨迹.
我们从pdo入手,对比两个字典,看他们的配置是否对应,
pdo是通讯参数和映射参数两个部分:
单片机端的发送pdo的cob-id 201; 对应驱动器端的接收pdo的cob-id 201.

单片机端发送的是set_module_6060_1和set_velocity_60ff_1;
驱动器端对应的接收 6060和60ff

set_module_6060_1是我自己起的全局变量名:

set_velocity_60ff_1也是我自己起的全局变量名:


全局变量的名字是什么无所谓,
它对应的数值会发送到can上,形成201开头的报文. 这里数字本没有意义.
关键的是驱动器.
驱动器的配置是接收201开头的报文,放到了速度栏60ff和模式栏6060.
所以驱动器就改变了速度和模式...