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  2017  2018  2019  2020  2021  2022  <20232024  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  <20232024 
<== Date ==> <== Thread ==>

Subject: pasynOctetSyncIO error reading image status=4
From: "Sintschuk, Michael via Tech-talk" <tech-talk at aps.anl.gov>
To: tech-talk <tech-talk at aps.anl.gov>
Date: Thu, 2 Mar 2023 17:19:32 +0000

Hi all,

 

like announced in this tech-talk:

https://epics.anl.gov/tech-talk/2021/msg02173.php

I’m now trying to setup a FDS camera from Photonic Science with the ADPSL module. After adding some slightly changes to the Keywords that are send to the PSViewer-server or received from it, I can communicate with the camera without any IOC-crashes. I forked the ADPSL-module here:

https://github.com/MichaS-git/ADPSL

 

However, from time to time I receive some deprecated images (some lines show ~50k counts, although it is a darkfield image and the rest image has ~200 counts) and the IOC shows this error code:

 

2023/03/02 16:51:43.266 PSL:getImage: error reading image, status=4, dataLen=12117504, nCopied=12117503, maxRead=1, nRead=1453

 

In the PSViewer (the vendor software that runs parallel) the image appears fine. It seems to appear random but I have the feeling that it happens more often when I increase the exposure time to higher than ~2s. Can anyone say what that error with status=4 actually means?

 

Here is my complete IOC-start with the errors:

 

#!../../bin/linux-x86_64/PSLioc

## You may have to change PSLioc to something else

## everywhere it appears in this file

< envPaths

epicsEnvSet("IOC","PSLioc")

epicsEnvSet("TOP","/mnt/soft-bam01/epics/IOC/PSLioc")

epicsEnvSet("SUPPORT","/soft/epics/inst-3.15.7")

epicsEnvSet("ASYN","/soft/epics/inst-3.15.7/asyn/4-40-1")

epicsEnvSet("BUSY","/soft/epics/inst-3.15.7/busy/1-7-2")

epicsEnvSet("CALC","/soft/epics/inst-3.15.7/calc/3-7-4")

epicsEnvSet("SSCAN","/soft/epics/inst-3.15.7/sscan/2-11-3")

epicsEnvSet("AUTOSAVE","/soft/epics/inst-3.15.7/autosave/5-10-1")

epicsEnvSet("AREA_DETECTOR","/soft/epics/inst-3.15.7/areaDetector-R3-11")

epicsEnvSet("ADCORE","/soft/epics/inst-3.15.7/areaDetector-R3-11/ADCore")

epicsEnvSet("ADSUPPORT","/soft/epics/inst-3.15.7/areaDetector-R3-11/ADSupport")

epicsEnvSet("ADPSL","/soft/epics/inst-3.15.7/areaDetector-R3-11/ADPSL")

epicsEnvSet("EPICS_BASE","/soft/epics/base")

## Register all support components

dbLoadDatabase("../../dbd/PSLioc.dbd",0,0)

PSLioc_registerRecordDeviceDriver(pdbbase)

epicsEnvSet("PREFIX", "XRFDS:")

epicsEnvSet("PORT",   "PSL")

epicsEnvSet("QSIZE",  "20")

epicsEnvSet("XSIZE",  "2744")

epicsEnvSet("YSIZE",  "2208")

epicsEnvSet("NCHANS", "2048")

#epicsEnvSet("CBUFFS", "500")

# The search path for database files

epicsEnvSet("EPICS_DB_INCLUDE_PATH", "/soft/epics/inst-3.15.7/areaDetector-R3-11/ADCore/db")

###

# Create the asyn port to talk to the PSL server on port 50000

drvAsynIPPortConfigure("PSLServer","hzb1.exp.helmholtz-berlin.de:50000", 0, 0, 0)

asynOctetSetOutputEos("PSLServer", 0, "\n")

asynOctetSetInputEos("PSLServer", 0, "\n")

#asynSetTraceIOMask("PSLServer",0,2)

#asynSetTraceMask("PSLServer",0,255)

#asynSetTraceFile("PSLServer", 0, "PSLServer.out")

# PSLConfig(const char *portName, const char *serverPort,

#          int maxBuffers, size_t maxMemory,

#          int priority, int stackSize)

PSLConfig("PSL", "PSLServer", 0, 0)

#asynSetTraceIOMask("$(PORT)",0,2)

#asynSetTraceMask("$(PORT)",0,9)

dbLoadRecords("/soft/epics/inst-3.15.7/areaDetector-R3-11/ADCore/db/ADBase.template","P=XRFDS:,R=cam1:,PORT=PSL,ADDR=0,TIMEOUT=1")

dbLoadRecords("/soft/epics/inst-3.15.7/areaDetector-R3-11/ADCore/db/NDFile.template","P=XRFDS:,R=cam1:,PORT=PSL,ADDR=0,TIMEOUT=1")

dbLoadRecords("/soft/epics/inst-3.15.7/areaDetector-R3-11/ADPSL/db/PSL.template",   "P=XRFDS:,R=cam1:,PORT=PSL,ADDR=0,TIMEOUT=1")

# Create a standard arrays plugin

NDStdArraysConfigure("Image1", 5, 0, "PSL", 0, 0)

dbLoadRecords("/soft/epics/inst-3.15.7/areaDetector-R3-11/ADCore/db/NDPluginBase.template","P=XRFDS:,R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PSL,NDARRAY_ADDR=0")

# Make NELEMENTS in the following be a little bigger than 2744*2208

dbLoadRecords("/soft/epics/inst-3.15.7/areaDetector-R3-11/ADCore/db/NDStdArrays.template", "P=XRFDS:,R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PSL,TYPE=Int16,FTVL=SHORT,NELEMENTS=6100000")

# Create a TIFF file saving plugin

NDFileTIFFConfigure("FileTIFF1", 20, 0, "PSL", 0)

dbLoadRecords("NDFileTIFF.template",  "P=XRFDS:,R=TIFF1:,PORT=FileTIFF1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PSL")

# Create 1 statistics plugins

NDStatsConfigure("STATS1", 20, 0, "PSL", 0, 0, 0, 0, 0, 5)

dbLoadRecords("NDStats.template",     "P=XRFDS:,R=Stats1:,  PORT=STATS1,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=2744,YSIZE=2208,NCHANS=2048,NDARRAY_PORT=PSL")

NDTimeSeriesConfigure("STATS1_TS", 20, 0, "STATS1", 1, 23)

dbLoadRecords("/soft/epics/inst-3.15.7/areaDetector-R3-11/ADCore/db/NDTimeSeries.template",  "P=XRFDS:,R=Stats1:TS:, PORT=STATS1_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS1,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1")

# Load all other plugins using commonPlugins.cmd

#< $(ADCORE)/iocBoot/commonPlugins.cmd

set_savefile_path("/soft/epics/IOC/PSLioc/iocBoot/PSLioc/autosave")

set_requestfile_path("/soft/epics/inst-3.15.7/areaDetector-R3-11/ADPSL/pslApp/Db")

set_requestfile_path("/soft/epics/IOC/PSLioc/iocBoot/PSLioc")

set_requestfile_path("/soft/epics/inst-3.15.7/areaDetector-R3-11/ADCore/ADApp/Db")

set_requestfile_path("/soft/epics/inst-3.15.7/calc/3-7-4/calcApp/Db")

set_pass1_restoreFile("auto_settings.sav")

iocInit()

Starting iocInit

############################################################################

## EPICS R3.15.7

## EPICS Base built Dec 20 2019

############################################################################

reboot_restore: entry for file 'auto_settings.sav'

reboot_restore: Found filename 'auto_settings.sav' in restoreFileList.

*** restoring from '/soft/epics/IOC/PSLioc/iocBoot/PSLioc/autosave/auto_settings.sav' at initHookState 7 (after record/device init) ***

reboot_restore: done with file 'auto_settings.sav'

 

iocRun: All initialization complete

# save things every thirty seconds

create_monitor_set("auto_settings.req", 30,"P=XRFDS:,D=cam1:")

epics> auto_settings.sav: 352 of 352 PV's connected

2023/03/02 16:48:49.460 PSL:getImage: error reading image, status=4, dataLen=12117504, nCopied=12117502, maxRead=2, nRead=1377

 

epics>

epics> 2023/03/02 16:51:32.720 PSL:getImage: error reading image, status=4, dataLen=12117504, nCopied=12117503, maxRead=1, nRead=1185

2023/03/02 16:51:43.266 PSL:getImage: error reading image, status=4, dataLen=12117504, nCopied=12117503, maxRead=1, nRead=1453

2023/03/02 16:51:48.603 PSL:getImage: error reading image, status=4, dataLen=12117504, nCopied=12117503, maxRead=1, nRead=1959

2023/03/02 16:51:55.546 PSL:writeReadServer, status=1, sent

Stop

2023/03/02 16:51:55.552 PSL:getImage: error reading image, status=1, dataLen=12117504, nCopied=8333289, maxRead=2048, nRead=0

2023/03/02 16:51:55.581 PSL:writeInt32: error, status=1 function=8, value=0

2023/03/02 16:51:55.581 XRFDS:cam1:Acquire devAsynInt32::processCallbackOutput process write error

2023/03/02 16:52:05.499 PSL:getImage: error reading image, status=4, dataLen=12117504, nCopied=12117502, maxRead=2, nRead=1603

2023/03/02 16:52:10.847 PSL:getImage: error reading image, status=4, dataLen=12117504, nCopied=12117502, maxRead=2, nRead=51

 

Best Regards

Michael


Replies:
RE: pasynOctetSyncIO error reading image status=4 Mark Rivers via Tech-talk

Navigate by Date:
Prev: Re: mvme6100 maxv controller maxvsetup Mark Rivers via Tech-talk
Next: RE: pasynOctetSyncIO error reading image status=4 Mark Rivers via Tech-talk
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  <20232024 
Navigate by Thread:
Prev: EPICS Collaboration meeting - registration is now open Pierrick M Hanlet via Tech-talk
Next: RE: pasynOctetSyncIO error reading image status=4 Mark Rivers via Tech-talk
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  <20232024 
ANJ, 02 Mar 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·