在之前的文章我们提到过,在系统初始化过程中,主站会对从站进行扫描,并读取从站EEPROM中的信息以识别从站的基本设备信息。然而,当主站为TwinCAT或IGH时,除了从EEPROM中读取基本设备信息外,它们还会依赖于XML文件来加载更详细的设备描述信息。值得注意的是,TwinCAT和IGH各自使用具有特定格式的XML文件。
以下我们专注于TwinCAT所使用的XML文件。这些XML文件通常包含制造商信息以及设备描述信息两大部分。
首先,关于制造商信息,每个EtherCAT兼容设备都必须使用由EtherCAT技术协会(ETG)分配的全球唯一的Vendor ID。Vendor ID的使用必须严格遵守EtherCAT规范,并受到ETG Vendor ID政策和相关协议的约束。以下是关于Vendor ID使用的一些关键规则:
- 每个EtherCAT设备供应商都必须是ETG会员,并且必须从EtherCAT技术协会获得有效的Vendor ID。
- Vendor ID是免费提供的。
- 在EtherCAT设备投入市场之前,供应商必须获得相应的Vendor ID。
- 仅在机器中集成或使用EtherCAT设备的机器制造商无需申请和使用Vendor ID。
制造商信息在XML文件中的格式是标准化的,以便于TwinCAT能够准确解析和识别制造商身份及其相关的设备信息。这些信息对于确保EtherCAT网络中的设备兼容性和互操作性至关重要。
制造商信息内容格式如下图所示:
我们看一下从机对应XML文件中的制造商信息:
其中Id = 0xE00004D8,Name=XXXXX,可以看到,与之前EEPROM中内容是一致的。
ImageData16x14是一张图片信息,TwinCAT读取XML文件后,会用该图片当做标志。
设备描述信息如下图所示:
Group字段标识了设备所属的产品类别,这一分类由设备制造商根据自身产品体系进行定义。Device标签下的Type字段则指明了产品类型,这一信息与EEPROM中存储的内容保持一致,确保主站能够准确识别设备类型。
此外,Name字段提供了设备的名称,便于用户和管理员识别。Info标签下包含了更多关于设备操作的详细信息。例如,Info->StateMachine描述了状态机在不同状态转换之间的时间限制,这对于主站监控和管理设备状态至关重要。Info->Mailbox则定义了邮箱通信的超时时间,确保通信的及时性和可靠性。最后,Info->EtherCATController详细说明了从设备的资源情况,包括其处理能力、内存分配等,这些信息对于主站优化网络配置和性能调优至关重要。如下图所示:
下图中,Fmmu表示Fmmu的使用情况Sm描述了每个同步管理器的使用情况
Mailbox以及Dc描述了邮箱通信方式以及DC时钟的属性
XML Device描述里没有包含关于TxPDO(发送过程数据对象)和RxPDO(接收过程数据对象)的固定配置信息,因为从站采用了动态分配的策略。这一做法的目的是为了适应从站设备可能工作在不同模式下的灵活性。对于同一个从站设备,例如本从站,它支持多电机控制,但并非所有情况下都需要传输所有电机的过程数据。
若用户仅希望控制其中一个电机,其他电机相关信息则无需实时传输,这样可以显著减少网络资源的占用。通过动态分配PDO,系统可以根据实际需求调整传输的数据量,只传输必要的电机信息,从而提高了网络效率和资源利用率。
此外,从设备可以支持不同的工作模式,每种模式可能需要不同的过程数据。动态分配PDO的方式允许从站在不同的工作模式下灵活配置所需的数据传输,为用户提供了更大的便利性和灵活性。
我们将在后续的文章中详细介绍PDO动态分配的具体实现方式和应用场景,以帮助读者更好地理解和利用这一功能来优化EtherCAT网络性能。
下图中Modules中的dynamic switch bewteen csp/csv、csp、csv就是三种不同的工作模式,该从机目前只支持csp模式。
其中csp模式描述如下图所示:
以上就是TwinCAT使用的XML文件主要内容,如果主站使用的是IGH的话,XML格式则会有所不同,但内容基本相似。