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: Convertion for asynFloat64
From: Benoit <[email protected]>
To: "J. Lewis Muir" <[email protected]>
Cc: [email protected]
Date: Fri, 22 Nov 2013 11:10:53 +0100
Hi Lewis,

about my previous problem I was wondering if I could do the conversion in one step with something similar as below (This does not work)

record(ao, "$(S):$(D)_$(C):CavVSet")
{
   field(DTYP, "asynFloat64")
   field(OUT,  "@asyn($(PORT),$(ADDR),$(TIMEOUT))cavvolt")
   field(VAL, "0")
   field(PREC, "2")
}
record(calcout, "$(S):$(D)_$(C):CavMilliVSet")
{
field(OUT, "$(S):$(D)_$(C):CavVSet PP")
field(OCAL, "1000 * VAL") 
field(PINI, "YES")
field(PREC, "1")
}

Actually I am doing as below, but I need a temporary record to perform this conversion, and It would be simpler to use one record less.

record(ao, "$(S):$(D)_$(C):CavMilliVSet")
{
field(DESC, "CavMilliVSet Temporary Set Record")
field(PINI, "YES")
field(EGU,  "mV")
field(PREC, "1")
}
record(calcout, "$(S):$(D)_$(C):CavMilliVCalc")
{
field(OUT, "$(S):$(D)_$(C):CavVSet PP")
field(CALC, "1000 * A")
field(INPA, "$(S):$(D)_$(C):CavMilliVSet.VAL CP MS")
field(PINI, "YES")
}


Regards



--
Benoit RAT
www.neub.co.nr


On Wed, Nov 20, 2013 at 10:45 AM, Benoit <[email protected]> wrote:
Hi,

I was afraid that asynFloat64 did not support the LINR field since there is nothing in asyn documentation.
I didn't want to create a CavMilliVolSet field but I think I don't have any other solution if I don't want to modify my driver.

Thanks a lot for the help... The support with this mailing list is fantastic!!!


--
Benoit RAT
www.neub.co.nr


On Tue, Nov 19, 2013 at 8:28 PM, J. Lewis Muir <[email protected]> wrote:
On 11/19/13 11:15 AM, Benoit wrote:
> Hi,
>
> I would like to use mV in my EPICS folder and send V to my driver.  I
> have done conversion correctly using asynInt32 type but it doesn't
> work with asynFloat64.  Do you have any suggestion?

Hi, Benoit.

Remove the PINI, LINR, and ESLO fields from CavVoltSet.  Add a calcout
record named CavMillivoltSet to convert to V and write the value
via its OUT field to CavVoltSet.  Set the PINI field to "YES" on
CavMillivoltSet.

Lewis



Replies:
Re: Convertion for asynFloat64 J. Lewis Muir
References:
Convertion for asynFloat64 Benoit
Re: Convertion for asynFloat64 J. Lewis Muir
Re: Convertion for asynFloat64 Benoit

Navigate by Date:
Prev: RE: areaDetector for a Basler GigE camera tom.cobb
Next: Job openings at PSI Dirk Zimoch
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: Convertion for asynFloat64 Benoit
Next: Re: Convertion for asynFloat64 J. Lewis Muir
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 ·