Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Data type

Name

Description

BoolddOutLegacy data-dependency output
errorClustererrorOut

Details

---

Examples

---

...

Figure 1-b: The sequence [1,0,3,2] is sorted according to the direction of the positrons beam:, starting from rack 071 (DEVIL365 > 364 > 367 > 366)


...

Details

---

Examples

---

readDEVILSocket.vi

This VI reads and returns the last data acquired from the 4 DEVILs. It doesn't perform any data reordering or padding (see "Details" paragraph below). The X and Y arrays have 32 components, such as the number of channels of the multiplexer connected to the DVM.

...

Data type

Name

Description

[DBL]part XArray of 32 DBL: see corresponding control description above. The array is returned both for read and write operations.
[DBL]part XArray of 32 DBL: see corresponding control description above. The array is returned both for read and write operations.
errorClustererrorOut[ACQ numbers mismatch (num0, num1, num2, num3)]

Details

Each one of the 4 DEVILs has a circular buffer of 1927 lines named "sockets". Write operations of the four circular buffers are synchronized via a common stobe so that the four write pointers are always alligned. At each strobe, each DEVIL stores a "socket" composed as:

  • Header
DBL   ACQNum [0, 1926];
DBL   timestamp (LabVIEW Time Stamp cast to DBL).
    example: 00:00:00.000 PM
             MM/DD/YYYY

The socket header is written twice: at the beginning of the socket (before part X) and again in the middle of the socket (before part Y) the content of the two headers being the same; this is due to historical reasons and – although it is a waste of memory space – it was left in order not to compromise the functioning of other pieces of code that access the same memory area.

  • part X
[DBL]   32 values of the BPM X signals from the Bergoz modules read from that DEVIL;
  • part Y
[DBL]   32 values of the BPM Y signals from the Bergoz modules read from that DEVIL.

The 32 components in part X and Y are ordered according to the cabling and do not necessarily follow the sequence of the BPMs along the vacuum chamber. Moreover the 32 values refer to both e- and e+ rings for which the BPMs sequence is obviously different. As a consequence, part X and Y must be considered as raw containers and their content must be further processed in order to reconstruct the real orbit.

Examples

---

...

GRawBuffer.vi

This VI is a functional global that stores, holds and returns the last X and Y parts acquired from the 4 DEVILs. The X and Y arrays have 32 components, such as the number of channels of the multiplexer connected to the DVM. This VI doesn't perform any data reordering or padding. Data are not queued: each write operation with the same DEVILIndex overwrites the previous one.

...

Data type

Name

Description

I32DEVILIndex

Index in the range [0, 1, 2, 3] corresponding to:

INDEX   0,   1,   2,   3
DEVIL 364, 365, 366, 367
RACK  63,  71, 70,  66
enummode

[init, read, write X and Y, write X, write Y] (read)

  • init: the internal shift register are initialized (all zeros);initialized (all zeros);
  • read: returns "part X" and "part Y" from the arrays specified by "DEVILIndex";
  • write X and Y: stores simultaneouslyread: returns "part X" and "part Y" from the arrays specified by "DEVILIndex";write X and Y: stores simultaneously"part X" and "part Y" into the arrays specified by DEVILIndex. Both inputs into the arrays specified by DEVILIndex. Both inputs must have 32 components otherwise no one of them will be stored;
  • write X: stores "part X" only to the buffer specified by DEVILIndex. The array must have 32 components otherwise it will not be stored. The "part Y" array is kept unmodified;
  • write Y: stores "part Y" to the buffer specified by DEVILIndex. The array must have 32 components otherwise no one of them it will not be stored;
  • write X: stores "part X" only to the buffer specified by DEVILIndex. The array must have 32 components otherwise it will not be stored. The "part Y" array is kept unmodified;
  • write Y: stores "part Y" to the buffer specified by DEVILIndex. The array must have 32 components otherwise it will not be stored. The "part X" array is kept unmodified
  • . The "part X" array is kept unmodified.
[DBL]part XArray of 32 DBL components containing the raw values of the X signals coming from both electron and positron BPMs. The components are in the same order of the values in the DEVIL memory locations.
[DBL]part XArray of 32 DBL components containing the raw values of the Y signals coming from both electron and positron BPMs. The components are in the same order of the values in the DEVIL memory locations.
errorClustererrorIn


Indicators

Data type

Name

Description

[DBL]part XSee corresponding control description above. The X array is returned both for read and write operations.
[DBL]part X
Array of 32 DBL components containing the raw values of the X signals coming from both electron and positron BPMs. The components are in the same order of the values in the DEVIL memory locations.[DBL]part XArray of 32 DBL components containing the raw values of the Y signals coming from both electron and positron BPMs. The components are in the same order of the values in the DEVIL memory locations.errorClustererrorIn

Indicators

See corresponding control description above. The Y array is returned both for read and write operations.
errorClustererrorOut

Details

Image Added

Write operation for both X and Y arrays: DEVILIndex selects the same lines of the two blocks and stores the two arrays. The previous content of the two lines is overwritten.

Examples

---

...

buildOrbit.vi

Image Added

Gets raw data from the functional global  GRawBuffer and reconstruct the actual orbit (horizontal or vertical). The mode (electrons or positrons) is determined by the DEVILSequence array The VI resizes the orbit to the standard 64 components by placing dummy values at the posizions indicated by HWMaskArray.

Controls

Data type

Name

Description

[DBL]part XSee corresponding control description above. The X array is returned both for read and write operations.[DBL]part XSee corresponding control description above. The Y array is returned both for read and write operations.



errorClustererrorIn


Indicators

Data type

Name

Description




errorClustererrorOut

Details

Image Removed

...


Examples

---