...
Info |
---|
Due to safety reasons, the development of the new DEVIL204 takes place on the virtual machine vldantedev038 that temporarily mounts a copy of the dcs_lv12/source_linux actual directory. /u2/dcs/source_linux//0_classes/GOD/ Any derogation from this assumption will be highlighted. Repo git della librearia di accesso alla SIS3153, clonato in: /u2/dcs/source_linux/lib/lv-vme-chaos-driver Repo git del progetto LabVIEW GOD.lvprog del nuovo DEVIL204, clonato in .../u2/dcs/source_linux//0_classes/GOD/ |
...
Al momento la difficoltà maggiore è quella di riottenere una tabella di ordinamento tramite i VIs:
precompileORB.vi
precompileORB_IR.vi
I suddetti VIs sono stati modificati per quanto riguarda il recupero degli indirizzi ma ci sono degli errori.
...
GGODSta.vi
This global is initialized with data from the DBSta file. The DBSta file contains dummy data (all zeros) and is only used to correctly size the arrays.
The filling of the global with actual data is done via the foo program GODStartup.vi using the file
Code Block |
---|
/u2/dcs/source_linux/0_classes/GOD/configuration/<file name>.lst |
%GOD
#GOD**001
@HCI(S) [(I32),(DBL),DU32,DU32,DU32,DU32,DU32,DU32,HI32,HI32,HI32,HI32,HI32,HI32,HI32,HI32,HI32:4,HI32:64,HI32:64,DU16:4,DU16:4,DU16:4,DU16:4,(DBL):64,DBL:64,DBL:64,DBL:64,(DBL):64,DBL:64,DBL:64,DBL:64,(DBL):64,(DBL):64,DBL:64,DBL:64,DBL:64,DBL:64,DBL:64,DBL:64,DBL:64,DBL:64,DBL:64]
...
GGODDyn.vi
%GOD
#GOD**001
@HCI(S) [(DBL),DI32,DU32,DU32,DI32,TF,TF,TF,TF,DI32,DU16:32,TF,TF,TF,TF,DI32,DI32,DI32,DI32,DI32,DI32,DI32,DU16:4,DU16:4,DU16:4,DU16:4]
...
initHWGOD.vi
Open the IP connections with the four VME SIS3153 controllers and return the connection handles.
The VME access is A32, D32 and "block transfer" is enabled.
The VME mapped size is 4 MByte (that is the whole Apple DEVIL memory).
The vme_base_address is set to E0000000 (which is the DEVIL extended base address).
...
Warning |
---|
The connector pane pattern for all initHWXXX VIs is fixed and mandatory and – for (wrong) historical reasons – does not return any errors. |
Examples
---
...
GODStartup.vi
This is the real data loader of the GODSta.vi
Controls
Data type | Name | Description |
---|---|---|
Indicators
Data type | Name | Description |
---|---|---|
Details
---
Examples
---
...
closeGOD.vi
Close the IP connections with the four VME SIS3153 controllers and dispose the connection handles.
Controls
Data type | Name | Description |
---|---|---|
Bool | ddIn | Legacy data-dependency input |
errorCluster | errorIn |
Indicators
Data type | Name | Description |
---|---|---|
Bool | ddOut | Legacy data-dependency output |
errorCluster | errorOut |
Details
---
Examples
---
GGODConnection.vi
Array of cluster. Some variables are constants saved as default values
...
Turn for electrons | Turn for positrons |
---|---|
Figure 1-a: The sequence [0,1,2,3] is sorted according to the direction of the electrons beam: starting from rack 063 (DEVIL364 > 365 > 366 > 367) | 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
---
readDEVILBufferLine.vi
...
This VI reads and returns the last data acquired from the 4 DEVILs. It doesn't perform any data reordering.
Controls
Data type | Name | Description |
---|---|---|
boolean | init | T = initialize, F = regular run init = F: reads the socket "socketNumber" from the VME memory of the DEVIL "DEVILIndex" and returns the two parts |
I32 | DEVILIndex | Index in the range [0, 1, 2, 3] corresponding to: INDEX 0, 1, 2, 3 |
I32 | socketNumber | Pointer to the acquisition buffer in the range [0, 1926] |
[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 Y | Array 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. |
errorCluster | errorIn | When true, the VI does nothing and simply passes the error out. |
Indicators
Data type | Name | Description |
---|---|---|
[DBL] | part X | Array of 32 DBL: see corresponding control description above. The array is returned both for read and write operations. |
[DBL] | part X | Array of 32 DBL: see corresponding control description above. The array is returned both for read and write operations. |
errorCluster | errorOut |
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:
[DBL] 32 values of the BPM X signals from the Bergoz modules read from that DEVIL;
[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.
DBL ACQNum [0, 1926]; 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. |
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.
Controls
Data type | Name | Description |
---|---|---|
I32 | DEVILIndex | Index in the range [0, 1, 2, 3] corresponding to: INDEX 0, 1, 2, 3 |
enum | mode | [init, read, write X and Y, write X, write Y] (read)
|
[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 X | Array 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. |
errorCluster | errorIn |
Indicators
Data type | Name | Description |
---|---|---|
[DBL] | part X | See corresponding control description above. The X array is returned both for read and write operations. |
[DBL] | part X | See corresponding control description above. The Y array is returned both for read and write operations. |
errorCluster | errorOut |
Details
This VI stores and returns the last socket acquired from the 4 DEVILs. It doesn't perform any reordering.
Examples
---
Jira | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
...