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  <20122013  2014  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  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: waveform changes using subArray
From: Andrew Johnson <[email protected]>
To: [email protected]
Date: Fri, 14 Sep 2012 09:31:55 -0500
Hi Hinko,

You should also be able to replace the waveform record with an aSub record and 
implement the sub-array replacement part in C code, which would need fewer 
records on the IOC and is probably slightly more efficient, but will take more 
development work to implement.

- Andrew

On 2012-09-14 Hinko Kocevar wrote:
> Ned, Tim thank you for suggestions. We'll try out solution ASAP.
> 
> Best Regards,
> Hinko
> 
> On 09/13/2012 06:33 PM, Tim Mooney wrote:
> > Hinko,
> >
> > You could do this with the acalcout (array calcout) record in the calc
> > module. (http://www.aps.anl.gov/bcda/synApps/calc/aCalcoutRecord.html) If
> > .BB is the M-element replacement array, you can read the waveform into
> > the .AA field, overwrite with M elements from .BB, beginning at index N,
> > and write the result back to the waveform record, by configuring the
> > record like this:
> >
> > .A = M
> > .B = N
> > .INAA = "waveform.VAL NPP"
> > .CALC = "AA[0,B-1]+(BB[0,A-1]>>B)+(AA[A+B,-1]>>A+B)"
> > .OUT = "waveform.VAL PP"
> >
> > Tim
> >
> > ----- Original Message -----
> > From: "Hinko Kocevar" <[email protected]>
> > To: "Tech Talk" <[email protected]>
> > Sent: Thursday, September 13, 2012 6:59:05 AM
> > Subject: waveform changes using subArray
> >
> > Hi,
> >
> > We are trying to support a modification of long array (i.e. more than
> > 500 integer values) seen as a waveform in EPICS IOC. Lets say that it is
> > possible and valid for user to change only one or two values from this
> > array. By using waveform user needs to get all 500 integers locate the
> > one she wants to change, do the modification, store complete array back.
> > Using subArray to make a "window" into waveform sounded like a good
> > solution, but as I just read in the docs, subArray does not support
> > value writing back to the waveform.
> >
> > Can this be done in some other manner? The goal here would be to allow
> > user to get/see/change/set only the part of waveform, that shes
> > interested in.
> >
> > Thank you!
> >
> > Hinko
-- 
Never interrupt your enemy when he is making a mistake.
-- Napoleon Bonaparte

Replies:
Re: waveform changes using subArray Hinko Kocevar
Re: waveform changes using subArray Hinko Kocevar
References:
Re: waveform changes using subArray Tim Mooney
Re: waveform changes using subArray Hinko Kocevar

Navigate by Date:
Prev: aSub record : adding arguments Kate Feng
Next: Re: aSub record : adding arguments Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: waveform changes using subArray Hinko Kocevar
Next: Re: waveform changes using subArray Hinko Kocevar
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·