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

3.5 EtherCAT从站控制器的应用层控制

3.5.1 EtherCAT从站控制器的状态机控制和状态

EtherCAT从站控制器的状态机控制和状态寄存器描述见表3-44。

表3-44EtherCAT从站控制器的状态机控制和状态寄存器描述

EtherCAT主站和从站按照如下规则执行状态转化。

1) 主站要改变从站状态时,将目的状态写入从站AL控制位(0x0120.0~3)。

2) 从站读取到新状态请求之后检查自身状态。

① 如果可以转化,则将新的状态写入状态机实际状态位(0x0130.0~3)。

② 如果不可以转化,则不改变实际状态位,设置错误指示位(0x0130.4),并将错误码写入0x0134~0x0135。

3)EtherCAT主站读取状态机实际状态(0x0130)。

① 如果正常转化,则执行下一步操作。

② 如果出错,主站读取错误码并写AL错误应答(0x0120.4)来清除AL错误指示。

使用微处理器PDI接口时,AL控制寄存器由握手机制操作。ECAT写AL控制寄存器后,PDI必须执行一次,否则,ECAT不能继续写操作。只有在复位后ECAT才能恢复写AL控制寄存器。

PDI接口为数字量I/O时,没有外部微处理器读AL控制寄存器,此时主站设置设备模拟位0x0140.8=1,EtherCAT从站控制器将自动复制AL控制寄存器的值到AL状态寄存器。

EtherCAT从站控制器的AL状态码描述见表3-45。表中“+E”表示设置了AL错误指示位(0x0130.4)。

表3-45EtherCAT从站控制器的AL状态码描述

(续)

(续)

3.5.2 EtherCAT从站控制器的中断控制

EtherCAT从站控制器的支持以下两种类型的中断。

① 给本地微处理器的AL事件请求中断。

② 给主站的ECAT帧中断。

分布时钟的同步信号也可以用作微处理器的中断信号。

EtherCAT从站控制器的中断控制寄存器描述见表3-46。

表3-46EtherCAT从站控制器的中断控制寄存器描述

(续)

1.PDI中断

AL事件的所有请求都映射到寄存器0x0220~0x0223,由事件屏蔽寄存器0x0204~0x0207决定哪些事件将触发给微处理器的中断信号IRQ。

微处理器响应中断后,在中断服务程序中读取AL事件请求寄存器,根据所发生的事件做出相应的处理。

2.ECAT帧中断

ECAT帧中断用来将从站所发生的AL事件通知EtherCAT主站,并使用EtherCAT子报文头中的状态位传输ECAT帧中断请求寄存器0x0210~0x0211。ECAT帧中断屏蔽寄存器0x0200~0x0201决定哪些事件会被写入状态位并发送给EtherCAT主站。

3.SYNC同步信号中断

SYNC同步信号可以映射到IRQ信号以触发中断。此时,同步引脚可以用作Latch输入引脚,IRQ信号有40ns左右的抖动,同步信号有12ns左右的抖动。因此也可以将SYNC信号直接连接到微处理器的中断输入信号,微处理器将快速响应同步信号中断。

3.5.3 EtherCAT从站控制器的WDT控制

EtherCAT从站控制器支持以下两种内部WDT。

① 监测过程数据刷新的过程数据WDT。

② 监测PDI运行的WDT。

EtherCAT从站控制器的WDT相关寄存器描述见表3-47。

1.过程数据WDT

通过设置SM控制寄存器(0x0804+Nx8)的位6来使能相应的过程数据WDT。设置过程数据WDT定时器的值(0x0420~0x0421)为零将使WDT无效。过程数据缓存区被刷新后,过程数据WDT将重新开始计数。

过程数据WDT超时后,将触发如下操作。

1)设置过程数据WDT状态寄存器0x0440.0=0。

2) 数字量I/OPDI接口收回数字量输出数据,不再驱动输出信号或拉低输出信号。

3) 过程数据WDT超时计数寄存器(0x0442) 增加。

2.PDIWDT

一次正确的PDI读写操作可以启动PDIWDT重新计数。设置PDIWDT定时器的值(0x0410~0x0411)为零将使WDT无效。

PDI WDT超时后,将触发以下操作。

1)设置EtherCAT从站控制器的DL状态寄存器0x0110.1,DL状态变化映射到ECAT帧的子报文状态位后,并将其发给EtherCAT主站。

2)PDIWDT超时计数寄存器(0x0443)值增加。

表3-47EtherCAT从站控制器的WDT相关寄存器描述