我是一名研二的学生,现在教研室要开发canopen,我已经看了几个月了,在网上找了canopen的开源代码CANfestival,现在想做移植,有几个问题想要请教:
1,开发主站,只买beckhoff的从站PLC够不,必须要CAN分析仪么?还需要其它什么开发工具不?
2,现在教研室已有的硬件平台,一个是arm9200,基can控制器是MCP2510,linux系统已经构建好了的;另一个是infineonXC164,自带的can控制器,已经有驱动程序了,请问开发主站,我选择哪个平台好点,各自的开难度有多大?
3,请问有关注过CANfestival么,可以用这个来移植不?
谢谢了,关注这个论坛很久,今天注册了,发了第一帖。

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

 

  2010/03/03 11:53am IP:
已设置保密
   
 
 
 
 winshton 
 头衔: 论坛版主


信息:
威望: 0
来自: 保密 
总发贴数: 1040
注册日期: 2007/03/29

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

 
canfestival是个不错的协议栈
1.CAN分析仪只是用来分析CAN总线上的数据帧,调试用。主站可大可小,功能可以很丰富也可以很简单,如果是想开发通用主站,难度较大,工作量也不小,而且要求也比较高;如果只是想管理特定的从站比如网络中只有几个beckhoff的设备,还是比较容易的。
2.主站如果基于canfestival的话,协议栈这用哪个平台无所谓,canfestival从单片机到x86,从裸奔到OS都支持,你需要考虑的是主站的人机界面等上层应用在哪个平台下容易做。
3.同2,canfestival移植很方便,好多平台已经有移植工程,只是熟悉canfestival需要一段时间,文档不是很细致,这是开源项目的通病。

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



我的技术blog: http://www.cnblogs.com/winshton/,欢迎交流指正!

 

  2010/03/04 00:15am IP:
已设置保密
   
 
 
 
 sjh4598 
   

信息:

威望: 0
来自: 保密 
总发贴数: 4
注册日期: 2010/03/03

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

 
谢谢版主的回答,现在有信心了,程序已经移到infineon上了,只是驱动接口留出来了,现在想也移到arm9200上去,评估一下,只选择一个平台开发。我的疑问还有:
1.主站读从站的eds文件,这个功能要自己做吗?还有主站需要写eds文件么,dcf一定需要支持么?
2.我看以前的帖子说协议需要购买,我现在有ds301,开发基本功能的主站够不?还需要其它什么协议么?
2.我现在是不是主要工作是结合协议看懂canfestival?

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

 

  2010/03/04 03:16am IP:
已设置保密
   
 
 
 
 winshton 
 头衔: 论坛版主


信息:
威望: 0
来自: 保密 
总发贴数: 1040
注册日期: 2007/03/29

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

 
1.要自己做的,canfestival提供一个python写的OD编辑工具,好像可以生成标准EDS,但是这个EDS的解析需要主站来做的,如果是非通用主站平台,可以忽略掉这部分;我没用过通用主站,所以有没有eds不好说;dcf不一定要支持,那个不是提供给主站用的吧。
2.开发基本的功能301
401
404够了,但是如果开发伺服什么的就需要购买相应的子协议了,看你的需要,随着你对canopen的深入,这些都会有了解。
3.是的,最好能一边调试一边结合协议分析代码,会比较快上手。

CANOPEN开发问题的更多相关文章

  1. CANopen笔记1

    CAN现场总线只定义了OSI网络模型的第一层(物理层) 和第二层(数据链路层) ,而这两层一般已被CAN硬件完全实现了.由于没有规定应用层,本身并不完整,需要一个高层协议来定义CAN报文中的11/29 ...

  2. JZ2440开发笔记(9)——位置无关代码设计【转】

    b MAIN 和 ldr pc,=MAIN 的区别(谈到代码位置无关性) 看bootloader的时候经常看到这两种写法,不太明白区别,网上查了查.其实看了之后还是一头雾水? 其中,2和3 似乎是一个 ...

  3. CANopen和DeviceNet有何异同

    >> 欢迎您,客人: 登录 | 注册 | 忘记密码 | 在线 | 搜索 | 帮助   DND开发论坛 ◇ DeviceNet技术讨论区 ◇ [返回] [讨论]CANopen和DeviceN ...

  4. CANopen个人之所见,所想

    一直想写一篇关于CANopen的文章,鉴于个人知识能力没有动笔,今天做了一番思想斗争,斗胆发表一下自己对CANOPEN的肤浅认识. 计划从销售人员,技术人员角度都分析一下CANopen的优势,文章可能 ...

  5. CANOpen学习指南

    对于初学者,相对于其他总线的资料来说,在国内CANOpen的资料并不多.而且并不是所有资料都适合初学者看的.这里给出一些建议,对CANOpen感兴趣的,可以参考一下学习的顺序. 前提:需要对CAN总线 ...

  6. CANopen 基础

    1. TPDO和RPDO都是针对从站来说的,协议上没有有讲任何一个关于主站的概念,协议就只是定义从站,没有定义主站任何东西.TPDO:从站->主站RPDO:主站->从站 2. PDO的CO ...

  7. CAN 和 CANopen的区别和联系

    1.CAN与CANopen的共同点与不同点:  CAN只定义了物理层与链路层,而没有定义用户层,用户可根据自己的需要定义一些网络上的通信约定:  CANopen是在CAN的基础上定义了用户层,即规定了 ...

  8. 避免重复造轮子的UI自动化测试框架开发

    一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...

  9. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

随机推荐

  1. Myeclipse打war包方法

    Myeclipse三种打包方法第一种方法打开Myeclipse如图操作. 如果该项目已存在需要移除之后在进行第三步,接着往下走. 项目打war包成功,推荐使用第一种方法. 第二种方法https://b ...

  2. Django随笔

    入门 小Demo设计介绍 本示例完成“图书-英雄”信息的维护,需要存储两种数据:图书.英雄 图书表结构设计: 表名:BookInfo 图书名称:btitle 图书发布时间:bpub_date 英雄表结 ...

  3. 切换Fragment时实现数据保持

    摘要 Fragment设计初衷是为了简化不同屏幕分辨率的开发难度,他将代表一个功能的UI及其相关数据看做一个模块,以便达到复用.可以将Fragment看作是一个可以嵌入布局中的activity,有自己 ...

  4. Vue 框架-04-计算属性

    Vue 框架-04-计算属性 计算属性是什么? 大家可以去看官网解释:计算属性和侦听器 今天的第一个小实例: 为啥先放折磨一个实例,之前数据绑定的就已经可以实现了,看起来那么简单,就是为了告诉大家,当 ...

  5. gearman入门初步

    原文地址:http://blog.sina.com.cn/s/blog_5f54f0be0101btsi.html     PHP 没有提供直接的并发功能.要实现并发,必须: function asy ...

  6. 使用 NGINX 进行微程序缓存的好处

    [编者按]本文作者为 Owen Garrett,主要介绍使用 nginx 进行微程序缓存的好处,辅之以生动的实例.文章系国内 ITOM 管理平台 OneAPM 编译呈现. NGINX 和 NGINX ...

  7. Python 面向对象(一)

    面向过程编程 (Procedural Programming) Prodcedural programming uses a list of instructions to tell the comp ...

  8. 转:tomcat安全设置

      小程序部署上去后,用户反馈说存在注入入侵等风险.反省之,记录下来 最省事的办法,直接删除%tomcatRoot%/webapps下的所有文件夹,仅仅保留自己部署的工程 前提是你不需要监控程序的一些 ...

  9. [翻译] INSSearchBar

    INSSearchBar 效果: An animating search bar. 一个带动画效果的search bar. Originally developed for ShopNow v2. ( ...

  10. if 的一切

    第一种语法: if 条件: # @引号是为了把条件和结果分开. 结果1 # 一个Tab或者4个空格 @告诉程序满足上面的if条件才会执行结果1结果2 如果条件为真(True),执行结果1,然后执行结果 ...