Experimental Physics and
(using EPICS 3.14.9)
I have a subArray record which reads a variable number (set by NELM) of words from hardware.
If I do
it returns the number of elements and their values. I can change NELM and a subsequent caget reflects this change.
question 1) does Channel Access transfer only NELM number of values or is it transferring MALM number of values?
question 2) would this break down if I attach a monitor to my_subArray? i.e. will changing NELM cause problems for a monitor?
I want to process the data in my_subArray to produce a set of related arrays. If I use aSub I have to specify the input array size (e.g. NOA) and output array size (e.g. NOVA), sizes which cannot later be modified (per Record Reference manual).
i.e my_subArray (NELM = N) -> aSub (NOA,NOVA = N_MAX)
question 3) does aSub field NEA (number of input A elements) get set by db processing when input A is read in? i.e. can my subroutine use the value of NEA to tell how many values were read in?
question 4) is my aSub subroutine allowed to change NEVA (number of input A elements) (Record Reference manual field summary says "no modify" - or does that refer only to via dbPut?)
question 5a) if answer to 4 is yes, will "caget my_aSub.VALA" return NEVA number of elements?
question 5b) if the answer to Q. 4 is no, can I use another subArray record to read from the aSub record to reset the array length?
i.e. my_subArray(NELM = N) -> aSub (NOA,NOVA = N_MAX) -> new_subArray(NELM = N)
John Dobbins Lab for Elementary Particle Physics Cornell University
|ANJ, 21 Sep 2010||
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·