我是一名研二的学生,现在教研室要开发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. Docker for Windows(五)实践搭建SqlServer服务&执行数据库操作

    上一篇我们已经搭建了一个mysql数据库服务了:Docker for Windows(四)实践搭建&删除MySQL服务,发现用Docker确实是方便且容易,但上一篇主要是服务的搭建删除等基础操 ...

  2. 浏览器根对象navigator之客户端检测

    Navigator的5个主要属性: appName:Web浏览器的名称 appVersion:浏览器的版本号和其他版本信息 userAgent:浏览器在它的USER-AGENT HTTP标题中发送的字 ...

  3. iPhone中调用WCF服务

    本文介绍的是跨平台iPhone中调用WCF服务,WCF是由微软发展的一组数据通信的应用程序开发接口,它是.NET框架的一部分,由 .NET Framework 3.0+开始引入 iPhone中调用WC ...

  4. asp:FileUpload 上次图片

    <asp:FileUpload ID="FileUpload附件" runat="server" Width="200px" /> ...

  5. lodop 二维码内容多少

    QRCode最多能放181个汉字:LODOP.ADD_PRINT_BARCODE(248,6,60,60,"QRCode","一二三四五六七八九十二二三四五六七八九十三二 ...

  6. linux ubuntu 本地镜像 软件源 制作方法

    1.配置当前软件源,镜像非常大,所以首先要配置一下载速度快的软件源http://fffo.blog.163.com/blog/static/2119130682014322104136601/2.安装 ...

  7. 洛谷P1064 金明的预算方案

    题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元钱就行”. ...

  8. eclipse导入spring aop xml约束

    步骤: 1. 2. 3. 4.取  Location:中最后一个命名:spring-aop-4.2.xsd,放到Key的最后面,Key type:选择 Schema location.点击OK 5.编 ...

  9. A B C D类网络地址

    A类网络地址(红色为网络地址,黑色为主机地址): 下限:0000 0001.0000 0000.0000 0000.0000 0000(1.0.0.0) 上限:0111 1110.1111 1111. ...

  10. 安装matplotlib

    1.1 Linux中安装matplotlib 如果使用的系统自带的python版本,可使用系统的包管理器安装matplotlib,命令如下: $ sudo apt-get install python ...