You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

Document status

FINAL

Document owner
DesignerAlessandro Stecchi
DevelopersAlessandro Stecchi
QAAlessandro Stecchi

Description

The DAFNE orbit is acquired by 4 front-end DEVILs (364, 365, 366, 367) and post processed by the DEVIL204.
The basic elements created by the 4 front-end DEVILs are:

  • ORBRAK063 (364)
  • ORBRAK071 (365)
  • ORBRAK070 (366)
  • ORBRAK066 (367)

and the final element created by the DEVIL204 is:

  • GOD**001

The DEVIL204, besides the two conventional GOD**001_STA and GOD**001_DYN forks, builds also a circular buffer of data (containing the actual real-time X and Y orbit projections) accessible in the VME address space. To have this data also available on non-VME processors, a dedicated proxy constantly reads the GOD**001_STA and GOD**001_DYN forks, as well as the circular buffer from VME, and transfers them to memcached.

Source

[DEVIL364, 365, 366, 367] > [DEVIL204] > [Orbit_Proxy]

Requirements

Key nameSource

Write freq. [Hz]

Data size [byte]

Throughput
[kbyte/s]

FomatNotes
GOD**001_STAOrbit_Proxy-2624-typeDef

LV cluster [flattened to str]

GOD**001_DYN

Orbit_Proxy10460.45typeDefLV cluster [flattened to str]
ORBP*DAT_BUFOrbit_Proxy10102420

2D [DBL]

2 rows of 64 DBL (row 0: hor, row 1: ver) [flattened to str]

ORBE*DAT_BUFOrbit_Proxy10102420

2D [DBL]

2 rows of 64 DBL (row 0: hor, row 1: ver) [flattened to str]

ORBP*AVG_BUFOrbit_Proxy10102420

2D [DBL]

2 rows of 64 DBL (row 0: hor, row 1: ver) [flattened to str]

ORBE*AVG_BUFOrbit_Proxy10102420

2D [DBL]

2 rows of 64 DBL (row 0: hor, row 1: ver) [flattened to str]

ORBP*VAR_BUFOrbit_Proxy10102420

2D [DBL]

2 rows of 64 DBL (row 0: hor, row 1: ver) [flattened to str]

ORBE*VAR_BUFOrbit_Proxy10102420

2D [DBL]

2 rows of 64 DBL (row 0: hor, row 1: ver) [flattened to str]

ORB-E-64-INFODEVIL704-~2500-

Json document

Static description of the orbit with name, ascissa and index of each element.

  • name: name of the BPM;
  • s (curvilinear abscissa), position along the ring [m];
  • i: index of the component containing the element "name" in the 64 DBL array containing all the orbit values. Should the index be equal -1, that element is just a placeholder and must be ignored (in this case name is "BPMDUMMY" and s is 0).
[
   {
      "name":"BPBEL101",
      "s":2.531,
      "i":0
   },
  {
    "name":"BPBEL102",
    "s":6.205,
    "i":1
  },

...

  {
    "name":"BPBEL209",
    “s":96.228,
    "i":59
  }
]

ORBE*NOD_BUF
DEVIL7045.51024

Electrons: average@N of the orbit (hor + ver)
64-components array with moving average calculated on the last N samples.

ORBP*NOD_BUF
DEVIL7045.51024

Positrons: average@N of the orbit (hor + ver)
64-components array with moving average calculated on the last N samples.
ORBE*STD_BUF

DEVIL7045.51024

Electrons: Std. Dev. of the average@N orbit (hor + ver)
64-components array with standard deviation calculated on the last N samples.
ORBP*STD_BUF

DEVIL7045.51024

Positrons: Std. Dev. of the average@N orbit (hor + ver)
64-components array with standard deviation calculated on the last N samples.
ORBE*ELA_BUF

DEVIL7045.5~700

Electrons: average@8 of the orbit ready for users (hor + ver)
m-components array with moving average calculated on the last 8 samples. The number of components "m" (typ. 44) depends on the current BPMs setup and the hardware and user masks. The array is ready for viewing.
ORBP*ELA_BUFDEVIL7045.5~700

Positrons: average@8 of the orbit ready for users (hor + ver)
m-components array with moving average calculated on the last 8 samples. The number of components "m" (typ. 44) depends on the current BPMs setup and the hardware and user masks. The array is ready for viewing.

Total throughput

kbyte/sMbit/s


Keys usage

Example of LabVIEW code to use at level 1 to unflatten and extract the two projections of the orbit:

  • No labels