跳转至

GTN_SetMcConfig

指令原型:

GT_API GTN_SetMcConfig(short core,TMcConfig *pMc)

指令类型:

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

指令说明:

设置控制器资源配置信息。

指令参数说明:

core 核号,正整数,取值范围请参照核号参数范围一栏。
pMc 控制器资源配置信息结构体指针。详情说明请参照TMcConfig
TMcConfig
typedef struct McConfig
{
    TProfileConfig profile[PROFILE_MAX];
    TAxisConfig    axis[AXIS_MAX];
    TControlConfig control[CONTROL_MAX];
    TDacConfig     dac[RES_DAC];
    TStepConfig    step[RES_STEP];
    TCountConfig   encoder[RES_ENCODER];
    TCountConfig   pulse[RES_PULSE];
    TDoConfig      enable[RES_ENABLE];
    TDoConfig      clear[RES_CLEAR];
    TDoConfig      gpo[RES_GPO];
    TDiConfig      limitPositive[RES_LIMIT];
    TDiConfig      limitNegative[RES_LIMIT];
    TDiConfig      alarm[RES_ALARM];
    TDiConfig      home[RES_HOME];
    TDiConfig      gpi[RES_GPI];
    TDiConfig      arrive[RES_ARRIVE];
    TDiConfig      mpg[RES_MPG];
} TMcConfig;
profile:规划器配置信息。详情说明请参照TProfileConfig
TProfileConfig
typedef struct ProfileConfig
{
    short  active;
    double decSmoothStop;
    double decAbruptStop;
} TProfileConfig;
active:资源是否有效。0:有效,1:无效。
decSmoothStop:平滑停止减速度大小,单位pulse/ms2
decAbruptStop:紧急停止减速度大小,单位pulse/ms2

axis:轴配置信息。详情说明请参照TAxisConfig
TAxisConfig
typedef struct AxisConfig
{
    short active;
    short alarmType;
    short alarmIndex;
    short limitPositiveType;
    short limitPositiveIndex;
    short limitNegativeType;
    short limitNegativeIndex;
    short smoothStopType;
    short smoothStopIndex;
    short abruptStopType;
    short abruptStopIndex;
    int32_t  prfMap;
    int32_t  encMap;
    short prfMapAlpha[PRF_MAP_MAX];
    short prfMapBeta[PRF_MAP_MAX];
    short encMapAlpha[ENC_MAP_MAX];
    short encMapBeta[ENC_MAP_MAX];
} TAxisConfig;
active:axis资源是否有效,0:无效。1:有效
alarmType:轴报警绑定的DI类型。
alarmIndex:报警DI类型对应的序号。
limitPositiveType:轴正限位绑定的DI类型。
limitPositiveIndex:正限位DI类型对应的序号。
limitNegativeType:轴负限位绑定的DI类型。
limitNegativeIndex:轴负限位DI类型对应的序号。
smoothStopType:平滑停止绑定的DI类型。
smoothStopIndex:平滑停止DI类型对应的序号。
abruptStopType:紧急停止绑定的DI类型。
abruptStopIndex:紧急停止DI类型对应的序号。
prfMap:规划器资源的按位映射,即bit0~bit31分别表示规划器1~规划器32。
encMap:编码器资源的按位映射,即bit0~bit31分别表示编码器1~编码器32
prfMapAlpha:规划器资源的Alpha系数数组。
prfMapBeta:规划器资源的Beta系数数组。
encMapAlpha:编码器资源的Alpha系数数组。
encMapBeta:编码器资源的Beta系数数组。

control:控制器配置信息。详情说明请参照TControlConfig
TControlConfig
typedef struct ControlConfig
{
    short active;
    short axis;
    short encoder1;
    short encoder2;
    int32_t  errorLimit;
    short filterType[3];
    short encoderSmooth;
    short controlSmooth;
} TControlConfig;
active:axis资源是否有效,0:无效。1:有效
axis:axis资源序号。
正整数,取值范围请参照轴号参数范围一栏。
encoder1:第1路编码器资源序号。
正整数,取值范围请参照轴号参数范围一栏。
encoder2:保留参数。
errorLimit:误差极限,非负数。
filterType:控制算法模式。
0:标准PID算法。默认模式。
1:双环算法。
encoderSmooth:保留参数。
controlSmooth:保留参数。

dac:dac配置信息。详情说明请参照TDacConfig
TDacConfig
typedef struct DacConfig
{
    short active;
    short control;
    short reverse;
    short bias;
    short limit;
} TDacConfig;
active:资源是否有效。0:有效,1:无效。
control:闭环控制器序号, 正整数,取值范围请参照轴号参数范围一栏。 其他值:表示dac和闭环控制无关。
reverse:闭环输出是否取反。0:不取反,1;取反。
bias:闭环输出零漂补偿。
limit:闭环输出上限值,大于0。

step:step配置信息。详情说明请参照TStepConfig
TStepConfig
typedef struct StepConfig
{
    short active;
    short axis;
    short mode;
    short parameter;
    short reverse;
} TStepConfig;
active:资源是否有效。0:有效,1:无效。
axis:平滑停止减速度大小,单位pulse/ms2
mode:脉冲输出模式。
MOTOR_STEP_DIR(0):脉冲+方向模式
MOTOR_STEP_PULSE(1):正负脉冲模式。
MOTOR_STEP_ORTHOGONAL(2):正交脉冲。
parameter:保留参数,必须为0。
reverse:输出是否取反。0:不取反,1;取反。

encoder:encoder配置信息。详情说明请参照TCountConfig
TCountConfig
typedef struct CountConfig
{
    short active;
    short reverse;
    short filterType;
    short captureSource;
    short captureHomeSense;
    short captureIndexSense;
} TCountConfig;
active:axis资源是否有效,0:无效。1:有效
reverse:取反标志位。0:不取反。1:取反。
filterType:滤波器选择,默认为0。
0:增量超过设置的极限值时用上次的增量预估。
1:增量超过设置的极限值时增量清0。
captureSource:编码器数据来源。0:编码器。1:脉冲计数器。
captureHomeSense:Home捕获的触发沿。
captureIndexSense:Index捕获的触发沿。

pulse:encoder配置信息。详情说明请参照TCountConfig
TCountConfig
typedef struct CountConfig
{
    short active;
    short reverse;
    short filterType;
    short captureSource;
    short captureHomeSense;
    short captureIndexSense;
} TCountConfig;
active:axis资源是否有效,0:无效。1:有效
reverse:取反标志位。0:不取反。1:取反。
filterType:滤波器选择,默认为0。
0:增量超过设置的极限值时用上次的增量预估。
1:增量超过设置的极限值时增量清0。
captureSource:编码器数据来源。0:编码器。1:脉冲计数器。
captureHomeSense:Home捕获的触发沿。
captureIndexSense:Index捕获的触发沿。

enable:enable配置信息。详情说明请参照TDoConfig
TDoConfig
typedef struct DoConfig
{
    short active;
    short axis;
    short axisItem;
    short reverse;
} TDoConfig;
active:资源是否有效。0:有效,1:无效。
reverse:是否取反。0:不取反,1;取反。
axis:数字量输出资源关联的轴号。
axisItem:保留参数。

clear:clear配置信息。详情说明请参照TDoConfig
TDoConfig
typedef struct DoConfig
{
    short active;
    short axis;
    short axisItem;
    short reverse;
} TDoConfig;
active:资源是否有效。0:有效,1:无效。
reverse:是否取反。0:不取反,1;取反。
axis:数字量输出资源关联的轴号。
axisItem:保留参数。

gpo:gpo配置信息。详情说明请参照TDoConfig
TDoConfig
typedef struct DoConfig
{
    short active;
    short axis;
    short axisItem;
    short reverse;
} TDoConfig;
active:资源是否有效。0:有效,1:无效。
reverse:是否取反。0:不取反,1;取反。
axis:数字量输出资源关联的轴号。
axisItem:保留参数。

limitPositive:limitPositive配置信息。详情说明请参照TDiConfig
TDiConfig
typedef struct DiConfig
{
    short active;
    short reverse;
    short filterTime;
} TDiConfig;
active:资源是否有效。0:有效,1:无效。
reverse:是否取反。0:不取反,1;取反。
filterTime:滤波时间,取值范围正整数,非正数时滤波时间为0。单位:中断周期。默认为3。

limitNegative:limitNegative配置信息。详情说明请参照TDiConfig
TDiConfig
typedef struct DiConfig
{
    short active;
    short reverse;
    short filterTime;
} TDiConfig;
active:资源是否有效。0:有效,1:无效。
reverse:是否取反。0:不取反,1;取反。
filterTime:滤波时间,取值范围正整数,非正数时滤波时间为0。单位:中断周期。默认为3。

alarm:alarm配置信息。详情说明请参照TDiConfig
TDiConfig
typedef struct DiConfig
{
    short active;
    short reverse;
    short filterTime;
} TDiConfig;
active:资源是否有效。0:有效,1:无效。
reverse:是否取反。0:不取反,1;取反。
filterTime:滤波时间,取值范围正整数,非正数时滤波时间为0。单位:中断周期。默认为3。

home:home配置信息。详情说明请参照TDiConfig
TDiConfig
typedef struct DiConfig
{
    short active;
    short reverse;
    short filterTime;
} TDiConfig;
active:资源是否有效。0:有效,1:无效。
reverse:是否取反。0:不取反,1;取反。
filterTime:滤波时间,取值范围正整数,非正数时滤波时间为0。单位:中断周期。默认为3。

gpi:gpi配置信息。详情说明请参照TDiConfig
TDiConfig
typedef struct DiConfig
{
    short active;
    short reverse;
    short filterTime;
} TDiConfig;
active:资源是否有效。0:有效,1:无效。
reverse:是否取反。0:不取反,1;取反。
filterTime:滤波时间,取值范围正整数,非正数时滤波时间为0。单位:中断周期。默认为3。

arrive:arrive配置信息。详情说明请参照TDiConfig
TDiConfig
typedef struct DiConfig
{
    short active;
    short reverse;
    short filterTime;
} TDiConfig;
active:资源是否有效。0:有效,1:无效。
reverse:是否取反。0:不取反,1;取反。
filterTime:滤波时间,取值范围正整数,非正数时滤波时间为0。单位:中断周期。默认为3。

mpg:mpg配置信息。详情说明请参照TDiConfig
TDiConfig
typedef struct DiConfig
{
    short active;
    short reverse;
    short filterTime;
} TDiConfig;
active:资源是否有效。0:有效,1:无效。
reverse:是否取反。0:不取反,1;取反。
filterTime:滤波时间,取值范围正整数,非正数时滤波时间为0。单位:中断周期。默认为3。

指令返回值:

请参照通用返回值说明

注意事项: