高速硬件捕获¶
1.1 简介¶
硬件捕获即当某一种信号触发时(包括上升沿或下降沿),运动控制器能准确记录触发时刻轴的编码器位置信息。控制器支持三种捕获模式:Home捕获、Index捕获和探针(Probe)捕获。本章将详细介绍这三种捕获方式以及如何在应用程序中实现。
1.2 指令列表¶
| 指令 | 说明 |
|---|---|
| GTN_SetTriggerPrm | 设置Trigger捕获触发模式,并启动捕获。 |
| GTN_GetTriggerPrm | 读取Trigger捕获触发模式。 |
| GTN_GetTriggerLatchValue | 设置循环捕获后,批量读取Trigger的捕获值。 |
| GTN_GetTriggerLatchValueUser | 设置捕获同时保存用户变量功能时,批量读取Trigger的捕获值以及保存的用户变量值。 |
| GTN_GetTriggerStatusEx | 读取捕获状态。 |
| GTN_ClearTriggerStatus | 清除捕获状态。 |
1.3 重点说明¶
每个Trigger资源互相独立,通过指令GTN_SetTriggerPrm可以将Trigger设置为不同的捕获触发模式、锁存不同的编码器并开启捕获功能。控制器会一直检测捕获是否触发,当Home、Index或者探针(通用输入)等信号触发后,对应的捕获触发标志位会置1,调用指令GTN_GetTriggerStatusEx可以查看捕获状态和捕获锁存的位置信息。捕获触发标志位会保持为1,直到重新调用指令GTN_SetTriggerPrm控制器会自动清除触发标志位并使能新的捕获参数。
重要
不同的捕获模式下,触发信号检测和位置锁存功能都是在网络模块上实现的,所以捕获资源(Trigger)、捕获触发源(通用输入、Index或Home)和捕获锁存位置(轴编码器或者辅助编码器)三种类型的资源必须在同一个网络型模块。
1.3.1 控制器Trigger资源¶
不同类型的控制器Trigger的软件资源个数不一样,Trigger资源和轴资源保持一致,详细请参考下表,也可以通过指令GTN_GetResCount(参数type = MC_TRIGGER)获取控制器的Trigger软件资源个数。
| 型号 | 核1 | 核2 |
|---|---|---|
| GSN-008-G-00 | 8 | - |
| GSN-008-V-00 | 8 | - |
| GSN-008-LT-01 | 8 | - |
| GSN-024-G-01 | 12 | 12 |
| GSN-024-V-01 | 12 | 12 |
| GSN-024-LT-01 | 12 | 12 |
| GSN-048-G-01 | 24 | 24 |
1.3.2 网络模块Trigger资源¶
网络型模块的位置比较输出资源和硬件输出类型及资源个数:
| 模块类型 | Trigger个数 |
|---|---|
| GNM4xx | 4 |
| GNM6xx | 6 |
| 伺服驱动器 | 1 |
| GTM | 和所接轴子板相关,几个轴就几路Trigger |
1.3.3 Home捕获¶
Home捕获模式下,当网络模块检测到Home信号的下降沿(默认为下降沿捕获触发)时,网络模块会立刻锁存该时刻的编码器位置或者辅助编码器位置,同时将捕获状态标志位置1。
1.3.4 Index捕获¶
Index捕获模式下,当网络模块检测到Index信号(编码器C相)的下降沿(默认为下降沿捕获触发)时,网络模块会立刻锁存该时刻的编码器位置或者辅助编码器位置,同时将捕获状态标志位置1。
1.3.5 探针(probe)捕获¶
探针(probe)捕获模式下,当网络模块检测到通用数字量输入信号(GPI)的下降沿(默认为下降沿捕获触发)时,网络模块会立刻锁存该时刻的编码器位置或者辅助编码器位置,同时将捕获状态标志位置1。
1.3.6 重复捕获¶
通过指令GTN_SetTriggerPrm(设置参数loop)可以实现多次或者无限次循环捕获,即重复捕获,具体参数说明可参考指令详细说明。
设置重复捕获后,当捕获源被触发时,控制器会锁存指定的编码器位置并重新等待捕获信号再次触发。每个Trigger每次最多可以连续锁存2048个位置值,通过指令GTN_SetTriggerPrm(设置参数fifoMode)可以设置捕获位置锁存模式。捕获值可以通过GTN_GetTriggerLatchValue来批量读取。
1.4 例程¶
例程
- 一个触发源同时捕获多轴编码器位置:
- 多个触发源锁存同一个编码器位置:
- 重复捕获功能