Canopen如何使用event timer方式触发PDO传输??

2020-01-04 19:01发布


Canfestival协议移植到STM32,NMT、PDO、EMCY、SDO等各个功能都运行正常。
我现在使用一个主机带15个从机,主机每2秒发送一次SYNC同步报文,15个从机收到主机发送的SYNC报文后,用PDO方式把各自采集的电压数据传给主机,
也就说,主机每发一次SYNC,就会收到15个电压数据,这个自然没问题,目前运行良好。。。。。。。
但是,我现在想换个方式。。。。。我不想主机发SYNC来触发从机发送电压数据,我想从机自己定时触发自动给主机发送电压数据。
CANOPEN资料文档里介绍:PDO传输类型有event timer; inhibit timer; change of state; respond to SYNC等,我想让从机定时触发,是不是该用Event timer方式来触发??
我在Canfestival字典里尝试更改Event timer参数值,但貌似不起作用。。。。
不知哪位有这方面的经验,请指点一二。。。。。
下面截图代码,具体我该如何设置和操作?谢谢!

2_3839_15.jpg (152.68 KB, 下载次数: 0) 下载附件 2016-11-25 22:27 上传

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
hyf88
1楼-- · 2020-01-04 22:39
估计CANopen这个,这里应该很少有人能回答上了,加这个扣群:一47九1182八
天马行空
2楼-- · 2020-01-04 23:22
hyf88 发表于 2016-11-26 10:50
估计CANopen这个,这里应该很少有人能回答上了,加这个扣群:一47九1182八

已经加了群。。。。谢谢!
天马行空
3楼-- · 2020-01-05 05:20
自己顶一下,今天折腾了一下,搞定了值改变触发PDO传输。。。。。。
但是那个事件触发还没搞明白。。。。。什么样的事件怎么样触发??
lingdianhao
4楼-- · 2020-01-05 08:56
 精彩回答 2  元偷偷看……
waterx3
5楼-- · 2020-01-05 10:51
Transmission_Type =255;
Event_Timer = 毫秒
天马行空
6楼-- · 2020-01-05 10:56
waterx3 发表于 2016-11-28 13:19
Transmission_Type =255;
Event_Timer = 毫秒

如果这样设置:
Transmission_Type =255;
Event_Timer = 100;

我有点想不明白:Transmission_Type =255就是值改变了触发PDO发送,Event_Timer = 100就是每隔100MS发送一次??
感觉有点矛盾,究竟是值改变了触发,还是定时100MS触发??如果再设置一个抑制时间inhibit timer,感觉就乱了。。。。。

一周热门 更多>