跳转至

GTN_SetPosCompareModeEx

指令原型:

GT_API GTN_SetPosCompareModeEx(short core, short posCompareIndex, TPosCompareModeEx* pMode)

指令类型:

立即指令,调用后立即生效。

指令说明:

设置位置比较模式参数。

指令参数说明:

core 核号,正整数,取值范围请参照核号参数范围一栏。
posCompareIndex 位置比较索引号,整数,取值范围请参照位置比较索引号参数范围一栏。
pMode 位置比较模式参数结构体。详情说明请参照TPosCompareModeEx
TPosCompareModeEx
typedef struct
{
    short mode;
    short dimension;
    short sourceMode;
    short source[8];
    short outputMode;
    short outputCounter;
    unsigned short outputPulseWidth;
    unsigned short errorBand;
    short reserve1[2];
    double reserve2[16];
} TPosCompareModeEx;
mode:位置比较模式。
POS_COMPARE_MODE_FIFO(0):Fifo模式。
由用户压位置比较数据,数据点位置是相对启动位置比较时刻的相对位置。
POS_COMPARE_MODE_LINEAR(1):线性模式。
由用户配置输出间隔、数量和起点位置,起点位置是相对启动位置比较时刻的相对位置。
POS_COMPARE_MODE_EQUIDISTANT_BUFFER_PERMIT(3):pso模式。
在插补缓冲区中压入启动和停止等间距输出指令。
POS_COMPARE_MODE_LINEAR_ABS(8):绝对位置线性模式。
由用户配置输出间隔、数量和起点位置,起点位置是绝对位置。
POS_COMPARE_MODE_LINEAR_PRO(11):高速线性模式。
由用户配置输出间隔、数量和起点位置,起点位置是相对启动位置比较时刻的相对位置。
POS_COMPARE_MODE_PSO_PRO(13):优化pso模式。
如果用户设置了轴平滑,pso启动和停止位置自动适配到平滑后的轨迹。
POS_COMPARE_MODE_FIFO_ABS(14):绝对位置Fifo模式。
由用户压位置比较数据,起点位置是绝对位置。
POS_COMPARE_MODE_FIFO_ABS_STATIC(15):绝对位置静态Fifo模式。由用户压位置比较数据,起点位置是绝对位置。
POS_COMPARE_MODE_FIFO_ABS_STATIC_SPACE_PRO(16):绝对位置静态fifo模式,支持批量传输位置比较点。目前仅第一套二维位置比较输出支持该模式。控制器缓冲区空间增大到200万条位置比较输出点。目前仅支持脉冲模式,暂时不支持电平模式。
dimension:维数,取值范围:1、2、3、5。
sourceMode:位置比较源,取值范围:[0,2]。
0:编码器。
1:脉冲计数器。
2:辅助编码器,目前仅GTM支持。
source:位置比较源各轴索引。
source[0]:位置比较源x轴索引值。
source[1]:位置比较源y轴索引值。
source[2]:位置比较源z轴索引值。
source[3]:位置比较源a轴索引值。
source[4]:位置比较源c轴索引值。
outputMode:位置比较输出模式。
0:脉冲。
1:电平。
2:电平自动翻转。
4:一串脉冲。
outputCounter:输出脉冲个数,正整数,取值范围[1,32]。当outputMode = 4时有效。
outputPulseWidth:输出脉冲宽度,单位:us。
当outputMode = 0时,每次到位输出一个脉冲,脉宽为设定值。
当outputMode = 4时,每次到位输出“outputCounter”个脉冲。
                    脉冲低电平时间=高电平时间=outputPulseWidth/2。
当outputMode为其他值时时,该变量无效。
errorBand:误差带。
如果是通用版本,取值范围:[0,511]。
如果是支持16位误差带版本,取值范围:[0,65535]。
reserve1:保留值,必须写0。
reserve2:保留值,必须写0。

指令返回值:

请参照通用返回值说明

相关指令:

GTN_GetPosCompareModeEx

指令示例:

位置比较一维linear模式设置多组参数例程

位置比较输出二维pso模式(GSN+403)例程

位置比较输出二维pso模式(GSN+2xGSHD+403)例程

位置比较输出二维pso模式叠加功能(GSN+403)例程

位置比较输出二维pso模式叠加功能(GSN+4xGSHD+2x403)例程

二维位置比较模式16(GSN+GNM403-05)例程

注意事项:

如果位置比较输出为POS_COMPARE_MODE_FIFO_ABS_STATIC(15):绝对位置静态Fifo模式。启动位置比较后不允许再调指令GTN_PosCompareData压数据,否则返回错误。如果需要再次使用之前下压的位置比较点数据,需要先调用GTN_PosCompareStop停止位置比较,再调用指令GTN_PosCompareStart重新启动位置比较,只是不用重新压数据。