Hi,
Martin is actually using the 'phase 2' simulation driver. The phase 3 sim driver also has support for on-demand status updates. Looking at the code, I think it should work. I just tested it with both types of driver, and it works for me…
mkp:Mot:Sim1.STUP 2013-08-08 15:36:05.815604 OFF
mkp:Mot:Sim1.STUP 2013-08-08 15:36:05.815604 ON
mkp:Mot:Sim1.STUP 2013-08-08 15:37:15.719588 BUSY
mkp:Mot:Sim1.STUP 2013-08-08 15:37:15.719647 OFF
record(motor,"mkp:Mot:Sim1")
{
field(DESC,"sim")
field(DTYP,"asynMotor")
field(DIR,"0")
field(VELO,"5")
field(VBAS,"0")
field(ACCL,"0.1")
field(BDST,"0")
field(BVEL,"0")
field(BACC,"0")
field(OUT,"@asyn(sim1,1)")
field(MRES,"0.001")
field(PREC,"3")
field(EGU,"mm")
field(DHLM,"50000000")
field(DLLM,"-50000000")
field(INIT,"")
field(RTRY,"0")
field(DLY,"0")
field(HVEL,"0")
field(SREV, "200")
field(RRES, "0")
field(TWV, "1.0")
field(ERES, "0")
field(JAR, "0")
field(UEIP, "0")
field(URIP, "0")
field(RDBL, "")
field(VMAX, "5")
field(OFF, "0")
field(RDBD, "0")
field(FOFF, "0")
field(ADEL, "0.5")
field(NTM, "YES")
field(HLSV, "MINOR")
field(SDIS, "mkp:Mot:Sim1:SDIS.VAL")
}
and:
# 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 )
# Setup the Asyn layer (portname, low-level driver drvet name, card, number of axes on card)
drvAsynMotorConfigure("sim1", "motorSim", 0, 2)
Could you send me a dbpr of the motor record?
Cheers,
Matt
On Aug 8, 2013, at 2:28 PM, Ron Sluiter <[email protected]> wrote:
> Hello Martin,
>
> I don't know the details, but I suspect that the asyn motor phase 3
> device/driver model (which I believe "motorSimCreate" is) lacks support
> for the Status Update (STUP) motor record field.
>
> The asyn motor phase 2 simulator (see motorSimSupport.dbd) has
> support for STUP; see motorAxisforceCallback() in MotorSimSrc/drvMotorSim.c
>
> Ron
>
> On 8/8/2013 12:47 PM, Konrad, Martin wrote:
>> Hi,
>> I came across the following issue while using motor record with
>> DTYP="asynMotor". If I request a status update by
>>
>> $ caput test.STUP 1
>>
>> the field seems to stay in state BUSY forever:
>>
>> $ camonitor motorSim:test0.STUP
>> test.STUP 2013-08-08 13:31:58.426150 OFF
>> test.STUP 2013-08-08 13:31:58.426150 ON
>> test.STUP 2013-08-08 13:32:47.299463 BUSY
>>
>> I guess that's not the intended behavior. Here is my database file
>> (pretty much the example):
>>
>> record(motor,"test")
>> {
>> field(DESC,"Motor Simulation test")
>> field(DTYP, "asynMotor")
>> field(VELO,"1")
>> field(VBAS,"0")
>> field(VMAX,"1")
>> field(HVEL,"1")
>> field(ACCL,"1")
>> field(BDST,"0.01")
>> field(BVEL,"0.1")
>> field(BACC,"0.1")
>> field(OUT,"@asyn(sim1,1)")
>> field(MRES,"0.001")
>> field(PREC,"5")
>> field(EGU,"mm")
>> field(DHLM,"30")
>> field(DLLM,"-30")
>> }
>>
>> In st.cmd I have:
>> motorSimCreate( 0, 0, -22000, 42000, 10000, 1, 2 )
>> drvAsynMotorConfigure("sim1", "motorSim", 0, 2)
>>
>> Is the STUP field supposed to work with this device support?
>>
>> Regards,
>>
>> Martin
>
- References:
- motorRecord simulation & STUP field Konrad, Martin
- Re: motorRecord simulation & STUP field Ron Sluiter
- Navigate by Date:
- Prev:
RE: mca Canberra DSA-2000 HV support Mark Rivers
- Next:
Re: motorRecord simulation & STUP field Kevin Peterson
- 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 Mark Rivers
- Next:
Re: motorRecord simulation & STUP field 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
|