//simulated stage without real motors needed
$$$***
!common()
//!common(PhaseFreq=20000,PhasePerServo=4)
//!common(PhaseFreq=20000,PhasePerServo=1)
//!common(PhaseFreq=40000)

//Mot 1: Rotation stage LS Mecapion MDM-DC06DNC0H    32 poles = 1 rev = 16*2048=32768 phase_step
//Enc 1: Rotation stage LS Mecapion                  1 rev = 1048576 enc_steps

//Mot 2: Stage Y Parker MX80L D11 25mm               one pole cycle = 13mm = 2048 phase_step
//Enc 2: Stage Y Parker MX80L D11 inc_enc 20nm       one pole cycle = 13mm = 650000 enc_step (20nm/enc_step)

//Mot 3: Stage X Parker MX80L D11 25mm               one pole cycle = 13mm = 2048 phase_step
//Enc 3: Stage X Parker MX80L D11 inc_enc 20nm       one pole cycle = 13mm = 650000 enc_step (20nm/enc_step)

//Mot/Enc 4: camera base plate X
//           OBSOLETE: Enc 4: Interferometer 1

//Mot/Enc 5: camera base plate Y
//           OBSOLETE Enc 5: Interferometer 2

//Mot 6: Backlight                                2.3A

//Mot 7: Stada Stepper:                           670mA 200 poles 1 rev = 100*2048 phase_step (2 stepper motor)
//Enc 7: Renishaw absolute BiSS

//Mot 8: Stada Stepper:                           670mA 200 poles 1 rev = 100*2048 phase_step (2 stepper motor)
//Enc 8: Renishaw absolute BiSS

//use some step and direction lines to setup simulate motors
// /afs/psi.ch/user/h/humar_t/public/Modules/XMI/cfg/xmi.cfg

!encoder_sim(enc=1,tbl=1,mot=1)
!motor(mot=1,dirCur=0,contCur=100,peakCur=100,timeAtPeak=1,JogSpeed=8.,numPhase=3,invDir=True)
Motor[1].pLimits=0;Motor[1].AmpFaultLevel=0;Motor[1].pAmpEnable=0;Motor[1].pAmpFault=0

!encoder_sim(enc=2,tbl=2,mot=2)
!motor(mot=2,dirCur=0,contCur=100,peakCur=1000,timeAtPeak=1,JogSpeed=8.,numPhase=3,invDir=True)
Motor[2].pLimits=0;Motor[2].AmpFaultLevel=0;Motor[2].pAmpEnable=0;Motor[2].pAmpFault=0

!encoder_sim(enc=3,tbl=3,mot=3)
!motor(mot=3,dirCur=0,contCur=100,peakCur=1000,timeAtPeak=1,JogSpeed=8.,numPhase=3,invDir=True)
Motor[3].pLimits=0;Motor[3].AmpFaultLevel=0;Motor[3].pAmpEnable=0;Motor[3].pAmpFault=0

!encoder_sim(enc=4,tbl=4,mot=4)
!motor(mot=4,dirCur=0,contCur=100,peakCur=1000,timeAtPeak=1,JogSpeed=8.,numPhase=3,invDir=True)
Motor[4].pLimits=0;Motor[4].AmpFaultLevel=0;Motor[4].pAmpEnable=0;Motor[4].pAmpFault=0

!encoder_sim(enc=5,tbl=5,mot=5)
!motor(mot=5,dirCur=0,contCur=100,peakCur=1000,timeAtPeak=1,JogSpeed=8.,numPhase=3,invDir=True)
Motor[5].pLimits=0;Motor[5].AmpFaultLevel=0;Motor[5].pAmpEnable=0;Motor[5].pAmpFault=0

!encoder_sim(enc=6,tbl=6,mot=6)
!motor(mot=6,dirCur=0,contCur=100,peakCur=1000,timeAtPeak=1,JogSpeed=8.,numPhase=3,invDir=True)
Motor[6].pLimits=0;Motor[6].AmpFaultLevel=0;Motor[6].pAmpEnable=0;Motor[6].pAmpFault=0

!encoder_sim(enc=7,tbl=7,mot=7)
!motor(mot=7,dirCur=0,contCur=100,peakCur=1000,timeAtPeak=1,JogSpeed=8.,numPhase=3,invDir=True)
Motor[7].pLimits=0;Motor[7].AmpFaultLevel=0;Motor[7].pAmpEnable=0;Motor[7].pAmpFault=0

!encoder_sim(enc=8,tbl=8,mot=8)
!motor(mot=8,dirCur=0,contCur=100,peakCur=1000,timeAtPeak=1,JogSpeed=8.,numPhase=3,invDir=True)
Motor[8].pLimits=0;Motor[8].AmpFaultLevel=0;Motor[8].pAmpEnable=0;Motor[8].pAmpFault=0


!coordTrf()