EtherCAT工业以太网应用技术
上QQ阅读APP看书,第一时间看更新

3.7 EtherCAT从站信息接口 (SII)

EtherCAT从站控制器采用EEPROM来存储所需要的设备相关信息,称为从站信息接口SII(SlaveInformationInterface)。

EEPROM的容量为1KB~4MB,取决于EtherCAT从站控制器规格。

EEPROM数据结构见表3-50。

表3-50EEPROM数据结构

EEPROM使用字地址,字0~63是必需的基本信息,其各部分描述如下。

1)EtherCAT从站控制器的寄存器配置区(字0~7),由EtherCAT从站控制器在上电或复位后自动读取后装入相应寄存器,并检查校验和。

2) 产品标识区(字8~15),包括厂商标识、产品码、版本号和序列号等。

3) 硬件延时(字16~19),包括端口延时和处理延时等信息。

4)引导状态下邮箱配置(字20~23)。

5)标准邮箱通信SM通道配置(字24~27)。

3.7.1 EEPROM中的信息

EtherCAT从站控制器配置数据见表3-51。

EEPROM中的分类附加信息包含了可选的从站信息,有以下两种类型的数据。

① 标准类型。

② 制造商定义类型。

所有分类数据都使用相同的数据结构,包括一个字的数据类型、一个字的数据长度和数据内容。标准的分类数据类型见表3-52。

表3-51EtherCAT从站控制器配置数据

表3-52 标准的分类数据类型

3.7.2 EEPROM的操作

EtherCAT从站控制器具有读写EEPROM的功能,主站或PDI通过读写EtherCAT从站控制器的EEPROM控制寄存器来读写EEPROM,在复位状态下由主站控制EEPROM的操作之后可以移交给PDI控制。EEPROM控制寄存器功能描述见表3-53。

表3-53EEPROM控制寄存器功能描述

(续)

1.主站强制获取操作控制

寄存器0x0500和0x0501分配EEPROM的访问控制权。

如果0x0500.0=0,并且0x0501.0=0,则由EtherCAT主站控制EEPROM访问接口,这也是EtherCAT从站控制器的默认状态;否则由PDI控制EEPROM。

双方在使用EEPROM之前需要检查访问权限,EEPROM访问权限的移交有主动放弃和被动剥夺两种形式。

双方在访问完成后可以主动放弃控制权,EtherCAT主站应该在以下情况通过写0x0500.0=1,将访问权交给应用控制器。

1)在I→P转换时。

2)在I→B转换时并在BOOT状态下。

3)若在ESI文件中定义了“AssignToPdi”元素,除INIT状态外,EtherCAT主站应该将访问权交给PDI一端。

EtherCAT主站可以在PDI没有释放控制权时强制获取操作控制,操作如下。

1) 主站操作EEPROM结束后,主动写0x0500.0=1,将EEPROM接口移交给PDI。

2) 如果PDI要操作EEPROM,则写0x0501.0=1,接管EEPROM控制。

3)PDI完成EEPROM操作后,写0x0501.0=0,释放EEPROM操作。

4) 主站写0x0500.0=0,接管EEPROM控制权。

5)如果PDI未主动释放EEPROM控制,主站可以写0x0500.1=1,强制清除0x0501.0,从PDI夺取EEPROM控制。

2.读/写EEPROM的操作

EEPROM接口支持以下3种操作命令。

① 写一个EEPROM地址。

② 从EEPROM读。

③ 从EEPROM重载EtherCAT从站控制器配置。

需要按照以下步骤执行读/写EEPROM的操作。

1) 检查EEPROM是否空闲(0x0502.15 是否为0)。如果不空闲,则必须等待,直到空闲。

2) 检查EEPROM是否有错误(0x0502.13是否为0,或0x0502.14是否为0)。如果有错误,则写0x0502.[10:8]=[000]清除错误。

3)写EEPROM字地址到EEPROM地址寄存器。

4)如果要执行写操作,首先将要写入的数据写入EEPROM数据寄存器0x0508~0x0509。

5) 写控制寄存器以启动命令的执行。

① 读操作,写0x500.8=1。

② 写操作写0x500.0=1 和0x500.9=1,这两位必须由一个数据帧写完成。0x500.0为写使能位可以实现写保护机制,它对同一数据帧中的EEPROM命令有效,并随后自动清除;对于PDI访问控制不需要写这一位。

③ 重载命令,写0x500.10=1。

6)EtherCAT主站发起的读/写操作是在数据帧结束符EOF(EndOfFrame)之后开始执行的,PDI发起的操作则马上被执行。

7)等待EEPROM忙位清除(0x0502.15是否为0)。

8)检查EEPROM错误位。如果EEPROM应答丢失,可以重新发起命令,即回到第5)步。在重试之前等待一段时间,使EEPROM有足够时间保存内部数据。

9)获取执行结果。

① 读操作,读到的数据在EEPROM数据寄存器0x0508~0x050F中,数据长度可以是2或4个字节,取决于0x0502.6。

② 重载操作,EtherCAT从站控制器配置被重新写入相应的寄存器。

在EtherCAT从站控制器上电启动时,将从EEPROM载入开始的7个字节,以配置PDI接口。

3.7.3 EEPROM操作的错误处理

EEPROM接口操作错误由EEPROM控制/状态寄存器0x0502~0x0503指示,见表3-54。

EtherCAT从站控制器在上电或复位后读取EEPROM中的配置数据,如果发生错误,则重试读取。连续两次读取失败后,设置设备信息错误位,此时EtherCAT从站控制器数据链路状态寄存器中PDI允许运行位(0x0110.0)保持无效。发生错误时,所有由EtherCAT从站控制器配置区初始化的寄存器保持其原值,EtherCAT从站控制器过程数据存储区也不可访问,直到成功装载EtherCAT从站控制器配置数据。

EEPROM无应答错误是一个常见的问题,更容易在PDI操作EEPROM时发生。

连续写EEPROM时产生无应答错误的原因如下。

1)EtherCAT主站或PDI发起第一个写命令。

2)EtherCAT从站控制器将写入数据传送给EEPROM。

3)EEPROM内部将输入缓存区中数据传送到存储区。

4) 主站或PDI发起第二个写命令。

5)EtherCAT从站控制器将写入数据传送给EEPROM,EEPROM不应答任何访问,直到上次内部数据传送完成。

6)EtherCAT从站控制器设置应答/命令错误位。

7)EEPROM执行内部数据传送。

8)EtherCAT从站控制器重新发起第二个命令,命令被应答并成功执行。

表3-54EEPROM接口操作错误