lcls event system - software
DESCRIPTION
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) - PowerPoint PPT PresentationTRANSCRIPT
Stephanie Allison MCC Operations Meeting [email protected] 21, 2008
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
Stephanie Allison MCC Operations Meeting [email protected] 21, 2008
Beam PathExistingControlSystem
119MHzClock
EVR
Hardware Block Diagram 2007 Commissioning
IOC
EVG
PNET
Fiber Distribution:Timing Pattern, Timestamp, Event Codes
EVR1
Acc andStandbyTriggers360Hz
Fiducial
Beam Rate, Beam Path
FutureMPS
RFTiming
ModulatorTriggers
PADs and PACs
FAN1
FAN2
FAN3
EVR1
...
IOC1
CAM1
EVR8
IOC8
CAM8
Trigger
LaserSteeringCrate
FAN4
EVR1
…
IOC1
CAM1
EVR4
IOC4
CAM7
ProfileMonitorCrate
CAM2
CAM8
… …
Triggers Triggers
IOC
BPM FEEAcq and CalibrationTriggers
BPMCrates
Timing Crate
LLRFCrate
EVR2
IOC
EVR3
EVR
IOC
TORO FEE
ToroFarcCrate
Stephanie Allison MCC Operations Meeting [email protected] 21, 2008
Event System RequirementsEvent 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-shotSend out system timestamp with encoded pulse ID from PNETSend out PNET pattern to be used by SLC-aware IOCsBeam-synchronous acquisition management (more later)
Stephanie Allison MCC Operations Meeting [email protected] 21, 2008
Event System Requirements, contEvent 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 pulsePerform 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 patternProcess pre-defined records when specific event codes are received
Stephanie Allison MCC Operations Meeting [email protected] 21, 2008
Event Time Line – 120 Hz Beam
F0 F1 F2 F3 F4 F5 F6 F70 2.8 5.6 8.3 11.1 13.9 16.7 19.4
360Hz FiducialTime (msec)
B0 B1 B2BeamS0 S1 S2Kly Standby
CX0 CX1 CX2BPM Calib CY0 CY1
Stephanie Allison MCC Operations Meeting [email protected] 21, 2008
EVR IOC Time Line – 1 Beam Pulse (B0)
F00
Fiducial
Time (usec)
B0
Acq Trigger
1023
Beam Kly Standby
Record processing (event, interrupt)
Fiducial Event Received
Event Timestamp, pattern records, and BSA ready
Receive pattern for 3 pulses ahead
Hardware Triggers
~5000.3
~40100
Triggering Event Codes
Kly Accel
F1
Fiducial
…2778
110
Start End
Stephanie Allison MCC Operations Meeting [email protected] 21, 2008
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
Event System Requirements, cont
Stephanie Allison MCC Operations Meeting [email protected] 21, 2008
BSA IOC Data Gathering
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.
EVR
IOC
EVG
PNET
IOC
BPM FEETriggers
Timing Crate
BPM Crate
Data
CA Client
EDEF Flags, Pattern, etc
EDEF Setup CA Client
BSA Data
EVG IOC – Global Event Display
More to come for kicker control, MPS interface, and pulse stealing
EVG IOC – Pattern Diagnostics
PVs update at 0.5hz (on
mod720 bit)
For BSA
Common Errors: MPG_IPLING,
TIMEOUT, PULSEID_NOSYNC
EVG IOC – Event Codes
EVG IOC – Condition Masks for Event Code 140
For now, masks are displayed as bit
masks – need name for each bit!
EVG IOC – All EDEF Diag DisplayPut new app name in
reserve record – edefReserve sequence
will assign next available EDEF number
“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.
15 user-defined requests at one time,
is this enough? Issue – apps that
crash before freeing.
EVG IOC – EDEF Diag Display
Beam code describes project, 1 = LCLS (0=any beam code – good for testing)
Turn “ON” when ready. EVG IOC 360Hz event task will turn “OFF” when finished. Turn
back “ON” to flush and restart the acq.
Define # in each average, # measurements, severity at or above which data is not included in average. Forever
option used by system EDEFs.
Set machine conditions – values acquired only on
pulses where ALL inclusion conditions are true AND NO exclusion condition is true
Push “FREE” to free this EDEF number. Name and user will be blanked out.
EVG IOC – EDEF Mask Diag Display
Choose conditions that define the pulses of interest. Only pulses with these conditions will provide values to the acquisition.
Condition (bit) names come from the SLC Database
(PNBN) and ordered alphabetically in new records by the edefMask sequence.
EVR IOC – Sector Event Display
Pattern Pipeline (but no TS 4!)
PVs update at 0.5hz (on
mod720 bit)
For BSA
Extra Interrupts
Missing Pattern Interrupt
Common Errors: MPG_IPLING and
TIMEOUT…
Missing Pattern Interrupt
Fiducial Processing Too Long
epicsTimeGetEvent (Record Timestamps)
epicsTimeGetCurrent
evrTimeGet – OK
evrTimeGetSystem – Event System problem (pulse ID set to invalid)
General Time will transition between different time providers without going backward in time
EVR IOC – General Time Diagnostics Display
Front panel uses extended delay triggers
(only 3 for PMC EVR)
Transition module uses 14 regular
triggers
Fiber connection status (from EVR fanout module), polled at 0.5hz
EVR IOC – EVR Hardware
See event display for event code description
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
Note: Enabling IRQ causes interrupts/task switches at the rate of the event code receipt (…watch CPU performance after enabling)
Event code description
Rate calculated only if IRQ is enabled (fiducial IRQ automatically enabled on all IOCs)
Delay from fiducial
MJB requests all standby event
codes be replaced by 36
event codes using the same delay (like SLC)
Standby (base rate) beam-independent
events
EVR IOC – Event Code Diagnostic Display
EVR IOC – Device Trigger Setup Display
EVR IOC – Device Trigger 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
EVR IOC – Device BSA Diagnostic Display