diff --git a/MCLEN/MCLEN-IOC-01App/Db/mclen_motor_extra.db b/MCLEN/MCLEN-IOC-01App/Db/mclen_motor_extra.db index 3c442725d..3953cdd9e 100644 --- a/MCLEN/MCLEN-IOC-01App/Db/mclen_motor_extra.db +++ b/MCLEN/MCLEN-IOC-01App/Db/mclen_motor_extra.db @@ -2,4 +2,5 @@ record(motor, "$(P)$(M)") { field(PCOF, "$(PCOF)") field(HVEL, "$(HVEL)") field(RDBD, "$(RDBD)") + field(ASG, "WASL0") } diff --git a/MCLEN/iocBoot/iocMCLEN-IOC-01/config.xml b/MCLEN/iocBoot/iocMCLEN-IOC-01/config.xml index ac2387c9c..b52966db4 100644 --- a/MCLEN/iocBoot/iocMCLEN-IOC-01/config.xml +++ b/MCLEN/iocBoot/iocMCLEN-IOC-01/config.xml @@ -84,23 +84,23 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -111,14 +111,14 @@ - - - - - - - - + + + + + + + + @@ -129,14 +129,41 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MCLEN/iocBoot/iocMCLEN-IOC-01/st-motor-init.cmd b/MCLEN/iocBoot/iocMCLEN-IOC-01/st-motor-init.cmd index d7450aa57..3904b270c 100644 --- a/MCLEN/iocBoot/iocMCLEN-IOC-01/st-motor-init.cmd +++ b/MCLEN/iocBoot/iocMCLEN-IOC-01/st-motor-init.cmd @@ -32,17 +32,16 @@ asynOctetWrite("MKINIT","$(MN)TR4000") asynOctetWrite("MKINIT","$(MN)SL0") ## backoff steps as 0 -#asynOctetWrite("MKINIT","$(MN)BO0") +asynOctetWrite("MKINIT","$(MN)BO$(BOSTI)") -## creep steps at end of move -#asynOctetWrite("MKINIT","$(MN)CR10") -#asynOctetWrite("MKINIT","$(MN)CR5") +## creep steps at end of move, 10 is default for stepper +asynOctetWrite("MKINIT","$(MN)CR$(CRSTI)") ## creep speed, 800 is default -#asynOctetWrite("MKINIT","$(MN)CS250") +asynOctetWrite("MKINIT","$(MN)SC$(CRSPI)") -## settle time, how long must remain in Window at end of move -#asynOctetWrite("MKINIT","$(MN)SE1000") +## settle time, how long must remain in Window at end of move, 100 is default +asynOctetWrite("MKINIT","$(MN)SE$(SETLI)") ## set abort mode, controller default is 00000000 ## however passing 00111000 for example would make stall error, tracking error and timeout error not abort motion @@ -50,9 +49,10 @@ asynOctetWrite("MKINIT","$(MN)AM00000000") ## set datum mode, controller default is 00000000 ## this also controls expected encoder index polarity, automatic direction search etc. on datum -## not set at moment +## so not set at moment in case mess up encoder? It is partly adjusted in the main +## driver depending on homing mode #asynOctetWrite("MKINIT","$(MN)DM00000000") ## note: SH command generally not set here, if we chose appropriate hardware home -## it will do a SH0 before himing to datum and applying it +## main driver will do a SH0 before homing to datum if in appropriate mode #asynOctetWrite("MKINIT","$(MN)SH0") diff --git a/MCLEN/iocBoot/iocMCLEN-IOC-01/st-motor.cmd b/MCLEN/iocBoot/iocMCLEN-IOC-01/st-motor.cmd index 12944a5f1..a2ffec9c3 100644 --- a/MCLEN/iocBoot/iocMCLEN-IOC-01/st-motor.cmd +++ b/MCLEN/iocBoot/iocMCLEN-IOC-01/st-motor.cmd @@ -13,6 +13,13 @@ dcalc("MRESI", "1.0/$(MSTPI)", 1, 12) dcalc("JVELCALC", "0.1*$(VELOI)",1,3) dcalc("HVELCALC", "0.1*$(VELOI)",1,3) +# 10 creep steps is hardware default for a stepper +epicsEnvSet("CRSTI",$(CRST$(MN)=10)) + +epicsEnvSet("BOSTI",$(BOST$(MN)=0)) +epicsEnvSet("SETLI",$(SETL$(MN)=100)) +epicsEnvSet("CRSPI",$(CRSP$(MN)=800)) + ## calculate what the encoder resolution (in motor record terms) is just to get ## a correct retry deadband. We leave motor record ERES as 0 as not used by ## driver. we need an appropriate retry deadband in case retries are enabled