Versions Compared

Key

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

Aggiornamento versioni

15/12/2021

versionDEVILs
newOCEM_3.4664, 665, 671, 614, 626, 633
newOCEM_3.3ABANDONED (note: some sub-VIs can still have the "_3.3" version in their names)
newOCEM_3.2652, 655, 647, 650, 659, 672, 683, 682, 696, 697, 695, 692 [!C], 693 [!C], 694 [!C], 691 [!C], 673, 674, 675, 676, 678, 644,627, 635
_ethtutti gli altri DEVILs con classe MG1


Note

Le versioni _newOCEM_3.3 – utilizzate sino al 15/12/2021 sui DEVIL 664 e 665 sulla vldantedev028 – sono state rimpiazzate dalle _newOCEM_3.4.
Di conseguenza la "_newOCEM_3.3" è abbandonata e deprecata
WARNING: alcuni sub-VI possono ancora avere il nome che termina con "_3.3".

Impostazione GMG1Dyn all'avvio del DEVIL

13/12/2021

Il recupero dei valori dinamici da memcached da caricare nella GMG1Dyn all'avvio del DEVIL è svolto nella GMG1Loader_eth.vi dal SubVI 

Code Block
/source_linux/0_classes/MG1/database/GMG1DynRecoverData.vi

Image Added

Per evitare disallineamento fra i set e i readout delle polarità, si cambia il valore recuperato da memcached da "polaritySetting" a "outputPolarity".
Si forza quindi l'ultimo valore di "outputPolarity" salvato su memcached nel "polaritySetting" della dinamica.

Changelog MG1

20-02-2019
04-06-2019
05-06-2019
11-06-2019
13-06-2019
28-06-2019
30-06-2020
01-12-2020

PS in test

01-12-2020

Cambiati i PSs sotto test (adesso sono connessi ad un carico e limitati in corrente)
QUATB201 e QUATB202 vengono lasciati accesi

- i DBFiles del DEVIL671 sono esposti e configurati sui quadrupoli QUATB201 e QUATB202

...

Nuova sottoclasse per nuovi alimentatori EEI per Quad., Dip. e Dip. pseudo-pulsato.

Allestimento

Macchina: vldantedev024 (LabVIEW 2012, SP1)
DEVIL:       671
prefsVNC:        TCP_DCS port = 6345 192.168.198.124:5971
prefs:        TCP_DCS port = 6345, idleTime = 100 msIPTable:    da fare

NAMING TypeRACKDP01QUAD02

Type

DESIGN NAME

SYSTEM NAME

NAMING DEFINITIVO

MAC ADRESS

IP

POLARITÀ CAVI

IP [HEX]

Cavo
+

Cavo
-

RACK

Pulsed Dipole

DP01

DHPTB102

00:90:E8:67:18:61

192.168.190.157

C0A8BE9D

1

2

SABTF2-001DH01

DC Dipole

DH01

DHSTB201

00:90:E8:66:74:D2

192.168.190.158

C0A8BE9E

3

4

SABTF2-001

DH02

DC Dipole

DH02

DHSTB202

00:90:E8:66:74:DC

192.168.190.159

C0A8BE9F

5

6

SABTF2-003DC01

DC Dipole

DC01

DHSTB203

00:90:E8:63:EB:5B

192.168.190.160

C0A8BEA0

7

8

SABTF2-003

QUAD01

DC Quadrupole

QUAD01

QUATB201

00:90:E8:67:16:06

192.168.190.151

C0A8BE97

20

19

SABTF2-002

DC Quadrupole

QUAD02

QUATB202

00:90:E8:66:74:D3

192.168.190.152

C0A8BE98

18

17

SABTF2-002

QUAD03

DC Quadrupole

QUAD03

QUATB203

00:90:E8:63:EB:6A

192.168.190.153

C0A8BE99

16

15

SABTF2-002

QUAD04

DC Quadrupole

QUAD04

QUATB204

00:90:E8:67:16:07

192.168.190.154

C0A8BE9A

14

13

SABTF2-002

DC Quadrupole

QUAD05DC Quadrupole

QUATB205

00:90:E8:66:74:D5

192.168.190.155

C0A8BE9B

12

11

SABTF2-002

QUAD06

DC Quadrupole

QUAD06

QUATB206

00:90:E8:67:18:58

192.168.190.156

C0A8BE9C

10

9

SABTF2-002

Link of this table:
https://drive.google.com/open?id=1u7TyK1WsR3w2GasDIqW6S-gNXBDvYNkV

Link of another table with the same information:
https://docs.google.com/spreadsheets/d/1n2rS3Ecr308gLilQp7u6ZMFP828-Q82ixltUHv28k68/edit?usp=sharing

New elemType descriptors

...

Excerpt from  MG1 class documentation

Excerpt Include
MG1 dataset
MG1 dataset

Ethernet connection

Questi alimentatori si connettono in Ethernet e quindi abbiamo lo stesso problema degli alimentatori Genesys e CAENels Easy Driver.
Anche quì, si usa un canale seriale fake per ogni alimentatore e si mette l'IP nel campo subID2.
P.es.: l'IP 192.168.190.131 si scrive come con 4 HEX come C0A8BE83

Quindi, i DBFiles avranno come subID2

#SER66911

@HCI(S)[DI32,(DBL),HU32,DU32,DU32,HU32,DU32,DU32,(DBL):1]
0,SER66911,0,0,0,0,0,0,DIPLLXXX

@GSC(S)[DU16,DI32,DU16,DU16,DU16,DU16,TF,TF,HU16,HU16,TF,TF,TF,TF,HU16,HU16,HU16,HU16,HU16,(DBL),HU32,HU32,HU32]
1,0,0

byte 3      01 = Type quadrupole DC, 02 = Type dipole DC, 03 = Type dipole pseudo-pulsed
byte 2      00 = bipolar, 01 = unipolar with remote control of polarity change
byte 1       Interface type (unique in this case ?) TO BE DECIDED: maybe the pseudo-pulsed should be different
byte 0      Protocol Modbus EEI

Ethernet connection

Questi alimentatori si connettono in Ethernet e quindi abbiamo lo stesso problema degli alimentatori Genesys e CAENels Easy Driver.
Anche quì, si usa un canale seriale fake per ogni alimentatore e si mette l'IP nel campo subID2.
P.es.: l'IP 192.168.190.131 si scrive come con 4 HEX come C0A8BE83

Quindi, i DBFiles avranno come subID2

#SER66911

@HCI(S)[DI32,(DBL),HU32,DU32,DU32,HU32,DU32,DU32,(DBL):1]
0,SER66911,0,0,0,0,0,0,DIPLLXXX

@GSC(S)[DU16,DI32,DU16,DU16,DU16,DU16,TF,TF,HU16,HU16,TF,TF,TF,TF,HU16,HU16,HU16,HU16,HU16,(DBL),HU32,HU32,HU32]
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,SerChan1,0,0,C0A8BE83

Sviluppo del driver

Si usano i VI della libreria Modbus TCP installati nella vi.lib di LabVIEW.
Il driver eei_CMD_exec.vi è stato sviluppato secondo la stessa struttura dei drivers dei correttori CAENels, dei CAENels Easy Driver e dei Genesys.

Sviluppo di Command e Control

Si parte dalle versioni _newOCEM_3.3.vi create per i CAENels Easy Driver
Una volta finite, le versioni _newOCEM_3.4 andranno a sostituire le 3.3 dei DEVIL 664 e 665 sulla vldantedev028 e – in seguito – tutte le MG1.

...

0,0,0,0,0,0,0,0,0,0,SerChan1,0,0,C0A8BE83

Sviluppo del driver

Si usano i VI della libreria Modbus TCP installati nella vi.lib di LabVIEW.
Il driver eei_CMD_exec.vi è stato sviluppato secondo la stessa struttura dei drivers dei correttori CAENels, dei CAENels Easy Driver e dei Genesys.

Sviluppo di Command e Control

Si parte dalle versioni _newOCEM_3.3.vi create per i CAENels Easy Driver


Jira
serverINFN Ticketing System
columnIdsissuekey,summary,issuetype,created,updated,assignee,priority,status,resolution
columnskey,summary,type,created,updated,assignee,priority,status,resolution
maximumIssues20
jqlQuerykey = lnfdcs-56
serverId8087fedc-8816-3706-9e66-78f987f39e0c

Modifiche rispetto alle versioni precedenti


Note

Le versioni _newOCEM_3.3 – utilizzate sino al 15/12/2021 sui DEVIL 664 e 665 sulla vldantedev028 – sono state rimpiazzate dalle _newOCEM_3.4.
Di conseguenza la "_newOCEM_3.3" è abbandonata e deprecata
WARNING: alcuni sub-VI possono ancora avere il nome che termina con "_3.3".

MG1Ctrl_newOCEM_3.4.vi 

...

 

...

 EEI

...

in

...

progress

...

, CAENels NGPS beta
MG1Cmd_newOCEM_3.4.vi      EEI

...

in

...

progress

...

, CAENels NGPS beta
initHWMG1_newOCEM_3.

...

4.vi 

...

 EEI in progress, CAENels NGPS beta
closeMG1_3.

...

4.vi 

...

 

...

 

...

 

...

 

...

 

...

EEI

...

in progress, CAENels NGPS ready
.../0_classes/MG1/cmd/exeCmd(MG1)_3.4.

...

vi                       EEI, CAENels NGPS
.../0_classes/MG1/cmd/startCmd-MG1_3.4

...

.

...

vi                      EEI, CAENels NGPS
.../0_classes/MG1/cmd/bypass-MG1_eth_3.3.vi                    EEI

...

, CAENels NGPS
.../0_classes/MG1/cmd/libraries/elemType2InterfaceType_3.3.vi  EEI

...

, CAENels NGPS
.../0_classes/MG1/cmd/libraries/SWTCFinalDataCheckE642_3.3.vi  EEI

...

, CAENels NGPS
.../0_classes/MG1/cmd/libraries/SWTCSeekLastData_3.3.

...

vi        EEI, CAENels NGPS

L'alimentatore EEI pulsato DP01, ha degli stati non previsti nella classe MG1:

...

.../0_classes/MG1/controlTypes/MG1_EEI_ctrlLibrary/MG1_EEI_Pulsed_Aux.ctl(vedi documentazione alla pagina https://confluence.infn.it/x/cYU2Aw)

MG1_EEI_Pulsed_Aux.ctl

che viene tenuto nella globale:

...

Questa "dinamica ausiliaria", viene scritta su memcached con la chiave:

<elementName>_AUX ovvero DHPTB102_AUX

(vedi documentazione alla pagina https://confluence.infn.it/x/cYU2Aw)

Note

DA FARE: Dopo l'introduzione di questo typeDef, si può rimuovere il metodo di codifica della modalità di trigger dallo stato (come viene fatto nel pulsato Maccaferri):

...

MODE STBY: CMSG ELELLNNN 5,0,WS,1

MODE STBY: CMSG ELELLNNN 5,0,WS,25,0,WS,2

VI for sending Modbus frames with the CMSG command:
Image Added

/u2/dcs/source_solaris/0_classes/uni_mag/lib/buildModbusFrame.vi

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

...

MODE  send standby/operational            aggiustare tempo di commutazione usando maxCmdExeTime#3.

      MODE <elementName> STBY|OPER

...

POLA  unipolarWithRemoteCtl   set polaritypolarity

20/05/2022 - Change in POLA Executor for EEI sub-class.
Given that the EEI PSs doesn't directly switch from one polarity to the opposite one, the startCmd code that executes the POLA command has been changed. Now it send the modbus command "go to polarity open" before the actual modbus command "go to polarity X".

      bipolar                 error: notExecutableCmd

...

      MG1Dyn.currentPreSetting <- TRUEThe PSET command is wrongly implemented in the PS inner control (see STRG command). As soon as the set current register is written, the PS starts the ramp without any "start ramp" command.

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

...

      STRG <elementName> 0|1Due to a bug in the PS inner control (see PSET command) , the STRG command is useless. As soon as the set current register is written, the PS starts the ramp without any "start ramp" command.

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

...