Ethercat解析(十)之从站配置

配置文件根据设定的从站在总线上面的位置、厂商ID和产品码与具体的从站进行绑定。对于从站在总线上的位置,驱动提供了别名和位置编码相结合的方式寻找对应的从站。别名和位置编码都是16位的数字,其存放在从站的EEPROM中,具体的含义是:

别名 位置 描述
0 0-65535 由于别名为0,因此其位置编码就是从站在总线上的绝对位置
1-65535 0-65535 别名为非0值,此时,位置编码就是从站在总线上的相对别名的偏移量,从站的位置是别名的值+位置的值

举个例子,比如总线上如下几个从站,其信息为:

编号参数 Slave0 Slave1 slave2 slave3
Vendor 0x00000001 0x00000002 0x00000001 0x00000001
Product 0x00000001 0x00000004 0x00000002 0x00000002
Alias 0 0x1000 0x2000 0

其中假设连接顺序是Slave0 —— Slave1 —— Slave2 —— Slave3
现假设有如下几个从站的配置:

编号参数 A B C D E
Alias 0 0 0x2000 0x3000 0x2000
Position 1 0 0 0 1
Vendor 0x00000002 0x00000001 0x00000001 0x00000001 0x00000001
Product 0x00000004 0x00000002 0x00000002 0x00000002 0x00000002

如何分析编号与从机的绑定情况。
⑴ 先看别名(Alias)
① 为0:位置编码是从站在总线上的绝对位置
② 非0:位置编码就是从站在总线上的相对别名的偏移量,从站的位置是别名的值+位置的值

⑵ 再看VID和PID
看从机配置信息与从机信息的Product和Vendor是否匹配。

例如:
⑴ 编号为A的别名为0,表示其配置位置信息就是从站在总线上的绝对位置信息也就是对应Slave1(因为Position为1),其次,编号为A的配置的Vendor与Product也与Slave1一致,因此,编号为A的配置将会跟Slave1绑定起来。

⑵ 编号为B的别名为0,表示其配置位置信息就是从站在总线上的绝对位置信息也就是对应Slave0(因为Position为0),其次,编号为A的配置的Vendor与Product与Slave1不一致,因此,无与之对应的从站。

⑶ 编号为C的别名为0x2000,表示其配置位置信息(Alias + Position)就是从站的别名地址加相对偏移量也就是对应Slave2,其次,编号为C的配置的Vendou与Product与Slave2一致,因此,编号为C的配置将会跟Slave2绑定起来。

⑷ 编号为D的别名为0x3000,其配置位置信息(Alias + Position)无与之对应的从站。

⑸ 编号为E的别名为0x2000,表示其配置位置信息(Alias + Position)就是从站的别名地址加相对偏移量也就是对应Slave3,其次,编号为E的配置的Vendor与Product与Slave3一致,因此,编号为E的配置将会跟Slave3绑定起来。

你可能感兴趣的:(Ethercat解析)