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

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

3天内不再提示

虹科干货 | 最简单实用的CANopen介绍,看完你就明白了(3)

虹科智能自动化 2022-07-14 09:33 次阅读

在上一篇文章中,我们对CANopen框架和CANopen的7种服务类型进行了简要介绍,而在本篇文章中,我们将展开介绍CANopen的对象字典、SDO和PDO等内容。本系列文章主要是对CANopen协议进行介绍,主要内容包括对象字典、服务、SDO、PDO和主/从站节点等。如需CANopen软硬件解决方案或培训服务,可通过400-999-3848或support@hkaco.com联系虹科工业控制团队!


前文回顾:

虹科干货 | 最简单实用的CANopen介绍,看完你就明白了(1)

虹科干货 | 最简单实用的CANopen介绍,看完你就明白了(2)

在7个CANopen服务中,PDO和SDO服务特别重要,因为它们构成了大多数CANopen通信的基础。下面我们将进行详细介绍,但在此之前我们需要了解CANopen的一个核心概念:对象字典。


1

对象字典OD

Object Dictionary

所有的CANopen节点必须有一个对象字典(OD),对象字典是一个标准化结构,包含描述CANopen节点行为的所有参数。OD条目通过一个16位的索引和8位的子索引进行查询。例如,符合CANopen标准的节点OD的索引1008(子索引0)包含节点设备名称。

具体来说,对象字典中的条目由属性定义的:

索引:对象的16位地址

对象名称:制造商的设备名称

对象代码:数组、变量或记录

数据类型:例如VISIBLE_STRING、UNSIGNED32或记录名称

访问:“rw”(读/写),“ro”(只读)或 “wo”(只写)

类别:这表明参数是强制性的还是可选的

OD标准化部分

在对象字典被分成标准化的部分中,有一些条目是强制性的,而另一些是完全可定制的。重要的是,一个设备(例如一个从站设备)的OD条目可以被另一个设备(例如一个主设备)通过CAN访问,例如使用SDO。这可能让主站改变从站节点是否通过特定的输入传感器记录数据,或改变从站发送心跳的频率。阅读电子数据表和设备配置文件可以帮助理解OD。


01be1fa4-02d6-11ed-9302-dac502259ad0.png

电子数据表(EDS)

在实践中,配置/管理复杂的CANopen网络将会用到一些合适的软件工具。为了简化这一点,CiA 306标准定义了一种人类可读且和机器友好的INI文件格式,作为设备OD的“模板”——例如 “ServoMotor3000”。此EDS通常由供应商提供,包含所有设备对象(但不包括值)的信息


设备配置文件(DCF)

假设一家工厂购买了一台ServoMotor3000,以整合到他们的传送带上。在操作过程中,操作员编辑了设备的EDS,并在EDS中添加了特定的参数值或改变了每个对象的描述名称。这样一来,操作者就有效地创建了所谓的设备配置文件(DCF)。有了这个文件,ServoMotor3000便能够集成到现场的特定CANopen网络中。

查看真实的EDS/DCF示例是理解CANopen对象字典的最佳方法之一,在下图中,您可以留意EDS和DCF对象条目之间的区别以及DCF如何包含特定的参数值。


01d386f0-02d6-11ed-9302-dac502259ad0.png


此外,我们建议到官网上查看CiA 306标准,通过实际的例子对OD、EDS和DCF有更深入的了解。


如前文所述,DCF通常在设备集成时创建。然而,经常需要在初始配置后读取或改变一个节点的对象值——这就是SDO服务的作用所在。


2

服务数据对象SDO

配置CANopen网络

SDO服务允许CANopen节点通过CAN网络读取/编辑另一个节点的对象字典的值。正如在“通信模型”中提到的,SDO服务使用“客户端/服务器”模式。具体来说,一个SDO “客户端”与一个专门的SDO“服务器”发起通信。其目的可以是更新一个OD条目(称为“SDO下载”)或读取一个条目(“SDO上传”)。在简单的主/从网络中,具有NMT主站功能的节点充当所有NMT从站节点读取或写入其OD的客户端。


客户端节点SDO下载:

客户端节点可以通过在 CAN 帧下方的广播来启动到节点 5 的 SDO 下载 - 这将触发节点 5(并被其他节点忽略,见上图)。SDO“接收”(即请求)CAN 帧如下所示:


01eb4e3e-02d6-11ed-9302-dac502259ad0.png


SDO消息变量解释

首先,COB-ID 605反映了“SDO接收”的使用(COB-ID 600 +节点ID)

CCS(客户端命令指定符)是传输类型(例如,1:下载,2:上传)

n是字节区4-7中不包含的字节数(如果e和s被设置为有效)

e表示“加速传输”,且所有数据都在单个CAN帧中(如果有设置)

s表示数据大小显示为n(如果有设置)

索引(16位)和子索引(8位)反映了要访问的OD地址

最后,节点5将相应字节4-7中包含的相关数据

一旦主站节点(客户端)发送CAN帧,从站节点5(服务器)通过COB-ID 585的“SDO传输”进行响应。响应包含索引/子索引和4个空数据字节。自然,如果客户端节点请求上传(即从节点5OD读取数据),节点5将响应字节4-7中包含的相关数据。此外,对于更大的数据场景,可以使用SDO分段/块进行传输。

一般来说,SDO很灵活,但也会带来较高的成本,这使得SDO不太适合实时操作数据。这就是PDO的用武之地。


3

过程数据对象PDO

操作CANopen网络

CANopen的PDO服务用于在CANopen节点之间有效地共享实时操作数据。例如,PDO将携带来自压力传感器的压力数据或来自温度传感器的温度数据。原则上,SDO服务也能实现共享实时操作数据,但由于单个SDO响应只能携带4个数据字节,出于成本原因,我们不建议这么做。

此外,假设一个主站节点需要来自节点5的两个参数值(例如“SensTemp2”和“Torque5”)。如果通过SDO来实现,需要4个完整的CAN帧(2个请求和2个响应)。相比之下,一个PDO消息可以包含8个完整的数据字节,而且它可以在一个帧内包含多个对象参数值。因此,在SDO服务中至少需要4个报文,而在PDO服务中则可能只需要1个报文就可以完成。

PDO通常被看作是最重要的CANopen协议,因为它承载了大量的信息。下面我们将介绍CANopen的PDO服务是如何工作的。

PDO服务使用的是“消费者/生产者”模型。因此,生产者 "生产数据",它使用发送PDO(TPDO)将其传送给“消费者”(主站)。反之,它可以通过“接收PDO”(RPDO)从消费者那里接收数据。例如,生产者节点可以被配置为对应的同步触发,例如每隔100ms广播给消费者。然后,节点5可以在传输带有COB-ID 185的PDO下广播:


0203e0ca-02d6-11ed-9302-dac502259ad0.png


请注意这里的数据字节是如何装入3个参数值的。这些值反映了节点5的特定OD条目的实时数据。使用这些信息的节点(消费者)需要知道如何解释PDO数据字节。

在某种程度上,PDO服务有点像J1939 PGN和SPN,这类似于特定J1939 参数组(PG)如何在 8 个数据字节中包含多个 SPN/信号(也称为数据参数)。J1939 CAN 帧不需要在“解码”信息上浪费数据字节,因为相关节点(以及外部工具通过例如J1939 DBC 文件或 J1939 PDF 标准)知道这一点。问题在于,在 CANopen 中,这些“PDO 映射”通常是可配置的,并且可以在创建 DCF 或通过 SDO 服务期间进行更改。


4

虹科CANopen解决方案

HongKe Solutions

虹科CANopen数据记录仪

CANopen经常被用于仓库中的电动叉车或自动导引车中,对CANopen数据进行监测和分析有利于改善管理,比如监测充电状态有助于减少故障和改善电池寿命,并且工业机械可以通过云端的物联网CAN记录器进行监控,根据CANopen数据预测和避免故障。此外,CAN记录器可以作为工业机械的“黑匣子”,提供数据用于解决OEM和用户之间的纠纷,或作为罕见问题诊断的一部分。0210abd4-02d6-11ed-9302-dac502259ad0.png

虹科CANopen IO模块

虹科HK-CIO系列是支持CANopen协议的远程IO模块,IO类型包含数字量,模拟量,高速计数器,脉冲输出,PWM,PT100/1000等,紧凑型设计,支持DIN导轨安装,IO与CANopen通讯之间相互电气隔离。

02293e92-02d6-11ed-9302-dac502259ad0.png

虹科CANopen协议开发方案

虹科CANopen源代码实施全功能符合CiA 301标准草案,支持快速且标准地开发你的CANopen主站或从站设备,包括NMT主站(网络管理)、LSS主站(层设置服务)或SDO客户端。

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

    关注

    57

    文章

    2744

    浏览量

    463591
收藏 人收藏

    评论

    相关推荐

    培训 | 重磅来袭!波形分析课程全面上线!

    全新升级/技术提升/快速进阶&TG中心波形分析课程主办单位广州电子科技有限公司TechGear免拆诊断中心支持单位英国PicoTechnologyLtd.HongkePico
    的头像 发表于 12-07 01:04 119次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>培训 | 重磅来袭!波形分析课程全面上线!

    活动回顾 | 波形诊断开放日-上海站圆满落幕!

    Pico开放日,可以收获哪些有趣的体验吧!Pico产品展示这里有Pico全系列产品展示,包括四通道示波器主机、压力传感器、NVH套
    的头像 发表于 12-07 01:04 225次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>活动回顾 | 波形诊断开放日-上海站圆满落幕!

    万字干货CAN XL研讨会问答,你想知道的都在这里!

    CANXL国际研讨会圆满结束,感谢各位观众的热情参与!携手多位CANXL创始成员及行业领袖,包括来自国际CiA协会、博世、英飞凌以及恩智浦等,带来5场精彩纷呈的主题演讲,让我们
    的头像 发表于 11-16 01:00 449次阅读
    万字<b class='flag-5'>干货</b>!<b class='flag-5'>虹</b><b class='flag-5'>科</b>CAN XL研讨会问答,你想知道的都在这里!

    应用 为什么PCAN方案能成为石油工程通讯的首选?

    在石油工程领域,实时监控钻井参数对于确保作业安全和提高效率至关重要。提供的PCAN解决方案凭借其高可靠性和便捷的安装维护特性,为石油钻井行业带来了显著的革新。PCAN石油钻井数
    的头像 发表于 11-08 16:48 208次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>应用 为什么<b class='flag-5'>虹</b><b class='flag-5'>科</b>PCAN方案能成为石油工程通讯的首选?

    MODBUS TCP 转 CANOpen

    侧作为从站,在 CANOpen 侧作为主站,可以比较容易实现 Modbus TCP 与 CANOpen 的互连。 (2)应用简单: 用户不用了解复杂的 CANOpen 和 Modbu
    的头像 发表于 09-24 13:59 264次阅读
    MODBUS TCP 转 <b class='flag-5'>CANOpen</b>

    干货 轻松掌握PCAN-Explorer 6,dll调用一文打尽!

    导读:PCAN-Explorer 6(下称“PE6”)作为一款专业的CAN/CAN FD网络处理软件,不仅提供强大的报文监控和发送功能,还通过其创新的dll加载功能,为用户带来了更加灵活和高效
    的头像 发表于 08-29 10:00 474次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>干货</b> 轻松掌握PCAN-Explorer 6,dll调用一文打尽!

    方案 领航智能交通革新:PEAK智行定位车控系统Demo版亮相

    /CANFD信号处理,方案不仅提升了车辆的智能化水平,更在安全性和效率上迈出了革命性的一步。 PEAK智行定位车控系统,通过CAN/CANFD信号实现车辆的精准控制,包括加减速
    的头像 发表于 08-27 09:28 268次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>方案  领航智能交通革新:<b class='flag-5'>虹</b><b class='flag-5'>科</b>PEAK智行定位车控系统Demo版亮相

    案例|为什么PCAN MicroMod FD是数模信号转换的首选方案?

    精确的信号采集和转换是确保生产效率和质量的关键。PCAN MicroMod FD系列模块,以其卓越的数模信号转换能力,为工程师们提供一个强大的工具。本文将深入探讨如何通过
    的头像 发表于 06-11 15:36 366次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>案例|为什么PCAN MicroMod FD是数模信号转换的首选方案?

    干货 | 多设备协同无忧:Linux环境下PCAN固定设备ID/通道分配指南

    在车辆网络系统和工业自动化等多设备环境中,确保设备识别的一致性对于维护系统稳定性至关重要。PCAN适配器提供一种解决方案,允许用户在Linux环境下固定设备ID和通道分配,从而不受USB端口
    的头像 发表于 06-11 15:03 452次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>干货</b> | 多设备协同无忧:Linux环境下PCAN固定设备ID/通道分配指南

    干货丨轻松掌握PCAN-Explorer 6,dll调用一文打尽!

    PCAN-Explorer 6(下称“PE6”)作为一款专业的CAN/CAN FD网络处理软件,不仅提供强大的报文监控和发送功能,还通过其创新的dll加载功能,为用户带来了更加灵活和高效的批量
    的头像 发表于 04-19 10:36 795次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>干货</b>丨轻松掌握PCAN-Explorer 6,dll调用一文打尽!

    新品 | E-Val Pro Plus有线验证解决方案

    有线验证解决方案E-ValProPlus我们很高兴地宣布,我们将推出全新的E-Val
    的头像 发表于 04-19 08:04 351次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>新品 | E-Val Pro Plus有线验证解决方案

    干货|HK-TE-200x系列FAQ(一):如何定义EES的VLAN?

    导读:在今天的干货系列中,我们将探讨HK-TE-200x系列交换机中的VLAN配置。VLAN(虚拟局域网)在现代网络架构中扮演着至关重要的角色,它能够帮助我们有效地隔离广播域,提高网络安全性,并
    的头像 发表于 03-04 14:26 396次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>干货</b>|HK-TE-200x系列FAQ(一):如何定义EES的VLAN?

    知道激光钻孔技术有多牛吗?看完这篇文章明白

    知道激光钻孔技术有多牛吗?看完这篇文章明白
    的头像 发表于 02-29 17:09 942次阅读

    CANopen以太网网关怎么用?

    CANopen以太网网关怎么用? CANopen以太网网关是一种连接CANopen总线和以太网的设备,它提供CANopen网络和以太网之
    的头像 发表于 02-02 16:59 3320次阅读

    分享 | PCAN工具:强大的CAN通讯解决方案,了解多少?

    在当今的汽车和工业自动化领域,可靠的通讯系统至关重要,PCAN工具为这些应用提供强大的支持。本文将介绍
    的头像 发表于 02-02 09:54 822次阅读
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>分享 | PCAN工具:强大的CAN通讯解决方案,<b class='flag-5'>你</b>了解多少?