Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

1 About this Document

This document outlines the conceptual and, in some cases, the detailed design for the LCLS Beam-Based Fast Feedback Controller IOC. This IOC application is responsible for running from 1 to N feedback loops configured for the LCLS Program. This document includes a description of the functionality of the entire Controller IOC application, its EPICS Database and processing, and the design of each thread involved.

2 Introduction

2.1 Background

2.2 Naming Conventions

  • Bunch Charge (Feedback Loop) - Maintains bunch charge; requires Laser Power Set
  • Laser Power Set - Wakes up when Laser Power is changed, calculates and outputs to certain PVs in order to protect the camera. It is not a feedback loop
  • Transverse (Feedback Loop) - aka Trajectory, aka Launch; Includes the following Launch loops: Gun, Injector, Injector to Spect., X Cavity, L2, BSY, DL2, LTU, and UND
  • Longitudinal (Feedback Loop)
  • Start
    • starts new instance of associated Controller loop thread
    • starts with current actuator settings
    • saves current actuator settings for future restore
  • Disable (pause)
    • remembers last calculated actuator settings
    • remembers running average used in integral term (longitudinal. only)
    • Controller thread does not exit
  • Enable
    • starts with new measurements, last calculated actuator settings,
    • continues the running average used in integral term. (longitudinal. Only)
  •  Stop
    • Controller thread terminates after releasing its thread resources
  • Runtime settings - on EDM Feedback Displays - values entered take affect immediately at Runtime; these values are CA monitors
  • Configuration settings - take affect only when the loop is started. A loop must be Stopped, then Started to pickup up a new configuration.
  • G Matrix -
  • F Matrix -
  • Feedback Loop -given a set of input measurements, calculates and outputs actuator and state variables. These inputs, outputs, and states are related by first-order differential equations. To abstract from the number of inputs, outputs and states, the variables are expressed as vectors and the differential and algebraic equations are written in matrix form

2.3 References

2.4 Project Deliverables

2.5 User Documentation and Training

3 Functional Design

3.1 Functional Design and External Interfaces

Figure 1 Block Diagram

3.2 Functional Flow

3.2.1 Operating Modes

4 Detailed Design

4.1 External Interfaces

4.1.1 External Interface #1 (API, )

4.2 GUI

4.3 Internal Modules

4.3.1 Thread Design # 1 (Data, Flow, )

4.4 Data Structures

4.5 Message Logging

4.6 Diagnostics

4.7 Alarms