Hi Ron,
> What we are looking for is if you get the diagnostic message,
>> "soft_dinp_func(): HARDMOVE set for %s.\n"
> when the soft motor gets stuck (presumably) in the "Moving" state.
Nope, it definitely can get stuck without this message (see the attached
log file for details). The log file was obtained by sending the radius
soft motor to a new position and the angle soft motor to the same
position it had at IOC start:
$ caput test:tgtPosRad 12.4; caput test:tgtPosAng 246; caput
test:cmdGo.PROC 1
Old : test:tgtPosRad 0
New : test:tgtPosRad 12.4
Old : test:tgtPosAng 0
New : test:tgtPosAng 246
Old : test:cmdGo.PROC 0
New : test:cmdGo.PROC 1
> In addition, you may want to do a camonitor on the soft motors MIP field.
$ camonitor test:motor{Rad,Ang}.MIP
test:motorRad.MIP *** Not connected (PV not found)
test:motorAng.MIP *** Not connected (PV not found)
test:motorRad.MIP 2013-08-29 14:32:38.095683 0
test:motorAng.MIP 2013-08-29 14:32:38.095665 0
test:motorRad.MIP 2013-08-29 14:32:56.620749 32
Again,
caput test:doneMoving_ 0; caput test:doneMoving_ 1
resets MIP to 0 and DMOV to 1.
Best regards,
Martin
P.S.: I already used my new doneMoving_ logic ("A && B && C") for this
test (cf.
https://github.com/mark0n/stripperFoilPlatterTestbed/commit/ac0cabdc5da0800e6fe2cb88e195db2f87dee485).
$ ./st.cmd
#!../../bin/linux-x86_64-debug/g6test2
## You may have to change g6test2 to something else
## everywhere it appears in this file
< envPaths
epicsEnvSet("ARCH","linux-x86_64-debug")
epicsEnvSet("IOC","iocg6test2")
epicsEnvSet("TOP","/home/marko/work/stripperFoilPlatter/motorTest/iocs/g6test2")
epicsEnvSet("SNCSEQ","/home/marko/work/stripperFoilPlatter/motorTest/seq-2.1.13")
epicsEnvSet("ASYN","/home/marko/work/stripperFoilPlatter/motorTest/asyn4-18")
epicsEnvSet("MOTOR","/home/marko/work/stripperFoilPlatter/motorTest/motorR6-8")
epicsEnvSet("LIBCGAL","/usr/lib")
epicsEnvSet("LIBGMP","/usr/lib/x86_64-linux-gnu")
epicsEnvSet("LIBGMPXX","/usr/lib/x86_64-linux-gnu")
epicsEnvSet("EPICS_BASE","/usr/lib/epics")
cd /home/marko/work/stripperFoilPlatter/motorTest/iocs/g6test2
epicsEnvSet("SIM","#")
epicsEnvSet("HW","")
## Register all support components
dbLoadDatabase "dbd/g6test2.dbd"
g6test2_registerRecordDeviceDriver pdbbase
var drvPC6Kdebug -1
var devSoftdebug 6
## Load record instances
dbLoadRecords("db/g6test2.db", "PREFIX=test")
dbLoadRecords("db/hwMotor.db", "PREFIX=test")
#dbLoadRecords("db/simMotor.db", "PREFIX=test")
# motors at test-bed
drvAsynIPPortConfigure("GT6Krad", "192.168.238.4:5002", 0, 0, 0)
asynOctetConnect("GT6Krad", "GT6Krad")
asynOctetSetInputEos("GT6Krad", 0, ">")
asynOctetSetOutputEos("GT6Krad", 0, "\r")
drvAsynIPPortConfigure("GT6Kang", "192.168.238.5:5002", 0, 0, 0)
asynOctetConnect("GT6Kang", "GT6Kang")
asynOctetSetInputEos("GT6Kang", 0, ">")
asynOctetSetOutputEos("GT6Kang", 0, "\r")
PC6KSetup(2, 60)
PC6KConfig(0, "GT6Krad")
PC6KConfig(1, "GT6Kang")
# simulated motors (start card, start axis, low limit, high limit, home posn, # cards, # axes to setup)
#motorSimCreate(0, 0, -1000000, 1000000, 0, 1, 2)
# Setup the Asyn layer (portname, low-level driver drvet name, card, number of axes on card)
#drvAsynMotorConfigure("sim1", "motorSim", 0, 2)
var insideLimitsASubDebug 0
var coordinateTransformASubDebug 0
cd /home/marko/work/stripperFoilPlatter/motorTest/iocs/g6test2/iocBoot/iocg6test2
iocInit
Starting iocInit
############################################################################
## EPICS R3.14.12.3-6 $Date: Mon 2012-12-17 14:11:47 -0600$
## EPICS Base built May 22 2013
############################################################################
update(): dmov=1 for test:motorAng.
update(): DMOV=1 for test:motorAng.
update(): dmov=1 for test:motorRad.
update(): DMOV=1 for test:motorRad.
iocRun: All initialization complete
#${HW}PC6KUpLoad(0,"../../minimalControllerInit.prg")
#${HW}PC6KUpLoad(1,"../../minimalControllerInit.prg")
## Start any sequence programs
#seq sncxxx,"user=markoHost"
seq sncCalibration, "PREFIX=test"
Sequencer release 2.1.13, compiled Thu Aug 29 11:51:21 2013
Spawning sequencer program "sncCalibration", thread 0x100a5a0: "sncCalibration"
soft_rdbl_func(): updated RMP = 12500 for test:motorRad.
update(): dmov=0 for test:motorRad.
update(): DMOV=1 for test:motorRad.
soft_rdbl_func(): updated RMP = 246000 for test:motorAng.
update(): dmov=0 for test:motorAng.
update(): DMOV=1 for test:motorAng.
sncCalibration[0]: all channels connected & received 1st monitor
entering state uncalibrated
soft_dinp_func(): Done moving set for test:motorAng.
update(): dmov=1 for test:motorAng.
update(): DMOV=1 for test:motorAng.
soft_dinp_func(): Done moving set for test:motorRad.
update(): dmov=1 for test:motorRad.
update(): DMOV=1 for test:motorRad.
epics> update(): dmov=0 for test:motorAng.
update(): DMOV=1 for test:motorAng.
update(): dmov=0 for test:motorRad.
update(): DMOV=1 for test:motorRad.
epics> dbpr test:motorRad 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: -1 CBAK: 0x10029d0 CDIR: 0 CNEN: Disable
DCOF: 0 DESC: DHLM: 0
DIFF: -0.10000633110869 DINP:DB_LINK test:doneMoving_ NPP NMS
DIR: Pos DISA: 0 DISP: 0 DISS: NO_ALARM
DISV: 1 DLLM: 0 DLY: 0 DMOV: 0
DOL:CONSTANT DPVT: 0x1000520 DRBV: 12.5000063311087
DSET: 0x7ff163c13128 DTYP: Soft Channel DVAL: 12.4
EGU: in ERES: 1.0e-03 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: 12.4 LLM: 0 LLS: 0
LLSV: NO_ALARM LOCK: YES LOLO: 0 LOPR: 0
LOW: 0 LRLV: 0 LRVL: 12400 LSET: 0x1000ef0
LSPG: Go LSV: NO_ALARM LVAL: 12.4 LVIO: 0
MDEL: 0 MIP: 32 MISS: 0
MLIS: 00 25 03 3c f1 7f 00 00 60 1a 03 3c f1 7f 00 00 04 00 00 00
MLOK: 40 ba ff 00 00 00 00 00 MLST: 0 MMAP: 0
MOVN: 0 MRES: 1.0e-03 MSTA: 2 NAME: test:motorRad
NMAP: 0 NSEV: NO_ALARM NSTA: NO_ALARM NTM: NO
NTMF: 2 OFF: 0 OMSL: supervisory
OUT:DB_LINK test:fwdRad_ PP NMS PACT: 0 PCOF: 0
PHAS: 0 PINI: NO POST: PP: 0
PPN: (nil) PPNR: (nil) PREC: 2 PREM:
PRIO: LOW PROC: 0 PUTF: 0
RBV: 12.5000063311087 RCNT: 0 RDBD: 0.01
RDBL:DB_LINK test:rdPosPolar_.VALA NPP MS RDES: 0xfbcdc0
RDIF: -100 REP: 0 RHLS: 0 RINP:CONSTANT
RLLS: 0 RLNK:CONSTANT RLV: 0 RMOD: Default
RMP: 12500 RPRO: 0 RRBV: 12500 RRES: 1
RSET: 0x7ff1637ff380 RTRY: 0 RVAL: 12400
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:DB_LINK test:stopPistonMotors_.PROC NPP NMS STOP: 0
STUP: OFF SUSE: 0 SYNC: 0 TDIR: 0
TIME: 2013-08-29 14:32:56.620748812 TPRO: 0 TSE: 0
TSEL:CONSTANT TWF: 0 TWR: 0 TWV: 0.1
UDF: 0 UEIP: No UREV: 0.2 URIP: Yes
VAL: 12.4 VBAS: 0 VELO: 0 VERS: 6.8
VMAX: 0 VOF: 0
epics>
- References:
- motor record: soft motor & DMOV Konrad, Martin
- RE: motor record: soft motor & DMOV Mooney, Tim M.
- Re: motor record: soft motor & DMOV Konrad, Martin
- Navigate by Date:
- Prev:
RE: Build problem of EPICS R3.14.12.3 for ARM processor in Linux Emmanuel Mayssat
- Next:
Re: Build problem of EPICS R3.14.12.3 for ARM processor in Linux Andrew Johnson
- 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: motor record: soft motor & DMOV Konrad, Martin
- Next:
Re: motor record: soft motor & DMOV Konrad, Martin
- 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
|