> I'm also using R6-8 here.
>
> If you send me a tar file of your IOC, I'll build it here and see if I can reproduce it.
> Maybe a detailed Asyn trace would also help.
See attachment. Let me know if you need further details.
Martin
Attachment:
testSimSupport.tar.bz2
Description: testSimSupport.tar.bz2
$ ./st.cmd
#!../../bin/linux-x86_64-debug/testSimSupport
## You may have to change testSimSupport to something else
## everywhere it appears in this file
< envPaths
epicsEnvSet("ARCH","linux-x86_64-debug")
epicsEnvSet("IOC","ioctestSimSupport")
epicsEnvSet("TOP","/home/marko/work/stripperFoilPlatter/motorTest/testSimSupport")
epicsEnvSet("ASYN","/usr/lib/epics")
epicsEnvSet("MOTOR","/usr/lib/epics")
epicsEnvSet("EPICS_BASE","/usr/lib/epics")
cd /home/marko/work/stripperFoilPlatter/motorTest/testSimSupport
## Register all support components
dbLoadDatabase "dbd/testSimSupport.dbd"
testSimSupport_registerRecordDeviceDriver pdbbase
## Load record instances
dbLoadRecords "db/matt.db"
# Create simulated motors: ( start card , start axis , low limit, high limit, home posn, # cards, # axes to setup)
motorSimCreate( 0, 0, -150000000, 150000000, 0, 1, 2 )
Creating motor simulator: card: 0, axis: 0, hi: 150000000, low -150000000, home: 0, ncards: 1, naxis: 2
Created motor for card 0, signal 0 OK
Created motor for card 0, signal 1 OK
# Setup the Asyn layer (portname, low-level driver drvet name, card, number of axes on card)
drvAsynMotorConfigure("sim1", "motorSim", 0, 2)
asynSetTraceMask("sim1",-1,-1)
cd /home/marko/work/stripperFoilPlatter/motorTest/testSimSupport/iocBoot/ioctestSimSupport
iocInit
Starting iocInit
############################################################################
## EPICS R3.14.12.3-6 $Date: Mon 2012-12-17 14:11:47 -0600$
## EPICS Base built May 22 2013
############################################################################
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_MOVE_REL, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_MOVE_REL
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_MOVE_ABS, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_MOVE_ABS
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_MOVE_VEL, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_MOVE_VEL
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_HOME, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_HOME
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_STOP_AXIS, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_STOP_AXIS
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_VELOCITY, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_VELOCITY
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_VEL_BASE, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_VEL_BASE
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_ACCEL, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_ACCEL
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_POSITION, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_POSITION
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_RESOLUTION, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_RESOLUTION
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_ENC_RATIO, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_ENC_RATIO
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_PGAIN, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_PGAIN
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_IGAIN, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_IGAIN
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_DGAIN, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_DGAIN
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_HIGH_LIMIT, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_HIGH_LIMIT
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_LOW_LIMIT, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_LOW_LIMIT
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_SET_CLOSED_LOOP, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_SET_CLOSED_LOOP
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_STATUS, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_STATUS
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, drvInfo=MOTOR_UPDATE_STATUS, pptypeName=(nil), psize=(nil), pasynUser=0xc99d58
2013/08/09 11:34:23.346 drvMotorAsyn::drvUserCreate, command=MOTOR_UPDATE_STATUS
2013/08/09 11:34:23.346 sim1 1 registerInterruptUser
2013/08/09 11:34:23.346 drvMotorAsyn::readMotorStatus, [00000000,0.000000,0.000000,0.000000]
2013/08/09 11:34:23.346 devMotorAsyn::init_controller, mkp:Mot:Sim1 setting of position not required, position=0.000000, mres=0.001000, dval=0.000000, rdbd=0.0010002013/08/09 11:34:23.346 mkp:Mot:Sim1 devMotorAsyn::update_values, needUpdate=1
2013/08/09 11:34:23.346 devMotorAsyn::send_msg: mkp:Mot:Sim1 command=19, pact=0
2013/08/09 11:34:23.346 sim1 addr 1 queueRequest priority 0 not lockHolder
2013/08/09 11:34:23.346 devMotorAsyn::send_msg: mkp:Mot:Sim1 command=20, pact=0
2013/08/09 11:34:23.346 sim1 addr 1 queueRequest priority 0 not lockHolder
2013/08/09 11:34:23.346 sim1 1 autoConnect
2013/08/09 11:34:23.346 drvMotorAsyn::connect, pasynUser=0xc96bc8
2013/08/09 11:34:23.347 asynManager::portThread port=sim1 callback
2013/08/09 11:34:23.347 devMotorAsyn::asynCallback: mkp:Mot:Sim1 command=14, ivalue=0, dvalue=50000000000.000000
2013/08/09 11:34:23.347 drvMotorAsyn::writeFloat64, reason=4, pasynUser=0xca8368 pAxis=0xc98df8
2013/08/09 11:34:23.347 Set card 0, axis 1 high limit to 50000000000.0000002013/08/09 11:34:23.347 mkp:Mot:Sim1 devMotorAsyn::statusCallback new value=[p:0.000000,e:0.000000,s:0]
2013/08/09 11:34:23.347 mkp:Mot:Sim1 devMotorAsyn::update_values, needUpdate=1
2013/08/09 11:34:23.347 drvMotorAsyn::writeFloat64, reason=4, value=50000000000.000000
2013/08/09 11:34:23.347 asynManager::portThread port=sim1 callback
2013/08/09 11:34:23.347 devMotorAsyn::asynCallback: mkp:Mot:Sim1 command=15, ivalue=0, dvalue=-50000000000.000000
2013/08/09 11:34:23.347 drvMotorAsyn::writeFloat64, reason=3, pasynUser=0xca8578 pAxis=0xc98df8
2013/08/09 11:34:23.347 Set card 0, axis 1 low limit to -50000000000.0000002013/08/09 11:34:23.347 mkp:Mot:Sim1 devMotorAsyn::statusCallback new value=[p:0.000000,e:0.000000,s:0]
2013/08/09 11:34:23.347 mkp:Mot:Sim1 devMotorAsyn::update_values, needUpdate=1
2013/08/09 11:34:23.347 drvMotorAsyn::writeFloat64, reason=3, value=-50000000000.000000
2013/08/09 11:34:23.445 mkp:Mot:Sim1 devMotorAsyn::statusCallback new value=[p:0.000000,e:0.000000,s:a]
2013/08/09 11:34:23.445 mkp:Mot:Sim1 devMotorAsyn::update_values, needUpdate=1
iocRun: All initialization complete
## Start any sequence programs
#seq sncxxx,"user=markoHost"
epics> dbpr mkp:Mot:Sim1 4
ACCL: 0.1 ACKS: INVALID ACKT: YES ADEL: 0.5
ALST: 0 ASG: ASP: (nil) ATHM: 1
BACC: 0.1 BDST: 0 BKPT: 00 BVEL: 0
CARD: -1 CBAK: 0xca7650 CDIR: 0 CNEN: Disable
DCOF: 0 DESC: sim DHLM: 50000000 DIFF: 0
DINP:CONSTANT DIR: Pos DISA: 0 DISP: 0
DISS: NO_ALARM DISV: 1 DLLM: -50000000 DLY: 0
DMOV: 1 DOL:CONSTANT DPVT: 0xca7680 DRBV: 0
DSET: 0x7f0501e58880 DTYP: asynMotor DVAL: 0
EGU: mm ERES: 1.0e-03 EVNT: 0 FLNK:CONSTANT 0
FOF: 0 FOFF: Variable FRAC: 1 HHSV: NO_ALARM
HIGH: 0 HIHI: 0 HLM: 50000000 HLS: 0
HLSV: MINOR HOMF: 0 HOMR: 0 HOPR: 0
HSV: NO_ALARM HVEL: 0 ICOF: 0 INIT:
JAR: 50 JOGF: 0 JOGR: 0 JVEL: 5
LCNT: 0 LDVL: 0 LLM: -50000000 LLS: 0
LLSV: NO_ALARM LOCK: NO LOLO: 0 LOPR: 0
LOW: 0 LRLV: 0 LRVL: 0 LSET: 0xca8830
LSPG: Go LSV: NO_ALARM LVAL: 0 LVIO: 0
MDEL: 0 MIP: 0 MISS: 0
MLIS: 80 69 02 a0 04 7f 00 00 80 69 02 a0 04 7f 00 00 01 00 00 00
MLOK: 50 74 ca 00 00 00 00 00 MLST: 0 MMAP: 0
MOVN: 0 MRES: 1.0e-03 MSTA: 10 NAME: mkp:Mot:Sim1
NMAP: 0 NSEV: NO_ALARM NSTA: NO_ALARM NTM: YES
NTMF: 2 OFF: 0 OMSL: supervisory
OUT:INST_IO @asyn(sim1,1) PACT: 0 PCOF: 0
PHAS: 0 PINI: NO POST: PP: 0
PPN: (nil) PPNR: (nil) PREC: 3 PREM:
PRIO: LOW PROC: 0 PUTF: 0 RBV: 0
RCNT: 0 RDBD: 1.0e-03 RDBL:CONSTANT RDES: 0xc88450
RDIF: 0 REP: 0 RHLS: 0 RINP:CONSTANT
RLLS: 0 RLNK:CONSTANT RLV: 0 RMOD: Default
RMP: 0 RPRO: 0 RRBV: 0 RRES: 0
RSET: 0x7f0501e58440 RTRY: 0 RVAL: 0
RVEL: 0 S: 25 SBAK: 0 SBAS: 0
SCAN: Passive SDIS:CA_LINK mkp:Mot:Sim1:SDIS.VAL NPP NMS
SET: Use SEVR: INVALID SMAX: 25 SPMG: Go
SPVT: (nil) SREV: 200 SSET: 0 STAT: LINK
STOO:CONSTANT STOP: 0 STUP: OFF SUSE: 0
SYNC: 0 TDIR: 0 TIME: 2013-08-09 11:34:23.445372534
TPRO: 0 TSE: 0 TSEL:CONSTANT TWF: 0
TWR: 0 TWV: 1 UDF: 0 UEIP: No
UREV: 0.2 URIP: No VAL: 0 VBAS: 0
VELO: 5 VERS: 6.7 VMAX: 5 VOF: 0
epics> dbpf mkp:Mot:Sim1.STUP 1
2013/08/09 11:34:35.688 mkp:Mot:Sim1 devMotorAsyn::update_values, needUpdate=0
2013/08/09 11:34:35.688 devMotorAsyn::send_msg: mkp:Mot:Sim1 command=10, pact=1
2013/08/09 11:34:35.688 sim1 addr 1 queueRequest priority 0 not lockHolder
2013/08/09 11:34:35.688 asynManager::portThread port=sim1 callback
DBR_STRING: "BUSY"
2013/08/09 11:34:35.688 devMotorAsyn::asynCallback: mkp:Mot:Sim1 command=18, ivalue=0, dvalue=0.000000
2013/08/09 11:34:35.688 drvMotorAsyn::writeInt32, reason=109, value=0
epics> dbpr mkp:Mot:Sim1 4
ACCL: 0.1 ACKS: INVALID ACKT: YES ADEL: 0.5
ALST: 0 ASG: ASP: (nil) ATHM: 1
BACC: 0.1 BDST: 0 BKPT: 00 BVEL: 0
CARD: -1 CBAK: 0xca7650 CDIR: 0 CNEN: Disable
DCOF: 0 DESC: sim DHLM: 50000000 DIFF: 0
DINP:CONSTANT DIR: Pos DISA: 0 DISP: 0
DISS: NO_ALARM DISV: 1 DLLM: -50000000 DLY: 0
DMOV: 1 DOL:CONSTANT DPVT: 0xca7680 DRBV: 0
DSET: 0x7f0501e58880 DTYP: asynMotor DVAL: 0
EGU: mm ERES: 1.0e-03 EVNT: 0 FLNK:CONSTANT 0
FOF: 0 FOFF: Variable FRAC: 1 HHSV: NO_ALARM
HIGH: 0 HIHI: 0 HLM: 50000000 HLS: 0
HLSV: MINOR HOMF: 0 HOMR: 0 HOPR: 0
HSV: NO_ALARM HVEL: 0 ICOF: 0 INIT:
JAR: 50 JOGF: 0 JOGR: 0 JVEL: 5
LCNT: 0 LDVL: 0 LLM: -50000000 LLS: 0
LLSV: NO_ALARM LOCK: NO LOLO: 0 LOPR: 0
LOW: 0 LRLV: 0 LRVL: 0 LSET: 0xca8830
LSPG: Go LSV: NO_ALARM LVAL: 0 LVIO: 0
MDEL: 0 MIP: 0 MISS: 0
MLIS: 80 69 02 a0 04 7f 00 00 80 69 02 a0 04 7f 00 00 01 00 00 00
MLOK: 50 74 ca 00 00 00 00 00 MLST: 0 MMAP: 0
MOVN: 0 MRES: 1.0e-03 MSTA: 10 NAME: mkp:Mot:Sim1
NMAP: 0 NSEV: NO_ALARM NSTA: NO_ALARM NTM: YES
NTMF: 2 OFF: 0 OMSL: supervisory
OUT:INST_IO @asyn(sim1,1) PACT: 0 PCOF: 0
PHAS: 0 PINI: NO POST: PP: 0
PPN: (nil) PPNR: (nil) PREC: 3 PREM:
PRIO: LOW PROC: 0 PUTF: 0 RBV: 0
RCNT: 0 RDBD: 1.0e-03 RDBL:CONSTANT RDES: 0xc88450
RDIF: 0 REP: 0 RHLS: 0 RINP:CONSTANT
RLLS: 0 RLNK:CONSTANT RLV: 0 RMOD: Default
RMP: 0 RPRO: 0 RRBV: 0 RRES: 0
RSET: 0x7f0501e58440 RTRY: 0 RVAL: 0
RVEL: 0 S: 25 SBAK: 0 SBAS: 0
SCAN: Passive SDIS:CA_LINK mkp:Mot:Sim1:SDIS.VAL NPP NMS
SET: Use SEVR: INVALID SMAX: 25 SPMG: Go
SPVT: (nil) SREV: 200 SSET: 0 STAT: LINK
STOO:CONSTANT STOP: 0 STUP: BUSY SUSE: 0
SYNC: 0 TDIR: 0 TIME: 2013-08-09 11:34:35.688013330
TPRO: 0 TSE: 0 TSEL:CONSTANT TWF: 0
TWR: 0 TWV: 1 UDF: 0 UEIP: No
UREV: 0.2 URIP: No VAL: 0 VBAS: 0
VELO: 5 VERS: 6.7 VMAX: 5 VOF: 0
epics>
- Replies:
- Re: motorRecord simulation & STUP field Pearson, Matthew R.
- References:
- motorRecord simulation & STUP field Konrad, Martin
- Re: motorRecord simulation & STUP field Ron Sluiter
- Re: motorRecord simulation & STUP field Konrad, Martin
- Navigate by Date:
- Prev:
Re: [asyn] link already open! Pavel Maslov
- Next:
Re: motorRecord simulation & STUP field Ron Sluiter
- 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: motorRecord simulation & STUP field Pearson, Matthew R.
- Next:
Re: motorRecord simulation & STUP field Pearson, Matthew R.
- 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
|