Each sample chamber at CXI has two cameras – inline and off-axis – used for alignment and automation, experiment viewing, and analysis.  The image streams are served via an EPICS IOC viewable from the camViewer, and can be included in the CXI primary or secondary DAQ data streams via the IOC recorder.

Each camera has a host server that is running an EPICS IOC to handle low-level command, image acquisition, and to broadcast the data via channel access.  Recorded cameras need to run on IOC hosts with hard disk drives, so the CXI sample chamber cameras run on ioc-cxi-rec03 (Rack 59 : Red Hat 7) and ioc-cxi-rec04 (Rack 52A : Red Hat 7).  Access to the host and IOC process can be achieved using the IOC manager.  The cameras are also synced to LCLS timing, and thus require a TTL trigger signal from their host's EVR hardware – typically a SLAC EVR PCI card in the server chassis.  This is usually routed from the host to the camera via a user patch panel over coaxial cable. 

Troubleshooting Tip:

If the trigger signal is disconnected from the camera, the IOC will continue to report that the camera is connected but will stop acquiring images! If a camera is not triggering properly, verify that there are no trigger cable connection interruptions between the host and the camera and take a look at the camera's trigger settings on its expert screen.


The expert screens for each camera can be pulled up from the CXI Home Screen, on the left sidebar under the "IOC Cameras" dropdown menu or from the bottom embedded tabs: Detector → Control Cams Config

Curveball:

Adimec Opal cameras will always sync to an external trigger, and actually run reliably in Free Run mode.

The "Yag Viewer" button will open the camViewer from which you can select and view the camera feeds for the yags.  Example: dg1_yag.

Bottom embedded tabs: Detector → Viewer Cameras (Beamline/User Camera/Viewer SC Cameras) will open camViewer for the respective cameras.

As a result of changing setups, hutch reconfiguration and different experiment requirements, the cameras at the sample chambers may come and go or even change types.  Most often GigE type cameras such as the Allied Vision Manta 146C or "framegrabber" type cameras such as an Adimec Opal are used.  GigEs are usually powered over ethernet so they need only be connected to a trigger signal and a network switch port on the cds-cxi.pcdsn subnet with PoE capability to maintain function at the sample chamber.  Frame grabber cameras, on the other hand, communicate over optical fiber which is transceived on both sides by EDT RCX camera links.  RCX camera links require separate power (5V), and must be configured to the correct blink code in order to send and receive data between the camera and frame grabber PCI card.  If a camera link fails then the IOC host will lose connection to the camera.  Frame grabber cameras and their RCX links are usually powered using DC voltage supply available at the user patch panels.  Network and fiber connections to the sample chamber cameras are also accessed via the user patch panels.

How to be a Good Beamline Scientist:

 If you are setting up a GigE at the sample chamber and cannot find a CDS PoE ethernet port on the patch panel because none of the ports are labeled properly, senselessly harass the nearest PCDS engineer.

When changing cameras, be sure to enable or disable its corresponding IOC using iocmanager

CameracamViewer name Gige name Cam TypeHostBuildIOC Manager AliasIOC Name
SC1 on-axis cxi_sc1_inlineNAAlvium 240umioc-cxi-qadcrhel7CAM - SC1 Inline ioc-cxi-alv-01
SC1 off-axiscxi_sc1_offaxisgige-cxi-08Gige Mako G319Cioc-cxi-rec03rhel7CAM - SC1 Offaxis ioc-cxi-gige-08
SC1 Navitarcxi_sc1_navitargige-cxi-navitar1Gige Mako G319Cioc-cxi-cam2rhel7CAM - SC1 Navitar Gigeioc-cxi-navitar1-gige
SC2 on-axiscxi_sc2_inlinegige-cxi-06Gige Manta 146Cioc-cxi-cam2rhel7CAM - SC2 Inline Gige 06ioc-cxi-gige-06
SC2 off-axiscxi_sc2_offaxisgige-cxi-07Gige Mako G319C ioc-cxi-rec03rhel7CAM - SC2 Offaxis Gige 07ioc-cxi-gige-07
SC2 NavitarNANANANANANANA
SC3 on-axiscxi_sc3_inlinegige-cxi-05Gige Manta 146Cioc-cxi-rec04rhel7CAM - SC3 Inline Gige 05ioc-cxi-gige-05
SC3 off-axiscxi_sc3_offaxisgige-cxi-03Gige Manta 146Bioc-cxi-rec04rhel7CAM - SC3 Offaxis Gige 03ioc-cxi-gige-03
Timetoolcxi_timetoolgige-cxi-timetoolGige Mako G319Cioc-cxi-cam5rhel7CAM - Timetool Gigeioc-cxi-timetool-gige
DG1 Yagcxi_dg1_yaggige-cxi-dg1Gige Manta 146Cioc-cxi-rec01rhel7CAM - DG1 PIM Gige 01ioc-cxi-dg1-gige
DG2 Yagcxi_dg2_yaggige-cxi-dg2Gige Manta 146Cioc-cxi-rec01rhel7CAM - DG2 PIM Gige 02ioc-cxi-dg2-gige
DG3 Yag

Pulnixioc-cxi-rec03rhel7CAM - DG3 PIMioc-cxi-dg3-p6740
Laser  Near fieldcxi_las_nearfield

gige-cxi-las01

Basler 

acA2500-20gm

ioc-cxi-acromagrhel7CAM - Laser Enclosure Near Field Tutti Frutti ioc-cxi-las-gige-01
Laser Far fieldcxi_las_farfield

gige-cxi-las02

Basler 

acA1440-73gm

ioc-cxi-acromagrhel7CAM - Laser Enclosure Far Field Tutti Frutti ioc-cxi-las-gige-02


Gige Debugging tips: 

To check if the camera is online and if the camera is a gige, then it should be pingable on the network. Use the name from column #3 from the above table, "Gige name" to check if the camera is seen by the cds network. Example: ping gige-cxi-timetool. 

camViewer:

To open the camera with camviewer, use name from column #2 "camViewer name", Example : camViewer -c cxi_timetool

When a new camera is added or changed and a new IOC is deployed, the camviewer configuration file needs to be changed to make the new camera viewable in the camViewer.  Comment out the line from the previous camera and uncomment or create a new entry for the camera.  The camviewer configuration file can be found be found at /reg/g/pcds/pyps/config/cxi/camviewer.cfg.



  • No labels