文章目录
前言
当主站使用EtherCAT协议传输过程数据来控制从站设备时,会疑问主站是在什么时候告诉从站要传输什么过程数据的?
答案是,在PDO映射阶段完成的。
PDO映射简单来说就是通过CoE(CANopen over EtherCAT)协议来访问从站内部的一段结构化的数据,向其中写入数据来告诉从站之后会传输哪写PDO。
这段数据就是对象字典(Object Dictionary,OD)。
对象字典涉及的内容很对,包含很多分区。有些区是静态的,让用户从中读取信息,例如标准化设备子协议区,供用户了解该设备支持哪些PDO;有些区是可动态写入的,让用户按需进行配置,例如通信对象子协议区中的PDO参数对象部分,供用户配置PDO映射。
本文将针对过程数据对象的配置过程开展介绍。
一、PDO映射相关概念介绍
下图是EtherCAT从站设备的功能架构。
可以看到,EtherCAT从站设备功能组件可分为三层:物理层、数据链路层和应用层。应用层上方的从站应用功能会与对象字典交互,EtherCAT主站也能通过从站设备的ESC访问到对象字典,即对象字典是EtherCAT主站与从站应用之间过程数据的传输中转站。
对象字典(Object Dictionary)
是用于描述设备信息的一种数据结构,通过索引、子索引可以定位到对象字典中某个数据信息。对象字典中的内容分布如下。
索引
内容
0x0000-0x0FFF
数据类型描述
0x1000-0x1FFF
通信对象子协议区
0x2000-0x5FFF
制造商特定子协议区
0x6000-0x9FFF
标准化设备子协议区
0xA000-0xAFFF
网络变量
0xB000-0xBFFF
用于路由网关的系统变量
0xC000-0xFFFF
保留
PDO(过程数据对象)映射就是通过CoE协议来修改通信对象子协议区中的部分数据
通信对象子协议区中的内容如下。
索引
内容
0x1000-0x1029
通用通讯对象
0x1200-0x12FF
SDO参数对象
0x1300-0x13FF
安全对象
0x1400-0x1BFF
PDO参数对象
0x1F00-0x1F11
SDO管理对象
0x1F20-0x1F27
配置管理对象
0x1F50-0x1F54
程序控制对象
0x1F80-0x1F89
网络