一、逻辑寻址
逻辑寻址时,从站地址并不是单独定义的,而是使用寻址段内4GB(232)逻辑地址空间中的一段区域。报文内的32位地址区作为整体的数据逻辑地址完成设备的逻辑寻址。
二、FMMU运行原理
逻辑寻址方式由现场总线内存管理单元(FMMU,Fieldbus Memory Management Unit)实现,FMMU功能位于每一个ESC内部,将从站本地物理存储地址映射到网段内逻辑逻辑地址,其原理如图所示:
FMMU单元由主站设备配置,并在数据链路启动过程中传送给从站设备。每个FMMU单元需要以下配置信息:数据逻辑位起始地址、从站物理内存起始地址、位长度、表示映射方向(输入或输出)的类型位,从站设备内的所有数据都可以映射到主站逻辑地址。表2.3和图2.18是一个映射实例,将主站控制变量区0x00014711从第3位开始的6位数据映射到由设备地址0x0F01第一位开始的6位数据写操作。0x0F01是一个开关量输出设备。
从站设备收到一个数据逻辑寻址的EtherCAT子报文时,检查是否有FMMU单元地址匹配。如果有,它将输入类型数据插入到EtherCAT子报文数据区的对应位置,以及从EtherCAT子报文数据区的对应位置抽取输出类型数据。使用逻辑寻址可以灵活地组织控制系统,优化系统结构。逻辑寻址方式特别适用于传输或交换周期性过程数据。FMMU操作具有以下功能特点:
- 每个数据逻辑地址字节只允许被一个FMMU读和另一个FMMU写操作,或被同一个FMMU进行读写交换操作;
- 对一个逻辑地址的读写操作与使用一个FMMU读和另一个FMMU写操作具有相同的结果;
- 按位读写操作不影响报文中没有被映射到的其他位,因此允许将几个从站ESC中的位数据映射到主站同一个逻辑字节;
- 读写一个未配置的逻辑地址空间不会改变其内容。
参考:《工业以太网现场总线EtherCAT驱动程序设计及应用》