当前位置:首页 > 厂商动态 > ADI
[导读]稳健的通信协议和接口在工业电机控制应用中发挥着重要作用。在工业驱动应用中,当需要多个处理器元件来持续通信以完成复杂任务时,CANopen®因其易于集成、高度可配置,以及支持高效、可靠的实时数据交换等特性,受到了众多工程师青睐。本文从低功耗电机控制应用的角度深入探讨CANopen。

摘要

稳健的通信协议和接口在工业电机控制应用中发挥着重要作用。在工业驱动应用中,当需要多个处理器元件来持续通信以完成复杂任务时,CANopen®因其易于集成、高度可配置,以及支持高效、可靠的实时数据交换等特性,受到了众多工程师青睐。本文从低功耗电机控制应用的角度深入探讨CANopen。

控制器局域网的背景

控制器局域网(CAN)由Robert Bosch Gmbh于1983年研发,是一种高度稳健的通信协议和接口,创建之初是为了克服RS232等传统串行通信网络的局限性,这些网络无法支持多个控制器之间的实时通信。汽车行业要求多个传感器连续同步传输数据,因而率先采用CAN。CAN允许多个节点使用短小的消息相互通信,因此成为汽车应用的理想选择。

随着时间推移,CAN凭借其经过验证的稳健性和诸多优势,在各行各业越来越受欢迎。然而,受限于专有编码规则,利用CAN协议将来自不同供应商的多个设备集成到单个系统中颇有挑战性,有时甚至是天方夜谭。为了克服这一限制,自动化领域CAN (CiA)的国际用户和制造商协会开发了一种高层协议CANopen。

本文接下来将探讨CANopen协议架构及其在控制多轴电机驱动器中的应用。本文将深入探究这种高层通信协议的复杂之处及其对电机和运动控制领域的影响。为了让读者了解CANopen协议,我们会分析ADI Trinamic™ TMCM-6212多轴电机控制器/驱动器模块与QSH4218-35-10-027步进电机的实时通信日志。具体来说,我们将重点关注网络管理(NMT)状态和基于客户端-服务器的CANopen协议。此外,我们还将通过案例研究来展示如何解读通信日志并确定驱动器的状态。

CANopen架构

本节讲解CANopen协议的各种应用原理,包括NMT和SDO(服务数据对象)。

网络管理:NMT是CANopen中的关键通信原则,每个CANopen兼容设备都必须遵守。它作为状态机运行,在协调CANopen框架内的应用方面发挥着重要作用。

网络管理状态机架构:NMT状态机如图1所示,由三个不同的状态组成,详情如下:

初始化状态

预运行状态

运行状态

图1.NMT状态机

客户端节点承担着监督不同运行状态下,相关服务器节点通信状态的关键角色。这是通过实施NMT机制来实现的。可通过心跳和节点守护两种不同方法,使客户端节点能够评估服务器节点的通信完整性。TMCM-6212采用心跳技术来验证通信是否正确。每个节点利用对象1017h,以用户可配置的循环时间间隔(以毫秒为单位)发出心跳信号。这种方式确保所有节点都处于活动状态,可以进行通信。

表1.NMT通信中的状态配置

表1列出了不同通信状态下使用的所有通信对象的组合。设备上电或复位后进入初始化状态时,会产生启动消息。然后,设备转换到预运行状态,准备好执行期望的操作。在预运行状态下,网络中的所有节点可以传输与SDO、心跳/节点守护、紧急情况和时间/同步相关的所有对象。在运行状态下,除了预运行状态下可用的所有对象之外,还可以映射PDO对象。最后,在停止状态下,设备会禁用所有SDO和PDO对象的通信,仅允许执行NMT命令。

服务数据对象:SDO通信协议主要用于NMT状态机的预运行状态。它以客户端-服务器配置运行,其中客户端可以访问所有连接的服务器(节点)的对象字典中可用的所有对象。在该协议中,客户端总是发起服务器的读/写事务,并由服务器确认任务完成。此过程可确保SDO中的每个事务都得到确认。

图2显示了多节点网络中SDO协议的基于客户端-服务器的配置。每个节点都被分配一个通道,通过该通道可以与客户端进行通信。在这种情况下,Trinamic TMCM-6212六步进电机驱动器/控制器充当服务器,而连接的PC充当客户端,发起与特定节点(本例中为NODE-1)的读/写事务。虽然所有节点都会收到SDO客户端消息,但只有目标节点会响应,而其他服务器会忽略客户端请求。

图2.多节点SDO配置

服务数据对象数据报

图2显示了SDO数据报的完整结构。SDO报头由COB-ID(连接对象ID)组成,该ID是分配给特定任务(例如读写功能)的唯一编号。因此,SDO通信需要两个COB-ID。第一个COB-ID代表客户端上载/下载请求的NODE-ID+功能代码,即600h + NODE-ID。第二个COB-ID(580h + NODE-ID)用于服务器的响应。

图3.SDO数据报结构

SDO消息中的第一个字节为说明符,对于确定消息的性质至关重要,可表明客户端是打算写入(下载)还是读取(上传)数据,而且还通过中止消息表示事务中的任何错误。说明符字节分为8位,如图3所示。位7-5为客户端命令说明符(CCS),提供有关消息性质的关键信息。客户端命令说明符根据客户端的操作(例如读取、写入、分段/快速传输或事务中的错误)而有不同的配置。在服务器的响应中,说明符(SCS,服务器命令说明符)的三位用于确定事务是否成功。表2列出了不同操作中CCS和SCS位的各种组合。说明符数据报中的位4是超过四字节的数据传输中使用的切换位。位3-2不包含任何数据,并且仅当设置了位0-1时才有效。位1决定通过SDO通道传输的消息类型,指示它是分段传输还是快速传输。在SDO数据报中,如图3所示,最后四个字节专门用于存放需要传输的数据。如果数据超过四个字节,则会以分段方式发送。另一方面,如果SDO数据报包含完整数据,则其被视为快速传输。因此,位1为高电平表示快速传输,位1为低电平表示分段传输。在分段传输中,数据以数据包的形式传输。为了响应客户端的初始读/写请求,服务器在数据字段中提供数据大小。然后,随着每个数据包传输到客户端,第四位(切换位)开始切换。最后,如果说明符数据报中的位0已设置,则位3-2会指示数据大小,如前所述。

表2.CCS和SCS配置

SDO数据报中的字节2-3和4分别对应索引和子索引字节,如图3所示。这些字节用于访问设备对象字典中可用的所有对象。对象字典包含所有设备参数,用户可根据实时应用需求配置设备的功能。通过设备剖析,无论是像驱动器这样的控制设备,还是简单的I/O器件,我们都可以实现行为标准化。如前所述,SDO数据报中的最后四个字节专门用于存放需要通过SDO层传输的数据。

一旦发生错误,SDO传输就会中止,传输停止的原因可以参考目标设备手册中提供的错误代码解释来确定。在这种情况下,CCS位的值为4,索引和子索引指定传输期间设备中受影响的参数,最后四个字节表示错误代码。

实时通信分析

本节使用机器处于预运行状态下的实时通信日志窗口来解释SDO数据报。ADI Trinamic TMCM-6212六轴步进电机驱动器/控制器4与QSH4218-35-10-027 [5]步进电机配合使用。对于此设置,电机的最大电流(对象2003h)设置为200。利用目标设置的软件界面日志窗口中突出显示的消息,客户端和服务器之间的上传和下载事务得到进一步解释,如图4所示。

图4.CANopen IDE

情形1:客户端与服务器之间的下载操作

由客户端发起:0x601:2f 03 20 c8 00 00 00(图5)。

图5.客户端发起下载请求

服务器响应:0x581:60 03 20 00 00 00 00(图6)。

图6.服务器的下载响应

在图6所示的操作中,CCS和SCS位的组合显示了客户端的成功写入操作和服务器的响应,这在表2中也有体现。

情形2:客户端与服务器之间的上传操作

由客户端发起:0x601:40 03 20 00 00 00 00(图7)。

图7.客户端发起上传请求

服务器响应:0x581:4f 03 20 00 c8 00 00 00(图8)

图8.服务器的上传响应

结论

CCS和SCS位的组合指示在客户端和服务器之间成功执行上传操作。本文提到的示例可以推广到设备对象字典中的其他对象,帮助我们深入了解机器的状态。本次演示的主要目的是帮助用户解读通信日志并监视驱动器的状态。用户可以实时排除错误,更高效地探索ADI Trinamic CANopen的高级特性。ADI产品中集成CANopen协议为客户带来了灵活性。客户可以将自己的PLC与ADI Trinamic模块集成,从而实现多供应商系统的开发。此界面对于从事实验室自动化、机器人、液体处理、半导体处理等复杂应用领域的客户特别有价值。本CANopen系列的下一篇文章将深入分析过程数据对象(PDO) CANopen协议,同时探索TMCM-6212针对电机控制应用的更高级特性。

参考文献

1Olaf Pfeiffer、Andrew Ayre和Christian Keydel,“采用CAN和CANopen的嵌入式网络”,Copperhill Technologies Corporation,2008年。

2“TMCM-6212 CANopen固件手册”,Trinamic Motion Control,2018年。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭