TDigitalOutputPro¶
DO输出参数结构体
结构体说明:
typedef struct DigitalOutputPro
{
short mode;
short doType;
short doIndex;
short doCount;
short *pValue;
short reverse1[2];
long reserve2[2];
TWriteDigitalOutputProPrmUnion prm;
}TDigitalOutputPro;
1:延时一段时间后输出。纯延时输出,指令流中执行到该指令后,延时设定的时间后立即do输出。
2:执行下一条插补指令时,按照设定的距离,段前延迟输出或者段末提前输出。
3:执行下一条插补指令时,按照设定的时间,段前延迟输出或者段末提前输出。
模式2和模式3与插补指令相关联,执行下一条插补指令时才开始计时或者计算距离。
doIndex:DO输出的索引,和参数doType有关。
正整数,取值范围请参照轴号参数范围一栏。
取值范围请参照通用输出(MC_GPO)参数范围一栏。
doCount:DO输出的个数。
pValue:DO输出的值。默认情况下,1表示高电平,0表示低电平。
reserve1:保留参数,必须为0。
reserve2:保留参数,必须为0。
prm:不同DO输出模式下对应的参数意义。详情说明请参照TWriteDigitalOutputProPrmUnion
TWriteDigitalOutputProPrmUnion
typedef union WriteDigitalOutputProPrmUnion
{
double data[30];
TDigitalOutputProDelay delay;
TDigitalOutputProByMoveTime moveTime;
TDigitalOutputProByMoveDistance moveDistance;
}TWriteDigitalOutputProPrmUnion;
delay:延时一段时间后输出模式。详情说明请参照TDigitalOutputProDelay
TDigitalOutputProDelay
<b>time</b>:延时输出的时间,单位:ms。<br>
</details><br>
<b>moveTime</b>:执行下一条插补指令时,按照设定的时间,段前延迟输出或者段末提前输出。详情说明请参照<a href="结构体说明/TDigitalOutputProByMoveTime.html"
target="_self">TDigitalOutputProByMoveTime</a>
<br>
<details open>
<summary>TDigitalOutputProByMoveTime</summary>
```C++
typedef struct DigitalOutputProByMoveTime
{
short type;
short motionType;
short reserve1[2];
double delayTime;
}TDigitalOutputProByMoveTime;
```
<b>type</b>:模式。<br>
```
type=0: 开始运动后延时delayTime后Do输出。
type=1: 运动结束前提前delayTimeDo输出。
```
<b>motionType</b>:保留参数,必须为0,目前只支持插补运动指令。<br>
<b>reserve1</b>:保留参数,必须为0。<br>
<b>delayTime</b>:时间,单位:ms。<br>
</details><br>
<b>moveDistance</b>:执行下一条插补指令时,按照设定的距离,段前延迟输出或者段末提前输出。详情说明请参照<a href="结构体说明/TDigitalOutputProByMoveDistance.html"
target="_self">TDigitalOutputProByMoveDistance</a>
<br>
<details open>
<summary>TDigitalOutputProByMoveDistance</summary>
```C++
typedef struct TDigitalOutputProByMoveDistance
{
short type;
short motionType;
long delayTime;
double distance;
}TDigitalOutputProByMoveDistance;
```
<b>type</b>:模式。<br>
```
0:距离起点distance后Do输出。
1:距离终点distance时Do输出。
```
<b>motionType</b>:保留参数,必须为0,目前只支持插补运动指令。<br>
<b>reserve1</b>:保留参数,必须为0。<br>
<b>distance</b>:运动distance后Do输出,单位mm。<br>
</details><br>
</details>
相关指令: