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  2013  2014  2015  2016  <2017 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
<== Date ==> <== Thread ==>

Subject: Re: aCalcout: how to obtain scalar from array?
From: "Paduan Donadio, Marcio" <marcio@slac.stanford.edu>
To: "Tech-talk@aps.anl.gov" <Tech-talk@aps.anl.gov>
Date: Wed, 18 Oct 2017 03:22:58 +0000

Hello, again.


The answer was already in Tech Talk: http://www.aps.anl.gov/epics/tech-talk/2015/msg01340.php


The correct way of extracting a single element using aCalcout is indexing the element by means of AA[0,0], AA[1,1], etc.


Best regards,


Márcio Paduan Donadio
Control Systems Engineer
SLAC National Accelerator Laboratory
Advanced Instrumentation for Research Division
2575 Sand Hill Rd
Menlo Park CA 94025
Office (650) 926-5007




De: Paduan Donadio, Marcio
Enviado: terça-feira, 17 de outubro de 2017 18:49
Para: Tech-talk@aps.anl.gov
Assunto: aCalcout: how to obtain scalar from array?
 

Good night for everyone.


I am using calc 3.6.1 and EPICS 3.15.5.


I am trying to obtain a scalar from an array using aCalcout, with the syntax AA[1], for example. Apparently, aCalcout is ignoring the calculation from this case. See outputs I tried with IX (NELM=3 and NUSE=3).


$ caget PNA:B084:RF01:_extractJitterFreqRangeData
PNA:B084:RF01:_extractJitterFreqRangeData 0
$ caget PNA:B084:RF01:_extractJitterFreqRangeData.AVAL
PNA:B084:RF01:_extractJitterFreqRangeData.AVAL 3 0 1 2

Trying IX[2]:

$ caput PNA:B084:RF01:_extractJitterFreqRangeData.CALC "IX[2]"
Old : PNA:B084:RF01:_extractJitterFreqRangeData.CALC IX
New : PNA:B084:RF01:_extractJitterFreqRangeData.CALC IX[2]
$ caput PNA:B084:RF01:_extractJitterFreqRangeData.PROC 1
Old : PNA:B084:RF01:_extractJitterFreqRangeData.PROC 1
New : PNA:B084:RF01:_extractJitterFreqRangeData.PROC 1
$ caget PNA:B084:RF01:_extractJitterFreqRangeData
PNA:B084:RF01:_extractJitterFreqRangeData 0
$ caget PNA:B084:RF01:_extractJitterFreqRangeData.AVAL
PNA:B084:RF01:_extractJitterFreqRangeData.AVAL 3 0 1 2

It works with subranges, like IX[1,2]:

$ caput PNA:B084:RF01:_extractJitterFreqRangeData.CALC "IX[1,2]"
Old : PNA:B084:RF01:_extractJitterFreqRangeData.CALC IX[2]
New : PNA:B084:RF01:_extractJitterFreqRangeData.CALC IX[1,2]
$ caput PNA:B084:RF01:_extractJitterFreqRangeData.PROC 1
Old : PNA:B084:RF01:_extractJitterFreqRangeData.PROC 1
New : PNA:B084:RF01:_extractJitterFreqRangeData.PROC 1
$ caget PNA:B084:RF01:_extractJitterFreqRangeData.AVAL
PNA:B084:RF01:_extractJitterFreqRangeData.AVAL 3 1 2 0

If aCalcout is not supposed to be used this way, could you suggest me another way to extract a scalar from an index of a waveform record?

Thank you very much,

Márcio Paduan Donadio
Control Systems Engineer
SLAC National Accelerator Laboratory
Advanced Instrumentation for Research Division
2575 Sand Hill Rd
Menlo Park CA 94025
Office (650) 926-5007​







References:
aCalcout: how to obtain scalar from array? Paduan Donadio, Marcio

Navigate by Date:
Prev: aCalcout: how to obtain scalar from array? Paduan Donadio, Marcio
Next: RE: caQtDM installation help needed Antal, Szabolcs
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
Navigate by Thread:
Prev: aCalcout: how to obtain scalar from array? Paduan Donadio, Marcio
Next: caputRecorder make error l123173
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
ANJ, 18 Oct 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·