EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: motorRecord simulation & STUP field
From: "Pearson, Matthew R." <[email protected]>
To: Ron Sluiter <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Thu, 8 Aug 2013 15:49:47 -0400
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  <20132014  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  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·