EPICS Home

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

Subject: RE: AreaDetector / ADURL queries
From: "Heesterman, Peter J" <[email protected]>
To: "'Mark Rivers'" <[email protected]>, "'Bruno Martins'" <[email protected]>
Cc: "Lange Ralph \([email protected]\)" <[email protected]>, "EPICS Tech-Talk \([email protected]\)" <[email protected]>
Date: Tue, 21 Mar 2017 11:29:33 +0000
Thank you, Mark.

Your second point (and not my slip-up regarding the first), was at issue here.

What I understand is that the "Array callbacks" button(s) in SimDetector.adl and URLDriver.adl are connected to PVs like 13URL1:cam1:ArrayCallbacks.
The "Enable" button in NDStdArrays.adl is connected to PVs like 13URL1:image1:EnableCallbacks.

And both of these need to be enabled, for it to work, is that right?

Many thanks for your help, I have it working now.

Cheers,

Peter.

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Mark Rivers
Sent: 20 March 2017 17:20
To: Heesterman, Peter J <[email protected]>; 'Bruno Martins' <[email protected]>
Cc: Lange Ralph ([email protected]) <[email protected]>; EPICS Tech-Talk ([email protected]) <[email protected]>
Subject: RE: AreaDetector / ADURL queries

Hi Peter,

I think I see 2 problems.

- You need to start the simDetector.  It has not produced any images yet in the screen shot you uploaded.  Press the Acquire/Start button.
- The NDStdArrays.adl screen shows that the plugin is Disabled.  You need to Enable it.  This was one of the items in the troubleshooting guide here:

http://cars9.uchicago.edu/software/epics/areaDetectorViewers.html#Troubleshooting

Mark


From: Heesterman, Peter J [[email protected]]
Sent: Monday, March 20, 2017 11:43 AM
To: Mark Rivers; 'Bruno Martins'
Cc: Lange Ralph ([email protected]); EPICS Tech-Talk ([email protected])
Subject: RE: AreaDetector / ADURL queries

Hi Mark,

I reduced the EPICS_CA_MAX_ARRAY_BYTES to 30M and then to 15M.
(I note that the URL IOC configuration requires 12M - and change - for 8-bit usage.
The simDetector IOC requires only 3M, and change.) This didn’t make a difference.

I have uploaded (in order to avoid bloating the mail list storage), the requested screen shot to:
            ftp://ftp.jet.efda.org/pub/outgoing/pheest/simDetector.png
You’ll need anonymous FTP authentication, to retrieve it.
I’ve done my best to put as much as possible of the relevant windows visible.

I note:
a. The ImageJ plugin produces a Java exception “AlreadyBoundException”.
     I’m not sure if this is relevant?
b. Only the first byte (99, in this view) of the array data appears to be non-zero.

NB, the simulator mode is LinearRamp – this is the default.

Thanks,

Peter.

From: [email protected] [mailto:[email protected]] On Behalf Of Mark Rivers
Sent: 20 March 2017 14:38
To: Heesterman, Peter J <[email protected]>; 'Bruno Martins' <[email protected]>
Cc: Lange Ralph ([email protected]) <[email protected]>; [email protected]; EPICS Tech-Talk ([email protected]) <[email protected]>
Subject: RE: AreaDetector / ADURL queries

Hi Peter,


Ø  I confirm that I have EPICS_CA_MAX_ARRAY_BYTES set to a large value (100000000, this is possibly overkill).

EPICS CA actually allocates arrays this size once the required buffer size exceeds 16KB.  So you should set it to a value just a bit larger than actually required, perhaps 10M not 100M.


Ø  I confirm that I am able to caget the array 13URL1:image1:ArrayData, but the array is so big it is rather difficult to see what (non-zero) data it contains.

If you use the simDetector in LinearRamp mode than most values should be non-zero and you can see just the first 100 values with

caget -#100 13URL1:image1:ArrayData

Please configure to use the simDetector running in Continuous mode.  Then send screen shots of

simDetector.adl
NDStdArrays.adl
EPICS_AD_Viewer ImageJ window
ImageJ log window

Mark13

From: [email protected]<mailto:[email protected]> [mailto:[email protected]] On Behalf Of Heesterman, Peter J
Sent: Monday, March 20, 2017 9:23 AM
To: 'Bruno Martins'
Cc: Lange Ralph ([email protected]<mailto:[email protected]>); [email protected]<mailto:[email protected]>; EPICS Tech-Talk ([email protected]<mailto:[email protected]>)
Subject: RE: AreaDetector / ADURL queries

Hi Bruno, Mark, Ralph (not to mention Mark Engbretson and Hugh Slepicka),

Thank you for your excellent responses.

Under my (3) and (4), I have reverted the misunderstanding, and have been able to get it to work (at least, to the same extent as before).

I had experimented rather extensively with the names used, but the nature of the PV save/restore process means that a couple of re-starts are required, before erroneous usage is cleared.
This doesn’t too easily lend itself to trial’n’error experimentation...

I have also been able to get the simulation detector to work (at least, to the same extent as before).

I confirm that I have EPICS_CA_MAX_ARRAY_BYTES set to a large value (100000000, this is possibly overkill).
I also confirm that I have enabled array call-backs.

I confirm that I am able to caget the array 13URL1:image1:ArrayData, but the array is so big it is rather difficult to see what (non-zero) data it contains.

I also checked these values:
            13URL1:image1:MinCallbackTime.  It has the value 0 (I assume this is the default).
            13URL1:cam1:ArrayCallbacks. It has the value Enable.

The ImageJ plugin shows green, and no errors are being logged.
Nonetheless, no picture is displayed...

Many thanks,

Peter.



From: Bruno Martins [mailto:[email protected]]
Sent: 18 March 2017 16:21
To: Heesterman, Peter J <[email protected]<mailto:[email protected]>>
Cc: EPICS Tech-Talk ([email protected]<mailto:[email protected]>) <[email protected]<mailto:[email protected]>>
Subject: Re: AreaDetector / ADURL queries

Hi Peter,
Regarding your questions
On Fri, Mar 17, 2017 at 10:13 AM, Heesterman, Peter J <[email protected]<mailto:[email protected]>> wrote:

Questions:

1. In start_epics, I suspect that:

        medm -x -macro "P=13SIM1:, R=cam1:" simDetector.adl & is meant to be:

        medm -x -macro "P=13URL1:, R=cam1:" URLDriver.adl &


Yes, you are correct.

2. In st.cmd, in the line:
        {URLDriverConfig("$(PORT)", 0, 0)

    Is the brace character intended, or is a typo?

    I can make it work if the brace is removed.

It is a typo.


3.  In st.cmd, some lines refer to R=cam1:, whereas some lines refer to R=image1:, is this intended?
     e.g.
        dbLoadRecords("$(ADURL)/db/URLDriver.template","P=$(PREFIX),R=cam1:,PORT=$(PORT),ADDR=0,TIMEOUT=1")
     and
        dbLoadRecords("$(ADCORE)/db/NDStdArrays.template", "P=$(PREFIX),R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT),TYPE=Int8,FTVL=UCHAR,NELEMENTS=12582912")

     I can make it work if I change R=image1: to R=cam1:

4. In auto_settings.req some lines refer to R=cam1:, and some refer to R=image1:, is this intended?

    Again, I can make it work if I change R=image1: to R=cam1:

"cam1:" refers to PV's that control the camera itself: starting / stopping the acquisition, setting the exposure time, etc.
"image1:" PV's are for the NDStdArrays plugin, which converts the internal NDArray representation used by areaDetector into a waveform that EPICS clients can understand.
Of course, you can choose whatever prefixes you want, but those are kind of standard.
What kind of error do you get if you leave the NDStdArrays prefix as "image1:"?

5. The issue I haven’t been able to resolve is this (see screen shot):


I believe the software is correctly collecting image data frames, and the ImageJ plugin shows green with correct connection.

But – I don’t see any picture...
What could I be missing here?

As Ralph said, check that the environment variable EPICS_CA_MAX_ARRAY_BYTES is adequate. It should be larger than the largest image you intend to transfer.
You could check if caget complains if you try to read the PV 13URL1:image1:ArrayData HTH, Bruno



Replies:
RE: AreaDetector / ADURL queries Mark Rivers
References:
AreaDetector / ADURL queries Heesterman, Peter J
Re: AreaDetector / ADURL queries Bruno Martins
RE: AreaDetector / ADURL queries Heesterman, Peter J
RE: AreaDetector / ADURL queries Mark Rivers
RE: AreaDetector / ADURL queries Heesterman, Peter J
RE: AreaDetector / ADURL queries Mark Rivers

Navigate by Date:
Prev: StreamDevice exception handlers Eric Norum
Next: RE: AreaDetector / ADURL queries Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: AreaDetector / ADURL queries Mark Rivers
Next: RE: AreaDetector / ADURL queries Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024