EtherCAT-6 从站设备描述文件

XML设备描述文件是由SSC工具自动生成的,通常不需要手动修改,了解即可。

XML文件解析

每一个EtherCAT从站设备都需要有一个硬件描述的XML文件,用来给主站组态,XML文件中描述定义了通信时需要用到的各种数据。包括设备所属公司名,设备名,设备版本,LOGO等基础信息,亦包括通信时的点位,点位名称,大小,数量等信息,还包括一个非常特别的14Byte ConfigData,这14个字节用来给PHY识别,像ET1100,LAN9252等芯片通过其来识别自身的工作方式。

XML文件比较大,用普通的文本编辑器打开会显得有些凌乱,上下文结构也不能很好的体现。因此需要一些专门处理XML的工具来辅助编辑,推荐的有免费版XML Notepad。

在EtherCAT中,EDS被特指为从站的设备描述文件ESI(EtherCAT Slave Information),用来描述从站配置信息,并采用XML(Extensible Markup Language, XML)文件格式。EtherCAT从站设备基本信息、基本数据类型和对象字典描述三部分组成整个从站设备描述文件,从结构上包括制造商信息和描述信息,具体结构如下图所示。

1)XML的设备基础信息

Vendor->ImageData 16x14节点,存储的是.bmp格式的16色深度的logo文件,可以使用微软画图或者Photoshop等软件制作,制作完成后使用任何16进制查看器(Notepad++和Sublime都有相关插件直接查看任何文件的16进制数据)将数据填入该节点。

Descriptions->Groups->Group节点下方的Type和Name两个节点描述设备的种类和名称,这里根据自己的想法自定义即可。ImageData 16x14是设备类型图标,可以直接用上面的数据。

注:制造商信息和描述的分组信息内容没有影响,采用默认值即可。

Descriptions->Devices->Device->Physics是以太网口类型,YY表示两个RJ45,一进一出,跟Y相对应的是K,表示EBUS网口,德国倍福的专用端口,不需要修改。

Descriptions->Devices->Device->Type节点下的ProductCode和RevisonNo表示的是硬件编号和版本号,这里取一些有意义的名称,产品迭代升级时不要忘记这里的版本号也应该做相应的升级。主站通过这两个字段确定XML的唯一性,也就是说你如果两份XML这两个字段一样,主站只能识别其中一个。

Descriptions->Devices->Device->Name设备名,建议填写从站芯片型号,烧写xml文件时以此名识别。

Descriptions->Devices->Device->Info节点存储了一些超时限制的数据,没有特殊情况不需要修改,这里设置好了以后在主站可以看到设备在各种状态切换时的超时限制。

Descriptions->Devices->Device->GroupType与上面Descriptions->Groups->Group->Type相对应。

2)XML中的字典和IO数据

XML中的字典和IO数据超级复杂,包括字典定义和IO点位描述,但这部分数据已经由SSC创建完成了,SSC通过我们填写的Excel自动生成的,如果没有SSC,这里的数据全都由我们自己填写,将是一件非常恐怖的事情,不仅编写起来工作量非常巨大,而且极易出错。我们这里仅做简单地浏览认识一下。

字典

所谓字典就是对数据结构的描述,XML里面每种数据集合都需要有它的类型定义,有些类型是简单的String,UINT等基本类型,有些类型是由多种基本类型组合而成的复合结构,在字典定义部分都需要对其进行定义。

打开Descriptions->Devices->Device->Profile节点,里面有两个子节点DataTypes和Objects,有点类似C语言中的typedef定义类型和int x定义变量事实上在SSC生成的协议栈中的SSC-DeviceObjects.h文件也确实与这里的定义一一对应的

举个例子,如上图所示,在Objects节点下有一个Object名叫Device name, 其index为#x1008,type为STRING(10),这个STRING(10)就要从上面的DataTypes节点里面找对应的子项了,果然我们会发现一个DataType子节点名叫STRING(10),它的BitSize定义的是80个bit,应该是个uchar[10]的数组,那么这个字符串内容是什么呢,还记得我们之前在硬件基础信息部分定义的Device Name吗,我们去看看,上面定义的是SSC-Device,数一数正好10个字节。

所以在XML中每一个元素都会有自己的数据结构,每一种数据结构都会在数据字典中定义,如果这之间的关系理得不顺,EtherCAT将无法建立连接,想要手工把这里面的关系搞定真的非常困难,SSC在之前帮我们全都搞定了。

IO点位数据

a)FMMU通道设置:

在Descriptions->Devices->Device节点下定义了3个FMMU通道Outputs、Inputs和Mailbox,分别用于过程数据输出、过程数据输入和邮箱数据通讯。

b)SM通道和过程数据设置:

在Descriptions->Devices->Device节点下有四个Sm节点,这个表示通道,我们通信时一共有四个通道,除了过程传输数据输出和输入以外,还有两个通道用来控制EtherCAT自身状态的,也是EtherCAT协议中非常重要的MailBox概念,分别叫做MBoxOut和MBoxIn,这里不需要管它,只需要了解过程传输数据Inputs和Outputs两个通道,这两个通道内部的数据又分别指向RxPdo和TxPdo两个节点,这两个节点每个Entry节点都是我们之前在Excel中定义的一个IO点。SSC通过Excel帮我们完成了一项庞大的工作,在XML中生成了64+64个Entry,如果手工录入,这工作量将会非常恐怖。

c)邮箱通讯设置:

EtherCAT支持CoE、SoE、FoE和EoE等邮箱协议。

d)分布时钟设置:

根据SSC Synchronisation选项配置生成。

3)XML中的EEPROM内容

XML的EEPROM节点,这个节点数据量非常少,只有两个子节点,ByteSize一般为2048,代表板载的EEPROM芯片容量是2KByte,其实我们一般使用512K的物理容量芯片,防止IO数据定义时数据量增加不够存储。

XML中大部分内容都由SSC帮我们生成,现在到了比较重要的最后14byte数据,也就是ConfigData节点,SSC帮我们构建的XML是按照ET1100芯片生成的,默认为050E03440A0000000000,需要根据实际使用的ESC芯片手册进行更改。

EtherCAT XML是一种用于描述EtherCAT网络拓扑结构和设备的配置文件的格式。EtherCAT是一种高性能实时以太网通信协议,它可用于工业自动化系统和机器人控制等应用领域。 EtherCAT XML文件包含了网络中各个设备的信息,例如设备类型、ID、IO映射、PDO配置等。通过EtherCAT XML文件,可以为EtherCAT网络中的每个设备提供准确的配置指令。这使得设备的安装、集成和维护工作更加容易和高效。 EtherCAT XML文件可以使用各种编辑工具进行创建和修改。通常情况下,供应商会提供EtherCAT XML文件,然后用户可以根据自己的需求进行修改。通过编辑EtherCAT XML文件,用户可以配置设备的各个参数,例如输入输出映射、PDO映射方式、通信速率等。通过修改EtherCAT XML文件,用户可以实现对设备的定制化功能和性能优化。 除了配置设备参数外,EtherCAT XML文件还可用于网络拓扑的描述。通过编辑EtherCAT XML文件,用户可以定义设备之间的连接关系、拓扑结构和通信路径。这样,用户可以清楚地了解整个EtherCAT网络的布局和通信流程,并能及时发现和解决网络中的故障和问题。 总之,EtherCAT XML是一种用于描述EtherCAT网络拓扑结构和设备配置的格式。通过编辑EtherCAT XML文件,用户可以实现对设备参数和网络布局的个性化配置,从而提高设备的集成和维护效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值