> 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?
Yes, that is correct.
Disabling 13URL1:cam1:ArrayCallbacks will turn off callbacks to all plugins that are configured to receive callbacks from 13URL1:cam1 .
Disabling 13URL1:image1:EnableCallbacks will turn off callbacks to that specific plugin from whatever driver or plugin it was configured to receive them from.
Mark
________________________________________
From: Heesterman, Peter J [[email protected]]
Sent: Tuesday, March 21, 2017 6:29 AM
To: Mark Rivers; 'Bruno Martins'
Cc: Lange Ralph ([email protected]); EPICS Tech-Talk ([email protected])
Subject: RE: AreaDetector / ADURL queries
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
- 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
- RE: AreaDetector / ADURL queries Heesterman, Peter J
- Navigate by Date:
- Prev:
RE: AreaDetector / ADURL queries Heesterman, Peter J
- Next:
Re: StreamDevice exception handlers Dirk Zimoch
- 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>
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
RE: AreaDetector / ADURL queries Heesterman, Peter J
- Next:
TDCT apparent bug (or is it just me?) Michael Westfall
- 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>
2018
2019
2020
2021
2022
2023
2024
|