使用编码器捕捉

概述

捕捉功能能够根据外部输入信号存储当前的计数器值。

每个编码器有 2 个捕捉寄存器(CAP0 和 CAP1)。这些寄存器可以通过 2 种方式使用:

o最多 2 个位置捕捉

o1 个距离捕捉

使用此功能,需要:

o配置可选的捕捉输入:CAP

o使用 EXPERTGetCapturedValue 功能块来检索在应用程序中捕捉到的值。

捕捉原理

下图说明了位置捕捉的工作方式(仅显示了一个寄存器):

G-RU-0010563.2.gif

 

 

阶段

操作

1

En_Cap = 0 时,无法执行此功能。

2

EN_Cap = 1 时,CAP 上的跳变沿会捕捉当前的计数器值并将其放入捕捉寄存器,然后触发 Cap_Flag 的上升沿。

3

使用 EXPERTGetCapturedValue 获取存储的值。

4

Cap_Flag = 1 时,忽略物理输入 CAP 上任何新的跳变沿。

5

Encoder 功能块输入 ACK_Cap 的上升沿会触发下降沿 Cap_Flag 输出。

准许新的捕捉。

距离捕捉的原理

使用编码器时,距离捕捉可以获取 CAP 输入每个跳变沿间的差异,如下图所示:

G-SE-0002955.1.gif

 

 

阶段

操作

1

Cap 的上升沿捕捉当前计数器值并将其存入第一个捕捉寄存器。

2

Cap 的下降沿捕捉当前计数器值并将其存入第二个捕捉寄存器,然后触发 Cap0_Flag 的上升沿。

3

使用 EXPERTGetCapturedValue 获取存储的值。

EXPERTGetCapturedValue 功能块可以获取:

o上升沿上的位置

o下降沿上的位置

o距离值

4

Cap0_Flag = 1 时,忽略物理输入 CAP 上任何新的跳变沿。

5

编码器功能块输入 ACK_Cap 的上升沿会触发下降沿 Cap_Flag 输出。

准许新的捕捉。

注意: 对于旋转轴,距离始终为正值,即使下降沿上的位置小于上升沿上的位置。