Elmomc Multi-Axis Motion Controller-Maestro Instrukcja Użytkownika Strona 273

  • Pobierz
  • Dodaj do moich podręczników
  • Drukuj
  • Strona
    / 313
  • Spis treści
  • BOOKMARKI
  • Oceniono. / 5. Na podstawie oceny klientów
Przeglądanie stron 272
B.4.6 Motion Completed Callback Samples
B.4.6.1 MCompleteCallback
// AxisMotionComplete
function run()
global int motionStatus
motionStatus=0
InitAxis(a3)
InitAxis(a4)
sync(0, 10)
//send sync signal to CANbus0 every 10ms
wait(10)
axisHoming(a3, 0)
axisHoming(a4, 0)
end function
function InitAxis(AXIS axis)
axis.rm = 0 //The reference is generated by
// the interpreter command or by
// the user program.
axis.mo = 0
wait(10)
axis.sf = 0
axis.um = 5
axis.tr[1]=100
axis.tr[2]=1
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.amc = 1
end function
function axisHoming(AXIS axis, int home_pos)
global int motionStatus
TRACE( "homing axis %", axis.aid)
axis.px = home_pos
axis.mo = 1
axis.pa = home_pos + 10000
axis./jointfilesconvert/1588249/bg
//wait until axis has stopped
until(motionStatus==axis.aid)
motionStatus=0
TRACE("finish homing")
end function
// Motion Completed handler calls then a target position
reached.
function @motioncompleted(int busId, int objId)
global int motionStatus
switch(objId)
case a3.aid
motionStatus=a3.aid
case a4.aid
motionStatus=a4.aid
end switch
TRACE( "Motion completed for object %", objId )
end function
// VectorMotionComplete
int motionStatus
function run()
global int motionStatus
motionStatus=0
sync(0, 10)
//send a sync signal to CAN bus 0 every 10ms
wait(10)
g1.detach()
v1.attach()
InitVector(v1)
setWorkMode(v1)
vectorHoming(v1,0,0)
//draw line
v1.vsp=70000 // max velocity
v1.vse=0 /* end velocity*/
TRACE("start line")
v1.line(70000, 100000) //go to( 7000,10000)
v1./jointfilesconvert/1588249/bg //action!
//wait until vector has stopped
until(motionStatus==1)
motionStatus=0
TRACE("finish line")
end function
function InitVector(VECTOR vector)
global int motionStatus
int i
vector.rm = 0 //The reference is generated by
the interpreter command or by the user program.
vector.mo = 0
wait(10)
vector.sf = 0
vector.um = 5
vector.tr[1]=100
vector.tr[2]=1
vector.ll[2] = -833333
vector.hl[2] = 833333
vector.VH[2] = 750000
vector.VL[2] = -750000
vector.ll[3] = -1000000000
vector.hl[3] = 1000000000
vector.VL[3] = -999999990
vector.VH[3] = 999999990
vector.vmc=1
end function
function setWorkMode(VECTOR vector)
vector.vum=1
//build trajectory in max. velocity mode
vector.vsc=1
//smooth intersection with max. velocity
vector.vtm=1 //enable PVT motion initialization
vector.vac = 28000000 //max acceleration
vector.vdc = 28000000 //max deceleration
vector.sd = 100000000
end function
Maestro Software Manual Appendix B: Sample Programs
MAN-MASSW (Ver. Q)
B-21
Przeglądanie stron 272
1 2 ... 268 269 270 271 272 273 274 275 276 277 278 ... 312 313

Komentarze do niniejszej Instrukcji

Brak uwag