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

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

3天内不再提示

一个CANopen的应用样例(下)

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

一个CANopen的应用样例

Stop状态

从PCAN-View软件中发送如下命令,将NODE-ID为0x0A的节点设置为Stop状态:

CAN-ID Length Data
0x000 2 0x02 0x0A

在PCAN-View软件界面中菜单栏中选择Transmit->New Message...,将会弹出发送新消息的对话框。如图x所示。当然,也可以直接单击工具栏中的New Message按钮,或者使用ins快捷键触发对话框。

图片

figure-pcan-view-new-msg

图x 在PCAN-View中发送新消息在弹出的发送新消息对话框中填写Stop帧内容。如图x所示。

图片

figure-pcan-view-new-msg-2

图x 在发送新消息对话框中填写帧内容确认新建消息后,可以在PCAN-View窗口界面下半边Transmit看到新建的消息帧,但此时尚未发送。如图x所示。

图片

figure-pcan-view-new-msg-3

图x 新建发送消息帧此时,需要人工触发发送过程。可以选中即将发送的消息帧,再单击菜单栏Transmit->Send。如图x所示。或者也可以通过快捷键Space空格,或者直接双击即将发送消息帧的CAN-ID,也可以触发发送过程。

图片

figure-pcan-view-new-msg-4

图x 触发发送消息帧当发送帧完成之后,在PCAN-View的界面中可以看到,CAN-ID为0x70A的心跳消息的值,已经从05变成了04。说明对应的CANopen节点设备已经收到停止命令并生效了。如图x所示。

图片

figure-pcan-view-new-msg-5

图x CANopen节点识别停止命令并更新心跳消息在PCAN-View的Trace标签页中,也可检测到CAN网络上有通信帧的变化,如图x所示。

图片

figure-canopen-msg-stop-node

图x PEAK-View观察到的Stop报文### Start状态

从PCAN-View软件中发送如下命令,将NODE-ID为0x0A的节点切换至Start状态:

CAN-ID Length Data
0x000 2 0x01 0x0A

之后,可检测到CAN网络上有通信帧如图x所示。

image.png

图x PEAK-View观察到的Start报文

Pre-operation状态

从PCAN-View软件中发送如下命令,将NODE-ID为0x0A的节点切换至Pre-operation状态:

CAN-ID Length Data
0x70A 2 0x80 0x0A

之后,可检测到CAN网络上有通信帧如图x所示。

图片

figure-canopen-msg-preoperaion-node

图x PEAK-View观察到的Pre-Operation报文### 复位应用层

从PCAN-View软件中发送如下命令,将NODE-ID为0x0A的节点复位,让节点的应用恢复初始状态,比如列车门都恢复打开状态:

CAN-ID Length Data
0x70A 2 0x81 0x0A

之后,可检测到CAN网络上有通信帧如图x所示。

图片

figure-canopen-msg-reset-node

图x PEAK-View观察到的复位消息CANopen从站节点收到复位消息后,会复位本机执行的CANopen协议栈,恢复或者刷新对象字典的默认配置属性。

复位通信层

从PCAN-View软件中发送如下命令,将NODE-ID为0x0A的节点的通信层复位,让节点的 CAN 和 CANopen 通讯重新初始化,一般用于总线收到 干扰,导致节点总线错误被动,或者总线关闭时:

CAN-ID Length Data
0x70A 2 0x82 0x0A

总结

本文介绍了实现CANopen协议栈的一个广为使用的软件组件CANopenNode。特别从实践的角度上,详细分析了在具体微控制器上移植CANopenNode组件的方法,以集成了FlexCAN外设的MM32F0140微控制器为例,详述的移植过程,创建了一个运行CANopen协议框架的样例工程canopen_demo。为了演示CANopen协议栈的工作场景,同时验证移植工作已经成功完成,本例使用运行PCAN-View软件和CAN转接器PEAK-CAN,模拟一个CANopen的主站,向接入同一CAN网络的CANopen从站节点发送NMT网络管理命令,切换从站节点的状态,并使用PCAN-View软件的观察CANopen从站节点心跳包的变化。本文还简要说明了PCAN-View软件的使用方法,可以配置PEAK-CAN转接器的通信速率、观察CAN总线上的消息帧、发送自定义的消息帧、记录历史消息帧等。

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

    关注

    48

    文章

    7352

    浏览量

    150380
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2674

    浏览量

    462673
  • 节点
    +关注

    关注

    0

    文章

    213

    浏览量

    24312
  • 网络
    +关注

    关注

    14

    文章

    7402

    浏览量

    88306
  • CANopen
    +关注

    关注

    8

    文章

    238

    浏览量

    43460
收藏 人收藏

    评论

    相关推荐

    CANopen协议

    CAN 在 ISO 层级中的位置、通信协议需求、CANopen协议诞生、设备子协议、CANOpen设备结构
    发表于 08-23 09:02

    CANopen通信CODESYS软件操作使用

    本教程仅适用于立迈胜NIMC2000系列控制器、PMM系列体化伺服电机CANopen通信CODESYS软件操作使用。、系统构成二、电路配线三、安装设备描述文件1.首先安装控制器描
    发表于 09-06 06:39

    canopen简单提要

       canopen协议属于应用层协议,是由系列子协议组成,分为通讯子协议和设备子协议,通讯子协议例如CIA 301子协议对canopen网络的架构进行了规范 ,针对某些特定的对象字典中的数据对象
    发表于 09-15 07:56

    移通创联CANOpen网关在制药行业中的应用

    移通创联CANOpen转PROFINET网关在制药行业中的配置案例网关侧配置篇第步:先安装CANOpen转PROFINET网关配置软件第二步:导入 EDS 文件第三步:设定CANOpen
    发表于 10-28 18:43

    如何使用STM32单片机开发CANopen产品

    CANopen协议。我认为掌握CANopen协议的唯方法是自己设计CANopen从站。以前
    发表于 02-15 07:45

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

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

    什么是CANopen主站

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

    基于OpenHarmony开发的步骤

    单丝不成线,独木不成林,社区想要健康蓬勃发展离不开社区参与者的持续贡献。而社区贡献点有很多种,本文以贡献OpenAtom OpenHarmony(以下简称“OpenHarmony”)开发
    的头像 发表于 09-20 10:30 1247次阅读

    CANopen的应用(上)

    在基本的运行CANopen框架的演示项目中,除了已经运行CANopenNode组件程序的CANopen节点,还需要台运行PCAN-Vi
    的头像 发表于 06-23 15:57 2441次阅读
    <b class='flag-5'>一</b><b class='flag-5'>个</b><b class='flag-5'>CANopen</b>的应用<b class='flag-5'>样</b><b class='flag-5'>例</b>(上)

    MindSDK应用基础—SPI模块简介

    MindSDK为MM32主流的微控制器,实现了系列SPI驱动的工程。本文通过讲解 SPI 模块的工程,介绍 SPI 模块的功能和用
    的头像 发表于 08-10 17:14 981次阅读

    MindSDK应用基础—ADC模块

    MindSDK为MM32主流的微控制器,实现了组ADC工程。本文通过讲解ADC模块的工程,介绍ADC模块的功能和用法。
    的头像 发表于 08-17 17:16 850次阅读

    MindSDK应用基础——TIM模块

    MindSDK应用基础——TIM模块
    的头像 发表于 10-25 16:25 464次阅读

    制药领域的技术革命:Profinet转CanOpen网关大放异彩

    Profinet转CanOpen网关作为连接不同网络设备的桥梁,能够将生产线上的各类设备进行联网,实时收集设备运行状态、生产数据等关键信息,并将这些信息传递给后端系统进行分析处理。在执行Profinet和
    的头像 发表于 04-10 12:06 189次阅读
    制药领域的技术革命:Profinet转<b class='flag-5'>CanOpen</b>网关大放异彩

    制药行业新突破:CANOpen转PROFINET网关配置案例解析

    在药品制造工业环境中,实现CanOpen转Profinet协议之间转换的网关配置是关键过程,确保了不同通信协议的设备能够互相协作。以开疆智能CanOpen转Profinet网关为
    的头像 发表于 05-14 11:47 464次阅读
    制药行业新突破:<b class='flag-5'>CANOpen</b>转PROFINET网关配置案例解析

    Profinet转CANopen协议转化网关

    怎么把Profinet与CANopen连接起来呢? 最近有很多客户朋友咨询这个问题,在这里为大家详细说明一下。其实有设备可以很轻松地解
    的头像 发表于 07-22 14:34 228次阅读
    Profinet转<b class='flag-5'>CANopen</b>协议转化网关