
B.3.13.5 Drill Machine
//Axis X name a1
//Axis Y name a2
//Axis Z name a3
// TODO: Global Variables Declaration...
//declaration of N dimension array
ArrayName[size0,size1,....,sizeN]
int arrX[10] //declaration of one dimension array
//Arrayname[size]
int arrY[10]
int arrZ[10,10] //declaration of two dimension array
//ArrayName[size0,size1]
int speedXY
int speedZ
// Entry point of the application.
function run()
// TODO: Global Variables Declaration inside the
Function...
global int arrX[]
global int arrY[]
global int speedXY
global int speedZ
// TODO: Local Variables Declaration...
int indX,indY
sync(0,40)
speedXY = 10000
speedZ = 30000
indX = 0
indY = 0
// TODO: Add your specialized code here...
homing(a1,0)
homing(a2,0)
homing(a3,0)
CreateDrilTable()//for test this program only
a3.sp = speedZ
for indX=0:(arrX.size-1)
for indY=0:(arrY.size-1)
DrilPos(indX,indY)
end for
end for
end function
function InitAxis(AXIS axis)
global int speedXY
axis.mo = 0
wait(10)
axis.rm = 0
//The reference is generated by the interpreter
//command or by the user program.
axis.sf = 0
axis.um = 5
axis.ll[2] = -833333
axis.hl[2] = 833333
axis.VH[2] = 750000
axis.VL[2] = -750000
axis.ll[3] = -1000000000
axis.hl[3] = 1000000000
axis.VL[3] = -999999990
axis.VH[3] = 999999990
axis.sp = speedXY
end function
function homing(AXIS axis, int home_pos)
InitAxis(axis)
// axis.mo = 0
// wait(10)
axis.px = home_pos
axis.mo = 1
wait(10)
axis.pa = home_pos
axis./jointfilesconvert/1588249/bg
end function
function DrilPos(int IndX,int IndY)
//Global Variables Declaration inside the Function...
global int arrX[]
global int arrY[]
global int arrZ[]
global int speedZ
int posZ
posZ = arrZ[IndX,IndY]
if(posZ==0)
return
end if
// table X/Y moving
a1.PA = arrX[IndX]
a2.PA = arrX[IndY]
V1./jointfilesconvert/1588249/bg
while (a2.ms==2||a1.ms==2)
wait(10)
end while
//axis Z to position according index X and index Y
a3.PA = posZ
a3./jointfilesconvert/1588249/bg
while (a3.ms==2)
wait(10)
end while
//axis Z back to pos=0
a3.PA = 0
a3./jointfilesconvert/1588249/bg
while (a3.ms==2)
wait(10)
end while
end function
function CreateDrilTable()
global int arrX[]
global int arrY[]
global int arrZ[]
int ind
for ind=0:(arrX.size-1)
arrX[ind] = 10000*ind
arrY[ind] = 10000*ind
end for
arrZ[1,1] = 20000
arrZ[2,2] = 10000
arrZ[3,3] = 20000
arrZ[5,5] = 10000
arrZ[9,9] = 10000
end function
Maestro Software Manual Appendix B: Sample Programs
MAN-MASSW (Ver. Q)
B-14
Comentarios a estos manuales