EtherCAT状态机(ESM)
EtherCAT状态机定义了每个EtherCAT从站设备的分步设置,并指示了可用的功能。设备可以拒绝来自主站的状态请求,并通过错误指示(AL 状态寄存器中的错误标志)和相关错误代码(AL 状态代码寄存器)发出错误信号。状态请求、状态响应和错误响应通过 ESC AL 控制寄存器 (reg0x0120)、AL 状态寄存器 (reg0x0130) 和 AL 状态代码寄存器 (reg0x0134) 进行交换。ESM指定从机行为,而主机分别从机状态。下面的 ESM 描述概述了每个状态转换的基本操作:主设备发送的命令和连接设备的(本地)行为。
上图描述了从站从INIT到OP的过程。INIT到OP过程是不能出现状态跳跃的,回退过程可以出现状态跳跃。
下面介绍从INIT到OP的过程,也就是从站初始化到工作的过程。
1、INIT状态,从站上电处于INIT状态
主站可以读取从站的设备信息和做一些准备进入pre-op初始化的配置
(1)清除从站FMMU和SyncManagers配置
(2)设置从站的地址和mailbox信息
(3)如果使用DC、设置DC的传输延时和启动的偏移时间,并进行若干次的时钟同步
设置了上述信息后,从站检查无误后,主站可以请求进入pre-op状态,如果不能进入pre-op可以读取相关寄存器,判断错误原因
2、pre-op状态
(1)主站设置从站需要映射的pdo数据,配置好FMMU的映射
(2)如果使用DC需要配置DC的周期时间、启动时间、触发方式、及开始同步DC时钟
(3)第一步已经配置好pdo数据及映射关系,可以开始发送pdo数据
设置了上述信息后,从站检查无误后,主站可以请求进入safe-op状态,如果不能进入safe-op可以读取相关寄存器,判断错误原因
3、safe-op状态
pre-op状态已经把数据都配置完成了,在safe-op状态基本不需要再进行配置了
safe-op状态主要把pdo中的数据设置的从站中,确认从站是否会报错
判断从站DC同步是否达到一个稳定值
DC同步稳定,从站也没有报错就可以申请进入op状态
4、OP状态
进入op状态后就可以对伺服进行运动控制