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

Subject: subArray processing
From: Hinko Kocevar <[email protected]>
To: [email protected]
Date: Wed, 03 Jun 2009 10:32:34 +0200
Hello,

I'm trying to use subArray record type to display each array element at
index 0 .. n (n == 10; my case) in a separate PV.

record(bi, "$(DEVICE)ACQUIRE") {
	field(SCAN, "I/O Intr")
	field(DTYP, "asynUInt32Digital")
	field(FLNK, "$(DEVICE)MONITOR PP")
	field(INP, "@asynMask($(PORT), 200, 0x1, 1.0)")
}

record(waveform, "$(DEVICE)MONITOR") {
	field(DESC, "A B C D X Y Q SUM CX CY")
	field(DTYP, "asynInt32ArrayIn")
	field(FLNK, "$(DEVICE)A PP")
	field(INP, "@asyn($(PORT), 200)")
	field(NELM, "16")
	field(FTVL, "LONG")
}

record(subArray, "$(DEVICE)A") {
	field(INP, "$(DEVICE)MONITOR")
	field(INDX, "0")
	#field(MALM, "16")
	field(MALM, "1")
	field(NELM, "1")
	field(FTVL, "LONG")
	field(FLNK, "$(DEVICE)B PP")
}

record(subArray, "$(DEVICE)B") {
	field(INP, "$(DEVICE)MONITOR")
	field(INDX, "1")
	#field(MALM, "16")
	field(MALM, "1")
	field(NELM, "1")
	field(FTVL, "LONG")
	field(FLNK, "$(DEVICE)C PP")
}

Above are the records that I use. But the record A and B do not work as
expected - A and B both display MONITOR element at index 0. See below:

LIBERA01:SA:MONITOR            2009-06-03 10:31:25.800912 16 4464720
4614628 5834728 7518137 682839 -1902545 -816500 22432214 9866483 657703
1973108 3288513 4603918 5919323 7234728 8550133
LIBERA01:SA:A                  2009-06-03 10:31:25.800912 4464720
LIBERA01:SA:B                  2009-06-03 10:31:25.800912 4464720
LIBERA01:SA:MONITOR            2009-06-03 10:31:25.900912 16 4466474
4610680 5834452 7525126 688647 -1905988 -817173 22436734 9866498 657704
1973111 3288518 4603925 5919332 7234739 8550146
LIBERA01:SA:A                  2009-06-03 10:31:25.900912 4466474
LIBERA01:SA:B                  2009-06-03 10:31:25.900912 4466474
LIBERA01:SA:MONITOR            2009-06-03 10:31:26.000912 16 4470273
4605824 5816126 7515386 697287 -1896477 -818335 22407610 9866513 657705
1973114 3288523 4603932 5919341 7234750 8550159
LIBERA01:SA:A                  2009-06-03 10:31:26.000912 4470273
LIBERA01:SA:B                  2009-06-03 10:31:26.000912 4470273

Now, if remove all the lines with:
	field(MALM, "1")
	field(NELM, "1")
in records A and B, and add this instead:
	field(MALM, "16")

records A and B work as expected, but they are 16 fields long - I would
like to see them 1 element long as the really are (one 32 bit integer
value).

LIBERA01:SA:MONITOR            2009-06-03 10:30:17.280912 16 4472801
4610293 5819417 7532655 701680 -1900157 -824336 22435169 9856373 657029
1971086 3285143 4599200 5913257 7227314 8541371
LIBERA01:SA:A                  2009-06-03 10:30:17.280912 16 4472801 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
LIBERA01:SA:B                  2009-06-03 10:30:17.280912 16 4610293 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
LIBERA01:SA:MONITOR            2009-06-03 10:30:17.380912 16 4465950
4612662 5830285 7532898 692675 -1906287 -823451 22441797 9856388 657030
1971089 3285148 4599207 5913266 7227325 8541384
LIBERA01:SA:A                  2009-06-03 10:30:17.380912 16 4465950 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
LIBERA01:SA:B                  2009-06-03 10:30:17.380912 16 4612662 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
LIBERA01:SA:MONITOR            2009-06-03 10:30:17.480912 16 4467876
4612356 5839784 7524717 685678 -1906164 -814509 22444735 9856403 657031
1971092 3285153 4599214 5913275 7227336 8541397
LIBERA01:SA:A                  2009-06-03 10:30:17.480912 16 4467876 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
LIBERA01:SA:B                  2009-06-03 10:30:17.480912 16 4612356 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0

How can one implement single element PV in subArray record?

Thank you,
Hinko

-- 
Hinko Kocevar
Technical support engineer
Instrumentation Technologies
Velika pot 22, SI-5250 Solkan - Slovenia
T:+386 5 3352600, F:+386 5 3352601
mailto: [email protected]

http://www.i-tech.si - When your users demand stability


Replies:
Re: subArray processing Steven M. Hartman
Re: subArray processing Carl Lionberger

Navigate by Date:
Prev: Patch for RTEMS ColdFire uC5282 Eric Norum
Next: Re: subArray processing Steven M. Hartman
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Patch for RTEMS ColdFire uC5282 Eric Norum
Next: Re: subArray processing Steven M. Hartman
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·