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  <20212022  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  2017  2018  2019  2020  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: line scan camera with ADAravis driver skips frames
From: Katie Matusik via Tech-talk <tech-talk at aps.anl.gov>
To: tech-talk <tech-talk at aps.anl.gov>
Date: Tue, 6 Apr 2021 11:07:29 -0700
Hi everyone,
The camera that I am connecting to via GigE is a Basler Racer line scan camera (12288 x 1 px) model raL12288-8gm. When I run the camera with binning 1x1 and 8-bit pixel format at 1kHz (slowest frame rate), the driver keeps up until about 30K frames, at which point I start accumulating frame failures and underruns. With a higher frame rate, it happens almost immediately. 

I am using the latest areaDetector-master with ADAravis R1-3 and ADGenICam-master. I am running this IOC in a Docker using the host network which has MTU set to 9000. I made a slight adjustment to the ADAravis.cpp driver regarding setting the packet size to jumbo packets rather than determining optimum packet size, which was interfering with my network (lines 379-381 in ADAravis.cpp):
377     if (ARV_IS_GV_DEVICE(this->device)) {
378         // Automatically determine optimum packet size
379 //        arv_gv_device_auto_packet_size(ARV_GV_DEVICE(this->device));
380         // Uncomment this line to set jumbo packets
381         arv_gv_device_set_packet_size(ARV_GV_DEVICE(this->device), 9000);
382     }
I'm attaching snapshots of my camera features settings as well as my st.cmd and st.cmd.base files. Please let me know what other information you need. When I run this using the Basler pylonViewer software, I do not see these skipped frames.

Best,
Katie


This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error, please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee, you should not disseminate, distribute or copy this email. Please notify the sender immediately by email if you have received this email by mistake and delete this email from your system. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited
< envPaths
errlogInit(20000)

dbLoadDatabase("$(TOP)/dbd/ADAravisApp.dbd")
ADAravisApp_registerRecordDeviceDriver(pdbbase) 

# Name of camera as reported by arv-tool
epicsEnvSet("CAMERA_NAME", ${DET_IP})

# The maximum image width; used for row profiles in the NDPluginStats plugin
epicsEnvSet("XSIZE",  "12288")

# The maximum image height; used for column profiles in the NDPluginStats plugin
epicsEnvSet("YSIZE",  "1")

# Define NELEMENTS to be enough for a 12288x1x3 (color) image
epicsEnvSet("NELEMENTS", "40000")

# Enable register caching
epicsEnvSet("ENABLE_CACHING", "1")

# The database file
epicsEnvSet("GENICAM_DB_FILE", "$(ADGENICAM)/GenICamApp/Db/Basler.template")

< st.cmd.base

Attachment: ADAravis_IOC.png
Description: PNG image

Attachment: Basler-features-1.png
Description: PNG image

Attachment: Basler-features-2.png
Description: PNG image

Attachment: Basler-features-3.png
Description: PNG image

Attachment: Basler-features-4.png
Description: PNG image

# Prefix for all records
epicsEnvSet("PREFIX", "BASLER1:")

# The port name for the detector
epicsEnvSet("PORT", "BASLER")
# Really large queue so we can stream to disk at full camera speed
epicsEnvSet("QSIZE",  "2000")   
# The maximum number of time series points in the NDPluginStats plugin
epicsEnvSet("NCHANS", "2048")
# The maximum number of frames buffered in the NDPluginCircularBuff plugin
epicsEnvSet("CBUFFS", "500")
# The search path for database files
epicsEnvSet("EPICS_DB_INCLUDE_PATH", "$(ADCORE)/db:$(ADGENICAM)/db:$(ADARAVIS)/db")

# aravisConfig(const char *portName, const char *cameraName, int enableCaching, size_t maxMemory, int priority, int stackSize)
aravisConfig("$(PORT)", "$(CAMERA_NAME)", $(ENABLE_CACHING), 0, 0, 0)
asynSetTraceIOMask($(PORT), 0, 2)
#asynSetTraceMask($(PORT), 0, TRACE_ERROR|TRACEIO_DRIVER|TRACE_FLOW)
#asynSetTraceFile($(PORT), 0, "aravisDebug.txt")

# Main database
dbLoadRecords("$(ADARAVIS)/db/aravisCamera.template", "P=$(PREFIX),R=cam1:,PORT=$(PORT)")

# Load the autogenerated file of GenICam features
dbLoadRecords("$(GENICAM_DB_FILE)", "P=$(PREFIX),R=cam1:,PORT=$(PORT)")

# Create a standard arrays plugin
NDStdArraysConfigure("Image1", 5, 0, "$(PORT)", 0, 0)
# Use this line for 8-bit data only
#dbLoadRecords("$(ADCORE)/db/NDStdArrays.template", "P=$(PREFIX),R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT),TYPE=Int8,FTVL=CHAR,NELEMENTS=$(NELEMENTS)")
# Use this line for 8-bit or 16-bit data
dbLoadRecords("$(ADCORE)/db/NDStdArrays.template", "P=$(PREFIX),R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT),TYPE=Int16,FTVL=SHORT,NELEMENTS=$(NELEMENTS)")

# Load all other plugins using commonPlugins.cmd
< $(ADCORE)/iocBoot/commonPlugins.cmd
set_requestfile_path("$(ADGENICAM)/GenICamApp/Db")
set_requestfile_path("$(ADARAVIS)/aravisApp/Db")

iocInit()

# save things every thirty seconds
create_monitor_set("auto_settings.req", 30,"P=$(PREFIX)")

Replies:
RE: line scan camera with ADAravis driver skips frames Mark Rivers via Tech-talk
RE: line scan camera with ADAravis driver skips frames Mark Rivers via Tech-talk

Navigate by Date:
Prev: Re: VisualDCT doesnt load .dbd or .db files Hugo Slepicka via Tech-talk
Next: Re: phoebus LED in boolean button Pierrick M Hanlet 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  <20212022  2023  2024 
Navigate by Thread:
Prev: Re: VisualDCT doesnt load .dbd or .db files Marco A. Barra Montevechi Filho via Tech-talk
Next: RE: line scan camera with ADAravis driver skips frames 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  <20212022  2023  2024 
ANJ, 07 Apr 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·