首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CANopen API COBID

CANopen API COBID
EN

Stack Overflow用户
提问于 2013-09-30 07:45:59
回答 1查看 922关注 1票数 0

我正试着用USB到CAN设备进行通讯。我使用的是Canopen.net API接口,我没有完全理解它下的所有类,但根据我所读到的,我知道cCob是我需要使用的类。我设法连接到设备,创建一个cCob实例(使用CreateCOB方法)并发送数据。

我现在面临的问题是COBID的限制。我不知道为什么,但是API似乎不允许我使用一个大的COB (32位)。m_ErrorCode是:"kCobAlreadyExist“(据我所知,它不应该是)。

也许我完全搞错了,我应该在对象字典中使用SDO类,所以我希望有一个正确的通信方式的完整的基本示例。

EN

回答 1

Stack Overflow用户

发布于 2014-07-04 11:13:40

让我首先介绍一下COBID:它是CAN消息的标识符部分。它是一个函数代码和一个节点ID的组合。基本上,标识符是两种类型的,标准的,即11位的大小和扩展的,即29位的大小。

CANopen堆栈很少使用29位标识符帧格式.虽然您分配32位数据类型,但是标识符的最大长度是29位。

CANopen描述了根据消息类型确定标识符的一组特定规则(NMT、SYNC、Heartbeat、EMCY等)。

因此,如果您使用的是CANopen堆栈,那么请参考它的文档,这样您就可以更清楚地了解如何使用API。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19088970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档