![]() |
![]() ![]()
Experimental Physics and
| ||||||||||||||
|
Hello,
I compiled ADVimba for AVT manta G-146C camera, and tried to start the IOC with a few plugins: ADPluginEdge, SSCAN, devIocStats, and some Calc records. There are a couple of errors after IOC starts: recDynLinkOut: waiting for CA context recGblRecordError: devStringinEnvVar (init_record) Illegal INP parm field Illegal field value PV: 21:FCAMS::TIMEZONE recDynLinkOut: got CA context 2024/11/17 22:01:40.703 NDPluginDriver::deleteCallbackThreads timeout waiting for plugin thread 0 exit message 2024/11/17 22:01:40.703 NDPluginDriver::writeInt32 ERROR, status=3, function=65, paramName=QUEUE_SIZE, value=2000, connectedToArrayPort_=1 2024/11/17 22:01:40.703 21:FCAMS:Edge1:QueueSize devAsynInt32::processCallbackOutput process write error I am using Ubuntu 22, EPICS-base 7.0.8, areaDetector-R3-13, ADGenICam-R1-10, ADPluginEdge-R1-2, ADVimba-R1-4. Thank you very much! ********************* The printout of IOC booting: ********************* ls-cat@juniper:/opt/epics/synApps/support/areaDetector-R3-13/ADVimba/iocs/vimbaIOC/iocBoot/iocVimba$ ../../bin/linux-x86_64/vimbaApp st.cmd.original # modified from st.cmd.manta_G146C as a test < envPaths epicsEnvSet("IOC","iocVimba") epicsEnvSet("TOP","/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADVimba-R1-4/iocs/vimbaIOC") epicsEnvSet("ADVIMBA","/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADVimba-R1-4/iocs/vimbaIOC/../..") epicsEnvSet("SUPPORT","/opt/epics/synApps-R6-2/support") epicsEnvSet("ASYN","/opt/epics/synApps-R6-2/support/asyn-R4-44-2") epicsEnvSet("AREA_DETECTOR","/opt/epics/synApps-R6-2/support/areaDetector-R3-13") epicsEnvSet("ADSUPPORT","/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADSupport") epicsEnvSet("ADCORE","/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADCore") epicsEnvSet("AUTOSAVE","/opt/epics/synApps-R6-2/support/autosave-R5-11") epicsEnvSet("BUSY","/opt/epics/synApps-R6-2/support/busy-R1-7-4") epicsEnvSet("CALC","/opt/epics/synApps-R6-2/support/calc-R3-7-5") epicsEnvSet("SNCSEQ","/opt/epics/synApps-R6-2/support/seq-2-2-9") epicsEnvSet("SSCAN","/opt/epics/synApps-R6-2/support/sscan-R2-11-6") epicsEnvSet("DEVIOCSTATS","/opt/epics/synApps-R6-2/support/iocStats-3-1-16") epicsEnvSet("ADPLUGINEDGE","/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADPluginEdge") epicsEnvSet("EPICS_BASE","/opt/epics/base") epicsEnvSet("ADGENICAM","/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADGenICam") errlogInit(20000) dbLoadDatabase("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADVimba-R1-4/iocs/vimbaIOC/dbd/vimbaApp.dbd") vimbaApp_registerRecordDeviceDriver(pdbbase) # The maximum image width; used for row profiles in the NDPluginStats plugin epicsEnvSet("XSIZE", "1388") # The maximum image height; used for column profiles in the NDPluginStats plugin epicsEnvSet("YSIZE", "1038") # Define NELEMENTS to be enough for a 2464x2056x3 (color) image epicsEnvSet("NELEMENTS", "5000000") # The CAMERA_ID can be either of the following: # Camera IP address # The camera ID, which is the last part of the string reported by arv-tool # Camera IP address #epicsEnvSet("CAMERA_ID", "164.54.160.62") # CameraID, last part of camera name #epicsEnvSet("CAMERA_ID", "50-0503419258") # RH: out camera parameters: epicsEnvSet( "CAM", "Spindle:") #epicsEnvSet( "CAM_IP", "10.1.18.39") epicsEnvSet("CAMERA_ID", "10.1.18.39") epicsEnvSet( "PORT", "PS1") epicsEnvSet("PREFIX", "21:FCAMS:") # comment out PREFIX in st.cmd.base #epicsEnvSet("GENICAM_DB_FILE", "$(ADGENICAM)/db/AVT_Manta_G146C.template") epicsEnvSet("GENICAM_DB_FILE", "/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADGenICam/GenICamApp/Db/AVT_Manta17594_ip39.template") # RH: following line removed the message of "recDynLinkOut: waiting for CA context" var recDynLinkQsize 1024 < st.cmd.base # Prefix for all records #epicsEnvSet("PREFIX", "13VMB1:") # Location of transport layer definition files epicsEnvSet("GENICAM_GENTL64_PATH", "/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADVimba-R1-4/iocs/vimbaIOC/../../bin/linux-x86_64") # The port name for the detector epicsEnvSet("PORT", "VMB1") # 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 # This is for Windows #epicsEnvSet("EPICS_DB_INCLUDE_PATH", "$(ADCORE)/db;$(ADGENICAM)/db;$(ADVIMBA)/db") # This is for Linux epicsEnvSet("EPICS_DB_INCLUDE_PATH", "/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADCore/db:/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADGenICam/db:/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADVimba-R1-4/iocs/vimbaIOC/../../db") # ADVimbaConfig(const char *portName, const char *cameraName, size_t maxMemory, int priority, int stackSize) ADVimbaConfig("VMB1", "10.1.18.39", 0, 0, 0) asynSetTraceIOMask(VMB1, 0, 2) # Set ASYN_TRACE_WARNING and ASYN_TRACE_ERROR #asynSetTraceMask($(PORT), 0, 0xff) #asynSetTraceFile($(PORT), 0, "asynTrace.out") #asynSetTraceInfoMask($(PORT), 0, 0xf) # Main database dbLoadRecords("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADVimba-R1-4/iocs/vimbaIOC/../../db/vimba.template", "P=21:FCAMS:,R=cam1:,PORT=VMB1") # Load the autogenerated file of GenICam features dbLoadRecords("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADGenICam/GenICamApp/Db/AVT_Manta17594_ip39.template", "P=21:FCAMS:,R=cam1:,PORT=VMB1") # Create a standard arrays plugin NDStdArraysConfigure("Image1", 5, 0, "VMB1", 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("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADCore/db/NDStdArrays.template", "P=21:FCAMS:,R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1,TYPE=Int16,FTVL=SHORT,NELEMENTS=5000000") # Load all other plugins using commonPlugins.cmd #< $(ADCORE)/iocBoot/commonPlugins.cmd # RH use local copy of commonPlugins.cmd to activate a few optionals <commonPlugins.cmd # This is an example file for creating plugins # It uses the following environment variable macros # Many of the parameters defined in this file are also in commonPlugins_settings.req so if autosave is being # use the autosave value will replace the value passed to this file. # $(PREFIX) Prefix for all records # $(PORT) The port name for the detector. In autosave. # $(QSIZE) The queue size for all plugins. In autosave. # $(XSIZE) The maximum image width; used to set the maximum size for row profiles in the NDPluginStats plugin and 1-D FFT # profiles in NDPluginFFT. # $(YSIZE) The maximum image height; used to set the maximum size for column profiles in the NDPluginStats plugin # $(NCHANS) The maximum number of time series points in the NDPluginStats, NDPluginROIStats, and NDPluginAttribute plugins # $(CBUFFS) The maximum number of frames buffered in the NDPluginCircularBuff plugin # $(MAX_THREADS) The maximum number of threads for plugins which can run in multiple threads. Defaults to 5. # Create a netCDF file saving plugin NDFileNetCDFConfigure("FileNetCDF1", 2000, 0, "VMB1", 0) dbLoadRecords("NDFileNetCDF.template","P=21:FCAMS:,R=netCDF1:,PORT=FileNetCDF1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") # Create a TIFF file saving plugin NDFileTIFFConfigure("FileTIFF1", 2000, 0, "VMB1", 0) dbLoadRecords("NDFileTIFF.template", "P=21:FCAMS:,R=TIFF1:,PORT=FileTIFF1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") # Create a JPEG file saving plugin NDFileJPEGConfigure("FileJPEG1", 2000, 0, "VMB1", 0) dbLoadRecords("NDFileJPEG.template", "P=21:FCAMS:,R=JPEG1:,PORT=FileJPEG1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") # Create a NeXus file saving plugin NDFileNexusConfigure("FileNexus1", 2000, 0, "VMB1", 0) dbLoadRecords("NDFileNexus.template", "P=21:FCAMS:,R=Nexus1:,PORT=FileNexus1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") # Create an HDF5 file saving plugin NDFileHDF5Configure("FileHDF1", 2000, 0, "VMB1", 0) dbLoadRecords("NDFileHDF5.template", "P=21:FCAMS:,R=HDF1:,PORT=FileHDF1,ADDR=0,TIMEOUT=1,XMLSIZE=2048,NDARRAY_PORT=VMB1") # Create a Magick file saving plugin #NDFileMagickConfigure("FileMagick1", $(QSIZE), 0, "$(PORT)", 0) #dbLoadRecords("NDFileMagick.template","P=$(PREFIX),R=Magick1:,PORT=FileMagick1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT)") # Create 4 ROI plugins NDROIConfigure("ROI1", 2000, 0, "VMB1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDROI.template", "P=21:FCAMS:,R=ROI1:, PORT=ROI1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") NDROIConfigure("ROI2", 2000, 0, "VMB1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDROI.template", "P=21:FCAMS:,R=ROI2:, PORT=ROI2,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") NDROIConfigure("ROI3", 2000, 0, "VMB1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDROI.template", "P=21:FCAMS:,R=ROI3:, PORT=ROI3,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") NDROIConfigure("ROI4", 2000, 0, "VMB1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDROI.template", "P=21:FCAMS:,R=ROI4:, PORT=ROI4,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") # Create 8 ROIStat plugins NDROIStatConfigure("ROISTAT1", 2000, 0, "VMB1", 0, 8, 0, 0, 0, 0, 5) dbLoadRecords("NDROIStat.template", "P=21:FCAMS:,R=ROIStat1: ,PORT=ROISTAT1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21:FCAMS:,R=ROIStat1:1:,PORT=ROISTAT1,ADDR=0,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21:FCAMS:,R=ROIStat1:2:,PORT=ROISTAT1,ADDR=1,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21:FCAMS:,R=ROIStat1:3:,PORT=ROISTAT1,ADDR=2,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21:FCAMS:,R=ROIStat1:4:,PORT=ROISTAT1,ADDR=3,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21:FCAMS:,R=ROIStat1:5:,PORT=ROISTAT1,ADDR=4,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21:FCAMS:,R=ROIStat1:6:,PORT=ROISTAT1,ADDR=5,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21:FCAMS:,R=ROIStat1:7:,PORT=ROISTAT1,ADDR=6,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21:FCAMS:,R=ROIStat1:8:,PORT=ROISTAT1,ADDR=7,TIMEOUT=1,NCHANS=2048") # Create a processing plugin NDProcessConfigure("PROC1", 2000, 0, "VMB1", 0, 0, 0) dbLoadRecords("NDProcess.template", "P=21:FCAMS:,R=Proc1:, PORT=PROC1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") # Create a TIFF file plugin to read dark and flatfield images into the processing plugin NDFileTIFFConfigure("PROC1TIFF", 2000, 0, "VMB1", 0) dbLoadRecords("NDFileTIFF.template", "P=21:FCAMS:,R=Proc1:TIFF:,PORT=PROC1TIFF,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") # Create a scatter plugin NDScatterConfigure("SCATTER1", 2000, 0, "VMB1", 0, 0, 0) dbLoadRecords("NDScatter.template", "P=21:FCAMS:,R=Scatter1:, PORT=SCATTER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") # Create a gather plugin with 8 ports NDGatherConfigure("GATHER1", 2000, 0, 8, 0, 0) dbLoadRecords("NDGather.template", "P=21:FCAMS:,R=Gather1:, PORT=GATHER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") dbLoadRecords("NDGatherN.template", "P=21:FCAMS:,R=Gather1:, N=1, PORT=GATHER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") dbLoadRecords("NDGatherN.template", "P=21:FCAMS:,R=Gather1:, N=2, PORT=GATHER1,ADDR=1,TIMEOUT=1,NDARRAY_PORT=VMB1") dbLoadRecords("NDGatherN.template", "P=21:FCAMS:,R=Gather1:, N=3, PORT=GATHER1,ADDR=2,TIMEOUT=1,NDARRAY_PORT=VMB1") dbLoadRecords("NDGatherN.template", "P=21:FCAMS:,R=Gather1:, N=4, PORT=GATHER1,ADDR=3,TIMEOUT=1,NDARRAY_PORT=VMB1") dbLoadRecords("NDGatherN.template", "P=21:FCAMS:,R=Gather1:, N=5, PORT=GATHER1,ADDR=4,TIMEOUT=1,NDARRAY_PORT=VMB1") dbLoadRecords("NDGatherN.template", "P=21:FCAMS:,R=Gather1:, N=6, PORT=GATHER1,ADDR=5,TIMEOUT=1,NDARRAY_PORT=VMB1") dbLoadRecords("NDGatherN.template", "P=21:FCAMS:,R=Gather1:, N=7, PORT=GATHER1,ADDR=6,TIMEOUT=1,NDARRAY_PORT=VMB1") dbLoadRecords("NDGatherN.template", "P=21:FCAMS:,R=Gather1:, N=8, PORT=GATHER1,ADDR=7,TIMEOUT=1,NDARRAY_PORT=VMB1") # Create 5 statistics plugins NDStatsConfigure("STATS1", 2000, 0, "VMB1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDStats.template", "P=21:FCAMS:,R=Stats1:, PORT=STATS1,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=1388,YSIZE=1038,NCHANS=2048,NDARRAY_PORT=VMB1") NDTimeSeriesConfigure("STATS1_TS", 2000, 0, "STATS1", 1, 23) dbLoadRecords("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADCore/db/NDTimeSeries.template", "P=21:FCAMS:,R=Stats1:TS:, PORT=STATS1_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS1,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1") NDStatsConfigure("STATS2", 2000, 0, "ROI1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDStats.template", "P=21:FCAMS:,R=Stats2:, PORT=STATS2,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=1388,YSIZE=1038,NCHANS=2048,NDARRAY_PORT=VMB1") NDTimeSeriesConfigure("STATS2_TS", 2000, 0, "STATS2", 1, 23) dbLoadRecords("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADCore/db/NDTimeSeries.template", "P=21:FCAMS:,R=Stats2:TS:, PORT=STATS2_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS2,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1") NDStatsConfigure("STATS3", 2000, 0, "ROI2", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDStats.template", "P=21:FCAMS:,R=Stats3:, PORT=STATS3,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=1388,YSIZE=1038,NCHANS=2048,NDARRAY_PORT=VMB1") NDTimeSeriesConfigure("STATS3_TS", 2000, 0, "STATS3", 1, 23) dbLoadRecords("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADCore/db/NDTimeSeries.template", "P=21:FCAMS:,R=Stats3:TS:, PORT=STATS3_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS3,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1") NDStatsConfigure("STATS4", 2000, 0, "ROI3", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDStats.template", "P=21:FCAMS:,R=Stats4:, PORT=STATS4,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=1388,YSIZE=1038,NCHANS=2048,NDARRAY_PORT=VMB1") NDTimeSeriesConfigure("STATS4_TS", 2000, 0, "STATS4", 1, 23) dbLoadRecords("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADCore/db/NDTimeSeries.template", "P=21:FCAMS:,R=Stats4:TS:, PORT=STATS4_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS4,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1") NDStatsConfigure("STATS5", 2000, 0, "ROI4", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDStats.template", "P=21:FCAMS:,R=Stats5:, PORT=STATS5,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=1388,YSIZE=1038,NCHANS=2048,NDARRAY_PORT=VMB1") NDTimeSeriesConfigure("STATS5_TS", 2000, 0, "STATS5", 1, 23) dbLoadRecords("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADCore/db/NDTimeSeries.template", "P=21:FCAMS:,R=Stats5:TS:, PORT=STATS5_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS5,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1") # Create a transform plugin NDTransformConfigure("TRANS1", 2000, 0, "VMB1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDTransform.template", "P=21:FCAMS:,R=Trans1:, PORT=TRANS1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") # Create an overlay plugin with 8 overlays NDOverlayConfigure("OVER1", 2000, 0, "VMB1", 0, 8, 0, 0, 0, 0, 5) dbLoadRecords("NDOverlay.template", "P=21:FCAMS:,R=Over1:, PORT=OVER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") dbLoadRecords("NDOverlayN.template","P=21:FCAMS:,R=Over1:1:,NAME=ROI1, SHAPE=1,O=Over1:,XPOS=21:FCAMS:ROI1:MinX_RBV,YPOS=21:FCAMS:ROI1:MinY_RBV,XSIZE=21:FCAMS:ROI1:SizeX_RBV,YSIZE=21:FCAMS:ROI1:SizeY_RBV,PORT=OVER1,ADDR=0,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=21:FCAMS:,R=Over1:2:,NAME=ROI2, SHAPE=1,O=Over1:,XPOS=21:FCAMS:ROI2:MinX_RBV,YPOS=21:FCAMS:ROI2:MinY_RBV,XSIZE=21:FCAMS:ROI2:SizeX_RBV,YSIZE=21:FCAMS:ROI2:SizeY_RBV,PORT=OVER1,ADDR=1,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=21:FCAMS:,R=Over1:3:,NAME=ROI3, SHAPE=1,O=Over1:,XPOS=21:FCAMS:ROI3:MinX_RBV,YPOS=21:FCAMS:ROI3:MinY_RBV,XSIZE=21:FCAMS:ROI3:SizeX_RBV,YSIZE=21:FCAMS:ROI3:SizeY_RBV,PORT=OVER1,ADDR=2,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=21:FCAMS:,R=Over1:4:,NAME=ROI4, SHAPE=1,O=Over1:,XPOS=21:FCAMS:ROI4:MinX_RBV,YPOS=21:FCAMS:ROI4:MinY_RBV,XSIZE=21:FCAMS:ROI4:SizeX_RBV,YSIZE=21:FCAMS:ROI4:SizeY_RBV,PORT=OVER1,ADDR=3,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=21:FCAMS:,R=Over1:5:,NAME=Cursor1,SHAPE=1,O=Over1:,XPOS=junk, YPOS=junk, XSIZE=junk, YSIZE=junk, PORT=OVER1,ADDR=4,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=21:FCAMS:,R=Over1:6:,NAME=Cursor2,SHAPE=1,O=Over1:,XPOS=junk, YPOS=junk, XSIZE=junk, YSIZE=junk, PORT=OVER1,ADDR=5,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=21:FCAMS:,R=Over1:7:,NAME=Box1, SHAPE=1,O=Over1:,XPOS=junk, YPOS=junk, XSIZE=junk, YSIZE=junk, PORT=OVER1,ADDR=6,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=21:FCAMS:,R=Over1:8:,NAME=Box2, SHAPE=1,O=Over1:,XPOS=junk, YPOS=junk, XSIZE=junk, YSIZE=junk, PORT=OVER1,ADDR=7,TIMEOUT=1") # Create 2 color conversion plugins NDColorConvertConfigure("CC1", 2000, 0, "VMB1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDColorConvert.template", "P=21:FCAMS:,R=CC1:, PORT=CC1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") NDColorConvertConfigure("CC2", 2000, 0, "VMB1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDColorConvert.template", "P=21:FCAMS:,R=CC2:, PORT=CC2,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") # Create a circular buffer plugin NDCircularBuffConfigure("CB1", 2000, 0, "VMB1", 0, 500, 0) dbLoadRecords("NDCircularBuff.template", "P=21:FCAMS:,R=CB1:, PORT=CB1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") # Create an NDAttribute plugin with 8 attributes NDAttrConfigure("ATTR1", 2000, 0, "VMB1", 0, 8, 0, 0, 0) dbLoadRecords("NDAttribute.template", "P=21:FCAMS:,R=Attr1:, PORT=ATTR1,ADDR=0,TIMEOUT=1,NCHANS=2048,NDARRAY_PORT=VMB1") dbLoadRecords("NDAttributeN.template", "P=21:FCAMS:,R=Attr1:1:, PORT=ATTR1,ADDR=0,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21:FCAMS:,R=Attr1:2:, PORT=ATTR1,ADDR=1,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21:FCAMS:,R=Attr1:3:, PORT=ATTR1,ADDR=2,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21:FCAMS:,R=Attr1:4:, PORT=ATTR1,ADDR=3,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21:FCAMS:,R=Attr1:5:, PORT=ATTR1,ADDR=4,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21:FCAMS:,R=Attr1:6:, PORT=ATTR1,ADDR=5,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21:FCAMS:,R=Attr1:7:, PORT=ATTR1,ADDR=6,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21:FCAMS:,R=Attr1:8:, PORT=ATTR1,ADDR=7,TIMEOUT=1,NCHANS=2048") NDTimeSeriesConfigure("ATTR1_TS", 2000, 0, "ATTR1", 1, 8) dbLoadRecords("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADCore/db/NDTimeSeries.template", "P=21:FCAMS:,R=Attr1:TS:, PORT=ATTR1_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ATTR1,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1") # Create an FFT plugin NDFFTConfigure("FFT1", 2000, 0, "VMB1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDFFT.template", "P=21:FCAMS:, R=FFT1:, PORT=FFT1, ADDR=0, TIMEOUT=1, NDARRAY_PORT=VMB1, NAME=FFT1, NCHANS=1388") # Create 2 Codec plugins NDCodecConfigure("CODEC1", 2000, 0, "VMB1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDCodec.template", "P=21:FCAMS:, R=Codec1:, PORT=CODEC1, ADDR=0, TIMEOUT=1, NDARRAY_PORT=VMB1") NDCodecConfigure("CODEC2", 2000, 0, "VMB1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDCodec.template", "P=21:FCAMS:, R=Codec2:, PORT=CODEC2, ADDR=0, TIMEOUT=1, NDARRAY_PORT=VMB1") # Create a bad pixel plugin NDBadPixelConfigure("BADPIX1", 2000, 0, "VMB1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDBadPixel.template", "P=21:FCAMS:, R=BadPix1:, PORT=BADPIX1, ADDR=0, TIMEOUT=1, NDARRAY_PORT=VMB1") set_requestfile_path("./") set_requestfile_path("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADCore/db") set_requestfile_path("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADCore/iocBoot") set_requestfile_path("/opt/epics/synApps-R6-2/support/autosave-R5-11/db") set_savefile_path("./autosave") set_pass0_restoreFile("auto_settings.sav") set_pass1_restoreFile("auto_settings.sav") save_restoreSet_status_prefix("21:FCAMS:") dbLoadRecords("/opt/epics/synApps-R6-2/support/autosave-R5-11/db/save_restoreStatus.db", "P=21:FCAMS:") dbLoadRecords("/opt/epics/synApps-R6-2/support/autosave-R5-11/db/configMenu.db", "P=21:FCAMS:, CONFIG=ADAutoSave") # Load NDPluginPva plugin NDPvaConfigure("PVA1", 2000, 0, "VMB1", 0, 21:FCAMS:Pva1:Image, 0, 0, 0) dbLoadRecords("NDPva.template", "P=21:FCAMS:,R=Pva1:, PORT=PVA1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") #Must start PVA server if this is enabled startPVAServer # Optional: load ffmpegServer plugin #ffmpegServerConfigure(8081) #ffmpegStreamConfigure("FfmStream1", 2, 0, "$(PORT)", 0, -1, 0) #dbLoadRecords("$(FFMPEGSERVER)/db/ffmpegStream.template", "P=$(PREFIX),R=ffmstream1:,PORT=FfmStream1,NDARRAY_PORT=$(PORT)") #ffmpegFileConfigure("FfmFile1", 16, 0, "$(PORT)", 0, -1, 0) #dbLoadRecords("$(FFMPEGSERVER)/db/ffmpegFile.template", "P=$(PREFIX),R=ffmfile1:,PORT=FfmFile1,NDARRAY_PORT=$(PORT)") #set_requestfile_path("$(FFMPEGSERVER)/db") # Optional: load NDPluginEdge plugin # RH activate EdgePlugin NDEdgeConfigure("EDGE1", 2000, 0, "VMB1", 0, 0, 0, 0) #dbLoadRecords("$(ADPLUGINEDGE)/db/NDEdge.template", "P=$(PREFIX),R=Edge1:, PORT=EDGE1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT)") set_requestfile_path("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADPluginEdge/db") dbLoadRecords("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADCore/db/NDEdge.template", "P=21:FCAMS:,R=Edge1:, PORT=EDGE1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=VMB1") set_requestfile_path("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADPluginEdge/db") # Optional: load NDPluginCV plugin #NDCVConfigure("CV1", $(QSIZE), 0, "$(PORT)", 0, 0, 0, 0, 0, $(MAX_THREADS=5)) #dbLoadRecords("$(ADCOMPVISION)/db/NDCV.template", "P=$(PREFIX),R=CV1:, PORT=CV1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT)") #set_requestfile_path("$(ADCOMPVISION)/db") # Optional: load NDPluginBar plugin #NDBarConfigure("BAR1", $(QSIZE), 0, "$(PORT)", 0, 0, 0, 0, 0, $(MAX_THREADS=5)) #dbLoadRecords("$(ADPLUGINBAR)/db/NDBar.template", "P=$(PREFIX),R=Bar1:, PORT=BAR1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT)") #set_requestfile_path("$(ADPLUGINBAR)/db") # Optional: load scan records # RH activate SSCAN dbLoadRecords("/opt/epics/synApps-R6-2/support/sscan-R2-11-6/db/scan.db", "P=21:FCAMS:,MAXPTS1=2000,MAXPTS2=200,MAXPTS3=20,MAXPTS4=10,MAXPTSH=10") set_requestfile_path("/opt/epics/synApps-R6-2/support/sscan-R2-11-6/db") # Optional: load sseq record for acquisition sequence #dbLoadRecords("$(CALC)/db/sseqRecord.db", "P=$(PREFIX), S=AcquireSequence") #set_requestfile_path("$(CALC)/db") # Optional: load devIocStats records (requires DEVIOCSTATS module) # RH activate devIocStats dbLoadRecords("/opt/epics/synApps-R6-2/support/iocStats-3-1-16/db/iocAdminSoft.db", "IOC=21:FCAMS:") # RH add this two modules currently used at LS-CAT: dbLoadRecords("/opt/epics/synApps-R6-2/support/calc-R3-7-5/calcApp/Db/yySseq.db", "P=21:FCAMS:, S=AcquireSequence") dbLoadRecords("/opt/epics/synApps-R6-2/support/calc-R3-7-5/calcApp/Db/userCalcOuts10.db", "P=21:FCAMS:") # Optional: load alive record (requires ALIVE module) #dbLoadRecords("$(ALIVE)/db/alive.db", "P=$(PREFIX),RHOST=192.168.1.254") # Set the callback queue size to 5000, up from default of 2000 in base. # This can be needed to avoid errors "callbackRequest: cbLow ring buffer full". callbackSetQueueSize(5000) set_requestfile_path("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADGenICam/GenICamApp/Db") set_requestfile_path("/opt/epics/synApps-R6-2/support/areaDetector-R3-13/ADVimba-R1-4/iocs/vimbaIOC/../../vimbaApp/Db") # RH added: (this increases connected PVs from 3764 to 5237!) set_requestfile_path("/opt/epics/synApps-R6-2/support/calc-R3-7-5/calcApp/Db") iocInit() Starting iocInit ############################################################################ ## EPICS R7.0.8 ## Rev. 2024-06-13T17:42-0500 ## Rev. Date build date/time: ############################################################################ recDynLinkOut: waiting for CA context recGblRecordError: devStringinEnvVar (init_record) Illegal INP parm field Illegal field value PV: 21:FCAMS::TIMEZONE recDynLinkOut: got CA context 2024/11/17 22:01:40.703 NDPluginDriver::deleteCallbackThreads timeout waiting for plugin thread 0 exit message 2024/11/17 22:01:40.703 NDPluginDriver::writeInt32 ERROR, status=3, function=65, paramName=QUEUE_SIZE, value=2000, connectedToArrayPort_=1 2024/11/17 22:01:40.703 21:FCAMS:Edge1:QueueSize devAsynInt32::processCallbackOutput process write error iocRun: All initialization complete # save things every thirty seconds create_monitor_set("auto_settings.req", 30,"P=21:FCAMS:") epics> auto_settings.sav: 5237 of 5237 PV's connected
| ||||||||||||||
ANJ, 18 Nov 2024 |
![]() · Download · Search · IRMIS · Talk · Documents · Links · Licensing · |