diff --git a/ESB_MX.subs b/ESB_MX.subs index 4ddef1f..6d8a8e1 100644 --- a/ESB_MX.subs +++ b/ESB_MX.subs @@ -23,4 +23,6 @@ pattern {DESC ,P ,M ,PORT ,ADDR ,DIR,VMAX,VELO,JVEL { "Rotation Y" ,"$(P_M)","MOTOR_ROT_Y1","$(PORT_M)","$(M1)",0 ,2 ,2 ,2 ,1 ,0.1 ,20 ,-0.001,3 ,"deg",0 ,0} { "Translation X","$(P_M)","MOTOR_X1" ,"$(PORT_M)","$(M2)",0 ,2 ,2 ,2 ,1 ,0.1 ,20 ,-0.001,3 ,"mm",0 ,0} { "Translation Y","$(P_M)","MOTOR_Y1" ,"$(PORT_M)","$(M3)",0 ,2 ,2 ,2 ,1 ,0.1 ,20 ,-0.001,3 ,"mm",0 ,0} +{ "TransBase X", "$(P_M)","MOTOR_AX" ,"$(PORT_M)","$(M7)",0 ,2 ,2 ,2 ,1 ,0.1 ,20 ,-0.001,3 ,"mm",0 ,0} +{ "TransBase Z", "$(P_M)","MOTOR_AZ" ,"$(PORT_M)","$(M8)",0 ,2 ,2 ,2 ,1 ,0.1 ,20 ,-0.001,3 ,"mm",0 ,0} } diff --git a/add_device.cmd b/add_device.cmd index ae4248f..15e7567 100644 --- a/add_device.cmd +++ b/add_device.cmd @@ -13,11 +13,17 @@ M1=1 M2=$(M1)+1 M3=$(M1)+2 #M4=$(M1)+3 +M7=$(M1)+6 +M8=$(M1)+7 powerPmacCreateAxis($(PORT), $(M1)) powerPmacCreateAxis($(PORT), $(M2)) powerPmacCreateAxis($(PORT), $(M3)) #powerPmacCreateAxis($(PORT), $(M4)) +powerPmacCreateAxis($(PORT), $(M7)) +powerPmacCreateAxis($(PORT), $(M8)) + + # Load databse -dbLoadTemplate("$(ESB_MX_TEMPLATES)/ESB_MX.subs", "PORT_M=$(PORT),P_M=$(P),M1=$(M1),M2=$(M2),M3=$(M3)") +dbLoadTemplate("$(ESB_MX_TEMPLATES)/ESB_MX.subs", "PORT_M=$(PORT),P_M=$(P),M1=$(M1),M2=$(M2),M3=$(M3),M7=$(M7),M8=$(M8)") diff --git a/cfg/mx-stage.cfg b/cfg/mx-stage.cfg index d653d92..15f87ef 100644 --- a/cfg/mx-stage.cfg +++ b/cfg/mx-stage.cfg @@ -30,11 +30,11 @@ //Enc 4: Test Servo: Incremental encoder mounted with motor 1 1 rev = 2000 enc count (500 inc_ quadrature encoder) //Enc 5: Test Servo: Trinamic QBL 4208 hall sensor 1 rev = 24 enc count (hall sensor encoder) -//Mot 6: Test Stepper: Vextra PK244M 200 poles 1 rev = 100*2048 phase_step (2 stepper motor) -//Enc 6: Test Stepper: inc_enc 1 rev = 1600 enc_step +//Mot 7: Stada Stepper: 670mA 200 poles 1 rev = 100*2048 phase_step (2 stepper motor) +//Enc 7: Renishaw absolute BiSS -//Mot 7: Test Stepper: Vextra PK244M 200 poles 1 rev = 100*2048 phase_step (2 stepper motor) -//Enc 7: Test Stepper: ssi_enc multiturn 1 rev = 4096 enc_step +//Mot 8: Stada Stepper: 670mA 200 poles 1 rev = 100*2048 phase_step (2 stepper motor) +//Enc 8: Renishaw absolute BiSS //$$$*** //!common() diff --git a/cfg/torqueCtrl.cfg b/cfg/torqueCtrl.cfg index 3713fef..b72e6e3 100644 --- a/cfg/torqueCtrl.cfg +++ b/cfg/torqueCtrl.cfg @@ -77,3 +77,22 @@ Motor[1].pPhaseEnc=Acc84B[0].Chan[0].SerialEncDataA.a !encoder_inc(enc=4,tbl=4,mot=4)# ,posSf=13000./650000) !encoder_inc(enc=5,tbl=5,mot=5)# ,posSf=13000./650000) +//Stada stage +//---------------------------------------------------- +//512000 ustep == 50000 encCnt == 2500um +//posSf = userUnits/encoder_steps +//servoSf=motor_u_steps/userUnits + +!encoder_biss(enc=7,numBits=32,posSf=1./20) +!encoder_biss(enc=8,numBits=32,posSf=1./20) +!motor(mot=7,current=200,JogSpeed=0.5,invDir=1,servoSf=204.8) +!motor(mot=8,current=200,JogSpeed=0.5,invDir=1,servoSf=204.8) + +//turn off servon and inpos below ... user units (here 1um) +Motor[7].InPosBand=1;Motor[7].Servo.BreakPosErr=Motor[7].InPosBand +Motor[8].InPosBand=1;Motor[8].Servo.BreakPosErr=Motor[8].InPosBand + +//holding current +!holding_current(m7=[0,200],m8=[0,200]) + + diff --git a/logbook.md b/logbook.md index 584cc33..19b2ab1 100644 --- a/logbook.md +++ b/logbook.md @@ -921,9 +921,70 @@ caput SAR-ESB_MX:ASYN.AOUT 'enable plc 1' tweak param 13.6.2017 --------------------- + +with stada stage 21.7.2017 +-------------------------- telnet SAR-CPPM-EXPMX1 50001 ctrl-T -ctrl-R +ctrl-X + +$$$*** +!common() +!mx-stage() + +#7j:512000 +511999.9988954368 49999 + +Motor8:#8,16p +511999.9922968491 49976 + +RL32-BAS050C15... +512000 ustep == 50000 encCnt == 2.5mm -> 50nm/encCnt + +OpenLoop: +!encoder_sim(enc=7) +!encoder_sim(enc=8) +!encoder_biss(enc=7,tbl=15,mot=15) +!encoder_biss(enc=8,tbl=16,mot=16) +!motor(mot=7,current=200,JogSpeed=102.4*1,invDir=1,HomeOffset=39263) +!motor(mot=8,current=200,JogSpeed=102.4*1,invDir=1)//,HomeOffset=39762) + +!encoder_biss(enc=7,tbl=15,mot=15) +!encoder_biss(enc=8,tbl=16,mot=16) +!motor(mot=7,current=200,JogSpeed=102.4*1,invDir=1) +!motor(mot=8,current=200,JogSpeed=102.4*1,invDir=1) + + + + +Status Review 2.8.2017 +---------------------- + +cd ~/Documents/prj/SwissFEL/epics_ioc_modules/ESB_MX;PBInspect --cfg PBinspect.pbi --host SAR-CPPM-EXPMX1 +cd ~/Documents/prj/SwissFEL/epics_ioc_modules/ESB_MX/cfg/;gpasciiCommander --host SAR-CPPM-EXPMX1 -i +$$$*** +!common() +!mx-stage() +enable plc 1 //homing + +#1j:1000 //rotate 1 deg +#2j:1000 //x-stage parker 1000um +#3j:1000 //y-stage parker 1000um +#4,5p //position of interferometer (if connected) +#7,8j/ +#7j:1000 //x-stage stada 1000um +#8j:1000 //z-stage stada 1000um + + +telnet SAR-CPPM-EXPMX1 50001 +ctrl-T +ctrl-X + +ssh x06mx-cons-1 +cd /scratch/ESB_MX/ESB_MX/qt +caqtdm -macro 'P=SAR-ESB_MX' ESB_MX_exp.ui +Press homing or following line: +caput SAR-ESB_MX:ASYN.AOUT 'enable plc 1' diff --git a/qt/ESB_MX_exp.ui b/qt/ESB_MX_exp.ui index 243cb9b..350b016 100644 --- a/qt/ESB_MX_exp.ui +++ b/qt/ESB_MX_exp.ui @@ -47,13 +47,15 @@ 20 - 80 + 70 725 - 72 + 120 +P=$(P),M=MOTOR_AX; +P=$(P),M=MOTOR_AZ; P=$(P),M=MOTOR_ROT_Y1; P=$(P),M=MOTOR_X1; P=$(P),M=MOTOR_Y1 @@ -62,7 +64,7 @@ P=$(P),M=MOTOR_Y1 ESB_MX_motor.ui - 3 + 5 @@ -197,8 +199,8 @@ P=$(P),M=MOTOR_Y1 - 640 - 160 + 620 + 20 100 22