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

  • 分享一个朋友的人工智能教程,零基础!通俗易懂!希望你也加入到人工智能的队伍中来! www.captainbed.net

一、写在前面

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

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

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

  本文章收录于【CANOpen系列教程】,在我的博客分类“CANOpen系列教程”也能查找到。

  为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,该系列教程也同步更新于微信公众号【EmbeddedDevelop】,关注微信公众号回复【CANOpen系列教程】即可查看。

二、关于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)。
(这里的“应用”大家可以不用过多深究)

三、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

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

这里的环境搭建可以参考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,如果环境没问题,此时就会出现如下界面:

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

四、说明

1.该文档仅供个人学习使用,版权所有,禁止商用。

2.本文由我一个人编辑并整理,难免存在一些错误。

3.为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,该教程同步更新于微信公众号【EmbeddedDevelop】,关注微信公众号回复【CANOpen系列教程】即可查看全系列教程。

五、最后

我的博客:http://www.strongerhuang.com
我的GitHub:https://github.com/EmbeddedDevelop

  我的微信公众号(ID:strongerHuang)还在分享STM8、STM32、Keil、IAR、FreeRTOS、UCOS、RT-Thread、CANOpen、Modbus…等更多精彩内容,如果想查看更多内容,可以关注我的微信公众号。

strongerHuang wechat
关注微信公众号,查看更多精彩内容!
本文对你有帮助吗?