0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CANOpen系列教程10_ 关于Canfestival及对象字典生成工具环境搭建

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-06 15:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1写在前面

这一篇文章讲述如标题所描述的两大知识点,这两点内容对于初学者来说非常重要,希望想学习CANOpen协议的朋友认真把文章看完。

1.讲述Canfestival框架、官网简述,及衍生出的CANOpen源码基础知识;

2.基于Canfestival框架中对象字典生成工具的环境搭建。

2

关于Canfestival

Canfestival是一套免费开源的CANOpen协议栈框架,遵循ANSI-C,支持多平台,我们完全可以借助这一套开源框架来学会CANOpen。

官方主页:

https://canfestival.org/index.html.en

从上面主页可以看得出来,网址主要包含三部分内容:Code源码、Documentation文档、Applications应用。

这个网站目前访问有点慢,但还是能访问。可能是因为服务器在法国(IP地址),及这套协议免费开源,没有得到更多资金支持。

下面我将针对初学者,重点讲述一下这三部分内容,以及我们需要重点关注的内容。

2.1 Code源码

网址:https://canfestival.org/code.html.en

Code代码提供4个资源库(如上图),4个资源库中CANOpen协议源码都沿用一套,简单说协议源码大致相同。

推荐下载第2个的原因:

1.有人负责更新维护,目前(2018年)版本最新;

2.提供STM32F0、F1、F4系列驱动代码;

(下面提供下载)

2.2 Documentation文档

网址:https://canfestival.org/doc.html.en

这一项里面主要讲述Canfestival这套框架里面的一些内容,如遵循许可、CanFestival提供了一些GUI和命令行工具,帮助创建一个新的CANOpen节点并编辑对象字典,供主从使用。

我们需要获取的重要内容,都在那个PDF手册里面,建议下载仔细阅读。(这个手册在源码压缩包里面也有:manual_en.pdf)

2.3 Applications应用

网址:https://canfestival.org/apps.html.en

这里的“应用”,不是说教你如何编写应用程序,主要是Canfestival应用在哪些地方。如Product产品、Research研究方面。

Beremiz是法国一家公司开发的一款开源的PLC编程工具。在Beremiz里面就集成了CanFestival这套框架(相信折腾过CANOpen的都知道Beremiz)。

(这里的“应用”大家可以不用过多深究)

3

CANOpen源码说明及下载

3.1 CANOpen源码说明

许多初学者都有这么一个疑问:CANOpen协议的源码我们必须要用CanFestival的吗?

因为CANOpen协议是遵循CiA301、302、CiA401...这些协议,我们的源代码只要符合这些协议规范即可。

CANOpen协议源码也可以自己写,但是耗时耗力完全没必要。所以,我们就使用了免费开源的CanFestival。当然,也可以购买商业化的CANOpen协议源码来开发产品。

不管我们使用免费的CanFestival,还是购买的源码,只要支持CANOpen协议,我们就能与支持CANOpen协议的设备通信

3.2 下载

我们从官网的“Code”进去,会出现4个选项,我推荐下载第2个(上面有说明为什么下载第2个)。进去之后,会看到如下图一些描述:

对于关注我的朋友,大部分都在使用STM32,提供相关的源码参看,想必会有更浓学习的兴趣。

这个源码有多人在更新和维护,所以你会看到有许多分支,我们下载最新版本即可。

下载地址:

https://bitbucket.org/Mongo/canfestival-3-asc/downloads

百度网盘下载:

https://pan.baidu.com/s/1b9K0vIzu_EVWK1BLURJEPQ

提取码:j2w2

4

对象字典生成工具的环境搭建

这里的环境搭建可以参考Canfestival手册(manual_en.pdf)里面的指导,具体位置在3.1.1节:Object Dictionary Editor GUI.

我们需要下载安装第1,2个,第3个就不用单独下载了。

因为我们是在STM32上进行开发,手册中3.1.2节Linux、3.1.3节Windows这些内容我们就不用管了。

4.1 下载Python和wxPython

因为和其它工具兼容性的原因,我目前在Win10系统上安装可使用的是python-2.7.15 + wxPython2.8。

其它高版本的Python 3我之前试过好像不行,还有32位和64的也有差异。这里提供给大家(我安装的版本)下载,大家有时间可以在官网下载其它版本试试。

1.百度网盘

链接:

https://pan.baidu.com/s/1bRS403m4B31m4ovSJ-_HwA

提取码:38sn

2.官方下载

Python:https://www.python.org/downloads

wxPython:https://wxpython.org/pages/downloads

wxPython镜像:

https://sourceforge.net/projects/wxpython/files/wxPython

4.2 安装

1.Python安装

Python的安装需要注意两点:1.以管理员身份运行; 2.添加(环境变量)路径。

具体可以参看我公众号之前推送文章《工具下载、环境搭建》中3.2 安装Python.

2.wxPython安装

可以通过下载离线包直接安装,也可以通过命令行直接安装。(请看上面给的地址)

4.3 如何成功运行

1.解压(上面3.2 下载的)Canfestival-3;

2.在解压objdictgen目录下的Gnosis_Utils-current.tar.gz

3.将第2步解压目录下的gnosis拷贝到objdictgen目录下(注意路径),如下图:

4.双击,或者以命令方式运行objdictgen下的objdictedit.py,如果环境没问题,此时就会出现如下界面:

如果不能出现上面界面,请检查环境是否搭建成功。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    58

    文章

    3010

    浏览量

    471453
  • CANopen
    +关注

    关注

    8

    文章

    456

    浏览量

    47582
  • 字典
    +关注

    关注

    0

    文章

    13

    浏览量

    7860
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CANopen转Profient网关协议介绍

    层次,通过对象字典实现设备参数配置,包含网络管理(NMT)、服务数据对象(SDO)和过程数据对象(PDO)等核心协议,支持主从、客户端/服务器及生产者/消费者通信模式。
    的头像 发表于 09-25 17:31 610次阅读
    <b class='flag-5'>CANopen</b>转Profient网关协议介绍

    【EK-RA6E2开发指南】开发环境搭建

    瑞萨电子的开发工具有很多,笔者习惯使用MDK开发,因此本文将基于MDK+RA Smart Configurator搭建开发环境
    的头像 发表于 09-23 18:12 2488次阅读
    【EK-RA6E2开发指南】开发<b class='flag-5'>环境</b><b class='flag-5'>搭建</b>

    移植CANfestival,发现can无法接收数据,为什么?

    最近在研究Canopen协议,在f407的板子上移植了canfestival协议栈 移植成功后遇到一些问题,总线上我在没有发数据的情况下还是可以进入can接收中断,我不清为什么会进入中断,后来我自己
    发表于 09-11 07:46

    CanFestival软件包下载失败的原因?

    如上图,因为Gitee服务器不稳定,下载不成功. 如果大佬们有最新版本的canfestival软件包,麻烦给我下载一下.
    发表于 09-11 06:39

    canopen如何通过对象字典控制外设?

    各位大佬好,我在移植canopen的时候碰到一个疑问。比如我修改对象字典2000,子索引为0这个目录下的值,如何这个对象映射的是某个led灯的亮灭,输入1为亮,0为灭。 问题就是我发送
    发表于 09-11 06:04

    ProfiNet转CAN/CANopen网关技术详解

    CAN 报文,提供了更高的灵活性。 其核心工作原理是数据映射,即在网关内部建立 PROFINET IO 数据区与 CANopen 对象字典或 CAN 报文标识符之间的对应关
    的头像 发表于 08-26 16:54 574次阅读
    ProfiNet转CAN/<b class='flag-5'>CANopen</b>网关技术详解

    开发环境一键部署 | 如何搭建Docker环境编译ARM程序?

    点:环境搭建为何如此关键?嵌入式Linux开发,环境是地基。传统方式下,开发者往往需要:四处搜寻匹配的工具链版本手动配置复杂的编译参数多次反复适配
    的头像 发表于 08-15 11:06 691次阅读
    开发<b class='flag-5'>环境</b>一键部署 | 如何<b class='flag-5'>搭建</b>Docker<b class='flag-5'>环境</b>编译ARM程序?

    开疆智能EtherCAT转CANopen网关连接了淼GME-58-CO系列编码器与配置案例

    本案例是客户通过EtherCAT转CANopen网关将编码器与欧姆龙PLC进行连接,具体配置方法如下。 配置过程: 一、工具准备: 1.上海了淼CANopen编码器:GME-58-CO-13
    的头像 发表于 07-17 11:02 384次阅读
    开疆智能EtherCAT转<b class='flag-5'>CANopen</b>网关连接了淼GME-58-CO<b class='flag-5'>系列</b>编码器与配置案例

    盟通方案|CANopen数据链路配置工具

    CANopen产品开发过程中,并非所有应用场景的CANopen网络拓扑都是确定的,这需要CANopen网络能够灵活配置设备间对象字典的收发
    的头像 发表于 05-30 14:19 582次阅读
    盟通方案|<b class='flag-5'>CANopen</b>数据链路配置<b class='flag-5'>工具</b>

    在WIN10下怎么搭建CY7C68013的开发环境

    1在WIN10下怎么搭建CY7C68013的开发环境? 2,我已经安装了CYUSB3014的开发环境 ,两者会不会冲突?
    发表于 05-26 06:26

    使用ES32实现CANopen从机

    字典CANopen设备模型如下图。对象字典描述了CANopen设备的所有行为和参数。CanFestiv
    的头像 发表于 03-26 19:05 1496次阅读
    使用ES32实现<b class='flag-5'>CANopen</b>从机

    CANOPEN协议详细介绍

             CANOPEN协议是基于CAN总线协议建立的应用层协议。 CANOPEN协议的基本通信单元叫做“通信对象”,他们结构相同,包括funciton Code、Node-ID、DLC
    发表于 03-26 15:27 0次下载

    生成式AI工具好用吗

    当下,生成式AI工具正以其强大的内容生成能力,为用户带来了前所未有的便捷与创新。那么,生成式AI工具到底好用吗?答案无疑是肯定的。接下来,A
    的头像 发表于 01-17 09:54 816次阅读

    迅为RK3588开发板实时系统编译-Preemption系统/ Xenomai系统编译-获取Linux源码包

    “iTOP-3588 全能板\\\\02_ 【iTOP-RK3588 开发板】开发资料\\\\02_iTOP-3588 开发板搭建好编译环境的 Ubuntu20.04 虚拟机镜像”路径下。这里的 ubuntu20
    发表于 01-09 11:03

    如何搭建企业AI开发环境

    搭建企业AI开发环境是一个复杂而细致的过程,涉及硬件选择、操作系统配置、软件安装、工具选用以及实践等多个方面。下面,AI部落小编将详细介绍如何搭建企业AI开发
    的头像 发表于 12-20 10:37 1243次阅读