ShellAlbert / 3-axies-robot-arm

Apache License 2.0
1 stars 1 forks source link

一个ESI文件的解析 #6

Open ShellAlbert opened 4 years ago

ShellAlbert commented 4 years ago

Ethercat FMMU

    总线内存管理单元是从站数据链路层的中的功能模块,用户只需要知道其作用即可,其配置完全由主站执行。

   FMMU  - Fieldbus Memory Management Units.总线内存管理单元。

FMMU的功能是将主站分配的逻辑地址转换为本地地址,每一个FMMU通道将一段连续的物理地址映射到一段连续的逻辑地址中。这样就实现了主站的逻辑寻址和实际物理地址的映射。

 举个例子来理解一下,上学的时候每个人都有学号,同时每个人都有一个名字,名字是父母分配的相当于固定的一般来讲这辈子可能就不会变了,学号是学校分配的,学校在分配学号时会根据一定的规则来编学号使得每个人的学号都不同。这样就建立出一个对应关系,一个学号对应一个学生。学校想找到某个学生时可以通过学号来搜素到唯一的一位学生并找到他的所有信息,而如果通过名字去寻找的话,那就可能出现重名的问题。

  主站在检测到所有的从站设备后,会按照链接的顺序给每一个总线上的Slave分配一段地址,并将这段地址下发给各个Slave。FMMU就负责将主站分配的地址和Slave本身的物理地址建立映射关系。

FMMU设置:

1、 主站读取每一个从站的硬件配置包括输入输出数据的长度。

2、 主站组织数据编址。

3、 主站将为每一个从站的分配好的逻辑地址下发到各个从站中(配置FMMU configuration register)。

4、 数据开始传输。

FMMU的配置工作由主站操作。对于从站的开发来说只需要核对好设备描述文件中的地址分配就可以了。

ShellAlbert commented 4 years ago

无标题

ShellAlbert commented 4 years ago

Process Data Objects (PDOs)

As mentioned earlier, we are using the Buffered mode for our data communications. The sync managers essentially provide a shared memory interface between a master and a slave. This great but it doesn't provide a way to define a communications protocol between a master and a slave.

This problem is solved by Process Data Objects (PDOs).

PDOs are a way of defining how data is packed into a buffered sync manager.

The use of a standardized PDO description (as described in the ESI file) make it possible for any EtherCAT master stack to communicate with any slave without large amounts of customization.

ShellAlbert commented 4 years ago

t1 t2 t3 t4 t5

ShellAlbert commented 4 years ago

t6 t7 ![Uploading t8.jpg…]() t9 t10

ShellAlbert commented 4 years ago

2020-06-24_145535

ShellAlbert commented 4 years ago

a1 a2 a3 a4 a5 a6 a7 a8 a9 a10