Experimental Physics and
| |||||||||||||||
|
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 < 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 Attachment:
Basler-features-1.png Attachment:
Basler-features-2.png Attachment:
Basler-features-3.png Attachment:
Basler-features-4.png # 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)")
| ||||||||||||||
ANJ, 07 Apr 2021 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |