Thanks Mark and Wayne,
I used the Mark's method by setting NTM field in the IOC itself.
The problem is somewhat related to the fact that large Huber circles in diffractometer have big inertia, and low frequency (~6Hz) oscillations. The circles can not be driven 'hard', and when motion is completing the encoder reports bidirectional motion. What was suprising is that the 'Kill' should have disabled amplifier, but instead it resulted in motion to be completed, and then disabling amplifier. Effectively 'preprogrammed' movement.
Also because motor tuning is 'soft' (I130 small) the final position is ~10's of encoder counts off from requested position. Deadband tuning results in instabilities. This is only for large massive Huber circles, and smaller circles are finely behaving.
Kaz
-----Original Message-----
From: Wayne Lewis [mailto:[email protected]]
Sent: Tuesday, May 22, 2018 3:56 PM
To: Mark Rivers
Cc: Gofron, Kazimierz; [email protected]
Subject: Re: :tdir messages in ioc for Pmac
Hi Kaz,
I've had success with fixing this problem on the Turbo PMAC using Mark's
method of setting NTM to zero.
FYI, the NSLS-II motor databases have the NTM field in the autosave
list, so you can make the change once via a caput/dbpf and it will
persist through an IOC reboot.
Wayne
On Tue, May 22, 2018 at 07:08:20PM +0000, Mark Rivers wrote:
> We have a similar problem with the Newport XPS. The problem occurs because the encoder is indicating that the motor is moving in the "wrong" direction because of overshoot, etc. and the motor record then stops the motion. IMHO this is a design error in the motor record, it should not stop the motion when it thinks there is a problem, that is the job of the driver or controller.
>
> We work around the problem by setting the NTM field to 0 by adding the following commands to the startup script after iocInit.
>
> dbpf("13BMD:m89.NTM","0")
> dbpf("13BMD:m90.NTM","0")
> dbpf("13BMD:m91.NTM","0")
>
> Note that I have not tested that this is still necessary with the latest release of the motor record, so perhaps the problem has been fixed and we no longer need this workaround.
>
> I suggest you try this and see if it fixes the problem for you.
>
> Mark
>
>
> From: [email protected] [mailto:[email protected]] On Behalf Of Gofron, Kazimierz
> Sent: Tuesday, May 22, 2018 1:37 PM
> To: [email protected]
> Subject: :tdir messages in ioc for Pmac
>
> Hi,
>
> Perhaps someone resolved this problem.
> My turbo pmac motors sometimes get 'stuck', mainly when tweaking them, and particularly when motion direction is reversed. Pressing tweak value several times increases requested position, but no motion occurs. Pressing 'Kill" results in motion to proceed to the requested position. In the same time, there are ':tdir' messages in the IOC itself:
>
> epics> XF:11IDB-ES{Dif-Ax:Gam}Mtr:tdir = 1
> XF:11IDB-ES{Dif-Ax:Gam}Mtr:tdir = 0
> XF:11IDB-ES{Dif-Ax:Gam}Mtr:tdir = 0
> XF:11IDB-ES{Dif-Ax:Gam}Mtr:tdir = 0
> XF:11IDB-ES{Dif-Ax:Del}Mtr:tdir = 0
> XF:11IDB-ES{Dif-Ax:Gam}Mtr:tdir = 0
>
> epics> XF:11IDB-ES{Dif-Ax:Del}Mtr:tdir = 0
> XF:11IDB-ES{Dif-Ax:Gam}Mtr:tdir = 0
> ========
>
> =================
> EPICS:
> base-3.14.12.3-8
> streamdevice 2.6
> sncseq 2.1.17
> asyn 4.23
> vme 2.8.1
> vac 1.4.1
> std 3.2
> softGlue 2.4.1
> sscan 2.9
> mdautils 1.3.1
> optics 2.9.2
> motor 6.8.1
> modbus 2.7
> mca 7.5
> love 3.2.5
> ipUnidig 2.9
> i330 2.7
> ip 2.15
> ipac 2.12
> delaygen 1.1.0
> dc128V 2.7
> calc 3.4
> busy 1.6
>
> System: Debian 7.11 (wheezy), 3.2.0-4-amd64 #1 SMP Debian 3.2.89-2 x86_64 GNU/Linux
>
> epics> dbpr XF:11IDB-ES{Dif-Ax:Gam}Mtr 4
> ACCL: 0.2 ACKS: NO_ALARM ACKT: YES ADEL: 0
> ALST: 0 ASG: ASP: (nil) ATHM: 0
> BACC: 0.5 BDST: 0 BKPT: 00 BVEL: 0
> CARD: 0 CBAK: 0xe81cc0 CDIR: 0 CNEN: Disable
> DCOF: 0 DESC: Gamma DHLM: 0 DIFF: 0
> DINP:CONSTANT DIR: Pos DISA: 0 DISP: 0
> DISS: NO_ALARM DISV: 1 DLLM: 0 DLY: 0
> DMOV: 1 DOL:CONSTANT DPVT: 0xe81db0 DRBV: 51.5416973976
> DSET: 0x7f095de16280 DTYP: asynMotor DVAL: 51.5416973976
> EGU: deg ERES: 2.86479e-05 EVNT: 0 FLNK:CONSTANT 0
> FOF: 0 FOFF: Variable FRAC: 1 HHSV: NO_ALARM
> HIGH: 0 HIHI: 0 HLM: 0 HLS: 0
> HLSV: NO_ALARM HOMF: 0 HOMR: 0 HOPR: 0
> HSV: NO_ALARM HVEL: 0 ICOF: 0 INIT:
> JAR: 0 JOGF: 0 JOGR: 0 JVEL: 0
> LCNT: 0 LDVL: 51.5416973976 LLM: 0 LLS: 0
> LLSV: NO_ALARM LOCK: NO LOLO: 0 LOPR: 0
> LOW: 0 LRLV: 0 LRVL: 1799144 LSET: 0xe88220
> LSPG: Go LSV: NO_ALARM LVAL: 51.5416973976 LVIO: 0
> MDEL: 0 MIP: 0 MISS: 0
> MLIS: 90 c0 06 54 09 7f 00 00 60 b0 ff 00 00 00 00 00 ad 01 00 00
> MLOK: c0 68 df 00 00 00 00 00 MLST: 0 MMAP: 0
> MOVN: 0 MRES: 2.86479e-05 MSTA: 18691
> NAME: XF:11IDB-ES{Dif-Ax:Gam}Mtr NMAP: 0 NSEV: NO_ALARM
> NSTA: NO_ALARM NTM: YES NTMF: 2 OFF: 0
> OMSL: supervisory OUT:INST_IO @asyn(motor,2) PACT: 0
> PCOF: 0 PHAS: 0 PINI: NO POST:
> PP: 0 PPN: (nil) PPNR: (nil) PREC: 4
> PREM: PRIO: LOW PROC: 0 PUTF: 0
> RBV: 51.5416973976 RCNT: 0 RDBD: 2.86479e-05 RDBL:CONSTANT
> RDES: 0xc0d9b0 RDIF: 0 REP: 1799144 RHLS: 0
> RINP:CONSTANT RLLS: 0 RLNK:CONSTANT RLV: 0
> RMOD: Default RMP: 1799144 RPRO: 0 RRBV: 1799144
> RRES: 0 RSET: 0x7f095de160a0 RTRY: 0
> RVAL: 1799144 RVEL: 0 S: 0 SBAK: 0
> SBAS: 0 SCAN: Passive SDIS:CONSTANT SET: Use
> SEVR: NO_ALARM SMAX: 0 SPMG: Go SPVT: (nil)
> SREV: 200 SSET: 0 STAT: NO_ALARM STOO:CONSTANT
> STOP: 0 STUP: OFF SUSE: 0 SYNC: 0
> TDIR: 1 TIME: <undefined> TPRO: 0 TSE: 0
> TSEL:CONSTANT TWF: 0 TWR: 0 TWV: 0
> UDF: 0 UEIP: No UREV: 0.00572958 URIP: No
> VAL: 51.5416973976 VBAS: 0 VELO: 0 VERS: 6.81
> VMAX: 0 VOF: 0
> epics>
> ================
> epics> dbpr XF:11IDB-ES{Dif-Ax:Del}Mtr 4
> ACCL: 0.2 ACKS: NO_ALARM ACKT: YES ADEL: 0
> ALST: 0 ASG: ASP: (nil) ATHM: 0
> BACC: 0.5 BDST: 0 BKPT: 00 BVEL: 0
> CARD: 0 CBAK: 0xe81900 CDIR: 1 CNEN: Disable
> DCOF: 0 DESC: Delta DHLM: 0
> DIFF: -6.5474440000024e-04 DINP:CONSTANT DIR: Pos
> DISA: 0 DISP: 0 DISS: NO_ALARM DISV: 1
> DLLM: 0 DLY: 0 DMOV: 1 DOL:CONSTANT
> DPVT: 0xe819a0 DRBV: 2.0006547444 DSET: 0x7f095de16280
> DTYP: asynMotor DVAL: 2 EGU: deg ERES: 2.86479e-05
> EVNT: 0 FLNK:CONSTANT 0 FOF: 0 FOFF: Variable
> FRAC: 1 HHSV: NO_ALARM HIGH: 0 HIHI: 0
> HLM: 0 HLS: 0 HLSV: NO_ALARM HOMF: 0
> HOMR: 0 HOPR: 0 HSV: NO_ALARM HVEL: 0
> ICOF: 0 INIT: JAR: 0 JOGF: 0
> JOGR: 0 JVEL: 0 LCNT: 0 LDVL: 2
> LLM: 0 LLS: 0 LLSV: NO_ALARM LOCK: NO
> LOLO: 0 LOPR: 0 LOW: 0 LRLV: 0
> LRVL: 69813 LSET: 0xe88200 LSPG: Go LSV: NO_ALARM
> LVAL: 2 LVIO: 0 MDEL: 0 MIP: 0
> MISS: 0
> MLIS: 20 cc 06 54 09 7f 00 00 90 b7 ff 00 00 00 00 00 a7 01 00 00
> MLOK: 50 68 df 00 00 00 00 00 MLST: 0 MMAP: 0
> MOVN: 0 MRES: 2.86479e-05 MSTA: 2307
> NAME: XF:11IDB-ES{Dif-Ax:Del}Mtr NMAP: 0 NSEV: NO_ALARM
> NSTA: NO_ALARM NTM: YES NTMF: 2 OFF: 0
> OMSL: supervisory OUT:INST_IO @asyn(motor,1) PACT: 0
> PCOF: 0 PHAS: 0 PINI: NO POST:
> PP: 0 PPN: (nil) PPNR: (nil) PREC: 4
> PREM: PRIO: LOW PROC: 0 PUTF: 0
> RBV: 2.0006547444 RCNT: 0 RDBD: 2.86479e-05 RDBL:CONSTANT
> RDES: 0xc0d9b0 RDIF: -23 REP: 69836 RHLS: 0
> RINP:CONSTANT RLLS: 0 RLNK:CONSTANT RLV: 0
> RMOD: Default RMP: 69836 RPRO: 0 RRBV: 69836
> RRES: 0 RSET: 0x7f095de160a0 RTRY: 0
> RVAL: 69813 RVEL: 0 S: 0 SBAK: 0
> SBAS: 0 SCAN: Passive SDIS:CONSTANT SET: Use
> SEVR: NO_ALARM SMAX: 0 SPMG: Go SPVT: (nil)
> SREV: 200 SSET: 0 STAT: NO_ALARM STOO:CONSTANT
> STOP: 0 STUP: OFF SUSE: 0 SYNC: 0
> TDIR: 1 TIME: 2018-05-22 13:45:45.833378801 TPRO: 0
> TSE: 0 TSEL:CONSTANT TWF: 0 TWR: 0
> TWV: 0.02 UDF: 0 UEIP: No UREV: 0.00572958
> URIP: No VAL: 2 VBAS: 0 VELO: 0
> VERS: 6.81 VMAX: 0 VOF: 0
> epics>
>
>
- References:
- :tdir messages in ioc for Pmac Gofron, Kazimierz
- RE: :tdir messages in ioc for Pmac Mark Rivers
- Re: :tdir messages in ioc for Pmac Wayne Lewis
- Navigate by Date:
- Prev:
Re: CSS BOY or Display Builder ready-to-run binary? Hartman, Steven M.
- Next:
Re: CSS BOY or Display Builder ready-to-run binary? Kasemir, Kay
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
<2018>
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: :tdir messages in ioc for Pmac Wayne Lewis
- Next:
printing to console in Display Builder Gregory, Ray
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
<2018>
2019
2020
2021
2022
2023
2024
|