00h:入口数目->sub有几个;
01h:COB_ID
02h:对于TDO而言,
为0时表示,映射数据变化并且收到一个同步帧,才会发送TPDO。
为1~240时表示,收到相应个数的同步帧时就发送PDO,和映射数据是否变化没有关系。
为254、255时表示,映射数据改变或事件计时器到,就会发送PDO。 我这里测试为254或者255的情况下,如果映射数据改变的时候,不会发送PDO,只有事件计时器到才会发送PDO
对于RPDO而言
为0~240时表示,只要收到一个同步帧,则将RPDO的数据更新到应用。
为254、255时表示,将接收到的数据直接更新到应用。
03h:
Inhibit time 生产禁止约束时间(1/10ms):约束 PDO 发送的最小间隔,避免导致总线负载剧烈增加,比如数字量输入过快,导致状态改变发送的 TPDO 频繁发送,总线负载加大,所以需要一个约束时间来进行“滤波”,这个时间单位为 0.1ms;
05h:
Event timer 事件定时器触发的时间(单位 ms):定时发送的 PDO,它的定时时间,如果这个时间为 0,则这个 PDO 为事件改变发送。
06h:
SYNC start value 同步起始值:同步传输的 PDO,收到诺干个同步包后,才进行发送,这个同步起始值就是同步包数量。比如设置为 2,即收到 2 个同步包后才进行发送。
同步报文:
080 DATA STANDARD 0
PDO映射关系:
1800配置PDO发送关系:
1A00配置PDO映射字典指定地址;
最终PDO按照1800配置发送指定地址的数据;
canopen发送初始化:
针对ID===2;
报文采样:如下所示
000 DATA STANDARD 2 82 00 --->停止所有节点
602 DATA STANDARD 8 40 00 10 00 00 00 00 00 --->读取:1000 Device type 设备类型
582 DATA STANDARD 8 43 00 10 00 92 01 06 00
602 DATA STANDARD 8 23 06 10 00 4C 1D 00 00--------------->ID:1006 -->sub:00--->数据:1D4C 0000 --->Communication cycle period 同步通信循环周期(单位 us)
(*配置TPDO——COB_ID*)
602 DATA STANDARD 8 23 00 18 01 82 01 00 00--------------->ID:1800 -->sub:01--->数据:0182
602 DATA STANDARD 8 23 01 18 01 82 02 00 00 --------------->ID:1801 -->sub:01--->数据:0282
602 DATA STANDARD 8 23 02 18 01 82 03 00 00 --------------->ID:1802 -->sub:01--->数据:0382
602 DATA STANDARD 8 23 02 18 01 82 04 00 00 --------------->ID:1803 -->sub:01--->数据:0482
(*配置RPDO——COB_ID*)
602 DATA STANDARD 8 23 00 14 01 02 02 00 00 --------------->ID:1400 -->sub:01--->数据:0202
602 DATA STANDARD 8 23 01 14 01 02 02 00 00 --------------->ID:1401 -->sub:01--->数据:0302
(*配置同步类型同步周期0x14*)
602 DATA STANDARD 8 2F 00 18 02 14 00 00 00 --------------->ID:1800 -->sub:02--->数据:14
602 DATA STANDARD 8 2F 01 18 02 14 00 00 00 --------------->ID:1801 -->sub:02--->数据:14
602 DATA STANDARD 8 2F 02 18 02 14 00 00 00 --------------->ID:1802 -->sub:02--->数据:14
602 DATA STANDARD 8 2F 03 18 02 14 00 00 00 --------------->ID:1803 -->sub:02--->数据:14
(*配置异步类型*)
602 DATA STANDARD 8 2F 00 14 02 FF 00 00 00 --------------->ID:1400 -->sub:02--->数据:FF
602 DATA STANDARD 8 2F 01 14 02 FF 00 00 00 --------------->ID:1401 -->sub:02--->数据:FF
602 DATA STANDARD 8 2B 17 10 00 64 00 00 00 --------------->ID:1017 -->sub:00--->数据:0064
602 DATA STANDARD 8 23 16 10 01 2C 01 7F 00 --------------->ID:1016 -->sub:01--->数据:012C 007F
602 DATA STANDARD 8 2F 00 1A 00 00 00 00 00 --------------->ID:1A00 -->sub:00--->数据:00
602 DATA STANDARD 8 23 00 1A 01 20 00 64 60 --------------->ID:1A00 -->sub:01--->数据:0020 6064
602 DATA STANDARD 8 23 00 1A 02 20 00 69 60 --------------->ID:1A00 -->sub:02--->数据:0020 6069
602 DATA STANDARD 8 2F 00 1A 00 02 00 00 00 --------------->ID:1A00 -->sub:00--->数据:02
(*配置1A01*)
602 DATA STANDARD 8 2F 01 1A 00 00 00 00 00
602 DATA STANDARD 8 23 01 1A 01 10 00 1C 22
602 DATA STANDARD 8 23 01 1A 02 10 00 41 60
602 DATA STANDARD 8 2F 01 1A 00 02 00 00 00
(*配置1A02*)
602 DATA STANDARD 8 2F 02 1A 00 00 00 00 00
602 DATA STANDARD 8 23 02 1A 01 08 00 61 60
602 DATA STANDARD 8 23 02 1A 02 20 00 83 21
602 DATA STANDARD 8 2F 02 1A 00 02 00 00 00
(*配置1A03*)
602 DATA STANDARD 8 2F 03 1A 00 00 00 00 00
602 DATA STANDARD 8 23 03 1A 01 10 00 01 22
602 DATA STANDARD 8 2F 03 1A 00 01 00 00 00
(*配置1600*)
602 DATA STANDARD 8 2F 00 16 00 00 00 00 00
602 DATA STANDARD 8 23 00 16 01 08 00 60 60
602 DATA STANDARD 8 23 00 16 02 10 00 40 60
602 DATA STANDARD 8 2F 00 16 00 02 00 00 00
(*配置1601*)
602 DATA STANDARD 8 2F 01 16 00 00 00 00 00
602 DATA STANDARD 8 23 01 16 01 20 00 FF 60
602 DATA STANDARD 8 23 01 16 02 20 00 7A 60
602 DATA STANDARD 8 2F 01 16 00 02 00 00 00
(*******************************************************中间其他PDO配置均省略**********************************)
000 DATA STANDARD 2 01 02 --------------->启动节点:02
结合实际配置:
实际配置: