V4 Use Cases

From EPICSWIKI
Revision as of 19:15, 18 July 2005 by KayKasemir (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Use Cases

These are examples that need to get handled by the CA client user API, the network protocol, the database, down to drivers and back up to the client.

Command-line tools for debugging and scripting

1. Dump the current "value" of the channel "fred". 2. Dump all properties, their type, current value for a given channel. 3. Dump the timestamp, value, units, status, severity of "fred" once a second. 4. ... whenever any of the timestamp, ... severity change. 5. List all events that a PV supports: On change, 1Hz, RF Pulse, Beam Pulse, ... 6. Dump the value of the cavity waveform for every beam pulse.

Display Manager

1. Display an analog input value on a bar

Get limits, subscribe to values, receive value & display it, receive change-of-display-range notification,...

2. Display a menu output for a 2 state valve on a text update

Get state strings, subscribe to (numeric?) value, display incoming data, receive state string updates, ...

3. Give a controller for a 2 state valve controller on a radio button

Handle same as 2?

4. Display a waveform on an xy plot

Similar to 1, but array data?

5. Attempt to display a string on a bar 6. Universal PV Inspector:

Get properties, allow user to select properties.
If writeable string -> display text entry field
If read-only string -> display text update field
If writeable numeric with limits -> display slider with range of number
....

7. Display as bars, a list of BPMs where I can set the offset in time to fetch (assuming that these BPMs are read as arrays that are all triggered at one time – but I want to see them at different points in time as it goes down the beamline).

Physics Application

1. BPM-related ideas 1.1. List all channels available that are BPMs 1.2. Select all of them in sector 6 1.3 Display them when the beam is going to the end station A (one of 8 destinations possible) 1.4 Same, but display all BPMs on the .1 Hz event   2. Scan a probe in the beam line 2.1 Find PVs for some beam line device:

   Stepper motors for probe's X & Y position, intensity of beam transmitted by probe,
   beam shutter open/close, beam available

2.2 Scan sequence:

   Assert shutter is closed;
   move X/Y to 0/0, wait for completion
   until done:
      open shutter, wait until open
      measure intensity for 1 second while beam_available
      close shutter
      move to next position, wait until you get there

Archiver

1. Get value, timestamp, status/severity of a channel once per second 2. Archive default properties of a channel using the default deadband

 How are they defined? How does the archiver learn about them?

3. Given that there is a new view defined in the stepper motor that includes all motor readback data:

Subscribe to counterClockWiseLimit, clockWiseLimit, moving, doneRetries, homeLimit
at 10 Hz.