Hi Jörn,
Firstly you missed one ‘0’ in your caget’s EPICS_CA_MAX_ARRAY_BYTES which is 40MB (not 400MB as you configured in Phoebus).
Having said that, 40MB should be enough for the ASI1600MM if your ‘imagePV:ArrayData’ is 16-bit data type: 4656*3520*2 = 32778240 < 40MB. What is your settings for the data type ‘imagePV:ArrayData’’? 16-bit, 24-bit, 32-bit?
Also, it is worth checking the settings of EPICS_CA_MAX_ARRAY_BYTES inside your IOC (i.e. st.cmd). I guess it is big enough, otherwise you will have trouble with the Phoebus reading. Anyway, what is the number you used for the ASI1600MM IOC?
Cheers,
Yong
From:
Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Jörn Dreyer via Tech-talk <tech-talk at aps.anl.gov>
Date: Tuesday, January 31, 2023 at 6:33 AM
To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: Data transport problem with CA
Hi,
I run into a problem with transporting the data of an areaDetector image over CA. It works in one case, but not the other.
I have one IOC that reads out three cameras
1) Two basler cameras with 659*494 pixels
2) One ASI 1600MM with 4656 x 3520 pixels
Now to the problem:
The Basler cameras do not make any problem, only the ASI1600MM is affected:
It works in Phoebus when setting org.phoebus.pv.ca/max_array_bytes=400000000
I can see reasonable Data when calling caget with a low number of elements to read, but fails with a warning "virtual circuit disconnect" when attempting to read the full image and all data is shown to be 0.
The first lines of caget output are:
caget
imagePV:ArrayData
Read operation timed out: some PV data was not read.
imagePV:ArrayData 16389120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Limiting the amount of data read:
caget imagePV:ArrayData -# 100
imagePV:ArrayData 100 3520 3888 4080 4480 4560 4992 4480 4864 5136 5184 5536
6096 5488 4672 3024 2192 1536 1264 848 944 816 608 560 640 480 496 464 432 544 416 336 400 336 33
6 464 320 400 480 352 304 336 256 304 272 240 320 272 288 272 288 256 320 256 304 240 224 304 288
240 240 256 256 288 320 288 304 256 304 272 256 240 288 256 352 304 320 304 304 288 304 256 288 28
8 320 352 336 368 368 304 320 288 352 336 288 304 320 272 224 272 256
The environment vaiable EPICS_CA_MAX_ARRAY_BYTES is set to 40000000 to match the setting for phoebus.
What setting might need to be changed to get that working?
Regards,
Jörn