>> 欢迎您,客人登录 | 注册 | 忘记密码 | 在线 | 搜索 | 帮助  

 DND开发论坛
 ◇ DeviceNet技术讨论区 ◇ [返回]
   [讨论]CANopen和DeviceNet有何异同 
标记论坛所有内容为已读   
>> ◇ DeviceNet技术讨论区 ◇欢迎您的到来 << 
 
  
        
 
 * 贴子主题: [讨论]CANopen和DeviceNet有何异同             
 
 
 
 eagle109    


信息:
威望: 0
来自: 保密 
总发贴数: 140
注册日期: 2009/02/16

 
消息 查看 搜索 好友 复制 引用 回复 

 
我只做过CANopen,不清楚它和DeviceNet有何异同,比如
1.应用行业有区别吗
2.用户的使用上有什么大区别吗,如CANopen有SDO,PDO,那么DeviceNet呢
。。。。

DND版权所有,转载请注明出处

 

  2011/05/09 07:09am IP: 已设置保密    
 
 
 
 cs2132  头衔: 论坛版主
 
 


信息:
威望: 0
来自: 保密 
总发贴数: 141
注册日期: 2009/08/12

 
消息 查看 搜索 好友 邮件 复制 引用 回复 

 
1:DeviceNet用于工厂自动化较多,如电焊机,汽车生产线,还有据说我国很多烟草厂在用它。CANopen应用就更多了。

2:CANOpen中的SDO,在DeviceNet中与之相类似的是显示信息报文

PDO,DeviceNet则是I/O报文。

DND版权所有,转载请注明出处

 

  2011/05/09 07:59am IP: 已设置保密    
 
 
 
 eagle109    


信息:
威望: 0
来自: 保密 
总发贴数: 140
注册日期: 2009/02/16

 
消息 查看 搜索 好友 复制 引用 回复 

 
另外对于普通用户的使用上,DeviceNet是否比CANopen更加容易些呢

DND版权所有,转载请注明出处

 

  2011/05/09 08:08am IP: 已设置保密    
 
 
 
 yuanfang  头衔: 论坛坛主
 
 


信息:
威望: 0
来自: 姑苏城外 
总发贴数: 5137
注册日期: 2004/02/24

 
消息 查看 搜索 好友 邮件 主页 复制 引用 回复 

 
对于普通用户来说,DeviceNet的设置相对较少,适合大数据量的传输,因此正如二档的兄弟说的,更适合工厂自动化,ODVA已经将整套协议整合为CIP(通用工业协议)协议,在CAN上面运行的是DeviceNet,在同轴电缆上运行的是COntrolNet,在工业以太网上运行的是Ethernet/IP,其实协议都是同一种。

而CANopen最初的定义是为了位置控制,同步控制等,所以CANopen更适合于小数据量及时数据传送,同时同步机制是CANopen在运动控制行业有较广泛应用的基础,由于CANopen协议的合理性,现有的工业以太网如EtherCAT, Powerlink等,都是将CANopen协议移植 到工业以太网上形成的

DND版权所有,转载请注明出处



既然选择了远方,我便只顾风雨兼程……

 

  2011/05/10 07:22am IP: 已设置保密    
 
 
 
 eagle109    


信息:
威望: 0
来自: 保密 
总发贴数: 140
注册日期: 2009/02/16

 
消息 查看 搜索 好友 复制 引用 回复 

 
DeviceNet适合大数据量传输主要体现在什么地方,我知道CANopen的PDO是有限的,其他的只能通过SDO来读写

按照2楼说的,PDO对于DeviceNet的I/O数据,那么I/O的数据的数量比PDO要多吗?

DND版权所有,转载请注明出处

 

  2011/05/11 00:21am IP: 已设置保密    
 
 
 
 cs2132  头衔: 论坛版主
 
 


信息:
威望: 0
来自: 保密 
总发贴数: 141
注册日期: 2009/08/12

 
消息 查看 搜索 好友 邮件 复制 引用 回复 

 
显式报文和I/O都是可以传输大数据量的,只是前者对实时性要求没有I/O报文严格。

协议里生产、消费长度报文大小的数据类型是UINT型,只需要你内存的足够,在设定的EPR发送完成,就可以传输。当出现需要传输大数据量时候,必须遵循一个叫分段报文协议,你可以看看。

I/O数据量比PDO要多?不明白,这没有单纯意义上的比较,谁多谁少,看你实际需要。

以上为个人鄙见,如有错误请指出,望海涵。。

DND版权所有,转载请注明出处

 

  2011/05/11 01:10am IP: 已设置保密    
 
 
 
 eagle109    


信息:
威望: 0
来自: 保密 
总发贴数: 140
注册日期: 2009/02/16

 
消息 查看 搜索 好友 复制 引用 回复 

 
yuanfang:
你说的CANopen协议的合理性指什么?
----------------------------------------------------------
cs2132:
在CANopen网络PDO的数量是一定的(好像是500多个吧),你如果想多也没有,如果是预定义模式针对每一个Slave只有4个TxPDO,4个RxPDO
假如用户想多配置几个PDO是不行的

所以我不太清楚DeviceNet网络的I/O报文是不是数量也是一定的

DND版权所有,转载请注明出处

 

  2011/05/11 01:44am IP: 已设置保密    
 
 
 
 yuanfang  头衔: 论坛坛主
 
 


信息:
威望: 0
来自: 姑苏城外 
总发贴数: 5137
注册日期: 2004/02/24

 
消息 查看 搜索 好友 邮件 主页 复制 引用 回复 

 
我说的CANopen的合理性,其实应该说是灵活性,这导致CANopen可以用于很多工业通讯场合,即有同步的运动控制,也可以做数据传输的自动化控制,但因为太灵活,对应用人员的要求比较高

DeviceNet的IO报文没有长度的限制,理论上你可以传输无限长的IO报文

DND版权所有,转载请注明出处



既然选择了远方,我便只顾风雨兼程……

 

  2011/05/11 07:30am IP: 已设置保密    
 
 
 
 eagle109    


信息:
威望: 0
来自: 保密 
总发贴数: 140
注册日期: 2009/02/16

 
消息 查看 搜索 好友 复制 引用 回复 

 
那么和Profibus比较呢?
Profibus的应用场合或者行业,用户的使用难易程度
Profibus是否有类似CANopen的PDO/SDO,或者DeviceNet的I/O,显性报文

DND版权所有,转载请注明出处

 

  2011/05/12 00:07am IP: 已设置保密    
 
 
 
 yuanfang  头衔: 论坛坛主
 
 


信息:
威望: 0
来自: 姑苏城外 
总发贴数: 5137
注册日期: 2004/02/24

 
消息 查看 搜索 好友 邮件 主页 复制 引用 回复 

 
Profibus的应用场合基本和DeviceNet是一样的,都是用于工厂自动化的数据采集产,虽然Profibus也定义了简单的同步机制,但很少被真正使用在运动控制中,就西门子自己的运动控制方案也不使用Profibus

从技术上来说,Profibus底层就是RS485,主站和从站之间使用简单的master/Slave模式,一台一台扫描过去,周而复始。由于RS485是一种简单的传输网络,没有碰撞检测,所以Profibus的多主站共存于一个网络中时,处理相对复杂,为了不让各主站间互相打架冲突,Profibus使用了令牌机制,拿到令牌的主站才可以去访问自己的从站,一个主站访问完网络,通过令牌传递报文,把令牌传递给下一个主站,当然,在这之前,主站间要动态的建立链表,同时也要处理新加入的主站和掉线主站等问题,很复杂的

DND版权所有,转载请注明出处



既然选择了远方,我便只顾风雨兼程……

 

  2011/05/17 06:30am IP: 已设置保密    
 
 
 
 eagle109    


信息:
威望: 0
来自: 保密 
总发贴数: 140
注册日期: 2009/02/16

 
消息 查看 搜索 好友 复制 引用 回复 

 
[这个贴子最后由eagle109在 2011/06/01 10:48am 第 1 次编辑]

CANopen的PDO报文可以靠SYNC,RTR,事件,时间驱动
1、那请问DeviceNet的I/O报文是靠什么驱动的呢?
2、DeviceNet有像CANopen那样的同步机制吗?

DND版权所有,转载请注明出处

 

  2011/06/01 02:46am IP: 已设置保密    
 
 
 
 yuanfang  头衔: 论坛坛主
 
 


信息:
威望: 0
来自: 姑苏城外 
总发贴数: 5137
注册日期: 2004/02/24

 
消息 查看 搜索 好友 邮件 主页 复制 引用 回复 

 
DeviceNet没有同步机制,听说CIP协议在EtherNet/IP上面有增加同步机制。DeviceNet的IO报文,主要是由主站的扫描时间来决定的,就是常见的Polled传输方式,另外还有Bit-Strobed和COS/CC

DND版权所有,转载请注明出处



既然选择了远方,我便只顾风雨兼程……

 

  2011/06/01 06:10am IP: 已设置保密    
 
 
 该主题只有一页

快速回复主题: [讨论]CANopen和DeviceNet有何异同
输入用户名和密码: 用户名: 没有注册? 密码: 忘记密码?
上传附件或图片 (最大容量 500KB)   
支持类型:
----------
gif
jpg
zip
png
swf
doc
txt
htm
html
rar

选项

使用 LB5000 标签?
显示您的签名?
使用表情字符转换?

  请输入右边的数字 7589
 顶端 加到"个人收藏夹" 主题管理总固顶 | 取消总固顶 | 区固顶 | 取消区固顶 | 固顶 | 取消固顶 |
精华 | 取消精华 | 提升 | 锁定 | 解锁 | 删除 | 删除回复 | 移动 |

© 版权所有: DNDev.COM  版本: LB5000MX稳定版
程序版权所有: CGI 编程者之家    程序编制: 山鹰(糊)花无缺

本论坛言论纯属发表者个人意见,与 DND开发论坛 立场无关

CANopen和DeviceNet有何异同的更多相关文章

  1. CAN总线(一)

    原文出处:http://www.cnblogs.com/jacklu/p/4729638.html 嵌入式的工程师一般都知道CAN总线广泛应用到汽车中,其实船舰电子设备通信也广泛使用CAN,随着国家对 ...

  2. 超高性价比USB转CAN适配器,2500V工业级隔离,兼容ZLG软件

    淘宝链接: http://item.taobao.com/item.htm?spm=a230r.1.14.16.QGsAZg&id=20134109594&initiative_new ...

  3. CAN2.0A 和CAN2.0B

    CAN2.0A 和CAN2.0B 原创 2015年08月03日 16:03:08 3969 CAN2.0A 是CAN协议的PART A部分,此部分定义了11bit的标识区 .CAN2.0B 是CAN协 ...

  4. CAN协议学习(一)协议介绍

    一.简介 CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO 国际标准化的串行通信协议. 在当前的汽车产业中,出于对安全性.舒适性.方便性.低公害.低成 ...

  5. Java 堆内存与栈内存异同(Java Heap Memory vs Stack Memory Difference)

    --reference Java Heap Memory vs Stack Memory Difference 在数据结构中,堆和栈可以说是两种最基础的数据结构,而Java中的栈内存空间和堆内存空间有 ...

  6. Atitit 会话层和表示层的异同

    Atitit 会话层和表示层的异同 会话层 这一层也称为会晤层或对话层.在会话层及以上的更高层次中,数据传送的单位没有另外再取名字,一般都可称为报文. 会话层虽然不参与具体的数据传输,但它却对数据传输 ...

  7. CANopen学习——同步

    在发送和接收之间必须相互协调和同步,为此,CANopen引入同步的概念. 同步报文:包含一个数据字节或者不含数据字节的CAN报文.数据字节中包含一个从1开始递增计数的同步计数器.溢出值可在参数(索引1 ...

  8. CANopen学习——PDO

    查找资料时,发现一个很好的博客,博主剖析的通俗易懂 http://www.cnblogs.com/winshton/p/4897556.html   PDO定义: 过程数据对象,用来传输实时数据.因为 ...

  9. CANopen学习——感性认知

    看不懂的知识硬着头皮也要看.读了当时虽然不理解,但脑子里对其相关名词.概念有印象,继续看下去,多读几遍,一定会在某个地方顿悟.  CAN总线只是定义了物理层和数据链路层,并没有定义应用层.这么优秀的总 ...

随机推荐

  1. PHP中cookie和session的区别

    1.cookie数据存放在客户的浏览器上,session数据放在服务器上. 2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session. 3 ...

  2. 基于OpenMP的C++并行编程简单示例

    示例要求:在整数A和B之间找到符合条件的值X,使f(X)=C. 示例代码(需要在VS中开启OpenMP支持): #include<iostream> #include<time.h& ...

  3. OnCreateContextMenuListener接口简介

    OnCreateContextMenuListener接口是用来处理上下文菜单显示事件的监听接口.该方法是定义和注册上下文菜单的另一种方式.该接口中事件处理的回调方法签名如下所示. public vo ...

  4. Android Studio 快速实现上传项目到Github(详细步骤)

    前言: 本文主要讲解如何将Android Studio项目上传至GitHub,在此之前,先介绍几个概念. Android Studio:是谷歌推出一个Android集成开发工具,基于IntelliJ ...

  5. 数组也继承了Object类

    C++ 最根上的类有好多,也可以随便地定义.

  6. nodejs+redis使用

    安装 linux安装及配置之前写过了http://www.cnblogs.com/zycbloger/p/6226682.html windows安装 下载地址:https://github.com/ ...

  7. C/C++内存分区

    C/C++编译的程序占用的内存分区 1.栈区(stack)— 由编译器自动分配释放 ,存放函数的参数名,局部变量的名等.其操作方式类似于数据结构中的栈. 2.堆区(heap)— 由程序员分配释放, 若 ...

  8. 用TableView写带特效的cell

    用TableView写带特效的cell 效果: 源码地址: https://github.com/YouXianMing/UI-Component-Collection 分析: 在UIScrollVi ...

  9. iOS7中UIView的animateKeyframesWithDuration方法讲解

    iOS7中UIView的animateKeyframesWithDuration方法讲解 在iOS7中,给UIView添加了一个方法用来直接使用关键帧动画而不用借助CoreAnimation来实现,那 ...

  10. 铁乐学python_day10_作业

    1.继续整理函数相关知识点,写博客. 2.写函数,接收n个数字,求这些参数数字的和.(动态传参) def sum_n(*args): sum = 0 for i in args: sum += i r ...