这里写目录标题
首先附上代码
代码内容如下:
1、X轴回零程序寻找Index回零程序
2、Y轴回零程序寻找Index回零程序
3、LCI基于双轴位置触发基本程序
4、X轴(0轴)的PEG_STATE的使用方法
5、Y轴(0轴)的PEG_STATE的使用方法
6、LCI基于双轴位置触发基本程序与X轴的PEG_STATE融合程序
7、LCI基于双轴位置触发基本程序与Y轴(0轴)的PEG_STATE融合程序
代码
X轴回零程序寻找Index回零程序:
INT X_AXIS ! Define a variable named
FCLEAR ALL
X_AXIS=0! Define axis number (in this case: 0).
xHomed=0
MFLAGS(X_AXIS).17=1
ERRORMAPOFF X_AXIS, 0
ERRORMAPOFF X_AXIS, 1
VEL(X_AXIS)= 10! Set maximum velocity.
ACC(X_AXIS)= 1000! Set acceleration.
DEC(X_AXIS)= 1000! Set deceleration.
KDEC(X_AXIS)= 3000
JERK(X_AXIS)= 10000! Set jerk.
FDEF(X_AXIS).#LL=0! Disable the axis left limit default response.
FDEF(X_AXIS).#RL=0! Disable the axis right limit default response.
FMASK(X_AXIS).#SRL=0
FMASK(X_AXIS).#SLL=0
ENABLE (X_AXIS)! Enable the axis drive.
WAIT 100
IF ^MFLAGS(X_AXIS).#BRUSHOK
COMMUT(X_AXIS)!,0.5,1000
TILL MFLAGS(X_AXIS).#BRUSHOK
END
xHomed=1
WAIT 100
JOG (X_AXIS),+! Move to the left limit switch.
!TILL FAULT(X_AXIS).#LL! Wait for the left limit switch activation.
!JOG (X_AXIS),+! Move to the encoder index.
!TILL ^FAULT(X_AXIS).#LL! Wait for the left limit release.
IST(X_AXIS).#IND=0! Reset the index flag.
TILL IST(X_AXIS).#IND! Wait till motor reaches the index.
SET FPOS(X_AXIS)=FPOS(X_AXIS)-IND(X_AXIS)+10
! Set axis origin to the position of the index.
PTP/E (X_AXIS),0! Move to the origin.
FDEF(X_AXIS).#LL=1! Enable the axis left limit default response
FDEF(X_AXIS).#RL=1! Enable the axis right limit default response
!FMASK(X_AXIS).#SRL=1
!FMASK(X_AXIS).#SLL=1
!SRLIMIT(X_AXIS)=965
!SLLIMIT(X_AXIS)=-2
xHomed=2
STOP
Y轴回零程序寻找Index回零程序:
INT Y_AXIS ! Define a variable named
FCLEAR ALL
Y_AXIS=1! Define axis number (in this case: 0).
yHomed=0
MFLAGS(Y_AXIS).17=1
ERRORMAPOFF Y_AXIS, 0
ERRORMAPOFF Y_AXIS, 1
VEL(Y_AXIS)= 10! Set maximum velocity.
ACC(Y_AXIS)= 1000! Set acceleration.
DEC(Y_AXIS)= 1000! Set deceleration.
KDEC(Y_AXIS)= 3000
JERK(Y_AXIS)= 10000! Set jerk.
FDEF(Y_AXIS).#LL=0! Disable the axis left limit default response.
FDEF(Y_AXIS).#RL=0! Disable the axis right limit default response.
FMASK(Y_AXIS).#SRL=0
FMASK(Y_AXIS).#SLL=0
ENABLE (Y_AXIS)! Enable the axis drive.
WAIT 100
IF ^MFLAGS(Y_AXIS)