跳转至

GTN_WriteDigitalOutput

指令原型:

GT_API GTN_WriteDigitalOutput(short core,TDigitalOutput *pDo,TListInfo *pListInfo)

指令类型:

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

指令说明:

设置数字IO输出状态。 若do有挂接轴,则对应的不能直接输出。默认驱动器使能与轴挂接,所以用户不能调用该指令设置驱动器使能输出的电平。

指令参数说明:

core 核号,正整数,取值范围请参照核号参数范围一栏。
pDo DO输出参数结构体指针,详情说明请参照TDigitalOutput
TDigitalOutput
typedef struct DigitalOutput
{
    short mode;              
    short doType;
    short doIndex;
    short doCount;
    short* pValue;
    short reverse1[2];
    int32_t  reserve2[2];
    TWriteDigitalOutputMode prm;
}TDigitalOutput;
mode:DO输出模式。
0:立即输出。输出电平或脉冲。
1:在距离目标点还有指定距离时,延时一段时间后输出。
2:等距离输出。
3:等时间输出。
doType:DO输出类型。
MC_ENABLE(10):使能信号。
MC_CLEAR(11):报警清除信号。
MC_GPO(12):通用输出。
doIndex:DO输出的索引,和参数doType有关。
MC_LIMIT_POSITIVE(0):正限位。
MC_LIMIT_NEGATIVE(1):负限位。
MC_ALARM (2):驱动报警。
MC_HOME(3):原点开关。
MC_ARRIVE(5):到位信号
正整数,取值范围请参照轴号参数范围一栏。
MC_GPO(12):通用输出。
取值范围请参照通用输出(MC_GPO)参数范围一栏。
doCount:DO输出的个数。
pValue:DO输出的值。默认情况下,1表示高电平,0表示低电平。
reserve1:保留参数,必须为0。
reserve2:保留参数,必须为0。
prm:不同DO输出模式下对应的参数意义。详情说明请参照TWriteDigitalOutputMode
TWriteDigitalOutputMode
typedef struct WriteDigitalOutputMode
{
    TAtParameter atPrm;
    TPsoParameter psoPrm;
    TTsoParameter tsoPrm;
    TDoReverseParameter doReverse;
    double data[10];
}TWriteDigitalOutputMode;
atPrm:在距离目标点还有指定距离时,延时一段时间后输出。详情说明请参照TAtParameter
TAtParameter
typedef struct AtParameter
{
    double distance;
    double delayTime;
    double reserve[8];
}TAtParameter;
distance:在距离目标点指定距离,单位为mm。
delayTime:在距离目标点延时时间,单位为ms。
reserve:保留参数,必须为0

psoPrm:等距离输出。详情说明请参照TPsoParameter
TPsoParameter
typedef struct PsoParameter
{
    double distance;
    double reserve[9];
}TPsoParameter;
distance:指定距离间距,单位为mm。
reserve:保留参数,必须为0。

tsoPrm:等时间输出。详情说明请参照TTsoParameter
TTsoParameter
typedef struct TsoParameter
{
    double time;
    double reserve[9];
}TTsoParameter;
time:指定时间间距,单位为ms。
reserve:保留参数,必须为0

doReverse:取反。详情说明请参照TDoReverseParameter
TDoReverseParameter
typedef struct DoReverseParameter
{
    double time;
    double reserve[9];
}TDoReverseParameter;
time:输出保持时间,单位为mm。
reserve:保留参数,必须为0。

data:保留参数,必须为0
pListInfo 指令流参数结构体指针。详情说明请参照TListInfo
TListInfo
typedef struct  
{
    short list; 
    short reserve1[2];
    short modal;
    long segNum;
    long reserve2[3];
    double reserve3[4];
} TListInfo;
list:指令压入的指令流号,取值范围:[0, 4]。
当pListInfo为空或者list=0时,指令为立即指令,调用后立即生效。
当list>0时,指令为list指令,调用后被发送到指令流中,在启动指令流后顺序执行到该指令才生效。
modal:为1时表示阻塞指令流,等待当前指令完成。本指令不需要设置此参数。
segNum:指令段号,取值范围:[-2147483648, 2147483647]。
reserve1:保留参数,必须为0。
reserve2:保留参数,必须为0。
reserve3:保留参数,必须为0。

指令返回值:

请参照通用返回值说明