1 / 24

LCLS Event System - Software

LCLS Event System - Software. Software Requirements Event Generation (EVG) Event Receiver (EVR) Beam Synch Acquisition (BSA) EPICS Displays EVG IOC – Diagnostics, Event Code Setup, BSA Event Definitions (EDEF)

kumiko
Download Presentation

LCLS Event System - Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LCLS Event System - Software • Software Requirements • Event Generation (EVG) • Event Receiver (EVR) • Beam Synch Acquisition (BSA) • EPICS Displays • EVG IOC – Diagnostics, Event Code Setup, BSA Event Definitions (EDEF) • EVR IOC – Diagnostics, EVR Hardware, Event Code Diagnostics, Device Trigger Setup

  2. Hardware Block Diagram 2007 Commissioning Modulator Triggers Existing Control System Beam Path Acq and Calibration Triggers PADs and PACs BPM FEE Acc and Standby Triggers Timing Crate E V G F A N 1 F A N 2 P N E T I O C EVR EVR 1 EVR 2 EVR 3 I O C I O C 360Hz Fiducial RF Timing BPM Crates LLRF Crate 119MHz Clock Future MPS Beam Rate, Beam Path Fiber Distribution: Timing Pattern, Timestamp, Event Codes Triggers Triggers TORO FEE Trigger EVR 1 C A M 1 C A M 2 I O C 1 … EVR 4 C A M 7 C A M 8 I O C 4 F A N 3 EVR 1 C A M 1 I O C 1 ... EVR 8 C A M 8 I O C 8 EVR F A N 4 I O C Profile Monitor Crate Laser Steering Crate Toro Farc Crate … …

  3. Event System Requirements • Event Generator IOC: • Send out proper event codes at 360Hz based on: • PNET pattern input (beam code and bits that define beam path and other conditions) • Add LCLS conditions such as BPM calibration on off-beam pulses , diagnostic pulse etc. • Near future – event codes also based on new MPS and user input for kicker control and single-shot • Send out system timestamp with encoded pulse ID from PNET • Send out PNET pattern to be used by SLC-aware IOCs • Beam-synchronous acquisition management (more later)

  4. Event System Requirements, cont • Event Receiver IOC: • Set trigger delays, pulse widths, and enable/disable via user requests (not yet done on a pulse-by-pulse basis) • Set event code per trigger (triggering done in HW when event code received) • Receive event pattern 8.3 msec before corresponding pulse • Perform beam-synchronous acquisition based on tags set by EVG in the event pattern (more later) • Perform beam-synchronous acquisition for the SLC-aware IOC based on the PNET part of the event pattern • Process pre-defined records when specific event codes are received

  5. Event Time Line – 120 Hz Beam 360Hz Fiducial F0 F1 F2 F3 F4 F5 F6 F7 Time (msec) 0 2.8 5.6 8.3 11.1 13.9 16.7 19.4 Beam B0 B1 B2 Kly Standby S0 S1 S2 CX2 BPM Calib CX0 CY0 CX1 CY1

  6. EVR IOC Time Line – 1 Beam Pulse (B0) Record processing (event, interrupt) Hardware Triggers Receive pattern for 3 pulses ahead Triggering Event Codes Beam Kly Standby Event Timestamp, pattern records, and BSA ready Start End Acq Trigger Kly Accel Fiducial Event Received Fiducial Fiducial B0 F0 F1 … ~40 ~500 0 1023 2778 100 0.3 110 Time (usec)

  7. Event System Requirements, cont • Beam Synchronous Acquisition (BSA): • Acquire all beam-dependent scalars across multiple IOCs on the same pulse over multiple pulses of a certain kind (not just x-pulses-in-a-row) up to 120Hz. • Acquire up to 2800 values per scalar in one acquisition request. • Each value of the 2800 values can be an average of up to 1000 values. • Each acquisition request can specify: • Beam code (defines project, 1 = LCLS) • Machine conditions of interest – rate, TS, permits, etc • Provide constant 1HZ beam-synchronous data for channel archiver and displays

  8. BSA IOC Data Gathering BPM FEE Triggers Data I O C P N E T E V G EVR I O C CA Client CA Client EDEF Setup BSA Data • Data gathering part consists of the following actions: • BSA event definition (EDEF) setup and start request done on the EVG IOC. • 360hz checking on the EVG IOC with user notification when finished. • 360hz requests (acquisition control) sent by the EVG IOC to all EVR IOCs via fast fiber optic link. • Data checking, averaging, and array update per scalar record per request on the EVR IOCs. • Data on EVR IOC must be available within 7.3 msec after beam or it will be lost, even when beam is less than 120hz. EDEF will finish with arrays that are not complete if this time budget cannot be met. • For an acquisition at full beam rate (ie, 30hz), if data is acquired at a lower rate (ie, 10hz), the array will not be complete. Use rate-limit bits as-needed when setting up the EDEF. • Implementation is all EPICS record-based. EDEF Flags, Pattern, etc Timing Crate BPM Crate

  9. EVG IOC – Global Event Display More to come for kicker control, MPS interface, and pulse stealing

  10. Common Errors: MPG_IPLING, TIMEOUT, PULSEID_NOSYNC EVG IOC – Pattern Diagnostics PVs update at 0.5hz (on mod720 bit) For BSA

  11. EVG IOC – Event Codes

  12. EVG IOC – Condition Masks for Event Code 140 For now, masks are displayed as bit masks – need name for each bit!

  13. Put new app name in reserve record – edefReserve sequence will assign next available EDEF number EVG IOC – All EDEF Diag Display 15 user-defined requests at one time, is this enough? Issue – apps that crash before freeing. “alan” app is using EDEF 12 until freed by the app – “alan” can do multiple acqs System EDEFs are reserved and setup at EVG IOC boot and never freed.

  14. EVG IOC – EDEF Diag Display Turn “ON” when ready. EVG IOC 360Hz event task will turn “OFF” when finished. Turn back “ON” to flush and restart the acq. Set machine conditions – values acquired only on pulses where ALL inclusion conditions are true AND NO exclusion condition is true Beam code describes project, 1 = LCLS (0=any beam code – good for testing) Define # in each average, # measurements, severity at or above which data is not included in average. Forever option used by system EDEFs. Push “FREE” to free this EDEF number. Name and user will be blanked out.

  15. EVG IOC – EDEF Mask Diag Display Condition (bit) names come from the SLC Database (PNBN) and ordered alphabetically in new records by the edefMask sequence. Choose conditions that define the pulses of interest. Only pulses with these conditions will provide values to the acquisition.

  16. EVR IOC – Sector Event Display

  17. Common Errors: MPG_IPLING and TIMEOUT… PVs update at 0.5hz (on mod720 bit) Pattern Pipeline (but no TS 4!) For BSA Missing Pattern Interrupt Missing Pattern Interrupt Extra Interrupts Fiducial Processing Too Long

  18. EVR IOC – General Time Diagnostics Display epicsTimeGetCurrent epicsTimeGetEvent (Record Timestamps) evrTimeGet – OK evrTimeGetSystem – Event System problem (pulse ID set to invalid) General Time will transition between different time providers without going backward in time

  19. EVR IOC – EVR Hardware Transition module uses 14 regular triggers Front panel uses extended delay triggers (only 3 for PMC EVR) Fiber connection status (from EVR fanout module), polled at 0.5hz

  20. All BPM EVRs – first 7 channels for data, last 7 channels for calibration: Data acquired at 360hz (event code 20 on TS 2,5; event code 30 on TS 3,6; event code 40 on TS 1,4) where only TS 4 will produce X/Y/TMIT record updates if the pulse has beam. Calibration on TS 2,3,5,6 only. Enabled so that beam rate is calculated See event display for event code description Note: Enabling IRQ causes interrupts/task switches at the rate of the event code receipt (…watch CPU performance after enabling)

  21. Delay from fiducial EVR IOC – Event Code Diagnostic Display Event code description Standby (base rate) beam-independent events MJB requests all standby event codes be replaced by 36 event codes using the same delay (like SLC) Rate calculated only if IRQ is enabled (fiducial IRQ automatically enabled on all IOCs)

  22. EVR IOC – Device Trigger Setup Display

  23. EVR IOC – Device Trigger Diagnostic Display

  24. EVR IOC – Device BSA Diagnostic Display Copied from EDEF diag display RMS zero when # avg is 1 Last averaged values Various inputs/outputs to averaging sSub record Last 100 values of value

More Related