尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

EtherCAT从站对象字典地址分区详解:从0x1000到0xFFFF一次搞懂

EtherCAT从站对象字典地址分区详解:从0x1000到0xFFFF一次搞懂 搞EtherCAT从站开发的朋友十有八九都对着对象字典头疼过。打开SSC工具或者一个现成的从站工程满屏 0x1000、0x6000、0x1A00再叠加上PDO映射、SM同步这些概念新人直接就被绕晕了。这篇文章专门讲清楚一件事从0x1000到0xFFFF这么大的地址空间到底是怎么分区的、每个区间放什么东西、实际开发中怎么用。我平时调伺服、步进、IO模块和各种杂牌从站基本全靠这套分区逻辑快速定位问题看完你也能少走不少弯路。先说结论EtherCAT的对象字典沿用CANopen over EtherCATCoE的组织方式本质是无数个寄存器条目按地址排成一张大表主站和从站之间不管是配置参数、读状态还是交换输入输出最终都会落到这张表的具体条目上。地址从0x1000开始到0xFFFF结束中间每个范围都有约定的职责。搞懂这个分区比死记几百个对象要高效得多。1. 分区总览先建立整张地址地图1.1 一张表看懂0x1000-0xFFFF对象字典的地址区域划分最早来自CANopen的CiA 301规范EtherCAT把它原封不动继承过来。整体逻辑非常清晰低地址放通信通用参数中间放设备厂商自己的应用参数高地址放标准化的过程数据对象和I/O扩展。地址范围区域名称核心用途0x1000-0x1FFF通信与设备信息区设备类型、厂商ID、序列号、PDO映射、同步管理、错误记录等0x2000-0x5FFF厂商特定区设备厂商自定义参数如增益、脉冲当量、细分、控制模式0x6000-0x6FFF标准过程数据输入区从站上报给主站的实时数据对象如状态字、实际位置0x7000-0x7FFF标准过程数据输出区主站下发到从站的实时数据对象如控制字、目标位置0x8000-0x8FFFI/O模块诊断与附加信息模块级故障、运行状态、硬件ID等扩展信息0x9000-0x9FFFI/O模块功能参数滤波时间、标定值、限幅、使能开关等可调功能0xA000-0xAFFF网关参数总线网关、协议转换相关参数0xB000-0xBFFF系统集成参数耦合器、系统级组态专用参数0xC000-0xFFFF保留区留给未来标准化使用不建议厂商占用这个分区逻辑和人的抽屉收纳非常像工具放固定格子私人物品放上锁抽屉文件放文件柜。你不需要记住每一件东西在哪个角落只需要知道哪一类东西该去哪个抽屉找。调设备时我一般先看目标地址落在哪个区间心里大概就有数了。1.2 CoE状态机与对象字典的联动对象字典不是死的表格它和从站的CoE状态机强相关。状态机有四个主状态Init初始化、PreOperational预运行、Safe-Operational安全运行、Operational运行。Init主站和从站只交换EtherCAT数据链路帧没建立通信逻辑。PreOp邮箱通信建立SDO可以读写对象字典但过程数据没有激活。SafeOp过程数据通道开始工作但输出通常被锁在安全状态。Op过程数据完全激活输入输出正常刷新。实际调试中绝大多数对象字典读写失败PDO映射不生效问题都和当前处于哪个状态有关。比如后面要讲的SM同步类型修改从站必须处于PreOp状态才安全就是这个机制的典型应用。建议你把状态机切换看成电梯上下楼PreOp是二楼Op是顶楼只有先在二楼把参数设置好才能坐电梯上顶楼干活。2. 0x1000-0x1FFF通信与设备信息区一切调试从这里开始2.1 设备标识与版本管理0x1000-0x1FFF 是整个对象字典里最标准的区域所有符合CoE规范的主站TwinCAT、Codesys、KPA等都会在这里读取设备身份信息。几个必懂的条目0x1000 设备类型这里会写设备遵循的profile常见的0x00020192表示符合CiA 402伺服/驱动器profile。0x1008 设备名称字符串比如AC Servo Driver。0x1009 硬件版本、0x100A 软件版本排障核对固件时很有用。0x1018 标识对象这是含子索引的结构化对象子索引1是厂商ID子索引2是产品码子索引3是修订号子索引4是序列号。主站能不能正确匹配从站XML很大程度上就依赖这些字段。一个细节厂商ID在EtherCAT里通常由EtherCAT Technology Group分配如果自己搞从站验证可以用0x00000000或私有ID但正式商用必须申请否则别人的主站软件扫描出来会对不上号。2.2 保存与恢复0x1010和0x10110x1010 保存参数0x1011 恢复默认参数。这两个对象看起来简单实际上坑很多。0x1010的子索引1-127各自对应一类参数。要触发保存动作需要向对应子索引写入特定签名save0x65766173注意字节序。同理0x1011要写入load0x64616F6C才能恢复出厂。签名写错或者用普通数值去写从站会直接拒绝或返回SDO中止码。我经常遇到的情况改了一堆伺服增益断电重启全丢。后来查下来就是0x1010没写签名参数只写进了RAM没有触发EEPROM保存。记住EtherCAT的对象字典读写默认只改RAM内的值断电就没了。要让参数固化要么用0x1010保存要么在从站XML/EEPROM里预先烧录。2.3 错误寄存器与故障快照0x1001 错误寄存器一个位域每个bit代表一类错误电压、电流、温度、通信等。这个寄存器一旦被置位通常需要主站去读0x1003来获取详细错误。0x1003 预定义错误场一个记录历史故障的数组子索引0是错误数量子索引1-N是最近几次的错误码。注意往子索引0写入0可以清除错误历史。实际排查时我习惯先看0x1001快速判断故障大类再读0x1003的历史错误码定位具体原因。比如伺服驱动器发生过流0x1001的bit1电流类会被置位0x1003里会多出一个具体错误码0x2310之类。这些错误码从哪来通常由profile或者设备厂商定义可以从XML和手册里查到。2.4 PDO映射与同步管理器配置0x1600-0x1C33这个子区间是很多人的知识盲区。0x1600-0x17FFRxPDO映射参数定义从站接收哪些过程数据。0x1A00-0x1BFFTxPDO映射参数定义从站发送哪些过程数据。0x1C00-0x1C0FSync Manager类型0x1C00的子索引记录了每个SM通道的用途1邮箱写2邮箱读3过程数据写4过程数据读。0x1C10-0x1C11邮箱SM配置。0x1C12SM2的PDO分配对象决定哪些RxPDO映射被激活。0x1C13SM3的PDO分配对象决定哪些TxPDO映射被激活。0x1C32/0x1C33SM2/SM3的同步参数包含同步模式、最小周期时间、看门狗超时等。经常有人问为什么改了0x1A00的PDO映射TwinCAT还是显示数据不对因为你只改了映射参数没有把映射分配进0x1C13也没有让从站重新进入SafeOp状态重新计算映射。映射对象和分配对象必须配套修改时间顺序也有要求否则很可能白忙活。3. 0x2000-0x5FFF厂商特定区设备灵魂所在3.1 为什么这块区域是自定义的0x2000-0x5FFF在标准里被归为Manufacturer Specific也就是厂商可以随便用。从台达、汇川的伺服到EtherCAT步进驱动器再到各种定制化IO模块这个区域承载了千奇百怪的私人参数。标准化的区域0x6000区只保证控制字、状态字、目标位置这些通用功能真正体现设备特色的参数比如电流环比例增益、速度前馈系数、编码器细分倍数、脉冲当量模式几乎全部落在0x2000-0x5FFF。我在调试不同品牌伺服时有个心得拿到手册先翻0x2000-0x5FFF的参数表很多厂商会把高级功能开关藏在这里。有些参数名看着不起眼比如AUX Function Select设错了设备就是不动或者莫名其妙报错。3.2 步进驱动器实例把脉冲当量放进对象字典步进电机接入EtherCAT经常遇到脉冲当量问题。如果驱动器内部固定按脉冲数运行上位机以毫米、转/秒做单位就必须先做换算。假设丝杆导程是5mm螺距步进电机细分数设为10000步/圈那么每毫米步数 10000 / 5 2000步/mm。在对象字典里可以把这些对应参数放在0x2000区比如0x2000电子齿轮分子或者细分步数0x2001每圈行程单位0.001mm导程5mm就写50000x2002单位换算系数方便主站做目标位置转换这样主站下发的目标位置如果是5mm会先读到0x2000/0x2001/0x2002通过换算得到目标位置5×200010000步再写入0x607A。实际项目里很多主站软件本身支持单位转换但对象字典里如果没有这些换算参数主站根本没法自动算。3.3 伺服驱动器实例增益和控制模式放这里伺服驱动器的控制环参数更典型。以我常用的某款国产EtherCAT伺服为例0x2010位置环增益Kp典型值比如30 1/s0x2011速度环增益Kv典型值比如200 rad/s0x2012速度环积分时间典型值比如5ms0x2013前馈系数0-100%这些参数在伺服自整定跑完后都会被写进0x2000-0x5FFF区域。调机时如果发现跟随误差大我会顺手读一下这几个地址看看是不是增益被重新上电重置了或者被人无意中改成奇怪值。另外很多伺服支持多组增益切换比如0x2050里放第一组增益0x2060里放第二组增益再通过0x2050的子索引切换模式。这种设计充分利用了结构化对象的能力一个对象地址配合子索引就能管理一组参数。4. 0x6000-0x7FFF过程数据对象区PDO映射的主战场4.1 输入输出方向的定义与常见混淆0x6000-0x6FFF是标准过程数据输入对象0x7000-0x7FFF是标准过程数据输出对象。这里的输入和输出要特别小心容易搞反。从EtherCAT总线主站的视角输入指的是主站接收到的数据即从站上报的数据对应0x6000区。输出指的是主站发送给从站的数据即从站接收的数据对应0x7000区。但实际很多从站的XML文档里说Input时指的是主站输入说Output时指的是主站输出。调试时如果发现TwinCAT的Process Image里从站输入数据一直为零先去看映射的是不是0x6000区对象别直接怀疑硬件坏了。另一个坑有些厂商会把0x6000区对象命名为RxPD0意图是从站接收这正好和主站发送对应。命名混乱导致我在现场吃过几次亏现在习惯一律先看主站和前视图的数据流向再核对映射关系。4.2 CiA 402伺服标准对象了解一下核心成员CiA 402IEC 61800-7是伺服/驱动器最常用的profile核心对象基本都集中在0x6000-0x7FFF区间0x6040 控制字bit0使能、bit1快速停止、bit2使能操作等。0x6041 状态字bit0就绪、bit1接通、bit2操作使能、bit3故障等。0x6060 运行模式1位置模式、3速度模式、4转矩模式等。0x6061 运行模式显示读当前实际模式。0x607A 目标位置位置模式下的目标值单位取决于电子齿轮比配置。0x6064 位置实际值实时反馈位置。0x60FF 目标速度速度模式目标值单位通常为0.1mm/s或0.1r/min。0x606C 速度实际值。这些对象基本是所有EtherCAT伺服从站的标配。调机前先把0x6040/0x6041的bit定义背熟能省下一半的时间。状态机从未使能到运行使能要走故障复位→准备就绪→接通主电源→使能操作这条固定路线每一步都要检查状态字对应bit置位后才能进行下一步很多人上来直接发0x000F使能结果设备毫无反应就是因为前面状态没走完。4.3 PDO映射实战0x1A00和0x1600是怎么和0x6000区一起工作的过程数据通信靠同步管理器SM2/SM3传输而SM通道上传什么内容由PDO映射对象决定。举个例子我想在Op状态下连续读伺服的当前位置、当前速度和状态字那么我需要配置TxPDO映射0x1A000x1A00子索引0映射条目数量设为30x1A00子索引10x60410010高16位0x6041表示映射对象地址是0x6041低16位0x0010表示长度16bit也就是状态字0x1A00子索引20x60640020即0x6064长度32bit位置实际值0x1A00子索引30x606C0020即0x606C长度32bit速度实际值这个四字节的编码格式是对象地址(16bit) 子索引(8bit) 位长度(8bit)。比如0x60410010其实就是0x6041、子索引0、长度16bit。很多人在XML里直接复制映射值一旦改错字节序从站就直接映射失败。映射配置好之后还需要在0x1A00的分配对象里把0x1A00登记进去。0x1C13的第一个条目写0x1A00表示SM3要使用0x1A00这份映射表。原理类似先创建数据列表再把列表挂到具体通道上。缺少最后一步映射配置再完整也不会进入过程数据通信。5. 0x8000-0x9FFF诊断与功能参数区I/O模块的扩展空间5.1 0x8000区模块故障与附加信息在CANopen的I/O模块类别中0x8000-0x8FFF被定义用于I/O模块的附加信息。比如一个16通道数字量输入模块0x8000 子索引1-N每个通道的硬件诊断比如断线检测、短路检测0x8001 模块温度、母线电压等状态信息0x8002 硬件ID、固件版本等识别信息实际调试总线IO时如果模块通道突然失效第一步不是拆线而是读0x8000区确认是不是通道诊断置位了。比如某些模块的输入通道支持断线检测共阴/共阳接错就会出现通道有信号但主站读不到的情况0x8000区会明明白白告诉你哪个通道报断线。5.2 0x9000区功能参数与标定0x9000-0x9FFF是I/O模块的功能参数区放置滤波时间、标定偏移、上下限、逻辑取反这些参数。举个例子模拟量输入模块的滤波时间常数一般在0x9000区配置比如0x9000放滤波时间0-255单位ms0x9001放工程单位转换偏移0x9002放上限0x9003放下限。调模拟量模块时最常见的坑是读数跳得厉害。很多人上来就改滤波时间却忽略了0x9000区还有个滤波使能开关。滤波时间设了但使能没开等于白设。另外模拟量采集的上下限标定参数要配合实际量程来写如果传感器输出0-10V对应0-100℃而模块把量程硬编码成0-27648那主站侧还得再换算一次不如直接在0x9000区把标定改到实际工程单位。6. 0xA000-0xBFFF网关与系统集成参数少用但别忽略6.1 0xA000区网关参数0xA000-0xAFFF是网关参数区主要用于总线网关设备和协议转换设备。比如把EtherCAT转PROFINET或者转Modbus TCP的网关源地址、目标IP、报文超时、网关工作模式这些参数就放这里。这块区域通用性不强但凡是做多协议混合产线的工程师迟早会碰到。调网关设备时注意改0xA000区的网络参数一般都需要重启网关设备或者至少重新连接一次从站直接在线写可能只写进RAM重启就丢。这类设备必须确认0x1010保存逻辑是否支持参数固化不然断电配置全无。6.2 0xB000区系统集成参数0xB000-0xBFFF保留给系统集成使用典型的如总线耦合器Coupler的组态参数。比如倍福的EK1100耦合器扩展模块时某些关于总线终端配置的参数就会出现在这里。普通单从站开发很少碰这个区但如果你做的是带扩展接口的混合设备需要留意0xB000区里可能会有模块数量模块类型这类组态信息。我个人的建议如果不是做网关或耦合器类产品0xA000和0xB000基本不用管但需要知道它们的存在避免某天在从站XML里看到0xA100、0xB200时一头雾水以为是从站乱写地址。7. 0xC000-0xFFFF保留区风险与机会并存7.1 为什么要有保留区从0xC000到0xFFFF标准上属于保留区留给未来新标准、新功能定义。这个区间的对象在主站侧通常不会主动解析都按未知对象处理。有些厂商为了快速扩展功能会打这块区域的主意把私有参数塞进0xC000-0xFFFF。这短期看没什么问题但长期风险不小一旦ETG后续把某个地址段定义成新的标准对象可能会和你的私有参数冲突。而且主站软件未来版本也可能改变对这个区域的处理方式容易引发兼容性问题。7.2 实际使用建议做过自定义从站的朋友可能觉得地址不够用0x2000-0x5FFF足足有16000多个地址对绝大多数设备来说绰绰有余完全没必要碰保留区。真到了非用不可的地步我建议至少遵循以下原则只在XML和手册中明确标注厂商保留功能方便后续维护不要让主站软件对这些地址做标准化解析做好版本管理避免跨固件版本地址语义不一致我在几个小众从站上见过把0xC000区当普通参数用的做法当时没问题后来主站软件升级新增了对0xC000区某些地址的识别结果导致从站被误扫描、参数被错误覆盖。从那以后我对保留区始终抱着能不用就不用的态度。8. 常见问题与排查技巧实录8.1 修改SM同步类型0x0001时从站应该处于什么状态先说结论修改SM3等同步通道的同步类型从站应处于PreOperational状态这是最稳妥、最规范的做法。为什么Sync Manager的同步类型0x0001表示SM同步也就是和分布式时钟同步本质是通信参数它影响的是过程数据通道的刷新方式。在Safety Op或Op状态下过程数据已经在实时传输此时改动SM配置会让从站内部的FMMU、SM寄存器状态出现不一致。很多从站会直接返回SDO中止错误拒绝写入。正确的操作顺序是主站先让从站从Op/SafeOp切换到PreOp此时过程数据通信停止邮箱通信保留主站通过SDO写0x1C33SM3同步参数对象中的同步类型比如改成0x0001写成功后让从站重新进入SafeOp再从SafeOp进入Op在Op状态下确认过程数据按新的同步模式实时刷新如果你在TwinCAT里用CoE在线修改0x1C33提示Object cannot be written或者State is not appropriate十有八九就是因为从站当前处于SafeOp/Op状态。先切回PreOp再改问题基本就没了。另外注意0x1C32/0x1C33里除了同步模式还有最小周期时间、看门狗时间等参数这些也要在PreOp下一起确认。8.2 PDO映射后数据不对或为0怎么排查这块踩坑概率极高排错思路分享给你们排查顺序建议看状态确认从站已经进入Op状态。用TwinCAT的在线诊断或者直接看从站状态字。看映射表和分配表0x1A00的映射条目数和0x1C13里分配的对象是否一致。如果0x1A00里映射了4个对象但0x1C13只分配了3个那么第4个数据可能收不到。看SM的方向SM2过程数据写主站到从站SM3过程数据读从站到主站。如果方向设置反了数据会全部错乱或为零。看Process Image长度主站侧定义的输入长度必须大于等于从站实际发送长度。如果XML里定义的TxPDO比实际短数据会被截断高字节能看到低字节全丢。看字节序EtherCAT过程数据一般是小端模式但如果从站内部是大端有些DSP的ESC驱动会写反位置、速度这类32位数据很容易出现高低字节错位。这时先看0x6064的值如果数值很明显是字节对调的样子大概率是字节序配置问题而不是传感器位置问题。8.3 脉冲当量设置不正确位置偏差大之前遇到一个项目伺服电机直连丝杆上位机通过EtherCAT发目标位置位置反馈总差好几毫米。最后查出来是脉冲当量没对。具体换算方式假设编码器分辨率为10000脉冲/圈丝杆导程5mm那么1mm对应2000脉冲。如果设备使用直接整数位置模式0x607A那么目标位置的单位就是脉冲。上位机如果按mm发送比如发5.000主站会把它当成5000个脉冲对应2.5mm位置差一半。正确做法是要么在伺服参数里把0x2000区的电子齿轮分子设为10000、分母设为5让0x607A的单位变成0.001mm要么在上位机把目标值换算成脉冲再下发。两者没有本质区别但对象字典里的换算参数一定要和主站侧的单位配置保持一致否则设备一上电位置就偏。还有一个常见坑修改电子齿轮或脉冲当量后没有写0x1010保存断电再上电参数恢复成默认值引起前后两班调试结果不一致。我一般建议客户在批量调试前先把一套正确的基准参数通过0x1010保存固化之后每次改参数都再保存一次避免不必要的扯皮。8.4 从站工程编译报错pic32 ethercat slave.c(197): error: #136有朋友在做PIC32从站二次开发时遇到类似错误pic32 ethercat slave.c(197): error: #136: struct u。这个错误的意思是编译器在197行遇到了一个未定义/未完整的结构体类型。通常不是EtherCAT协议本身的问题而是头文件包含顺序不对导致某个结构体定义在引用点还没可见结构体类型名拼写不一致比如定义了ethercat_slave_t使用处写成ethercat_slavet该结构体依赖的外部头文件比如硬件寄存器定义没被正确include在C文件里使用了C风格的声明而工程按C编译排错思路优先看197行附近引用的结构体全名再搜索工程里是否真的定义了这个类型。如果是你自己的结构体确认typedef和struct的顺序如果是SDK自带的确认头文件路径有没有在编译选项里包含。常见处理是把涉及的头文件提到最前面或者把类型定义移到公共头文件里。这个问题和对象字典分区没直接关系但属于从站移植过程中最常见的编译拦截点所以列出来帮大家避坑。9. 从站XML如何与对象字典配合9.1 主站扫描为什么依赖XMLEtherCAT主站软件TwinCAT、Codesys、KPA等在扫描从站时并不直接读遍整个对象字典而是通过从站EEPROM里的厂商ID、产品码匹配到对应的从站XML文件。XML文件里会描述这个从站支持哪些对象、哪个地址对应哪个变量、PDO映射默认怎么分配、SM通道怎么配置等信息。所以你在TwinCAT里看到的Module型号和变量名其实不全是实时读取的很大程度来自XML的静态描述。这就产生一个典型问题如果XML和你实际固件里的对象字典不一致主站扫描后看到的参数表就是错的。比如XML里写0x2000是速度环增益实际固件里0x2000已经改成厂商保留未实现那么在线调节时就会莫名其妙失败。9.2 如何在XML里定义厂商特定区写XML时0x2000-0x5FFF区域的参数定义需要遵循EtherCAT ETG.2000规范。每个对象需要写清楚Index、Name、DataType、AccessTyperw/ro、PDO mapping能力等。举个简单例子Object Index0x2000/Index NamePosition Loop Gain/Name DataTypeUDINT/DataType Accessrw/Access PDOMappingtrue/PDOMapping Unit0.1/Unit /Object这里有个容易被忽略的点PDOMapping字段。如果你希望某个厂商特定参数能被实时刷新比如在线调增益就需要把PDOMapping设为true并把该对象加入PDO映射。如果不设这个参数就只能通过SDO访问无法进入高速过程数据通道。同步刷新周期和SDO访问延迟差距很大对实时调参来说体验完全不同。9.3 主站加载XML后如何检查一致性一个最省时的检查技巧主站扫描成功后先用SDO读取0x1008设备名、0x1009硬件版本、0x100A软件版本再和XML里的对应描述比对。三者一致基本可以说明XML匹配正确。接着读0x1018的厂商ID和产品码确认没有张冠李戴。如果主站识别出的设备名是GENERIC或者Unknown Device99%的情况都是从站EEPROM里的厂商ID/产品码和XML不匹配。这时不要先去改XML先查EEPROM烧录是否正确。用SSC工具或者第三方烧录器读出来对比一下ID是否正确。10. Codesys RTE和主站侧对象字典的一些实操碎片10.1 免费主站软件如何建从站有很多工程师用Codesys Control RTE SL搭配EtherCAT主站。这种方式的好处是免费还自带一个还算好用的SoftMotion库。新建工程后在Device树里添加EtherCAT Master扫描时把从站XML导入进去主站会自动生成对应的IO映射。10.2 想让从站参数在启动时自动下发有时候希望上电后从站自动进入某个状态或者自动加载一组参数。这可以在主站侧做也可以在从站侧做。最简单的办法在主站的启动列表中添加SDO写入任务。比如每次系统启动在从站进入SafeOp前先SDO写0x200030、0x2011200同步好增益参数。这一步很常用能保证即使从站EEPROM参数被人改乱启动时也会被主站强制纠正过来。10.3 在线监控对象字典的实用技巧在主站软件里看对象字典时不要只盯着数值注意看右边是否弹出SDO请求失败之类的标志。这种现象往往表示该对象在当前状态下不可访问比如某些0x6000区对象只有Op状态下才有有效值或者对象在从站固件里根本没有实现。也可以用主站自带的CoE浏览器强制读取但注意避免在运行中随意写入参数轻则参数瞬间跳变重则从站直接进入故障。我自己习惯在调伺服时开两个窗口一个看0x6041状态字一个看0x6064位置反馈。通过这两个值能快速判断控制链路是否通畅、指令是否生效。比对着一大堆参数瞎猜快得多。10.4 修改从站EEPROM的快捷方法使用SSCSlave Stack Code工具打开EEPROM窗口可以直观编辑对象字典和默认PDO映射。但注意EEPROM改动后主站扫描结果不会立即变化必须让从站重新上电或触发一次EEPROM重载。很多时候改完XML固件发现主站却显示旧信息就是因为EEPROM里缓存没更新。这时候在SSC工具里执行一次Reload EEPROM或者对从站重新上电再重新扫描即可。最后再分享一点实际体会做了这么多年EtherCAT从站调试我最大的感受是对象字典不只是一张参数表它是从站设备与整个世界对话的唯一窗口。你调不了电机先看0x6040/0x6041和0x6060/0x6061你看不见反馈先看0x1A00映射和0x1C13分配你想固化参数先看0x1010你想查故障先看0x1001和0x1003。地址范围那么多但只要脑子里装好这张分区地图绝大多数问题都能在30秒内锁定方向剩下的只是填细节而已。这篇文章写的都是日常开发里反复用到的东西希望能帮正在走这条路的工程师少点迷茫。后面我也会继续梳理EtherCAT主站配置、XML编写、分布式时钟同步等内容有什么实际踩坑的问题也欢迎留言交流。
返回列表