基于SEED-RT118X套件开发EtherCat从站(七)CiA402

原创 艾睿电子技术和方案 2024-07-25 12:00

继上一期 基于SEED-RT118X套件开发EtherCat从站(六)XML文件,这期为您带来该系列的最后一篇。


CANopen 协议


SEED-RT118X 在使用 EtherCAT 控制电机时,采用了 CANopen 应用层协议中的 CiA402 规范。为了更好地理解 CiA402 的工作原理,我们先简要回顾一下 CANopen 协议。CANopen 是一个基于 CAN 协议的通信协议,广泛应用于工业自动化领域。PDO(过程数据对象)和 SDO(服务数据对象)是 CANopen 协议中的核心概念,用于在网络节点之间传输数据和提供服务。


在 CANopen 协议中,每个节点都维护一个称为对象字典(Object Dictionary,OD)的数据结构。对象字典是节点信息的中央仓库,包含了节点的配置信息、通信参数以及过程数据(PDO)等。上层应用通过与对象字典的交互来实现通信和控制。PDO 特别适合快速的数据处理与传输,因为它们被设计为直接映射到 CAN 帧,从而减少了处理时间和网络延迟。


在对象字典中,PDO 是由多个条目(Entry)构成的,每个条目都通过特定的索引(Index)、子索引(Subindex)和位数(Bit Length)来定义其数据源和属性。这种结构化的组织方式使得 PDO 的配置和管理变得简单而高效。


现在,我们回到 EtherCAT 和 CoE(CAN over EtherCAT)的话题。EtherCAT 是一种高性能的工业以太网协议,用于实时数据交换和分布式控制。CoE 是 EtherCAT 中用于支持 CANopen 协议的一个子协议,它允许 EtherCAT 网络中的节点使用 CANopen 的对象字典和通信机制。


CiA402的实现方式


在 SEED-RT118X 的实现中,我们可以看到对 CiA402 的支持。CiA402 是一个针对驱动器和运动控制器的 CANopen 应用层规范。在 SEED-RT118X 的源代码中,如 CiA402appl.c 文件中的 UINT16 CiA402_Init(void) 函数,就包含了与 CiA402 相关的初始化代码。这部分代码负责设置和配置与 CiA402 相关的对象字典条目、PDO 映射等,以支持特定的电机控制功能。


通过深入分析这些代码,我们可以更深入地理解 CiA402 在 EtherCAT 控制系统中的应用和实现方式。CiA402_Init(void) 函数如下所示:


可以看到这段代码初始化了几个对象字典(AxisCnt),每个电机轴都对应一个对象字典(Object Dictionary),用于存储和管理该轴的状态、参数和实时数据。这些对象字典条目通过特定的索引和子索引进行唯一标识,并被初始化以指向实际的变量或数据结构。并且对对象字典中每一个条目进行了初始化,使其指向一个实际的变量。目前例程中并不是所有条目都有用到,我们看一个实际用到的条目:


索引0x6064的条目通常用于存储电机的实际位置值。在初始化过程中,该条目会被关联到LocalAxes[AxisCnt].Objects.objPositionActualValue这个变量上,从而实现了实际变量与对象字典条目的关联。


为了通过网络传输这些变量,我们需要用到PDO,为了实现PDO传输,我们需要将PDO与对象字典条目进行关联或映射。


在对象字典的前几个条目中,0x1600、0x1601、0x1602等通常用于定义RxPDO(接收过程数据对象)的映射方式,而0x1A00、0x1A01、0x1A02等则用于定义TxPDO(发送过程数据对象)的映射方式。这些映射方式对应于电机的不同工作模式,如CSV/CSP、CSV和CSP等。需要注意的是,这三种映射方式中,通常只有一种会被激活使用,以适应当前的工作模式。


在CiA402_Init(void)函数的开始部分,通过以下代码:


每个电机轴的对象字典和PDO映射都会被初始化为预定义的默认值,这些默认值存储在DefCiA402ObjectValues这个变量中。以case 0x1601为例,其具体内容为:{3, {0x60400010,0x607A0020,0x00000010 }}, /*TOBJ1601*/,这里,3表示PDO映射包含三个条目。接下来的三个对(索引和大小)定义了PDO中应包含的数据:

  • 0x6040 和 0x0010 表示从对象字典索引0x6040开始,传输16位(0x10)的数据。

  • 0x607A 和 0x0020 表示从对象字典索引0x607A开始,传输32位(0x20)的数据。

  • 最后一个用于填充对齐。


表示0x1601这种映射方式下RxPDO映射到0x6064以及0x607A条目的内容。

另外我们再关注一下UINT16 CiA402_Init(void)函数中下面这段代码:

因为我们知道SEED-RT118X这个从站可以同时控制最多四个电机,因此不同电机之间对象字典索引是不能一样的,这段代码就是使得每个电机的对象字典索引有一个偏移量从而进行区分。


通过以上代码我们可以确定从站设备的配置中,存在三种PDO(过程数据对象)映射方式,这些映射方式对应于不同的操作模式或数据传输需求。然而,在任何给定的时间,从站只会使用其中的一种映射方式来传输数据。


ApplicationObjDic字典是一个包含应用层相关参数的对象字典。在这个字典中,条目0x1C12和0x1C13(或类似的索引)通常用于存储RxPDO(接收PDO)和TxPDO(发送PDO)的映射配置信息。这两个变量,即sRxPDOassign和sTxPDOassign,定义了从站应该接收和发送哪些数据,以及这些数据在PDO中的布局。


我们再看一下函数void APPL_OutputMapping(UINT16* pData)和void APPL_InputMapping(UINT16* pData),这两个函数用于处理PDO数据的映射。在这些函数中,switch语句用于根据sTxPDOassign.aEntries[j]或sRxPDOassign.aEntries[j]的某个部分(通常是低四位,通过& 0x000F得到)来决定当前处理的是哪种PDO映射。


通过修改ApplicationObjDic字典中的0x1C12和0x1C13条目(即sRxPDOassign和sTxPDOassign变量),开发人员可以动态地调整RxPDO和TxPDO的数据内容。这允许在运行时更改数据传输的格式和类型,以适应不同的操作模式或应用需求。

在TwinCAT主站软件中,这些修改通常是在工程文件的相应配置页面(如Slots标签页)中进行的(目前从站只支持CSP模式)。


我们看一下下图标签页Startup里面的内容也会随之改变。


其中前两条刚好是修改0x1C12和0x1C13的内容,完成这些修改后,相关的配置变化会在从站状态机从Pre-Operational(预操作)状态转换到Safe-Operational(安全操作)状态时生效。这个通信过程通常是通过EtherCAT邮箱机制(SDO,服务数据对象)进行的。


具体到从站代码层面,当主站通过SDO邮箱机制发送新的PDO映射配置时,从站会接收到这些配置数据,并在UINT8 SDOS_SdoInd(TINITSDOMBX MBXMEM *pSdoInd)这样的函数中处理这些数据。这个函数负责解析主站发送的SDO请求,并根据请求的内容更新从站内部的对象字典(如0x1C12和0x1C13条目),从而修改RxPDO和TxPDO的映射配置。


一旦这些配置更新完成,从站的过程数据(PDOs)就会根据新的映射配置进行传输,从而可能改变从站的工作模式或数据传输格式。这个过程允许开发者在运行时动态地调整从站的行为,以适应不同的应用需求或操作场景。


总结来说,通过TwinCAT主站软件修改PDO映射配置,并利用EtherCAT的SDO邮箱机制将这些配置下发到从站,可以实现从站过程数据的动态修改和工作模式的灵活调整。


到这里,对象字典初始化以及配置都完成,主站就可以通过过程数据对从站进行控制了。我们以一个电机为例,在TwinCAT中可以看到实际使用的过程数据,如下图所示:


0x6041表示Status Word,0x6064表示ActualPosition,这两个数据传输方向为从机到主站,0x6040表示Control Word,0x607A表示TargetPosition,这两个数据传输方向为主站到从站。


运行状态机


主站与从站的通信接口已经配置完成了,为了实现CiA402规范定义的电机控制,从站必须运行一个状态机来管理其操作状态和响应主站的控制命令。这个状态机定义了从站在不同阶段的操作能力和状态,以便主站可以根据这些状态来发送适当的控制命令。从站主要通过函数CiA402_StateMachine()实现CiA402的状态转换,包含以下几个状态:


与此同时,主机通过读取从机的Status Word(索引0x6041)来了解从机的当前状态。尽管Status Word的某些位可能与状态机的状态相对应,但两者并不完全相同。Status Word提供了关于从机当前状态和可能发生的故障或警告的详细信息。,Status Word各bit含义如下:


主机通过Control Word(索引0x6040)向从机发送控制命令,以改变其操作状态或触发特定的动作。Control Word的各个位定义了不同的控制命令。控制字Control Word 各bit含义如下:


在IGH主站控制从站CiA402状态机的一个例程中,函数axis_start根据从机的当前状态(通过status参数传入)和所需的工作模式(mode参数)来决定发送何种:


在CiA402协议中,当从站成功达到STATE_OPERATION_ENABLED状态后,这标志着从站已准备好接收并执行来自主站的控制命令。此时,主站可以开始通过发送TargetPosition(索引0x607A)来指定从站电机的目标位置,并可以通过读取ActualPosition(索引0x6064)来监控电机的实时位置。

相关阅读


艾睿电子技术和方案 艾睿为数十万家领先的技术制造商和服务商驱动创新,致力于发展可帮助提升商业价值及改善生活的科技解决方案
评论 (0)
  • 4 月 19 日,“增长无界・智领未来” 第十六届牛商大会暨电子商务十大牛商成果报告会在深圳凤凰大厦盛大举行。河南业之峰科技股份有限公司总经理段利强——誉峰变频器强哥凭借在变频器领域的卓越成就,荣膺第十六届电子商务十大牛商,携誉峰变频器品牌惊艳亮相,以十几年如一日的深耕与创新,书写着行业传奇。图 1:誉峰变频器强哥在牛商大会领奖现场,荣耀时刻定格牛商大会现场,誉峰变频器强哥接受了多家媒体的专访。面对镜头,他从容分享了自己在变频器行业二十年的奋斗历程与心路感悟。谈及全域营销战略的成功,誉峰变频器强
    电子与消费 2025-04-22 13:22 79浏览
  •   北京华盛恒辉基于GIS的电磁态势可视化系统软件是将地理空间信息与电磁态势数据相结合,通过图形化手段直观展示电磁环境态势的系统。这类软件在军事、通信、无线电管理等领域具有广泛应用,能够辅助用户进行电磁频谱分析、干扰监测、态势研判和决策支持。以下是关于此类系统的详细介绍:   应用案例   目前,已有多个电磁态势可视化系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁态势可视化系统。这些成功案例为电磁态势可视化系统的推广和应用提供了有力支持。   一、系统功能   电磁
    华盛恒辉l58ll334744 2025-04-22 11:44 68浏览
  • 在消费金融的赛道上,马上消费曾是备受瞩目的明星企业。自2015年成立以来,它以年均 30% 的净利润增速一路狂奔,成为持牌消费金融公司的标杆,2023年更是斩获19.82亿元净利润,风光无限。然而,2024年却成了马上消费的一道分水岭。2024年上半年,其营收为77.38亿元,同比下降2.11%;净利润更是同比骤降20.66%,仅为10.68亿元,创下历史最大跌幅 。与此同时,不良贷款率攀升至2.5%,不良余额高达16.54亿元,核心资本充足率降至12.72%,融资
    用户1742991715177 2025-04-21 21:29 97浏览
  • 近期,金融界消息称,江西万年芯微电子有限公司申请一项名为“基于预真空腔体注塑的芯片塑封方法及芯片”的专利。此项创新工艺的申请,标志着万年芯在高端芯片封装领域取得重要突破,为半导体产业链提升注入了新动能。专利摘要显示,本发明公开了一种基于预真空腔体注塑的芯片塑封方法,方法包括将待塑封的大尺寸芯片平铺于下模盒腔体内的基板并将大尺寸芯片的背向表面直接放置于基板上以进行基板吸附;将上模盒盖合于下模盒形成塑封腔,根据基板将塑封腔分为上型腔以及下型腔;将下型腔内壁与大尺寸芯片间的空隙进行树脂填充;通过设置于
    万年芯 2025-04-22 13:28 66浏览
  • 在汽车行业的变革浪潮中,智界汽车的诞生备受瞩目。作为华为与奇瑞两大巨头携手合作的结晶,智界汽车自孕育之初便承载着众人的期待,被视为融合前沿科技与卓越制造的典范,有望在竞争激烈的新能源汽车市场中开辟出一片新天地。2024年,智界品牌首款车型智界S7正式上市,凭借华为的技术赋能,如先进的鸿蒙智能座舱、强大的HUAWEI ADS高阶智能驾驶辅助系统,以及奇瑞多年积累的深厚造车底蕴,在上市前赚足了眼球。智界S7的亮相,犹如一颗投入平静湖面的石子,激起了层层涟漪,消费者对其充满了好奇与期待,行业内也纷纷将
    用户1742991715177 2025-04-21 20:28 79浏览
  •   卫星通信效能评估系统平台全面解析   北京华盛恒辉卫星通信效能评估系统平台是衡量卫星通信系统性能、优化资源配置、保障通信服务质量的关键技术工具。随着卫星通信技术的快速发展,特别是低轨卫星星座、高通量卫星和软件定义卫星的广泛应用,效能评估系统平台的重要性日益凸显。以下从技术架构、评估指标、关键技术、应用场景及发展趋势五个维度进行全面解析。   应用案例   目前,已有多个卫星通信效能评估系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润卫星通信效能评估系统。这些成功案例为卫
    华盛恒辉l58ll334744 2025-04-22 16:34 57浏览
  •   电磁干扰抑制系统平台深度解析   一、系统概述   北京华盛恒辉电磁干扰抑制系统在电子技术快速发展、电磁环境愈发复杂的背景下,电磁干扰(EMI)严重影响电子设备性能、稳定性与安全性。电磁干扰抑制系统平台作为综合性解决方案,通过整合多元技术手段,实现对电磁干扰的高效抑制,确保电子设备稳定运行。   应用案例   目前,已有多个电磁干扰抑制系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁干扰抑制系统。这些成功案例为电磁干扰抑制系统的推广和应用提供了有力支持。   二
    华盛恒辉l58ll334744 2025-04-22 15:27 57浏览
  •   北京华盛恒辉机场保障能力评估系统软件深度解析   在航空运输业快速发展的背景下,机场保障任务愈发复杂,传统人工评估方式已无法满足高效精准的管理需求。机场保障能力评估系统软件作为提升机场运行效率、保障飞行安全的关键工具,其重要性日益凸显。   应用案例   目前,已有多个机场保障能力评估系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润机场保障能力评估系统。这些成功案例为机场保障能力评估系统的推广和应用提供了有力支持。   一、系统功能模块   数据采集与整合模块  
    华盛恒辉l58ll334744 2025-04-22 10:28 85浏览
  • 引言:老龄化社会的健康守护需求随着全球老龄化进程加速,老年人的健康管理与生活质量成为社会焦点。记忆衰退、用药混乱、日程遗漏等问题频发,催生了智能健康设备的市场需求。WTR096录音语音芯片,凭借其高度集成的录放音、计时时钟与计划管理功能,为老年人量身打造了一站式健康管理方案,重新定义智能语音时钟的价值。功能亮点:1. 用药安全守护:多维度提醒,拒绝遗忘多时段精准提醒:支持一天内设置多个用药时间(如早、中、晚),适配复杂用药需求。个性化语音定制:家属可录制专属提醒语音(如“上午9点,请服用降压药”
    广州唯创电子 2025-04-22 08:41 91浏览
  •   电磁兼容故障诊断系统平台深度解析   北京华盛恒辉电磁兼容(EMC)故障诊断系统平台是解决电子设备在复杂电磁环境下性能异常的核心工具。随着电子设备集成度提升与电磁环境复杂化,EMC 问题直接影响设备可靠性与安全性。以下从平台架构、核心功能、技术实现、应用场景及发展趋势展开全面剖析。   应用案例   目前,已有多个电磁兼容故障诊断系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁兼容故障诊断系统。这些成功案例为电磁兼容故障诊断系统的推广和应用提供了有力支持。  
    华盛恒辉l58ll334744 2025-04-22 14:29 60浏览
  • 引言:工业安全与智能化需求的双重驱动在工业安全、环境保护及家庭安防领域,气体泄漏引发的安全事故始终是重大隐患。随着传感器技术、物联网及语音交互的快速发展,气体检测报警器正朝着智能化、低成本、高可靠的方向演进。WT588F02B-8S语音芯片,以“离在线语音更换+多协议通信”为核心优势,为气体检测报警器提供了一套高效、灵活的低成本语音解决方案,助力开发者快速响应市场需求。产品功能与市场需求1. 核心功能:从监测到预警的全流程覆盖实时气体监测:支持一氧化碳、臭氧、硫化氢等多种气体浓度检测,精度可达p
    广州唯创电子 2025-04-22 09:14 68浏览
  • 据国际精益六西格玛研究所(ILSSI)成员大卫·哈钦斯(David Hutchins)的回忆,在“六西格玛”名称出现前,摩托罗拉组建了约100个质量改进团队,接受朱兰博士制作的16盘录像带培训,名为《朱兰论质量改进》(Juran on Quality Improvement),为了推广这种严谨的分析方法(朱兰博士视频中的核心内容),摩托罗拉前首席执行官鲍勃·加尔文创造了“六西格玛”这一标签,用以表彰这种“最顶尖"的方法。大卫·哈钦斯(David Hutchins)是朱兰博士的好友,也为他的工作做
    优思学院 2025-04-22 12:03 66浏览
  •   电磁兼容(EMC)故障诊断系统软件解析   北京华盛恒辉电磁兼容故障诊断系统软件是攻克电子设备电磁干扰难题的专业利器。在电子设备复杂度攀升、电磁兼容问题频发的背景下,该软件于研发、测试、生产全流程中占据关键地位。以下为其详细介绍:   应用案例   目前,已有多个电磁兼容故障诊断系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁兼容故障诊断系统。这些成功案例为电磁兼容故障诊断系统的推广和应用提供了有力支持。   一、软件核心功能   干扰与敏感分析:深度剖析电磁干
    华盛恒辉l58ll334744 2025-04-22 14:53 68浏览
  • 职场烂摊子,每个人都难免遇上如果你在职场待久了,总会碰到一些让人无奈的情况:比如刚接手的项目混乱不堪、前任同事留下的任务一团乱麻,甚至有时因为自己的疏忽造成麻烦。面对这种烂摊子,烦躁、焦虑、甚至怀疑人生的情绪都会扑面而来。但如果你冷静想想,会发现真正消耗你的,往往不是工作本身,而是持续不断的心理内耗。那么问题来了,如何摆脱内耗,快速有效地“自救”?摆脱内耗,从情绪中抽离我曾经历过一个典型的职场烂摊子:前任项目负责人突然辞职,项目资料缺失严重,进度远远落后,客户抱怨不断。当时接手后的第一反应就是慌
    优思学院 2025-04-21 18:21 43浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦