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

Compare with Current View Page History

« Previous Version 21 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]

Key nameSource

Write freq. [Hz]

Data size [byte]

Throughput
[kbyte/s]

FomatNotes
GOD**002_STADEVIL704-2624-typeDef

LV cluster [flattened to str]

GOD**002_DYN

DEVIL7045.5460.25typeDefLV cluster [flattened to str]
ORB-E-64_INFO
ORB-P-64_INFO
DEVIL704-~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 corresponding to the element "name" in the 64-DBL array. Should index be equal "-1", that element must be ignored. This happens when:
    1. that BPM has been excluded (by a mask);
    2. there is no BPM connected to that channel. In that case "name" is "BPMDUMMY" and the curvilinear abscissa "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
ORB-E64-MEAN_BUF
DEVIL7045.510245.5
Electrons: average(N) of the orbit (hor + ver)
2 rows of 64 DBL (row 0: hor, row 1: ver) [flattened to str]
64-components array with moving average calculated on the last N samples.

ORBP*NOD_BUF
DEVIL7045.510245.5

Positrons: average(N) of the orbit (hor + ver)
2 rows of 64 DBL (row 0: hor, row 1: ver) [flattened to str]
64-components array with moving average calculated on the last N samples.

ORBE*STD_BUF

DEVIL7045.510245.5
Electrons: Std. Dev. of the average(N) orbit (hor + ver)
2 rows of 64 DBL (row 0: hor, row 1: ver) [flattened to str]
64-components array with standard deviation calculated on the last N samples.
ORBP*STD_BUF

DEVIL7045.510245.5
Positrons: Std. Dev. of the average(N) orbit (hor + ver)
2 rows of 64 DBL (row 0: hor, row 1: ver) [flattened to str]
64-components array with standard deviation calculated on the last N samples.
ORBE*USR_BUF
ORB-E-MEAN8_BUF

DEVIL7045.5~7003.9
Electrons: average(8) of the orbit ready for users (hor + ver)
2 rows of m DBL (row 0: hor, row 1: ver) [flattened to str]
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*USR_BUFDEVIL7045.5~7003.9
Positrons: average(8) of the orbit ready for users (hor + ver)
2 rows of m DBL (row 0: hor, row 1: ver) [flattened to str]
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
~30~0.23

Keys usage

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

Example of 2D array (3 columns, 2 rows)
< #rows >|< #cols >|   a00   |    a01  |   a02   |   a10   |   a11   |   a12   
---------|---------|---------|---------|---------|---------|---------|---------
0000 0002 0000 0003 0000 0000 0000 0001 0000 0002 0000 000A 0000 000B 0000 000C 


  • No labels