Hi John,
Here is what is supposed to happen:
1)
You press Acquire
2)
ADPilatus sends a message to camserver to collect an image
3)
camserver collects an image and writes a file
4)
ADPilatus reads the file that camserver just wrote into an NDArray
5)
ADPilatus calls the NDPluginStdArrays plugin with that NDArray
6)
The Channel Access client receives the array and displays it
Can you define what you mean by “latency”? Do you mean that the Channel Access client is displaying the previous image, not the one that was just collected? If you open the file that camserver wrote is it correct?
Are there any messages on the IOC console?
Is the IOC running on the same machine as camserver? If not, are their clocks well synchronized? There is time-stamp checking on the files as ADPilatus reads them to make sure it is not reading an “old” file, but rather one that was just written.
Can you turn on asynTrace debugging in ADPilatus to see what is going on?
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of John Dobbins via Tech-talk
Sent: Tuesday, March 10, 2020 11:38 AM
To: tech-talk at aps.anl.gov
Subject: camserver/NDStdArray latency mystery
First, apologies because this is about two old versions of areaDetector.
We have two Pilatus IOCs. One is areaDetector R1-9, Base 3.14.8 and one is R2-2 Base 3.14.12.4
Taking single images on the R2-2 version there is a latency of one image in the NDStdArray which is sent to Channel Access. The image is also being written to a file and that receives the latest image
however the file is being written by camserver (tvx-7.3.13-121212). Note that these are manually triggered images, rate is not an issue.
It is possible that the IOC is received a delayed image from camserver.
How can I determine if the latency is between camserver/IOC or within IOC?
Research Support Specialist
Cornell High Energy Synchrotron Source