Aggiornamento versioni
15/12/2021
version | DEVILs |
---|---|
newOCEM_3.4 | 664, 665, 671, 614, 626, 633 |
ABANDONED (note: some sub-VIs can still have the "_3.3" version in their names) | |
newOCEM_3.2 | 652, 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 |
_eth | tutti 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. |
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 |
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.
Nuova sottoclasse per nuovi alimentatori EEI per Quad., Dip. e Dip. pseudo-pulsato.
Allestimento
Macchina: vldantedev024 (LabVIEW 2012, SP1)
DEVIL: 671
VNC: 192.168.198.124:5971
prefs: TCP_DCS port = 6345, idleTime = 100 ms
Type | DESIGN NAME | SYSTEM NAME | MAC ADRESS | IP | IP [HEX] | Cavo | Cavo | RACK |
---|---|---|---|---|---|---|---|---|
Pulsed Dipole | DP01 | DHPTB102 |
Changelog MG1
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
VNC: 192.168.198.124:5971
prefs: TCP_DCS port = 6345, idleTime = 100 ms
IPTable: da fare
DESIGN NAME | Type | SYSTEM NAME | MAC ADRESS | IP | IP [HEX] | POLARITÀ CAVI | RACK | + | - | |||
DP01 | Pulsed Dipole | DHPTB102 | 00:90:E8:67:18:61 | 192.168.190.157 | C0A8BE9D | 1 | 2 | SABTF2-001 | ||||
DH01 | DC Dipole | DHSTB201 | 00:90:E8:66:74:D2 | 192.168.190.158 | C0A8BE9E | 3 | 4 | SABTF2-001 | ||||
DH02 | DC Dipole | DHSTB202 | 00:90:E8:66:74:DC | 192.168.190.159 | C0A8BE9F | 5 | 6 | SABTF2-003 | ||||
DC01 | DC Dipole | DHSTB203 | 00:90:E8:63:EB:5B | 192.168.190.160 | C0A8BEA0 | 7 | 8 | SABTF2-003 | ||||
QUAD01 | DC Quadrupole | QUATB20100:90:E8:67: | 1618: | 0661 | 192.168.190. | 151157 | C0A8BE97C0A8BE9D | 201 | 192 | SABTF2- | 002001 | |
DC Dipole | DC QuadrupoleDH01 | QUATB202DHSTB201 | 00:90:E8:66:74: | D3D2 | 192.168.190. | 152158 | C0A8BE98C0A8BE9E | 183 | 174 | SABTF2- | 002001QUAD03 | |
DC Dipole | DC QuadrupoleDH02 | QUATB203DHSTB202 | 00:90:E8:6366:EB74:6ADC | 192.168.190.153159 | C0A8BE99C0A8BE9F | 165 | 156 | SABTF2-002003QUAD04 | ||||
DC Dipole | DC QuadrupoleDC01 | QUATB204DHSTB203 | 00:90:E8:6763:16EB:075B | 192.168.190.154160 | C0A8BE9AC0A8BEA0 | 147 | 138 | SABTF2-002003 | ||||
QUAD05 | DC Quadrupole | QUAD01 | QUATB201QUATB205 | 00:90:E8:6667:7416:D506 | 192.168.190.155151 | C0A8BE9BC0A8BE97 | 1220 | 1119 | SABTF2-002QUAD06 | |||
DC Quadrupole | QUAD02 | QUATB202QUATB206 | 00:90:E8:6766:1874:58D3 | 192.168.190.156152 | C0A8BE9CC0A8BE98 | 1018 | 917 | 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
...
DC Quadrupole | QUAD03 | QUATB203 | 00:90:E8:63:EB:6A | 192.168.190.153 | C0A8BE99 | 16 | 15 | SABTF2-002 |
DC Quadrupole | QUAD04 | QUATB204 | 00:90:E8:67:16:07 | 192.168.190.154 | C0A8BE9A | 14 | 13 | SABTF2-002 |
DC Quadrupole | QUAD05 | QUATB205 | 00:90:E8:66:74:D5 | 192.168.190.155 | C0A8BE9B | 12 | 11 | SABTF2-002 |
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 | ||||
---|---|---|---|---|
|
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
Jira server INFN Ticketing System columnIds issuekey,summary,issuetype,created,updated,assignee,priority,status,resolution columns key,summary,type,created,updated,assignee,priority,status,resolution maximumIssues 20 jqlQuery key = lnfdcs-56 serverId 8087fedc-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. |
NOTE (*): byte 1 and byte 3 are decoded by the elemType2InterfaceType VI only for some PS classes:
- byte 1 is meaningful only for SYS8X00 and serial Modbus
- byte 3 is meaningful only for E642
- byte 0 and byte 2 do not depend on "protocol" and are passed through as they are.
Be aware that byte 1 and byte 3 can also be used to discriminate other classes (besides those mentioned above) but, in that case, they have to be interpreted by appropriate code.
Pattern for EEI
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 EEI
Pattern for CAENels NGPS
byte 3 TO BE DECIDED
byte 2 TO BE DECIDED
byte 1 TO BE DECIDED
byte 0 Protocol CAENels NGPS
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.
...
MG1Ctrl_newOCEM_3.4.vi EEI in progress, CAENels NGPS pre-fittedbeta
MG1Cmd_newOCEM_3.4.vi EEI in progress, CAENels NGPS pre-fittedNGPS beta
initHWMG1_newOCEM_3.4.vi EEI in progress, CAENels NGPS pre-fittedNGPS beta
closeMG1_3.4.vi EEI in progress, CAENels NGPS pre-fittedready
.../0_classes/MG1/cmd/exeCmd(MG1)_3.4.vi EEI in progress, CAENels NGPS pre-fitted
.../0_classes/MG1/cmd/startCmd-MG1_3.4.vi EEI in progress, CAENels NGPS pre-fitted
.../0_classes/MG1/cmd/bypass-MG1_eth_3.3.vi EEI ready, CAENels CAENels NGPS ready
.../0_classes/MG1/cmd/libraries/elemType2InterfaceType_3.3.vi EEI ready, CAENels NGPS readyCAENels NGPS
.../0_classes/MG1/cmd/libraries/SWTCFinalDataCheckE642_3.3.vi EEI ready, CAENels CAENels NGPS ready
.../0_classes/MG1/cmd/libraries/SWTCSeekLastData_3.3.vi EEI ready, CAENels CAENels NGPS ready
L'alimentatore EEI pulsato DP01, ha degli stati non previsti nella classe MG1:
...
MODE STBY: CMSG ELELLNNN 5,0,WS,1
MODE STBY: CMSG ELELLNNN 5,0,WS,2CMSG ELELLNNN 5,0,WS,2
VI for sending Modbus frames with the CMSG command:
/u2/dcs/source_solaris/0_classes/uni_mag/lib/buildModbusFrame.vi
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
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 | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
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 | ||||||||
---|---|---|---|---|---|---|---|---|
|
...