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  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: Mark Rivers <[email protected]>
To: Bruno Martins <[email protected]>, "Heesterman, Peter J" <[email protected]>
Cc: "EPICS Tech-Talk \([email protected]\)" <[email protected]>
Date: Sat, 18 Mar 2017 22:31:03 +0000
Hi Peter,

Bruno's answers are correct.  I have fixed the 2 typos and pushed to Github.

You should leave the image1: PV names as they are, they should work fine.

If the ImageJ screen is not updating then you should consult this document:

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

It says:
****************************************************************
If other EPICS channel access clients (e.g. medm, caget) running on the same machine as the viewer can connect to the IOC then check the following:

  *   The detector is actually collecting images, and the ArrayCallbacks PV is set to Enable.
  *   The image plugin (NDStdArrays) has the EnableCallbacks PV set to Yes, and that the MinCallbackTime PV is not set too large.
  *   The environment variable EPICS_CA_MAX_ARRAY_BYTES is set to a value at least as large as the size of the arrays to be sent to the viewer. This environment variable must be set on the machine that the IOC is running on before the IOC is started. It must also be set on the machine that the ImageJ or IDL viewer is running on before ImageJ or IDL is started.

****************************************************************

If the problem is EPICS_CA_MAX_ARRAY_BYTES then the ImageJ log window should show you some errors.  If not, then it is likely that you have not configured the URL driver to do array callbacks, or you have not enabled the NDPluginStdArrays plugin (Image1).

Mark

________________________________
From: [email protected] [[email protected]] on behalf of Bruno Martins [[email protected]]
Sent: Saturday, March 18, 2017 11:21 AM
To: Heesterman, Peter J
Cc: EPICS Tech-Talk ([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

Navigate by Date:
Prev: Re: AreaDetector / ADURL queries Bruno Martins
Next: Multi-monitor for CSS opi palak shimpee
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 Bruno Martins
Next: RE: AreaDetector / ADURL queries Heesterman, Peter J
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 
ANJ, 21 Dec 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·