Versions Compared

Key

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

...

  • develop and debug the new DEVIL204 along with the regular run of the legacy system;
  • get rid of the phisical DEVIL204 by moving its code to a virtual machine;
  • get rid of the 4 LEXTEL couples by employing the SIS3153 VME Ethernet controllers.

Repository

Type
TypeDetailsLink / PathNote

git

Link / Path

https://baltig.infn.it/lnf-da-control/lv-dcs-new204
Branch: main

New DEVIL 204 LabVIEW project (for standard "vldantedev" machines)
The NOTE: the only file included in the git repo is GOD.lvproj . No (no VIs are included in the git repo at this moment.Branch)

main

Hardware description

TypeDescription
ProcessorStandard DANTE virtual machine vldantedevxxx
VME controllers

Nr. 4 VME controller SIS3153 USB-0 USB3.0-VME Interface with 1 Gbps SFP Tranceiver

VME hardwareStandard Apple DEVILs (364-5-6-7), HP DVM+MUX
HardwareBergotz modules for BPM signal acquisition

...

LanguageRequired Add ons/Plugins/Extensions/Libraries
LabVIEW 12.0.1f5 (32-bit)

liblv2vmechaos.lvlib (for SIS3153 usage)
git repo: https://baltig.infn.it/chaos-lnf-control/lv-vme-chaos-driver.git
Branch: lv12

Description

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.
Any VIs and data files created/modified/removed concern the directories:

/u2/dcs/source_linux/0_classes/GOD/
/u2/dcs/source_linux/devils/DISARMED/DEVIL204-NEW/
/u2/dcs/source_linux/lib/lv-vme-chaos-driver/

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
(dovrebbe stare nella /usr/local/natinst/LabVIEW-2012/user.lib/ ma questo andrebbe poi fatto su tutte le macchine. Messo invece nella .../source_linux/lib/ , di modo che valga per tutti).

Repo git del progetto LabVIEW GOD.lvprog del nuovo DEVIL204, clonato in .../u2/dcs/source_linux//0_classes/GOD/

...

Code Block
titleDynamic fork descriptor
%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]


...

GGODConnection.vi

Array of cluster. Some variables are constants saved as default values

Temporary global for general use: some fields contain constant values (saved as defaults) others are written at init by the application. The purpose of this global is to keep all program data in one place, but a reorganization in the final version is strongly recommended.

Variables

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.

...