
!MX3_setup()
//!MX3_setup_sim() // comment out !MX3_setup() when this is active
//!MX3_home()
//using 360000 for 1 rev. -> 1.7453292519943296e-05=np.pi/180000
//excentricity= 5mm
//height      = 90+28mm = 118
//width       = (450+305)/2=377.5
//length      = 600mm
!MX3_coordTrf(exc=5000,height=118000,width=377500,length=600000,camSf=1.7453292519943296e-05)

//Motor 1 -> AA2
//Motor 2 -> AA1
//Motor 3 -> AA5
//Motor 4 -> AA3
//Motor 5 -> AA4

//  define(AA1='L1',AA2='L2',AA3='L3',AA4='L4',AA5='L5')
//  define(AA1='L2',AA2='L1',AA3='L4',AA4='L5',AA5='L3')

Coord[1].Ta=10
Coord[1].Td=10
Coord[1].AltFeedRate=1000
Coord[1].Tm=-10000  //1000um/FeedTime -> 1mm/sec
Coord[1].FeedTime=1000 //default value 1000um

 //motor current off (as cpxcall 16)
Motor[1].IdCmd=0;Motor[1].InPosBand=10
Motor[2].IdCmd=0;Motor[2].InPosBand=10
Motor[3].IdCmd=0;Motor[3].InPosBand=10
Motor[4].IdCmd=0;Motor[4].InPosBand=10
Motor[5].IdCmd=0;Motor[5].InPosBand=10

//#1..5hmz
//#1..5j/
&1

//initialization code
open plc 0
  homez1..5
  L0 = Sys.RunTime + .1
  while (Sys.RunTime < L0){} //wait .1 sec
  jog/1..5
  while (Sys.RunTime < L0){} //wait .1 sec

  if (Motor[1].ActPos-Motor[1].HomePos<-180000)
    Motor[1].HomePos=Motor[1].HomePos-360000
  if (Motor[2].ActPos-Motor[2].HomePos<-180000)
    Motor[2].HomePos=Motor[2].HomePos-360000
  if (Motor[3].ActPos-Motor[3].HomePos<-180000)
    Motor[3].HomePos=Motor[3].HomePos-360000
  if (Motor[4].ActPos-Motor[4].HomePos<-180000)
    Motor[4].HomePos=Motor[4].HomePos-360000
  if (Motor[5].ActPos-Motor[5].HomePos<-180000)
    Motor[5].HomePos=Motor[5].HomePos-360000
  disable plc 0
close // plc 0

enable plc 0


