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 2023 2024 2025 | 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 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: pco Camera USB and IEEE interface |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | "'Ivashkevych, Oksana'" <oksana at bnl.gov>, "'Sintschuk, Michael'" <michael.sintschuk at bam.de> |
Cc: | 'tech-talk' <tech-talk at aps.anl.gov> |
Date: | Mon, 11 May 2020 18:33:29 +0000 |
Ø
dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADCore/db/NDStdArrays.template", "P=PCO4000:,R=image1:,PORT=Image1, 1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1,TYPE=Int16,FTVL=SHORT,NELEMENTS=11059200") Ø
I looked at the datasheet and it says that the pixel depth is 14 bit for this camera, which requires 2 bytes. Ø
4008x2672x2=21,418,752 and you allocated 11,059,200. Ø
Try changing to NELEMENTS=21418752 Michael’s dbLoadRecords is actually fine. Oksana has computed the size in bytes, but NELEMENTS is not bytes it is the number of elements in the waveform record, and in this case the FTVL is SHORT, so each element is 2 bytes. Michael has actually allocated somewhat more elements than required, since 4008*2672 = 10709376, which is fewer than he allocated. But more importantly Michael’s error is from the PCO driver, which knows nothing about the size of the waveform record being used by NDPluginStdArrays. This problem is in the driver, not the plugins. Mark From: Ivashkevych, Oksana <oksana at bnl.gov>
Hi Michael, I did not see this error, but it might be related to the buffer you allocate for you image. It is possible the driver checks unsatisfactory size and reports the error.
You are using CA protocol Image.
dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADCore/db/NDStdArrays.template", "P=PCO4000:,R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1,TYPE=Int16,FTVL=SHORT,NELEMENTS=11059200") with X and Y : epicsEnvSet("XSIZE", "4008") epicsEnvSet("YSIZE", "2672") I looked at the datasheet and it says that the pixel depth is 14 bit for this camera, which requires 2 bytes. 4008x2672x2=21,418,752 and you allocated 11,059,200. Try changing to NELEMENTS=21418752
And see it this fixes the problem. With best regards, Oksana
From: Sintschuk, Michael <michael.sintschuk at bam.de>
Hello again, I‘ve been working some weeks now with the pco1600-camera connected via GigE. It works fine with the ADPcoWin-IOC. Great software, thanks to the epics-community! However, I also try to set up a pco4000-camera connected via Firewire. The IOC starts and finds the camera but everytime I try to acquire an image there is the error: Failed to arm, PCO error, allocateBuffer returned a00a3006 I guess, there are some settings that I’ve missed…
The camera connects fine with the original camware from pco. I already tried to set the “QSIZE” , “CBUFFS”, “XSIZE” or “YSIZE” values to different parameters, but with no look. Maybe someone already had this issue? This is my IOC-startup: C:\epics\inst-7.0.3.1\areaDetector-R3-9\ADPcoWin\iocs\pcowinIOC\iocBoot\iocPco4000Win> C:\epics\inst-7.0.3.1\areaDete ctor-R3-9\ADPcoWin\iocs\pcowinIOC\bin\windows-x64-static\pcowinApp.exe st.cmd < envPaths epicsEnvSet("IOC","iocPcoWin") epicsEnvSet("TOP","C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADPcoWin/iocs/pcowinIOC") epicsEnvSet("ADPCOWIN","C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADPcoWin/iocs/pcowinIOC/../..") epicsEnvSet("SUPPORT","C:/epics/inst-7.0.3.1") epicsEnvSet("ASYN","C:/epics/inst-7.0.3.1/asyn-R4-39") epicsEnvSet("AREA_DETECTOR","C:/epics/inst-7.0.3.1/areaDetector-R3-9") epicsEnvSet("ADSUPPORT","C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADSupport") epicsEnvSet("ADCORE","C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADCore") epicsEnvSet("AUTOSAVE","C:/epics/inst-7.0.3.1/autosave-R5-10") epicsEnvSet("BUSY","C:/epics/inst-7.0.3.1/busy-R1-7-2") epicsEnvSet("CALC","C:/epics/inst-7.0.3.1/calc-R3-7-3") epicsEnvSet("SSCAN","C:/epics/inst-7.0.3.1/sscan-R2-11-3") epicsEnvSet("EPICS_BASE","C:/epics/base-7.0.3.1") errlogInit(20000) dbLoadDatabase("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADPcoWin/iocs/pcowinIOC/dbd/pcowinApp.dbd") pcowinApp_registerRecordDeviceDriver(pdbbase) # Prefix for all records epicsEnvSet("PREFIX", "PCO4000:") # The port name for the detector epicsEnvSet("PORT", "PCO1") # Larger queue size may be need to stream to disk at full camera speed, up tp 2000 epicsEnvSet("QSIZE", "20") # The maximim image width; used for row profiles in the NDPluginStats plugin epicsEnvSet("XSIZE", "4008") # The maximim image height; used for column profiles in the NDPluginStats plugin epicsEnvSet("YSIZE", "2672") # 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", "C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADCore/db") # Define NELEMENTS to be enough for a 2048x2048x3 (color) image epicsEnvSet("NELEMENTS", "11059200") # pcoConfig(const char* portName, int maxBuffers, size_t maxMemory) pcoConfig("PCO1", 0, 0, 8) # pcoApiConfig(const char* portName) pcoApiConfig("PCO1") # Asyn tracing asynSetTraceIOMask(PCO1, 0, 2) #asynSetTraceMask($(PORT), 0, 0xFF) #asynSetTraceFile($(PORT), 0, "asynTrace.out") #asynSetTraceInfoMask($(PORT), 0, 0xf) dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADPcoWin/iocs/pcowinIOC/../../db/pco.template", "P=PCO4000:,R=cam 1:,PORT=PCO1,ADDR=0,TIMEOUT=1") dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADPcoWin/iocs/pcowinIOC/../../db/pco_device_firmware.template", " P=PCO4000:,R=cam1:,PORT=PCO1,N=0") dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADPcoWin/iocs/pcowinIOC/../../db/pco_device_firmware.template", " P=PCO4000:,R=cam1:,PORT=PCO1,N=1") dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADPcoWin/iocs/pcowinIOC/../../db/pco_device_firmware.template", " P=PCO4000:,R=cam1:,PORT=PCO1,N=2") dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADPcoWin/iocs/pcowinIOC/../../db/pco_device_firmware.template", " P=PCO4000:,R=cam1:,PORT=PCO1,N=3") dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADPcoWin/iocs/pcowinIOC/../../db/pco_device_firmware.template", " P=PCO4000:,R=cam1:,PORT=PCO1,N=4") dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADPcoWin/iocs/pcowinIOC/../../db/pco_device_firmware.template", " P=PCO4000:,R=cam1:,PORT=PCO1,N=5") dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADPcoWin/iocs/pcowinIOC/../../db/pco_device_firmware.template", " P=PCO4000:,R=cam1:,PORT=PCO1,N=6") dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADPcoWin/iocs/pcowinIOC/../../db/pco_device_firmware.template", " P=PCO4000:,R=cam1:,PORT=PCO1,N=7") # What other database files need to be loaded? # Create a standard arrays plugin NDStdArraysConfigure("Image1", 5, 0, "PCO1", 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=$(P ORT),TYPE=Int8,FTVL=CHAR,NELEMENTS=$(NELEMENTS)") # Use this line for 8-bit or 16-bit data dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADCore/db/NDStdArrays.template", "P=PCO4000:,R=image1:,PORT=Image 1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1,TYPE=Int16,FTVL=SHORT,NELEMENTS=11059200") # Use this line for 8-bit, 16-bit, or 32-bit data #dbLoadRecords("$(ADCORE)/db/NDStdArrays.template", "P=$(PREFIX),R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(P ORT),TYPE=Int32,FTVL=LONG,NELEMENTS=$(NELEMENTS)") # Load all other plugins using commonPlugins.cmd < C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADCore/iocBoot/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", 20, 0, "PCO1", 0) dbLoadRecords("NDFileNetCDF.template","P=PCO4000:,R=netCDF1:,PORT=FileNetCDF1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") # Create a TIFF file saving plugin NDFileTIFFConfigure("FileTIFF1", 20, 0, "PCO1", 0) dbLoadRecords("NDFileTIFF.template", "P=PCO4000:,R=TIFF1:,PORT=FileTIFF1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") # Create a JPEG file saving plugin NDFileJPEGConfigure("FileJPEG1", 20, 0, "PCO1", 0) dbLoadRecords("NDFileJPEG.template", "P=PCO4000:,R=JPEG1:,PORT=FileJPEG1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") # Create a NeXus file saving plugin NDFileNexusConfigure("FileNexus1", 20, 0, "PCO1", 0) dbLoadRecords("NDFileNexus.template", "P=PCO4000:,R=Nexus1:,PORT=FileNexus1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") # Create an HDF5 file saving plugin NDFileHDF5Configure("FileHDF1", 20, 0, "PCO1", 0) dbLoadRecords("NDFileHDF5.template", "P=PCO4000:,R=HDF1:,PORT=FileHDF1,ADDR=0,TIMEOUT=1,XMLSIZE=2048,NDARRAY_PORT=PCO1" ) # 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", 20, 0, "PCO1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDROI.template", "P=PCO4000:,R=ROI1:, PORT=ROI1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") NDROIConfigure("ROI2", 20, 0, "PCO1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDROI.template", "P=PCO4000:,R=ROI2:, PORT=ROI2,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") NDROIConfigure("ROI3", 20, 0, "PCO1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDROI.template", "P=PCO4000:,R=ROI3:, PORT=ROI3,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") NDROIConfigure("ROI4", 20, 0, "PCO1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDROI.template", "P=PCO4000:,R=ROI4:, PORT=ROI4,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") # Create 8 ROIStat plugins NDROIStatConfigure("ROISTAT1", 20, 0, "PCO1", 0, 8, 0, 0, 0, 0, 5) dbLoadRecords("NDROIStat.template", "P=PCO4000:,R=ROIStat1: ,PORT=ROISTAT1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1,NCHANS= 2048") dbLoadRecords("NDROIStatN.template", "P=PCO4000:,R=ROIStat1:1:,PORT=ROISTAT1,ADDR=0,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=PCO4000:,R=ROIStat1:2:,PORT=ROISTAT1,ADDR=1,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=PCO4000:,R=ROIStat1:3:,PORT=ROISTAT1,ADDR=2,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=PCO4000:,R=ROIStat1:4:,PORT=ROISTAT1,ADDR=3,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=PCO4000:,R=ROIStat1:5:,PORT=ROISTAT1,ADDR=4,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=PCO4000:,R=ROIStat1:6:,PORT=ROISTAT1,ADDR=5,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=PCO4000:,R=ROIStat1:7:,PORT=ROISTAT1,ADDR=6,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=PCO4000:,R=ROIStat1:8:,PORT=ROISTAT1,ADDR=7,TIMEOUT=1,NCHANS=2048") # Create a processing plugin NDProcessConfigure("PROC1", 20, 0, "PCO1", 0, 0, 0) dbLoadRecords("NDProcess.template", "P=PCO4000:,R=Proc1:, PORT=PROC1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") # Create a TIFF file plugin to read dark and flatfield images into the processing plugin NDFileTIFFConfigure("PROC1TIFF", 20, 0, "PCO1", 0) dbLoadRecords("NDFileTIFF.template", "P=PCO4000:,R=Proc1:TIFF:,PORT=PROC1TIFF,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") # Create a scatter plugin NDScatterConfigure("SCATTER1", 20, 0, "PCO1", 0, 0, 0) dbLoadRecords("NDScatter.template", "P=PCO4000:,R=Scatter1:, PORT=SCATTER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") # Create a gather plugin with 8 ports NDGatherConfigure("GATHER1", 20, 0, 8, 0, 0) dbLoadRecords("NDGather.template", "P=PCO4000:,R=Gather1:, PORT=GATHER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") dbLoadRecords("NDGatherN.template", "P=PCO4000:,R=Gather1:, N=1, PORT=GATHER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") dbLoadRecords("NDGatherN.template", "P=PCO4000:,R=Gather1:, N=2, PORT=GATHER1,ADDR=1,TIMEOUT=1,NDARRAY_PORT=PCO1") dbLoadRecords("NDGatherN.template", "P=PCO4000:,R=Gather1:, N=3, PORT=GATHER1,ADDR=2,TIMEOUT=1,NDARRAY_PORT=PCO1") dbLoadRecords("NDGatherN.template", "P=PCO4000:,R=Gather1:, N=4, PORT=GATHER1,ADDR=3,TIMEOUT=1,NDARRAY_PORT=PCO1") dbLoadRecords("NDGatherN.template", "P=PCO4000:,R=Gather1:, N=5, PORT=GATHER1,ADDR=4,TIMEOUT=1,NDARRAY_PORT=PCO1") dbLoadRecords("NDGatherN.template", "P=PCO4000:,R=Gather1:, N=6, PORT=GATHER1,ADDR=5,TIMEOUT=1,NDARRAY_PORT=PCO1") dbLoadRecords("NDGatherN.template", "P=PCO4000:,R=Gather1:, N=7, PORT=GATHER1,ADDR=6,TIMEOUT=1,NDARRAY_PORT=PCO1") dbLoadRecords("NDGatherN.template", "P=PCO4000:,R=Gather1:, N=8, PORT=GATHER1,ADDR=7,TIMEOUT=1,NDARRAY_PORT=PCO1") # Create 5 statistics plugins NDStatsConfigure("STATS1", 20, 0, "PCO1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDStats.template", "P=PCO4000:,R=Stats1:, PORT=STATS1,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=4008,YSIZ E=2672,NCHANS=2048,NDARRAY_PORT=PCO1") NDTimeSeriesConfigure("STATS1_TS", 20, 0, "STATS1", 1, 23) dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADCore/db/NDTimeSeries.template", "P=PCO4000:,R=Stats1:TS:, PORT =STATS1_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS1,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1") NDStatsConfigure("STATS2", 20, 0, "ROI1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDStats.template", "P=PCO4000:,R=Stats2:, PORT=STATS2,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=4008,YSIZ E=2672,NCHANS=2048,NDARRAY_PORT=PCO1") NDTimeSeriesConfigure("STATS2_TS", 20, 0, "STATS2", 1, 23) dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADCore/db/NDTimeSeries.template", "P=PCO4000:,R=Stats2:TS:, PORT =STATS2_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS2,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1") NDStatsConfigure("STATS3", 20, 0, "ROI2", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDStats.template", "P=PCO4000:,R=Stats3:, PORT=STATS3,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=4008,YSIZ E=2672,NCHANS=2048,NDARRAY_PORT=PCO1") NDTimeSeriesConfigure("STATS3_TS", 20, 0, "STATS3", 1, 23) dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADCore/db/NDTimeSeries.template", "P=PCO4000:,R=Stats3:TS:, PORT =STATS3_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS3,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1") NDStatsConfigure("STATS4", 20, 0, "ROI3", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDStats.template", "P=PCO4000:,R=Stats4:, PORT=STATS4,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=4008,YSIZ E=2672,NCHANS=2048,NDARRAY_PORT=PCO1") NDTimeSeriesConfigure("STATS4_TS", 20, 0, "STATS4", 1, 23) dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADCore/db/NDTimeSeries.template", "P=PCO4000:,R=Stats4:TS:, PORT =STATS4_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS4,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1") NDStatsConfigure("STATS5", 20, 0, "ROI4", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDStats.template", "P=PCO4000:,R=Stats5:, PORT=STATS5,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=4008,YSIZ E=2672,NCHANS=2048,NDARRAY_PORT=PCO1") NDTimeSeriesConfigure("STATS5_TS", 20, 0, "STATS5", 1, 23) dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADCore/db/NDTimeSeries.template", "P=PCO4000:,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", 20, 0, "PCO1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDTransform.template", "P=PCO4000:,R=Trans1:, PORT=TRANS1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") # Create an overlay plugin with 8 overlays NDOverlayConfigure("OVER1", 20, 0, "PCO1", 0, 8, 0, 0, 0, 0, 5) dbLoadRecords("NDOverlay.template", "P=PCO4000:,R=Over1:, PORT=OVER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") dbLoadRecords("NDOverlayN.template","P=PCO4000:,R=Over1:1:,NAME=ROI1, SHAPE=1,O=Over1:,XPOS=PCO4000:ROI1:MinX_RBV,YPOS =PCO4000:ROI1:MinY_RBV,XSIZE=PCO4000:ROI1:SizeX_RBV,YSIZE=PCO4000:ROI1:SizeY_RBV,PORT=OVER1,ADDR=0,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=PCO4000:,R=Over1:2:,NAME=ROI2, SHAPE=1,O=Over1:,XPOS=PCO4000:ROI2:MinX_RBV,YPOS =PCO4000:ROI2:MinY_RBV,XSIZE=PCO4000:ROI2:SizeX_RBV,YSIZE=PCO4000:ROI2:SizeY_RBV,PORT=OVER1,ADDR=1,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=PCO4000:,R=Over1:3:,NAME=ROI3, SHAPE=1,O=Over1:,XPOS=PCO4000:ROI3:MinX_RBV,YPOS =PCO4000:ROI3:MinY_RBV,XSIZE=PCO4000:ROI3:SizeX_RBV,YSIZE=PCO4000:ROI3:SizeY_RBV,PORT=OVER1,ADDR=2,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=PCO4000:,R=Over1:4:,NAME=ROI4, SHAPE=1,O=Over1:,XPOS=PCO4000:ROI4:MinX_RBV,YPOS =PCO4000:ROI4:MinY_RBV,XSIZE=PCO4000:ROI4:SizeX_RBV,YSIZE=PCO4000:ROI4:SizeY_RBV,PORT=OVER1,ADDR=3,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=PCO4000:,R=Over1:5:,NAME=Cursor1,SHAPE=1,O=Over1:,XPOS=junk, YPO S=junk, XSIZE=junk, YSIZE=junk, PORT=OVER1,ADDR=4,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=PCO4000:,R=Over1:6:,NAME=Cursor2,SHAPE=1,O=Over1:,XPOS=junk, YPO S=junk, XSIZE=junk, YSIZE=junk, PORT=OVER1,ADDR=5,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=PCO4000:,R=Over1:7:,NAME=Box1, SHAPE=1,O=Over1:,XPOS=junk, YPO S=junk, XSIZE=junk, YSIZE=junk, PORT=OVER1,ADDR=6,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=PCO4000:,R=Over1:8:,NAME=Box2, SHAPE=1,O=Over1:,XPOS=junk, YPO S=junk, XSIZE=junk, YSIZE=junk, PORT=OVER1,ADDR=7,TIMEOUT=1") # Create 2 color conversion plugins NDColorConvertConfigure("CC1", 20, 0, "PCO1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDColorConvert.template", "P=PCO4000:,R=CC1:, PORT=CC1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") NDColorConvertConfigure("CC2", 20, 0, "PCO1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDColorConvert.template", "P=PCO4000:,R=CC2:, PORT=CC2,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") # Create a circular buffer plugin NDCircularBuffConfigure("CB1", 20, 0, "PCO1", 0, 500, 0) dbLoadRecords("NDCircularBuff.template", "P=PCO4000:,R=CB1:, PORT=CB1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PCO1") # Create an NDAttribute plugin with 8 attributes NDAttrConfigure("ATTR1", 20, 0, "PCO1", 0, 8, 0, 0, 0) dbLoadRecords("NDAttribute.template", "P=PCO4000:,R=Attr1:, PORT=ATTR1,ADDR=0,TIMEOUT=1,NCHANS=2048,NDARRAY_PORT=PCO 1") dbLoadRecords("NDAttributeN.template", "P=PCO4000:,R=Attr1:1:, PORT=ATTR1,ADDR=0,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=PCO4000:,R=Attr1:2:, PORT=ATTR1,ADDR=1,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=PCO4000:,R=Attr1:3:, PORT=ATTR1,ADDR=2,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=PCO4000:,R=Attr1:4:, PORT=ATTR1,ADDR=3,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=PCO4000:,R=Attr1:5:, PORT=ATTR1,ADDR=4,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=PCO4000:,R=Attr1:6:, PORT=ATTR1,ADDR=5,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=PCO4000:,R=Attr1:7:, PORT=ATTR1,ADDR=6,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=PCO4000:,R=Attr1:8:, PORT=ATTR1,ADDR=7,TIMEOUT=1,NCHANS=2048") NDTimeSeriesConfigure("ATTR1_TS", 20, 0, "ATTR1", 1, 8) dbLoadRecords("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADCore/db/NDTimeSeries.template", "P=PCO4000:,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", 20, 0, "PCO1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDFFT.template", "P=PCO4000:, R=FFT1:, PORT=FFT1, ADDR=0, TIMEOUT=1, NDARRAY_PORT=PCO1, NAME=FFT1, NCHANS =4008") # Create 2 Codec plugins NDCodecConfigure("CODEC1", 20, 0, "PCO1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDCodec.template", "P=PCO4000:, R=Codec1:, PORT=CODEC1, ADDR=0, TIMEOUT=1, NDARRAY_PORT=PCO1") NDCodecConfigure("CODEC2", 20, 0, "PCO1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDCodec.template", "P=PCO4000:, R=Codec2:, PORT=CODEC2, ADDR=0, TIMEOUT=1, NDARRAY_PORT=PCO1") set_requestfile_path("./") set_requestfile_path("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADCore/ADApp/Db") set_requestfile_path("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADCore/iocBoot") set_savefile_path("./autosave") set_pass0_restoreFile("auto_settings.sav") set_pass1_restoreFile("auto_settings.sav") save_restoreSet_status_prefix("PCO4000:") dbLoadRecords("C:/epics/inst-7.0.3.1/autosave-R5-10/asApp/Db/save_restoreStatus.db", "P=PCO4000:") # Optional: load NDPluginPva plugin #NDPvaConfigure("PVA1", $(QSIZE), 0, "$(PORT)", 0, $(PREFIX)Pva1:Image, 0, 0, 0) #dbLoadRecords("NDPva.template", "P=$(PREFIX),R=Pva1:, PORT=PVA1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT)") # 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=$(POR T)") #ffmpegFileConfigure("FfmFile1", 16, 0, "$(PORT)", 0, -1, 0) #dbLoadRecords("$(FFMPEGSERVER)/db/ffmpegFile.template", "P=$(PREFIX),R=ffmfile1:,PORT=FfmFile1,NDARRAY_PORT=$(PORT)") # Optional: load NDPluginEdge plugin #NDEdgeConfigure("EDGE1", $(QSIZE), 0, "$(PORT)", 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("$(ADPLUGINEDGE)/edgeApp/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)/adcvApp/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)/barApp/Db") # Optional: load scan records dbLoadRecords("C:/epics/inst-7.0.3.1/sscan-R2-11-3/sscanApp/Db/scan.db", "P=PCO4000:,MAXPTS1=2000,MAXPTS2=200,MAXPTS3=20 ,MAXPTS4=10,MAXPTSH=10") set_requestfile_path("C:/epics/inst-7.0.3.1/sscan-R2-11-3/sscanApp/Db") # Optional: load sseq record for acquisition sequence dbLoadRecords("C:/epics/inst-7.0.3.1/calc-R3-7-3/calcApp/Db/sseqRecord.db", "P=PCO4000:, S=AcquireSequence") set_requestfile_path("C:/epics/inst-7.0.3.1/calc-R3-7-3/calcApp/Db") # Optional: load devIocStats records (requires DEVIOCSTATS module) #dbLoadRecords("$(DEVIOCSTATS)/db/iocAdminSoft.db", "IOC=$(PREFIX)") # Optional: load alive record (requires ALIVE module) #dbLoadRecords("$(ALIVE)/aliveApp/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("C:/epics/inst-7.0.3.1/areaDetector-R3-9/ADPcoWin/iocs/pcowinIOC/../../pcowinApp/Db") iocInit() Starting iocInit ############################################################################ ## EPICS R7.0.3.1 ## EPICS Base built Mar 9 2020 ############################################################################ reboot_restore: entry for file 'auto_settings.sav' reboot_restore: Found filename 'auto_settings.sav' in restoreFileList. *** restoring from './autosave/auto_settings.sav' at initHookState 6 (before record/device init) *** reboot_restore: done with file 'auto_settings.sav' recDynLinkOut: waiting for CA context recDynLinkOut: got CA context reboot_restore: entry for file 'auto_settings.sav' reboot_restore: Found filename 'auto_settings.sav' in restoreFileList. *** restoring from './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=PCO4000:") epics> auto_settings.sav: 2277 of 2277 PV's connected pco.4000 : Found 8 devices on camera epics> 2020/05/11 13:53:06.730 Failed to arm, PCO error, allocateBuffer returned a00a3006 Again, thanks for the help! |