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

Compare with Current View Page History

« Previous Version 6 Current »

Target releasealpha 1.0
Epic

LNFDCS-121 - Getting issue details... STATUS

Document status
DRAFT
Document owner
Designer
Developers
QA

Goals

  • improve the stability of the acquisition system of the stored current;
  • move the code to a virtual machine;
  • get rid of the LEXTEL couple by employing digital voltmeres readable over Ethernet.

Overall strategy

  • ---

Repository

TypeLink / PathNote

git

Hardware description

TypeDescription
ProcessorStandard DANTE virtual machine vldantedev030
Hardware

Agilent digital voltmeter 34411A

800902096C4E: 192.168.190.16  DVM42001    DCTEL002    DEVIL723
80090209BD20: 192.168.190.17  DVM42002    DCTPS002    DEVIL723
80090209BC28: 192.168.190.18  DVM42003    DCT Accumulatore    DEVIL724

I multimetri rispondono anche in http
http://192.168.190.xxx

Programming languages

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

Drivers

Instrument I/O > Instr Drivers > Agilent 34401 (nativi in LabVIEW).

Creata directory /u2/dcs/source_linux/3_hell_Drivers/Agilent-34401A/
con esempi d'uso della Agilent.

Configurazione VISA

Le VISA vanno configurate sulla macchina virtuale vldantedev030 sulla quale girano i DEVIL723 e 724.
ATTENZIONE: si deve scegliere VXI-11 Protocol, altrimenti la "Resource Name" non viene come richiesto dai multimetri Keysight e non funziona la connessione.GODCtrl – warnings and fixes.

Configurazione per 34411A

VISA resource: TCPIP0::192.168.190.14::INSTR

Configurazione per 34465A

VISA resource: TCPIP0::192.168.190.16:inst0::INSTR
NOTA: per il modello 34465A, il campo "LAN Device Name" deve essere impostato come "inst0"

#

Title

User Story

Importance

Notes

1





GODCmd – warnings and fixes

#

Title

User Story

Importance

Notes

1







GDCTSta.vi / DEVIL723.DBSta, DEVIL724.DBSta

This global is initialized with data from the DBSta file.


#DCTEL002
@HCI(S)[(I32),(DBL),DU32,DU32,DBL,DU32:5,DU32:5]
DCT,DCTEL002,250,2,0.01,2000:1000:500:200:100,4:4:4:4:4
@HPE(S)[(DBL),HU32,DI32,DU16,DU16,DU16,DU16,DU16,DU16,DU16,DI32,DI32,DI32,DBL,HU32,DI32:4]
DVM42001,C0A8BE10,0,0,2,3,1,0,1,0,1,1,0,0.203,E0100000,4096:2048:1024:512 chanName DVM42001
boardBaseAdd C0A8BE10
boardNum n.u.
measurementFunction 0=DCV, ACV, HOMS
range 125 mV, 1 V, 8 V, 64 V, 300 V, Autorange
range (new serie) auto, 100 mV, 1 V, 10 V, 100 V, 1000 V → The control is a U16 ring with some legacy values defined; use the new serie of values instead.
apertureTime 267 ms, 16.7 ms, 320 ms, 20 ms, 2.5 ms, 100 us, 10 us
apertureTime [ms]The control is a U16 ring with some legacy values defined; use a straight integer value in milliseconds instead (Don'
autozero ON, OFF, Once
offsetCompensation OFF, ON
triggerSource Immediate, External, Hold, TTL trig line 0, 1, 2, ..., 7
sampleSource Immediate, Timer, Software, Control register
triggerCount 1
sampleCount 1
triggerDelay 0
samplePeriod 0.203
acquisitionStackArea n.u.
maxInAcquisitionStackArea 4096:2048:1024:512

GGODDyn.vi / DEVIL723.DBDyn, DEVIL724.DBDyn

This global is initialized with data from the DBDyn file.

Dynamic fork descriptor
#DCTEL002
@HCI(S)[(DBL),DI32,DI32,TF,TF,TF,TF,DI32,DBL,DBL,DBL,DBL,DBL,DBL,DBL,DBL:5]
DCTEL002,0,0,0,0,0,0,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0:0.0:0.0:0.0:0.0
@HPE(S)[(DBL),HU32:6,DBL,DBL,DBL,TF]
DVM42001,0:0:0:0:0:0,0.0,0.0,-2.0E-3,1



DEVIL723.pref, DEVIL724.pref

There are no class specific sections in the DEVIL .pref file



Connessione ethernet

Il multimetro digitale Agilent si connette in Ethernet e viene acceduto tramite le VISA. Questo comporta il dover recuperare la VISA resource o la VISA alias.

Metodo 1

Gli alias delle VISA di ogni macchina, sono memorizzati in:

/usr/local/vxipnp/linux/NIvisa/visaconf.ini
nella consueta modalità dei LabVIEW config file:
......
[ALIASES]
Alias0="'SER48003','ASRL3::INSTR'"
Alias1="'SER48011','ASRL11::INSTR'"
Alias2="'DVM42001','TCPIP0::192.168.190.14::INSTR'"
NumAliases=3
.....

Si possono quindi recuperare con gli operatori:
Open Config Data.vi
Read Key.vi
Close Config Data.vi
ponendo:
section = [ALIASES]
key = Alias...
e poi cercando l'IP nel vettore di Aliases che si ottiene, per filtrare la componente corrispondente al voltmetro Agilent.

Metodo 2

Si usa un alias definito ed univoco, tipo quello delle seriali (p.es. DVM 42 001) e si forza in un campo del DB

Metodo 3 <--- USO QUESTO

Si ricostruisce la "VISA resource name" (e non l'alias) a partire dall'IP come:
- per 34411    TCPIP0::192.168.190.14::INSTR
- per 34465 TCPIP0::192.168.190.14::inst0::INSTR

Si mantengono i typeDefs DCT esistenti. Questo comporta che si mantiene il controllo HPE1326B (il vecchio multimetro digitale HP per VME).


#DCTEL002

@HCI(S)[(I32),(DBL),DU32,DU32,DBL,DU32:5,DU32:5]DCT,DCTEL002,250,2,0.01,2000:1000:500:200:100,4:4:4:4:4@HPE(S)[(DBL),HU32,DI32,DU16,DU16,DU16,DU16,DU16,DU16,DU16,DI32,DI32,DI32,DBL,HU32,DI32:4]
DVM42001,C0A8BE10,0,0,2,3,1,0,1,0,1,1,0,0.203,E0100000,4096:2048:1024:512

L'alias si mette nel campo chanName e l'IP address nel campo boardBaseAdd del controllo HPE1326B della DCTSta (l'indirizzo 192.168.190.14 si scrive in HEX come C0A8BE0E).



initHWDCT.vi

Standardizzato il nome e connector pane.
Messa porzione di codice da esempio che effettua l'inizializzazione.


Rimane da recuperare i valori dalla globale.

Errori da gestire.

Versione in progress.

Testata nella versione temporanea 26-06-2019: ok.

Controls

Data type

Name

Description




Indicators

Data type

Name

Description




Details

Examples

---


openDCT.vi

Creata solo per completezza. Dentro è vuota.

Testata: ok.

Controls

Data type

Name

Description




Indicators

Data type

Name

Description




Details


Examples

---


DCTCtrl.vi

Standardizzato il connector pane.
Riscritta sulla base di quella del vecchio devil Apple.
NOTA: Il frame di calcolo del tau era skippato sul DEVIL Apple e quindi non è stato implementato. In previsione di ripristinare il calcolo del Tau sul devil, sono stati copiati nel folder ctrl i due VI attualmente utilizzati a primo livello per il calcolo del Tau (averageCurrent (rinominato come calcTau) e linearTau).
Diversamente dalla versione Apple che faceva tutti e due i DVM ad ogni giro (elemID non usato), questa segue l'elemID e quindi fa un run per e- e poi uno per e+.
ATTENZIONE: Ci sono due case che si indicizzano direttamente con l'elemID ed hanno assegnati: il frame 0 agli elettroni e il frame 1 ai positroni. Questo costringe a mettere nei DBFiles gli elementi nel suddetto ordine: prima il DCT elettroni e poi quello positroni. 

Operazione di calibrazione spostata nella control: nella vecchi versione la divisione per il valore di calibrazione e la sottrazione dell'offset era fatta nella finestra, partendo dai dati raw memorizzati su memcached.
Adesso, i valori acquisiti dal DVM [V] sono divisi per "calibration", poi gli viene sottratto "offset" e dopo vengono scritti su memcached.
Quindi adesso su memcached ci sono i valori di corrente convertiti in mA con l'offset già sottratto.

Errori da gestire.
Versione in progress.
Testata nella versione temporanea 26-06-2019: ok.

Controls

Data type

Name

Description




Indicators

Data type

Name

Description




Details

Examples

---


DCTCmd.vi

Standardizzato il connector pane.
Riscritta sulla base di quella del vecchio devil Apple.
Implementato il solo comando OFCA ELEXXNNN <offset>,A|B
che memorizza nella dinamica offset e calibrationType (F=A, T=B).
Il comando non esegue alcuna azione hardware.
I vecchi comandi RESV, PUTT e SCAL non erano usati nella finestra utente e sono rimasti abbandonati.
ATTENZIONE: i comandi RESV, PUTT e SCAL sono stati comunque lasciati nella GClass&Services per far si che il serviceID (che arriva numerico dal DEVIL) rimanga lo stesso e possa selezionare il corrispondente case all'interno della DCTCmd.vi .

Errori da gestire.
Versione in progress.
Testata nella versione temporanea 07-05-2019: ok.

Controls

Data type

Name

Description




Indicators

Data type

Name

Description




Details

Examples

---



closeDCT.vi

Creata dalla base.
Messa porzione di codice da esempio che effettua la chiusura.

Rimane da recuperare i valori dalla globale.
Errori da gestire.
Versione in progress.
Testata nella versione temporanea 26-06-2019: ok.

Nota: controllare che i sub-folders:
.../DCT/console    <--- ok: questo c'è anche in source_solaris
.../DCT/tau        <--- ok: questo c'è anche in source_solaris
.../DCT/library
siano presenti nella classe DCT su Solaris e siano utilizzati dal livello 1.
Se si, buttarli dalla classe DTC di livello 3 / Linux / LV12-SP1
Compressi in tar per il momento.
FATTO.



  • No labels