How To Set Up for the Event System on an IOC with an EVR(s) •Assumes you already know what the event system.

Download Report

Transcript How To Set Up for the Event System on an IOC with an EVR(s) •Assumes you already know what the event system.

How To Set Up for the Event
System on an IOC with an EVR(s)
•Assumes you already know what the event system provides and how it works.
Dec 6, 2007
LCLS Controls Software Meeting
Stephanie Allison
[email protected]
epics/modules/event/<version>/README
configure/RELEASE and xxxApp/src/Makefile
ErConfigure and other st.cmd commands
Hardware Setup
Correcting IDs on PMC EVRs
Database, ChannelWatcher, and Archiver Setup
Nothing on Display Setup though
Nothing on VME EVR vs PMC EVR
Dec 6, 2007
LCLS Controls Software Meeting
Stephanie Allison
[email protected]
Hardware Block Diagram
2007 Commissioning
Modulator
Triggers
Existing
Control
System
RF
Timing
Future
MPS
Beam Path
Acq and BPM FEE
Calibration
Triggers
Timing
Crate
F F P
E
360Hz
A A N
Fiducial V
119MHz
Clock
I
O
N N E
G
1 2 T C
Beam Rate,
Beam Path
E
V
... R
3 1 1 1
8
…
Acc and
Standby
Triggers
E
V
LLRF R
Crate 1
E
V
R
2
E
I
V
O
R
C
3
Fiber Distribution:
Timing Pattern, Timestamp, Event Codes
Trigger
F E C I
Laser
Steering A V A O
N R M C
Crate
E I
BPM V O
Crates R C
PADs and PACs
C
A
M
8
Dec 6, 2007
LCLS Controls Software Meeting
I
O
C
8
TORO FEE
F
E I
Toro
A
Farc
V O
Crate N R C
4
Triggers
Profile E C C I
Monitor V A A O
R MM C
Crate
E
V
… R
1 1 2 1
4
…
Triggers
C
A
M
7
Stephanie Allison
[email protected]
C
A
M
8
I
O
C
4
EVG Event Time Line – 4 Fiducials
360Hz
Fiducial
F3 (n=3)
F1 (n=1)
2.8
R1
F2 (n=2)
5.6
R2
8.3 9.3
R3
Receive Fn+3 PNET,
determine Fn+3 LCLSP0
pattern, and advance
pipeline (n-2->n-1->n)
P1
P2
P3
L0
Set Event Codes in
Other RAM based on the E1
L1
E2
L2
E3
F0 (n=0)
Time (msec) 0 1.0
HW starts sending
R0
event codes, starting
with fiducial event code
Send LCLS pattern
L3
E4
last patterns for Fn+1
120Hz BEAM
B-3
Dec 6, 2007
LCLS Controls Software Meeting
B0
Stephanie Allison
[email protected]
Trigger Event Time Line – 1 Beam Pulse (B0)
Record processing (event, interrupt)
Hardware Triggers
Triggering
Event Codes
Event Timestamp, Start
pattern records,
and BSA ready
Receive pattern for
3 pulses ahead
Kly Standby Beam
Acq
Kly Accel Trigger
Fiducial Event
Received
Fiducial
B0
F3
Time (usec)
0
Dec 6, 2007
LCLS Controls Software Meeting
18
0.3 100
500
1023
Stephanie Allison
[email protected]
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.
Future – event codes also based on new MPS and user
input
Send out system timestamp with encoded pulse ID from
PNET
Send out PNET pattern to be used by SLC-aware IOCs
Manage user-defined beam-synchronous acquisition
measurement definitions (event definition or EDEF)
Check for match between user EDEFs and input PNET
pattern at 360Hz and tag matches in outgoing pattern
Dec 6, 2007
LCLS Controls Software Meeting
Stephanie Allison
[email protected]
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
Perform beam-synchronous acquisition for the SLCaware IOC based on the PNET part of the event pattern
Process pre-defined records when specific event codes
are received
Dec 6, 2007
LCLS Controls Software Meeting
Stephanie Allison
[email protected]
Databases and Displays
Each IOC has its own substitutions files using
databases/cwConfig files provided by the event module.
Each IOC has its own displays for triggered and beamsynchronous devices. Other event-related diagnostics
displays provided by the event module and currently
accessible from the “Event” tab on lclshome.
Databases divided into 4 categories:
EVR Databases
Pattern Databases
Trigger Database
BSA Databases
Dec 6, 2007
LCLS Controls Software Meeting
Stephanie Allison
[email protected]
EVR Databases
One evr record per EVR.
Use evr.db (most apps) from event module.
Apps that don’t use the trigger database or
don’t save/restore delays, polarities, or pulse
widths will use evrWithDelays.db or
evrWithExtendedDelays.db from the event
module instead.
Matching display =
tools/edm/display/event/evrDiags.edl
Record Reference:
http://www.slac.stanford.edu/grp/lcls/controls/glo
bal/subsystems/timing/globalEventV3.htm
Dec 6, 2007
LCLS Controls Software Meeting
Stephanie Allison
[email protected]
EVR Databases - cont
One erevent record per triggering event per EVR:
Use evrEventCtrl.db from event module.
Always instantiate <evr>:EVENT1 to 14 – you want the
spares.
See timing block diagram in sharepoint to find mapping
between triggered device and TTB/front panel ports.
See EVG event display to find event code numbers once
you know how devices are to be triggered. One device
can be triggered by multiple event codes (ie, BPMs)
though not event codes on the same time slot.
Enable IRQ if you want records processed on event.
Matching display =
tools/edm/display/event/evrTriggerDiags.edl
Record Reference:
http://www.slac.stanford.edu/grp/lcls/controls/global/subs
ystems/timing/globalEventV3.htm
Dec 6, 2007
LCLS Controls Software Meeting
Stephanie Allison
[email protected]
Pattern Databases
One Pattern Record Group per IOC:
Provides beam/BSA/destination/timeslot
information on the current time slot + next 3
timeslots. They also provide generalTime
records. All apps (including EVG IOC) should
load this one.
Use evrPatternAll.db from the event module.
Matching displays =
tools/edm/display/event/evrPatternDiags.edl and
tools/edm/display/event/generalTime.edl
Dec 6, 2007
LCLS Controls Software Meeting
Stephanie Allison
[email protected]
Pattern Databases - cont
One Pattern Event Record Group per IOC:
Provides event records that will fire if IRQ is
enabled on an event code. Also provides delay
from the fiducial for each event code (used by
the trigger database). Must be loaded with
evrPatternAll.db.
Use evrEventAll.db from the event module.
Matching display =
tools/edm/display/event/evrEventDiags.edl
Dec 6, 2007
LCLS Controls Software Meeting
Stephanie Allison
[email protected]
Trigger Database
One Trigger Record Group per triggered device:
Provides more user-friendly interface for setting delays,
pulse widths, polarities than comes with evr.db. Comes
with matching CW configuration.
Use evrDevTrig.db, evrDevTrig.cwConfig, and
evrIocTrig.cwConfig from the event module.
Must be consistent with event codes selected in the EVR
databases.
See timing block diagram in sharepoint to find mapping
between triggered device and TTB/front panel ports:
https://slacspace.slac.stanford.edu/sites/LCLS%20Docu
ment%20Storage/01%20%20LCLS%20Systems/electronbeamsys/controls/Share
d%20Documents/Timing/TIMING%20System%20BD.pdf
Matching display =
tools/edm/display/event/evr_dev_diags.edl
Dec 6, 2007
LCLS Controls Software Meeting
Stephanie Allison
[email protected]