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条回答
waterx3
1楼-- · 2020-01-05 15:11
定时100ms
xiou
2楼-- · 2020-01-05 18:03
想明白了楼主,同问
oldmen
3楼-- · 2020-01-05 23:56
 精彩回答 2  元偷偷看……
jufr12315
4楼-- · 2020-01-06 02:44
楼主的值改变触发PDO是怎么做的
ddcour
5楼-- · 2020-01-06 03:51
oldmen 发表于 2018-3-10 11:12
canopen假设配置PDO0x1800+n 传输
应该首先配置通讯模式 :在索引1800 子索引01 设置 传输的COBID
        ...

多谢科普,请问大侠有没有好的资料推荐?
手上有很多资料,看的一头雾水,现在是了解怎么编写EDS文件,这样就方便定制不同的产品了。
谢谢!
tarzar
6楼-- · 2020-01-06 06:17
oldmen 发表于 2018-3-10 11:12
canopen假设配置PDO0x1800+n 传输
应该首先配置通讯模式 :在索引1800 子索引01 设置 传输的COBID
        ...

当  T =  0xff      时 表示节点是基于事件发送一次PDO ( 0x1800+n)基于事件方式如时间和值改变 --------是否可以理解为,当时间到了触发传输,或者值改变也触发传输,两个是或的关系????

一周热门 更多>