Versions Compared

Key

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

...

#

Title

User Story

Importance

Notes

1

Jira
showSummaryfalse
serverINFN Ticketing System
serverId8087fedc-8816-3706-9e66-78f987f39e0c
keyLNFDCS-137

As a developer I want a new DEVIL204 control so that I can put it into the new DEVIL204DEVIL704


  • The acquisition frequency on the 4 DEVILs is 5.41 Hz so that the total DEVIL204 DEVIL704 frequecy must be > 11 Hz that corresponds to a period of ~91 ms.
  • With an idleTime=100 ms the DEVIL overall freq. is 8.92 Hz (1400 loops in 157 s).
    8.92 Hz corresponds to a period of ~112 ms.
    Total period = idleTime + ctrlTime
    112 = 100 + ctrlTime
    ctrlTime = 112 - 100 = 12 ms
    12 + idleTime = 91
    idleTime = 91 - 12 = 79 ms
2

DEVIL204-Global write to memcached

Jira
showSummaryfalse
serverINFN Ticketing System
serverId8087fedc-8816-3706-9e66-78f987f39e0c
keyLNFDCS-132

As a developer I want GGODSta.vi and GGODDyn.vi have the "append" and "write" cases ENABLED so that I can validate real memcached write operations.Must Have
  • The ability to enable or disable actual memcached operations has been implemented using "conditional disable structures" and introducing the new "MEMCACHED" symbol in GOD.lvprj. If the value is set to "Enabled" then:

    • the connection with memcached is initialized at start-up;
    • the GODSta | Dyn clusters are written to memcached at run-time;
    • the orbit buffers are written to memcached at run-time;
    • the connection with memcached is closed at stop.

    Any other value for the symbol "MEMCACHED" is treated as "Default" and no memcached operations are performed at all.

3
DEVIL204-Update DBFiles
Jira
showSummaryfalse
serverINFN Ticketing System
serverId8087fedc-8816-3706-9e66-78f987f39e0c
keyLNFDCS-133
As a developer I want updated versionof DEVILs' DBFiles  so that I can use them for loading data.Must Have
  • At this moment, DBFiles of DEVILs 364, 365, 366, 367 on /u2/dcs/db/DBFile3/ differ from those used by Apple (e.g. DEVIL365 has 24 components instead of 23). 
4
DEVIL204-Program data loading
Jira
showSummaryfalse
serverINFN Ticketing System
serverId8087fedc-8816-3706-9e66-78f987f39e0c
keyLNFDCS-134
As a developer I want valid orbit values (that is equal to legacy Apple data) so that I can use the same UI.Must Have
5

DEVIL204-Optimize bundleORB VIs

Jira
showSummaryfalse
serverINFN Ticketing System
serverId8087fedc-8816-3706-9e66-78f987f39e0c
keyLNFDCS-135

As a developer I want a fast ORB dataset recontruction so that I can obtain a real time orbit acquisition.Important
  • The VIs .../0_classes/GOD/library/fetchORB[Sta|Dyn].vi and their SubVIs .../0_classes/GOD/library/bundleORB[Sta|Dyn].vi must be optimized by moving the code that parses the descriptors in the "init" frame so that it is executed only once.
6

DEVIL204-Database

Jira
serverINFN Ticketing System
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId8087fedc-8816-3706-9e66-78f987f39e0c
keyLNFDCS-122

As a developer I want all the data available in the new program global variables so that I can develop the acquisition code.Must Have
7

DEVIL204-HWMaskArray

Jira
showSummaryfalse
serverINFN Ticketing System
serverId8087fedc-8816-3706-9e66-78f987f39e0c
keyLNFDCS-136

Fix the HW maskMust Have
8Final validation of orbit DONEComparison of Orbits through proxy and 704

9Configuration file DONETo be discussed with Angelo StellaMust Have

The method to update the offset configuration file (now resident on the Linux AFP server) has been discussed with Angelo. He said that he has checked with Paolo how to edit it.

10Decommissioning of OLD 204 DONETo be discussed with PaoloMust Have

Alive, SysReset, OrbitProxy, Solaris window and subVI, system wide conseguences?

  • WorldMap.DBFile: commentato DEVILs 202, 364, 365, 366, 367
  • DBFiles: spostati DBFiles del DEVIL204 in /u2/dcs/db/DBFiles_2/DEVIL204_DISARMED/
     spostati DBFiles dei DEVIL 364,365,366,367 in /u2/dcs/db/DBFiles_3/ORBIT_DEVILS_FOR_704
  • Sysreset modificata: tolto avvio di OrbitProxy e messo avvio di DEVIL704
  • modificati i path delle finestre orbitMonitor su Solaris

    Warning

    I VI della finestra dell'orbita sono in:

    • per Solaris     /u2/dcs/source_solaris/0_classes/GOD/console/memcached

     sono tutti hard link allo stesso file

    -rw-r--r--. 3 dante dcs 953403 Mar 31 15:49 orbitMonitor_6.0.vi
    -rw-r--r--. 3 dante dcs 953403 Mar 31 15:49 orbitMonitor_New204_6.0.vi
    -rw-r--r--. 3 dante dcs 953403 Mar 31 15:49
    • per Linux       /u2/dcs/source_solaris/0_classes/GOD/console/ 

    Sono tutte copie identiche derivate con "Save a copy as..." dalla versione di sviluppo più recente orbitMonitor_x.x.vi. Quindi il set di VI identici deve essere composto come segue:

    • orbitMonitor_x.x.vi
    • orbitMonitor.vi
    • orbitMonitor_bis.vi
    • orbitMonitor_subVI.
    orbitMonitor_bis_6.0.
    • vi


11Better error treatment
DONE
Reintroduced the "persistent error" that is an error that repeats continuously for 6 times (~ 1 second).

...

Code Block
titlePreference File
[GOD_Parameters]
maxErrors=25

...

GGODConnection.vi

The purpose of this global is to keep all program data in one place, but a reorganization in the final version is strongly recommended. At the present moment some fields

Warning

Even though the use of LV globals with values saved as default is deprecated, this global has been introduced to speed up the porting of the code from legacy Apple DEVIL to Linux VM. Some fields of the global contain constant values (saved as defaults), others are calculated and written at HWInit. 

...

A reorganization of data in a next version is strongly recommended.


Data type

Name

Type

Description

Data type

Name

Type

Description

abcDEVILconstant[ 364, 365 ,366, 367 ] (see fig. 1-a, 1-b)
abcelementconstant

[ ORBRAK63, ORBRAK71, ORBRAK70, ORBRAK66 ]
The sequence is sorted according to the direction of the beam for the electronic mode: clockwise, starting from rack 063 (DEVIL364)

abccontrollerIPconstant[ 192.168.192.91, 192.168.192.92, 192.168.192.93, 192.168.192.94 ]
The sequence is sorted according to the direction of the beam for the electronic mode: clockwise, starting from rack 063 (DEVIL364)
U32vme handle
Written at startup by the initHWGOD.vi
U32DEVILBaseAddressconstant0xE0000000 for all 4 DEVILs
U32DEVILBufferOffsetconstant0x200000 (2 MB) for all 4 DEVILs
abcHCIDynDescriptorconstant

It varies depending on the DEVIL36X.DBDyn content

In order to fill the ORBHCIDyn cluster with data read from the SIS3153 interface, we read "HCIDynNumOfLongwords" longwords starting from "HCIDynOffset. Data are then passed to the VI
.../0_classes/GOD/library/VMEMemToORBDyn.vi
that reconstructs the ORBHCIDyn cluster by using the "HCIDynDescriptor".

U32HCIDynOffsetconstantPosition of the dynamic fork in the DEVIL memory. It varies depending on the lenght of other data written before in memory
U32HCIDynNumOfLongwordsconstantThe 4 HCIDyn have different length but we use a safe value to fetch any of them without missing any piece of data. The value is set to 64 longwords.
abcHCIStaDescriptorconstant

 It varies depending on the DEVIL36X.DBSta content

In order to fill the ORBHCISta cluster with data read from the SIS3153 interface, we read "HCIStaNumOfLongwords" longwords starting from "HCIStaOffset. Data are then passed to the VI
.../0_classes/GOD/library/VMEMemToORBSta.vi
that reconstructs the ORBHCISta cluster by using the "HCIStaDescriptor".

U32HCIStaOffsetconstantPosition of the static fork in the DEVIL memory. It varies depending on the lenght of other data written before in memory.
U32HCIStaNumOfLongwordsconstantThe 4 HCISta have different length but we use a safe value to fetch any of them without missing any piece of data. The value is set to 240 longwords.
BooleanctrlInitDonevariableIndicates if the Control has been initialized. This flag is set to false by the openGOD VI and to true by the control after the initialization.
BooleandoSleepvariableNot used at this moment (01/03/2022)

...

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.

...

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 strobe 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.

...

This VI is a functional global that stores, holds and returns the last X and Y parts acquired from the 4 DEVILs (as they come out from the readDEVILSocket VI). 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.

...