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

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

3天内不再提示

一个CANopen的应用样例(上)

CHANBAEK 来源:安德鲁的设计笔记本 作者: 安德鲁苏 2023-06-23 15:57 次阅读

一个CANopen的应用样例

在基本的运行CANopen框架的演示项目中,除了一个已经运行CANopenNode组件程序的CANopen节点,还需要一台运行PCAN-View软件的PC机和USB-CAN转换器PEAK-CAN,模拟一个接入CAN总线的CANopen主站设备节点。在运行演示项目时,可以使用PCAN-View软件,通过CAN总线发现运行了CANopen设备节点,并接收来自CANopen节点发出的心跳消息包,然后发送一系列网络管理命令,控制CANopen从站节点对本机的CANopen协议栈程序停止、启动、复位等操作。

  • PCAN-USB驱动
  • PCAN-View 安装包
  • PCAN-View使用说明

图片

figure-can-connection-between-pc-and-mcu

图x PC模拟的CAN主站同CAN从站之间的连接之后,开发者可以试着通过PCAN-View软件接入CAN总线的CANopen节点发送控制命令,并观察CAN总线上的消息。

这里用到了一个PEAK-CAN转接设备,如图x所示。

image.png

PCAN-CAN转接设备实物务必先将PEAK-CAN转接设备接入电脑后,再启动PCAN-View软件。在刚启动PCAN-View时,会弹出配置连接的对话框,其中显示已经识别到的PEAK-CAN设备,以及配置通信速率的对话框。在本例中,使用 500kbit/s,同刚移植的canopen_demo工程配置保持移植。配置连接对话框的界面如图x所示。

图片

figure-pcan-view-connect

图x PCAN-View识别到的PEAK-CAN设备以及配置通信速率确认之后,启动PCAN-View软件,即可在界面中看到CANopen节点已经在CAN总线上发送的消息帧了。如图x所示。

图片

figure-pcan-view-startup

图x 运行PCAN-View软件这里需要注意的是,在Receive/Transmit标签页中看到的消息帧是以CAN-ID分类的,总会显示当前已经出现的CAN-ID消息帧的最新状态。如果想看每一帧按照时间顺序排列的历史信息,可在Trace标签页中,启动记录后查看。

上线和心跳消息

CANopen节点上电后接入CAN总线,会向总线发送上线消息。PCAN-View软件将会收到上线消息如下:

CAN-ID Length Data
0x70A 1 0x00

之后,该CANopen从站节点将以1000ms为时间间隔,持续向CAN网络发送节点心跳报文。此时,PCAN-View软件将以1000ms的时间间隔收到心跳报文如下:

CAN-ID Length Data
0x70A 1 0x05

图片

figure-canopen-msg-heartbeat-at-power-up

图x CANopen节点发送上线报文和心跳包至此,可验证该CANopen节点成功启动,并开始正常运行。

此处对心跳消息展开解释一下。在本例中使用的心跳消息使用CAN-ID的值为0x70A,二进制码为0b11100001010,按照CANopen协议对COB-ID的规定,11位的CAN标准帧被拆分为前4位的功能码(FUNCTION CODE)和后7位的节点地址码(NODE ID CODE)。如图x所示。此处心跳消息的功能码对应0b1110,与图x中表格列出的值一致。

图片

figure-canopen-cob-id

图x CANopen中的COB-ID本例中的节点地址码0b001010,即0xA,则来自于canopen_demo工程CO_OD.c文件中对对象字典的配置。

/***** Definition for ROM variables *******************************************/
struct sCO_OD_ROM CO_OD_ROM = {    //constant variables, stored in flash
           CO_OD_FIRST_LAST_WORD,
...
/*2101*/ 0x0A,  /* local NODE-ID. */
/*2102*/ 0x1F4, /* local bitrate. */
...
           CO_OD_FIRST_LAST_WORD
};

其实对象字典里还配置了更多有用的属性,例如,本节点的CAN总线通信的位速率就在对象字典中索引号为2102的元素上,0x1F4对应十进制数500,表示500kbit/s

(未完待续。。。)

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

    关注

    27

    文章

    8212

    浏览量

    141920
  • CAN总线
    +关注

    关注

    145

    文章

    1812

    浏览量

    129600
  • CAN
    CAN
    +关注

    关注

    56

    文章

    2471

    浏览量

    459321
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79553
  • CANopen
    +关注

    关注

    6

    文章

    201

    浏览量

    42884
收藏 人收藏

    评论

    相关推荐

    针对工业控制的Canopen系统Canopen system

    介绍了CAN总线的应用层协议CANopen;介绍了CANopen系统的应用;详细介绍了CANopen的协议结构,通信对象以及标识符的地址分配。关键词:现场总线; CAN总线; CANopen
    发表于 05-26 11:07 26次下载

    CANopen协议讲座(2)之CANopen协议简介

    CANopen协议讲座(2)之CANopen协议简介 CANopen协议是在20世纪90年代末,由CiA组织(CAN-in-Automation)在CAL(CAN Application Layer)的基础上发展而来,一经推出
    发表于 03-26 17:29 73次下载

    CANopen协议讲座(3)之CANopen主站设备及其应用

    CANopen协议讲座(3)之CANopen主站设备及其应用 由于可靠性、实时性、低成本、抗干扰性、兼容能力等多个方面的优势,CAN-bus与其高层协议CANopen已成为了车辆数据
    发表于 03-26 17:32 89次下载

    CANopen协议讲座(4)之CANopen从站设备及其应用

    CANopen协议讲座(4)之CANopen从站设备及其应用 由于可靠性、实时性、低成本、抗干扰性、兼容能力等多个方面的优势,CAN-bus与其高层协议CANopen已成为了车辆数据
    发表于 03-26 17:36 86次下载

    CANopen协议讲座(5)之CANopen从站模块(XGa

    CANopen协议讲座(5)之CANopen从站模块(XGate-COP10) CANopen协议是在20世纪90年代末,由CiA组织(CAN-in-Automation)在CAL(CAN Application Layer)
    发表于 03-26 17:38 82次下载

    CANopen主节点的设计方案

    CANopen主节点除具备CANopen设备的基本条件外,还需具备NMTMaster的功能,即对CANopen网络进行管理。对CANopen主节点的实现提出三种方案:方案1:在
    发表于 12-20 21:45 79次下载

    CANopen

    CANopen,好东西,喜欢的朋友可以下载来学习。
    发表于 02-22 14:49 0次下载

    CANopen source code

    在创建符合标准的CANopen设备时,使用思泰CANopen协议栈源代码可以节省更多时间与费用。而你不必成为专家就可以使用CANopen协议栈来设计CANopen设备。所有的通讯服务都
    发表于 05-19 11:17 18次下载

    CAN总线转CANopen方案推荐

    广成科技GCAN-30X系列模块是一系列定制型的CANopen转换模块,该模块是在CAN总线网关转换器设备的基础上在CAN总线端增加了CANopen通信协议,从而将原本使用RS232/485、以太网
    的头像 发表于 03-02 11:06 7731次阅读
    CAN总线转<b class='flag-5'>CANopen</b>方案推荐

    CANOpen系列教程09 _CANOpen对象字典

    CANOpen系列教程09_CANOpen对象字典
    的头像 发表于 03-06 16:31 5779次阅读

    CANOpen系列教程08_ CANOpen通信接口引导学习

    CANOpen系列教程08_CANOpen通信接口引导学习
    的头像 发表于 03-06 16:07 7867次阅读

    CANOpen系列教程07 _CANOpen协议概述

    CANOpen系列教程07_CANOpen协议概述
    的头像 发表于 03-06 16:33 4872次阅读

    什么是CANopen主站

    CANopen是一种工业现场总线,说人话就是连接各个设备的通讯线路,具有接线方便,抗干扰能力强,可连接节点数量多,通讯稳定性好等特点。如果你需要一种通讯安全性高的现场总线,CANopen会是你的首选。那什么又是CANopen主站
    的头像 发表于 09-19 14:16 2215次阅读

    哪些设备属于canopen 从站范畴?

    有哪些设备属于canopen 从站的范畴呢?我们简单的举几个: 1、CANopen通讯的IO耦合器,有组合式结构的也有一体式结构的,它们集成有CANBUS接口和若干个IO接口,可以通过CANopen
    的头像 发表于 03-10 23:35 362次阅读

    CANOPEN 转 Modbus 协议网关

    YC-COP-RTU网关可通过自带的配置软件设置成两种不同的通信网关,CANopen 做主站/Modbus 做从站网关:CANopen 主站协议与 Modbus 从站协议之间的转换,可实现单个 CANopen 从站设备与 Mod
    的头像 发表于 09-19 17:55 380次阅读
    <b class='flag-5'>CANOPEN</b> 转 Modbus 协议网关