-SFELPHOTON-1190: Finish slow-Y implementation -SFELPHOTON-1191: Update default values in EXPMX1 deltatau EVR -SFELPHOTON-1192: Zero position of detector stage needs to be updates
84 lines
4.3 KiB
INI
84 lines
4.3 KiB
INI
//the motor has 512*200*100 usteps per revolution (512 uystep/step, 200 steps/rev 1:100 gear)
|
|
//the ssi-encoder has 2**18=262144 steps per revolution
|
|
//calibration values such that 0 mdeg is the highest point (+5mm) and 180000mdeg = lowest point (-5mm)
|
|
//#1: homeoffset: -20907.5928142
|
|
//#2: homeoffset: 102320.329068
|
|
//#3: homeoffset: 168946.772022
|
|
//#4: homeoffset: -87830.7554146
|
|
//#5: homeoffset: -47956.2759182
|
|
|
|
!encoder_ssi(enc=1,numBits=18,posSf=-5625./4096)
|
|
!motor(mot=1,dirCur=1000,JogSpeed=40,servoSf=256./9.,InPosBand=10,FatalFeLimit=1000,HomeOffset=65477.,FaultMode=0)
|
|
|
|
!encoder_ssi(enc=2,numBits=18,posSf=-5625./4096)
|
|
!motor(mot=2,dirCur=1000,JogSpeed=40,servoSf=256./9.,InPosBand=10,FatalFeLimit=1000,HomeOffset=-154370.,FaultMode=0)
|
|
|
|
!encoder_ssi(enc=3,numBits=18,posSf=-5625./4096)
|
|
!motor(mot=3,dirCur=1000,JogSpeed=40,servoSf=256./9.,InPosBand=10,FatalFeLimit=1000,HomeOffset=-5248.,FaultMode=0)
|
|
|
|
!encoder_ssi(enc=4,numBits=18,posSf=-5625./4096)
|
|
!motor(mot=4,dirCur=1000,JogSpeed=40,servoSf=256./9.,InPosBand=10,FatalFeLimit=1000,HomeOffset=-46620.,FaultMode=0)
|
|
|
|
!encoder_ssi(enc=5,numBits=18,posSf=-5625./4096)
|
|
!motor(mot=5,dirCur=1000,JogSpeed=40,servoSf=256./9.,InPosBand=10,FatalFeLimit=1000,HomeOffset=93168.,FaultMode=0)
|
|
|
|
Motor[1].Servo.BreakPosErr=0
|
|
Motor[2].Servo.BreakPosErr=0
|
|
Motor[3].Servo.BreakPosErr=0
|
|
Motor[4].Servo.BreakPosErr=0
|
|
Motor[5].Servo.BreakPosErr=0
|
|
|
|
|
|
// PKP266D14BA2 1.4A 1.8deb/step
|
|
// encoder: Renishaw: RL26BAT050B050A 26 bit, 50nm/enc_cnt
|
|
//!encoder_sim(enc=6)
|
|
//!motor(mot=6,dirCur=1400,JogSpeed=40,InPosBand=0,FatalFeLimit=1000,HomeOffset=0.)
|
|
// #6j=102400 -> 1 rev
|
|
//#6j=102400 == 1 rev == 102400 enc_cnt == 2000*1um
|
|
//#6j=102400 steps == 1 rev == 2000*20 enc_cnt == 2000*1um
|
|
//servoSf : motorusteps/user_units = 102400./2000
|
|
//posSf : user_units/encoder_steps = 0.05nm/1enc_cnt=1/20
|
|
//Open loop
|
|
//!encoder_sim(enc=6,posSf=2000./102400,pos2Sf=0)
|
|
//!encoder_biss(enc=6,tbl=16,mot=16,numBits=26,posSf=1./20)
|
|
//!motor(mot=6,dirCur=1400,servoSf=102400./2000,invDir=False,JogSpeed=2,InPosBand=1,FatalFeLimit=1000,HomeOffset=0.)
|
|
//Closed loop
|
|
!encoder_sim(enc=6,tbl=16,mot=16,posSf=2000./102400)
|
|
!encoder_biss(enc=6,numBits=26,posSf=1./20)
|
|
!motor(mot=6,dirCur=1400,servoSf=102400./2000,invDir=False,JogSpeed=2,InPosBand=1,FatalFeLimit=1000,HomeOffset=1684405.)
|
|
|
|
|
|
// break configuration
|
|
// at the beginning brakes were handeled with 'custom motion', but this has been removed,
|
|
// as it was possible to cofigure simple brake handling with the motor on a better approach
|
|
// s.a. following implementation
|
|
// ~/Documents/prj/SwissFEL/epics_ioc_modules/PBPG/cfg/motEnc-PBPG050.cfg
|
|
//!holding_current template not needed. The brake stuff below turns off the amplifiers
|
|
// brake
|
|
// PowerBrick[0].GpioData[0].16 is GPIO-OUT[1]
|
|
|
|
Motor[1].pBrakeOut = PowerBrick[0].GpioData[0].a // put proper reference to gpio here !!!
|
|
Motor[1].BrakeOutBit = 16
|
|
Motor[1].BrakeOffDelay = 100 // delay in ms before the brake is released after motion was triggered
|
|
Motor[1].BrakeOnDelay = 100 // delay in ms before the amplifier is disabled after motion has stopped
|
|
|
|
Motor[2].pBrakeOut = PowerBrick[0].GpioData[0].a // put proper reference to gpio here !!!
|
|
Motor[2].BrakeOutBit = 17
|
|
Motor[2].BrakeOffDelay = 100 // delay in ms before the brake is released after motion was triggered
|
|
Motor[2].BrakeOnDelay = 100 // delay in ms before the amplifier is disabled after motion has stopped
|
|
|
|
Motor[3].pBrakeOut = PowerBrick[0].GpioData[0].a // put proper reference to gpio here !!!
|
|
Motor[3].BrakeOutBit = 18
|
|
Motor[3].BrakeOffDelay = 100 // delay in ms before the brake is released after motion was triggered
|
|
Motor[3].BrakeOnDelay = 100 // delay in ms before the amplifier is disabled after motion has stopped
|
|
|
|
Motor[4].pBrakeOut = PowerBrick[0].GpioData[0].a // put proper reference to gpio here !!!
|
|
Motor[4].BrakeOutBit = 19
|
|
Motor[4].BrakeOffDelay = 100 // delay in ms before the brake is released after motion was triggered
|
|
Motor[4].BrakeOnDelay = 100 // delay in ms before the amplifier is disabled after motion has stopped
|
|
|
|
Motor[5].pBrakeOut = PowerBrick[0].GpioData[0].a // put proper reference to gpio here !!!
|
|
Motor[5].BrakeOutBit = 20
|
|
Motor[5].BrakeOffDelay = 100 // delay in ms before the brake is released after motion was triggered
|
|
Motor[5].BrakeOnDelay = 100 // delay in ms before the amplifier is disabled after motion has stopped
|