搜索
bottom↓
回复: 22

关于CANOPEN canfestival SDO发送流程 请教各位

[复制链接]

出0入0汤圆

发表于 2019-1-22 11:36:20 | 显示全部楼层 |阅读模式
最近一直在弄CANOPEN,STM32上面canfestival协议栈能跑起来了,但还是有很多不明白的地方,比如SDO的发送和接收,查看了硬石科技关于CANOPEN的资料,前面说了一大理论,后面的例程里面关于SDO的发送,居然是用底层的CAN模拟协议发送数据!有人说是用writeNetworkDictCallBack()函数进行SDO操作,用了但没看到发出来的数据,所以请教论坛里面的大神,STM32的canfestival是通过调用哪个函数来实现SDO的发送和接收,工作流程是怎么样的?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2019-1-22 11:42:15 | 显示全部楼层
同求,也在也在学习中,顶!

出0入0汤圆

 楼主| 发表于 2019-1-22 15:35:57 | 显示全部楼层
还有  请教大家  怎么设置PDO内部事件触发发送  比如我AD值超过1000  PDO就发送一个数据出去?

出0入0汤圆

发表于 2019-1-22 15:52:37 | 显示全部楼层
SDO发送可用sdo.c的_writeNetworkDic函数。
事件触发是指只要AD值发生了改变就在下一个同步信号来的时候发送, 还有一种同步触发是只要同步计数值到了不管数据有没有变化都发送。

出0入0汤圆

 楼主| 发表于 2019-1-22 16:11:48 | 显示全部楼层
lostid 发表于 2019-1-22 15:52
SDO发送可用sdo.c的_writeNetworkDic函数。
事件触发是指只要AD值发生了改变就在下一个同步信号来的时候发 ...

嗯 谢谢  还有请问 这个同步信号是NMT主机产生的吗?如果有这样一个应用场景  电脑通过232发送一个位置数据给主控板  主控板再将位置数据通过CANOPEN给电机驱动器  那么这个主控板自己要产生同步信号,还要通过配置PDO,发送位置数据给驱动器,请问是这样理解的吗?

出0入0汤圆

发表于 2019-1-22 19:35:25 来自手机 | 显示全部楼层
同步信号每个节点都可以发送,在字典里设定后节点就可以发送。当然一个网络只能一个节点发送同步信号,事件触发我的理解是两种,一种是同步信号触发,另一种是值改变就发送不需要同步信号。

出0入0汤圆

发表于 2019-1-22 20:02:34 | 显示全部楼层

我用的这个函数。

然后你要查询SDO是否传输完成。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2019-1-22 20:13:04 | 显示全部楼层
atonghua 发表于 2019-1-22 15:35
还有  请教大家  怎么设置PDO内部事件触发发送  比如我AD值超过1000  PDO就发送一个数据出去? ...


所有函数都要你自己调用的,
超过1000这是属于一个事件,你要自己判断超过1000,然后向PDO发送1个事件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2019-1-23 08:27:04 | 显示全部楼层
oldmen 发表于 2019-1-22 19:35
同步信号每个节点都可以发送,在字典里设定后节点就可以发送。当然一个网络只能一个节点发送同步信号,事件 ...

嗯嗯 谢谢指导!PDO发送的配置我目前能调通的是同步信号触发发送和自己定时周期发送,请问值的变化发送怎么配置,比如我AD值超过1000就发送,低于1000就不发送,请问这个怎么配置对象字典?还是要自己编写程序?

出0入131汤圆

发表于 2019-1-23 08:29:07 | 显示全部楼层
canopen 已过时,赶紧来一起学习ethercat

出0入0汤圆

 楼主| 发表于 2019-1-23 08:32:15 | 显示全部楼层
lingdianhao 发表于 2019-1-22 20:02
我用的这个函数。

然后你要查询SDO是否传输完成。

谢谢大神指导!很有启发和帮助。

出0入0汤圆

 楼主| 发表于 2019-1-23 08:33:36 | 显示全部楼层
lingdianhao 发表于 2019-1-22 20:13
所有函数都要你自己调用的,
超过1000这是属于一个事件,你要自己判断超过1000,然后向PDO发送1个事件。 ...

十分感谢!!!我去试试

出0入0汤圆

 楼主| 发表于 2019-1-23 08:36:31 | 显示全部楼层
asj1989 发表于 2019-1-23 08:29
canopen 已过时,赶紧来一起学习ethercat

嗯 有机会再去学习 CANOPEN还没弄利索呢,把这个吃下先

出0入0汤圆

发表于 2019-1-23 10:01:26 | 显示全部楼层
oldmen 发表于 2019-1-22 19:35
同步信号每个节点都可以发送,在字典里设定后节点就可以发送。当然一个网络只能一个节点发送同步信号,事件 ...

这个应该是我记错了,纯事件触发不需要同步信号。类型0的同步传输模式才是事件+同步信号。

出0入0汤圆

 楼主| 发表于 2019-1-25 08:29:25 | 显示全部楼层
lostid 发表于 2019-1-23 10:01
这个应该是我记错了,纯事件触发不需要同步信号。类型0的同步传输模式才是事件+同步信号。 ...

嗯 好的 谢谢!我去试试

出0入0汤圆

发表于 2019-1-25 10:08:08 | 显示全部楼层
asj1989 发表于 2019-1-23 08:29
canopen 已过时,赶紧来一起学习ethercat

不能这么说,ethercat的应用层协议Coe就是CANopen over EtherCAT,也是目前ethercat主要的应用层协议。

出0入0汤圆

 楼主| 发表于 2019-6-3 11:05:00 | 显示全部楼层
lingdianhao 发表于 2019-1-22 20:02
我用的这个函数。

然后你要查询SDO是否传输完成。

你好 好像直接用writeNetworkDictCallBack 也可以?回调函数里面加入  getWriteResultNetworkDict   如果从站的SDO没有回应,也会报错。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2020-3-23 09:54:57 | 显示全部楼层
lingdianhao 发表于 2019-1-22 20:02
我用的这个函数。

然后你要查询SDO是否传输完成。

你好,这个有中文注释的canfestival协议栈可以分享一下么?英文版看着有点吃力

出0入0汤圆

发表于 2020-3-23 18:10:21 | 显示全部楼层
风眠 发表于 2020-3-23 09:54
你好,这个有中文注释的canfestival协议栈可以分享一下么?英文版看着有点吃力 ...


之前做的项目,分析了部分源码,写了些注释,仅供参考。
有一些没用上就没管,比如LSS,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2020-3-23 19:34:59 | 显示全部楼层
lingdianhao 发表于 2020-3-23 18:10
之前做的项目,分析了部分源码,写了些注释,仅供参考。
有一些没用上就没管,比如LSS, ...

谢谢大佬!

出0入0汤圆

发表于 2021-1-13 09:51:17 | 显示全部楼层
lingdianhao 发表于 2019-1-22 20:02
我用的这个函数。

然后你要查询SDO是否传输完成。

您好,请问您的canfestival协议栈可以分享一下吗

出0入0汤圆

发表于 2021-1-13 19:24:14 | 显示全部楼层
18253109028 发表于 2021-1-13 09:51
您好,请问您的canfestival协议栈可以分享一下吗

看19楼。

出0入0汤圆

发表于 2021-1-14 14:01:18 | 显示全部楼层
今天点击了一下,没下载,后又点击了一下,然后就告诉我要升级vip++,否则无法下载..........
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 17:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表