CANopen实时总线的要点解析,看完你就明白了

李肖遥 2021-10-30 22:13

关注、星标公众号,直达精彩内容

来源:整理与网络素材

第一部分CAN和CANopen的概念
一、 CAN和CANopen简介

CAN总线全称为 Controller AreaNetwork 即控制器局域网是国际上应用最广泛的现场总线之一,已经在汽车制造、机械制造、包装机械、烟草等行业得到了广泛的应 用 。


CAN 总线是德国 BOSCH 公司从 80 年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达 1MBPS 。CAN 总线通信接口中集成了 CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。


CAN 协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由 11 位或 29 位二进制数组成,因此可以定义 211 或 229 个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为 8 个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8 个字节不会占用总线时间过长,从而保证了通信的实时性。CAN 协议采用 CRC 检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN 卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。


另外,CAN 总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。CAN 总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。CAN 总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。CAN 总线插卡可以任意插在 PC、 AT 、XT 兼容机上,方便地构成分布式监控系统。


而 CANopen 是基于 CAN 总线的应用层协议,在开放的现场总线标准中CANopen是最著名和成功的一种,已经在欧洲和美国获得广泛的认可和大量应用。1992 年在德国成立了“自动化 CAN 用户和制造商协会”(CiA,CANinAutomation),开始着手制定自动化CAN 的应用层协议CANopen。此后,协会成员开发出一系列 CANopen 产品,在机械制造、铁路、车辆、船舶、制药、食品加工等领域获得大量应用。目前 CANopen 协议已经成为了一种新的工业现场总线标准 EN-50325-4。CANopen 协议是 CAN-in-Automation(CiA)定义的标准之一,在欧洲,CANopen 协议被认为是在基于 CAN 的工业系统中占领导地位的标准。大多数重要的设备类型,例如数字和模拟的输入输出模块、驱动设备、操作设备、控制器、可编程控制器或编码器,都在称为“设备描述”的协议中进行描述;“设备描述”定义了不同类型的标准设备及其相应的功能。依靠 CANopen 协议的支持,可以对不同厂商的设备通过总线进行配置。



二、CANopen的基本知识

EDS文件

EDS (Electronic Data Sheet)

EDS 文件描述了 CAN 网络上设备通信属性(波特率、输出类型、I/O 提供…)。它由设备制造商提供,用于在配置工具中配置节点(就像 Windows 里的设备驱动程序)。


PDO

PDO (过程数据对象)

CANopen 帧包含 I/O 数据

区分在:

1、 传送 PDO:TXPDO 带有节点提供给其他节点的数据


2、 接收 PDO:RXPDO 节点消耗的数据

传送的方向从节点的观点看总是可见的。PDO 没有必要包含所有节点映象。通常模拟量和数字量被分成不同的 PDO 进行传送。对输出也是同样如此!


SDO

SDO (服务数据对象)

CANopen 帧包含参数

SDO 主要用于在程序运行时,从设备读参数或者向设备写参数


COB-ID

COB-ID(通讯对象标识符)

每个 CAN 帧以一个 COB-ID 开头,COB-ID 作为 CAN 帧的标识符。

在配置阶段,每个节点在接收 COB-ID 时,对帧来说,他是提供者或者消费者。


三、关于CANopen

介绍

CANopen 是一个标准的工业控制系统现场总线协议。它特别适合实时控制的 PLC ,因为它为集成的和可传输的工业应用提供了一个高效、低成本的解决方案。


CANopen协议

CANopen 协议是建立在 CAL 协议基础上的一个子协议。通过定义设备规范,它甚至更加适合于标准工业组件。CANopen 是一个 CIA (CAN inAutomation)标准,投入市场之初,它就迅速被推广。在欧洲,CANopen现在已经被公认为基于 CAN 设计的工业系统的工业标准。


物理层

CAN 使用差分驱动两总线(公共回路)。CAN 信号是 CAN-high 和CAN-low 线之间的电压差值。


1:CAN-high 线

2:CAN-low 线

3:终端电阻:120Ω

4:节点

根据电磁兼容要求,总线可以使用平行、双绞或者屏蔽走线方式。线结构使反射最小化。


CANopen规范文件

通讯规范文件

CANopen 规范文件时基于“通信规范文件”的,用来规定主要通讯机制和它们的描述(DS301 )。


设备规范文件

在设备规范文件中描述了工业自动化领域最重要的设备类型,同时也定义了设备功能类型。


标准设备描述例子为:

◆ 数字量和模拟量输入/输出模块(DS401)

◆ 电机(DS402)

◆ 控制设备(DS4P403)

◆ 闭环控制器(DSP404)

◆ PLC (DS405)

◆ 编码器(DS406)


通过CAN总线配置设备

通过 CAN 总线配置设备的可能性是制造商要求自治的基本原则之一。


CANopen规范文件的通用规格

CANopen 是符合以下规定文件的,用于 CAN 系统的一套规范:

◆ 开发的总线系统

◆ 无协议超负荷的实时数据交换

◆ 可重新定义尺寸的模块化设计

◆ 设备互用性和交换性

◆ 被大量国际制造商支持

◆ 标准的网络配置

◆ 访问所有的参数设备

◆ 同步和循环过程数据/事件驱动数据


CANopen产品认证

在市场上提供CANopen 认证产品的制造商都是 CiA 组织成员。


CAN标准

CANopen 协议被 CIA 组织定义并且可访问该组织(须遵守某些限制 )站点:http://www.can-cia.com.对主从设备的源代码可以从不同的供应商得

到。


CANopen网络通讯

通讯协议文件基于 CAL 服务和协议。

它提供用户对两种交换类型的访问:SDO、PDO。

在上电时,设备进入一个初始化阶段,接着进入预处理阶段。在这个阶段,只有SDO 可以通讯。在接到一个启动命令后,设备进入工作状态 ,在这个阶段 PDO 可以进行通讯,SDO 通讯仍然有效。


CANopen启动Boot-up

启动过程 最小设备配置指定了简化的启动程序。这个过程描述如下:




详细步骤介绍:

1、模块上电

2、模块初始化,进入预处理状态

3、NMT 服务:启动远程节点

4、NMT 服务:预处理

5、NMT 服务:停止远程节点

6、NMT 服务:重启节点

7、NMT 服务:重启节点通讯


初始

进入“重新启动通讯”后,设备进入初始模式。

该状态允许的操作有:

◆ 定义要求的通讯对象(SDO、PDO、紧急事件处理)

◆ 安装相关的 CAL 服务

◆ 配置 CAN 控制器

初始化完成后设备自动进入预处理模式。


预处理

进入预处理的条件:

◆ 在初始化完成后

◆ 在正常工作模式下,接收到“进入预处理”NMT 命令


在这种情况下,设备的配置可以被修改。然而只有 SDO 可以用来读或写设备的参数。


当配置完成后,通过接收相关的命令,设备进入以下的工作状态:

◆ 停止 ,当接收到“停止远程节点”NMT 命令

◆ 运行 ,当接收到“启动远程节点”NMT 命令


停止

如果设备处于“预处理 ” 或者“正常工作 ” 状态,接收到“节点停止 ” 命令(NMT 服务),设备进入 “停止状态 ” 。


在这种情况下,设备不能被配置。不能读写设备相关参数(SDO ),只有从设备的监视功能(即节点保护)有效。


操作

当设备处于“预处理”状态,接收到“启动远程节点 ” ,设备进入操作状态。在“运行 ” 状态,当使用“节点启动 ” NMT 服务启动 CANopen 网络,所有的设备功能性被使用,PDO、SDO 均可进行通讯。


过程数据对象(PDO)

PDO定义

PDO 是过程数据通信相关的通信对象,它能保证过程数据的实时交换。

一个 CANopen 设备的 PDO 对象定义了它与网络上其他 CANopen 设备之间的

隐式数据交换。

当设备运行时,PDO 交换被激活。


PDO类型

有两种 PDO 类型:

◆ TXPDO/TPDO:PDO 被设备传送

◆ RXPDO/RPDO:PDO 被设备接收


PDO的供给者与消费者

PDO 基于“供给者/消费者 ” 模型。传送的叫“供给者 ” ,接收的叫“消费者 ” 。


PDO的传送模式

◆ 同步(通过接收SYNC对象实现同步)

非周期:由远程帧预触发传送,或者由设备子协议中规定的对象特定事件预触发传送。

周期:传送在每1到240个SYNC消息后触发。


◆ 异步

由远程帧触发传送。

由设备子协议中规定的对象特定事件触发传送。


服务数据对象(SDO)

SDO定义

服务数据对象 SDO 允许使用显示请求交换数据。

当设备处于预处理、工作状态,SDO 服务是有效的 。


SDO的类型

有两种 SDO 类型:

◆ 读 SDO(上传)

写 SDO(下载)


客户端/ 服务器模型

SDO 协议是基于“客户端/服务器”模型。

对于下载 SDO

客户端发送一个标示被写对象的请求,服务器返回一个确认信息。


对于上传 SDO

客户端发送一个标示被读对象的请求,服务器返回被读对象的数据。


对于一个未处理的 SDO

对于以上的两种情况,如果一个 SDO 不能被处理,服务器返回一个错误

代码。


节点保护”和“寿命保护”

使用期限的定义

“使用期限”参数是按以下来计算的:

使用期限=保护时间(看门狗时间)*使用期限系数;

保护时间的典型值在 250ms 到 2S 之间。对象 0X100CH 含有以毫秒时间定义的保护时间,对象 0X100DH 含有“使用期限系数 ” 。


监控机制:

1、节点保护

2、心跳报文


监控激活

如果两个参数中有一个为零,那么模块不执行监控,即无寿命保护。为了激活监控,必须在两个对象中输入非零的数值。


保证可靠工作

为了保证可靠工作,建议设置“使用期限系数 ” 为 2。如果不是只样,主模块会产生延时(例如,在“节点保护 ” 时高优先级信息的处理或者内部处理时),模块会转入预处理模式而不产生错误。


监控的重要性

这两种保护机制对 CANopen 系统的安全运行特别重要,特别是对不工作于事件-被控模式的设备。


从设备的监控

监控按以下的方法执行:


◆ 主设备发送远程帧,来读取从设备的状态;


从设备答复:


◆ 从设备可以被配置为产生周期性的被称着 “心跳报文” 的报文,周期性的发送从设备的状态。

主设备的监控

如果主设备基于严格循环请求“保护 ” 信息,从设备可以检测主设备的状态。如果从设备在也定义的使用期限内没有收到主设备的请求(保护错误),它会认为主设备故障。这种情况下相应输出进入出错状态并且从设备进入预处理状态。


“保护”协议

在第一个“保护”信息里,“锁住位”(t)的值是0,然后在每个后来的保护信息里,该位都会改变,只有可以显示信息是否丢失。总线头部用7个剩余的位来指示网络状态:

四、CANopen设备

CAN 总线网络中有如下几类设备:

(1)PLC:PLC 做 CAN 上的一个主站,起到中央控制器的作用,对整个系统的工作起安排、调度、执行各个操作等作用。作为 CAN 网络中的主站,PLC 可以访问网络中任何节点的任何可以访问的数据,并起总线监控作用,实时监控总线上各个节点的工作状态,如果出现错误并执行相应的处理程序;


(2)分散式I/O:通常由电源部分、通信适配器部分、接线端子部分组成。分散式I/O 不具有程序存储和程序执行,通信适配器部分接收主站指令,按主站指令驱动 I/O ,并将 I/O 输入及故障诊断等信息返回给主站。


(3)驱动器、传感器、执行机构等现场设备:即带 CAN 接口的现场设备,可由主站在线完成系统配置、参数修改、数据交换等功能。至于哪些参数可进行通信及参数格式由 CANopen 行规决定。

版权归原作者所有,如有侵权,请联系删除。

关注我的微信公众号,回复“加群”按规则加入技术交流群。

欢迎关注我的视频号:


点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

李肖遥 公众号“技术让梦想更伟大”,作者:李肖遥,专注嵌入式,只推荐适合你的博文,干货,技术心得,与君共勉。
评论
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 83浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 141浏览
  • 自动化已成为现代制造业的基石,而驱动隔离器作为关键组件,在提升效率、精度和可靠性方面起到了不可或缺的作用。随着工业技术不断革新,驱动隔离器正助力自动化生产设备适应新兴趋势,并推动行业未来的发展。本文将探讨自动化的核心趋势及驱动隔离器在其中的重要角色。自动化领域的新兴趋势智能工厂的崛起智能工厂已成为自动化生产的新标杆。通过结合物联网(IoT)、人工智能(AI)和机器学习(ML),智能工厂实现了实时监控和动态决策。驱动隔离器在其中至关重要,它确保了传感器、执行器和控制单元之间的信号完整性,同时提供高
    腾恩科技-彭工 2025-01-03 16:28 170浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 75浏览
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 100浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 114浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 170浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 68浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 87浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 104浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 80浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 44浏览
  • 随着市场需求不断的变化,各行各业对CPU的要求越来越高,特别是近几年流行的 AIOT,为了有更好的用户体验,CPU的算力就要求更高了。今天为大家推荐由米尔基于瑞芯微RK3576处理器推出的MYC-LR3576核心板及开发板。关于RK3576处理器国产CPU,是这些年的骄傲,华为手机全国产化,国人一片呼声,再也不用卡脖子了。RK3576处理器,就是一款由国产是厂商瑞芯微,今年第二季推出的全新通用型的高性能SOC芯片,这款CPU到底有多么的高性能,下面看看它的几个特性:8核心6 TOPS超强算力双千
    米尔电子嵌入式 2025-01-03 17:04 55浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 125浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦