EtherCAT通信主站----PDO过程数据映射
EtherCAT其中COE在数据链路层采用EtherCAT协议,在运用层采用CanOpen协议,其和兴是对象字典,对PDO和SDO相关知识,可以参考CanOpen通信----PDO与SDO,本文将只PDO的映射相关知识。
FMMU与Sync Manager配置
为了使SDO与PDO数据能在EtherCAT数据链路层上得到正确解析,需要对FMMU与Sync Manager(同步管理器)进行如下配置
-
同步管理配置地址
-
现场总线管理单元FMMU
-
PDO相关设置对应时间点
网络状态机如下,其中设置操作在预运行到安全运行阶段
Pre-Op to Safe-Op:
(1)主站为过程数据配置同步管理器(Sync Manager通道和FMMU通道
(2)主站通过SDO对从站进行PDO数据映射及Sync Manager PDO参数设置
(3)主站请求向Safe-Op状态转换
(4)从站检查负责PDO数据的Sync Manager配置是否正确,如果主站发出启动同步请求,检查分布时钟的设置是否正确。
PDO过程数据映射
EtherCAT 从站的过程数据由同步管理器通道对象组成,每个同步管理器通道对象
描述了 EtherCAT 过程数据的一致性区域,并且包含多个过程数据对象。具备应用控制
功能的 EtherCAT 从站应该支持 PDO 映射和 SM-PDO-Assign 对象的读取。
PDO映射
PDO 映射涉及对象字典到 PDOs 的应用对象(实时过程数据)映射关系。对象字典内的索引 0x1600 和 0x1A00 分别存储 RxPDO 和 TxPDOs 的映射表。下图为一个 PDO 映射的例子。
PDO分配
同步管理器对象(SMCO)由多个 PDOs 组成,SM-PDO-Assign(同步管理器 PDO分配)对象(0x1C12 和 0x1C13)描述了 PDOs 和同步管理器(SyncManger的关系,如下图所示。
PDO 映射的步骤
- 1 停止 PDO 分配功能(0x1C12 与 0x1C13 的子索引 0 设置为 0)。
- 2 停止 PDO 映射功能(0x1600~0x1603 和 0x1A00~0x1A03 的子索引 0 全部设为 0。
- 3 设置 PDO 映射对象(0x1600~0x1603 和 0x1A00~0x1A03的映射入口。
- 4 设置 PDO 映射对象(0x1600~0x1603 和 0x1A00~0x1A03映射入口的数值。
- 5 设置 PDO 分配对象(设置 0x1C12 和 0x1C13 的子索引1。
- 6 重新打开 PDO 分配功能(设置 0x1C12 和 0x1C13 的子索引 0 为 1)。
#PDO映射在SOEM中的实现方式