...
- i DBFiles del DEVIL671 sono esposti e configurati sui quadrupoli QUATB201 e QUATB202
IP of QUATB201 |
---|
...
DEC 192 168 190 151
HEX C0 A8 BE 97
QUATB202
...
DEC | 192 | 168 | 190 | 151 |
---|---|---|---|---|
HEX | C0 | A8 | BE | 97 |
...
IP of QUATB202 | ||||
---|---|---|---|---|
DEC | 192 | 168 | 190 | 152 |
HEX | C0 | A8 | BE |
98 |
Nuova sottoclasse per nuovi alimentatori EEI per Quad., Dip. e Dip. pseudo-pulsato.
Allestimento
Macchina: vldantedev024 (LabVIEW 2012, SP1)
DEVIL: 671 671
prefs: TCP_DCS port = 6345, idleTime = 100 ms
IPTable: da fare
NAMING DESIGN | Type | NAMING DEFINITIVO | MAC ADRESS | IP | POLARITÀ CAVI | RACK | |
+ | - | ||||||
DP01 | Pulsed Dipole | DHPTB102 | 00:90:E8:67:18:61 | 192.168.190.157 | 1 | 2 | SABTF2-001 |
DH01 | DC Dipole | DHSTB201 | 00:90:E8:66:74:D2 | 192.168.190.158 | 3 | 4 | SABTF2-001 |
DH02 | DC Dipole | DHSTB202 | 00:90:E8:66:74:DC | 192.168.190.159 | 5 | 6 | SABTF2-003 |
DC01 | DC Dipole | DHSTB203 | 00:90:E8:63:EB:5B | 192.168.190.160 | 7 | 8 | SABTF2-003 |
QUAD01 | DC Quadrupole | QUATB201 | 00:90:E8:67:16:06 | 192.168.190.151 | 20 | 19 | SABTF2-002 |
QUAD02 | DC Quadrupole | QUATB202 | 00:90:E8:66:74:D3 | 192.168.190.152 | 18 | 17 | SABTF2-002 |
QUAD03 | DC Quadrupole | QUATB203 | 00:90:E8:63:EB:6A | 192.168.190.153 | 16 | 15 | SABTF2-002 |
QUAD04 | DC Quadrupole | QUATB204 | 00:90:E8:67:16:07 | 192.168.190.154 | 14 | 13 | SABTF2-002 |
QUAD05 | DC Quadrupole | QUATB205 | 00:90:E8:66:74:D5 | 192.168.190.155 | 12 | 11 | SABTF2-002 |
QUAD06 | DC Quadrupole | QUATB206 | 00:90:E8:67:18:58 | 192.168.190.156 | 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
Quadrupoles DC
01 01 00 07
| 3 | 2 | 1 | 0 |
byte 3 01 = Type quadrupoli DC
byte 2 01 = unipolare con controllo remoto di cambio di polarità
byte 1 unica interfaccia
byte 0 Protocollo Modbus EEI
Dipoles DC
02 01 00 07
| 3 | 2 | 1 | 0 |
byte 3 02 = Type dipoli DC
byte 2 01 = unipolare con controllo remoto di cambio di polarità
byte 1 unica interfaccia
byte 0 Protocollo Modbus EEI
Dipolo pseudo-pulsato
03 00 00 07
| 3 | 2 | 1 | 0 |
byte 3 03 = Type dipolo pseudo-pulsato
byte 2 00 = bipolare
byte 1 unica interfaccia
byte 0 Protocollo Modbus EEI
Connessione ethernet
byte 3 | byte 2 | byte 1 | byte 0 | |
---|---|---|---|---|
EEI Quadrupoles DC | 01 | 01 | 00 | 07 |
EEI Dipoles DC | 02 | 01 | 00 | 07 |
EEI Dipole pseudo-pulsed | 03 | 00 | 00 | 07 |
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 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
...
@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
...
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
MG1CtrlUna volta finite, le versioni _newOCEM_3.4 .vi Caso EEI in progress andranno a sostituire le 3.3 dei DEVIL 664 e 665 sulla vldantedev028 e – in seguito – tutte le MG1.
Code Block |
---|
MG1Ctrl_newOCEM_3.4.vi EEI case in progress MG1Cmd_newOCEM_3.4. |
...
vi EEI case in progress initHWMG1_newOCEM_3.3. |
...
vi EEI ready closeMG1_3.3. |
...
vi EEI ready
.../0_classes/MG1/cmd/exeCmd(MG1)_3.4.vi
.../0_classes/MG1/cmd/startCmd-MG1_3.4.vi
.../0_classes/MG1/cmd/closeCmd-MG1_3.3.vi EEI ready
.../0_classes/MG1/cmd/bypass-MG1_eth_3.3.vi EEI ready
.../0_classes/MG1/cmd/libraries/elemType2InterfaceType_3.3.vi EEI ready
.../0_classes/MG1/cmd/libraries/SWTCFinalDataCheckE642_3.3.vi EEI ready
.../0_classes/MG1/cmd/libraries/SWTCSeekLastData_3.3.vi EEI ready |
Anomalie rispetto alla classe MG1 standard
L'alimentatore EEI pulsato DP01, ha degli stati non previsti nella classe MG1:
modalità di trigger
- HW trigger
- software trigger
Jira | ||||
---|---|---|---|---|
|
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.
Anomalie rispetto alla classe MG1 standard
L'alimentatore EEI pulsato DP01, ha degli stati non previsti nella classe MG1:
- modalità di trigger
HW trigger
software trigger
Jira | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
...
WAVE <elementName> DC|PULSED
- modalità "autodev"
- autodev ON
...
- autodev OFF
Dato che non esiste un comando di sistema apposito, si imposta autodev ON con il comando CMSG, mettendo ad "1" il bit 8 della command word #1 (Modbus address 0).
Si esce da autodev con il comando di standby.
...
.../0_classes/MG1/RTDBGlobals/GMG1-EEIPulsedAux.vi
che viene aggiornata e scritta su memcached dal VI:
.../0_classes/MG1/ctrl/eei_parser.vi
Questa "dinamica ausiliaria", viene scritta su memcached con la chiave:
...
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): |
OFF | STBY | OPER | FAULTY | BAD | |
---|---|---|---|---|---|
soft trigger | - | 1 | 2 | 3 | 4 |
HW trigger | - | 5 | 6 | 7 | 4 |
MG1Ctrl_newOCEM_3.4.vi
.../0_classes/MG1/ctrl/eei_parser.vi
.../0_classes/MG1/ctrl/eei_parseStatusWords.vi
Rimangono i faults da decodificare
MG1Cmd_newOCEM_3.4.vi
Debugging dei comandi per sottoclasse EEI
Jira | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
...
WS|WM "write single word" or "write multiple words"
<value> word [U16] da scrivere
...
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
WARNING: se si setta un valore in polarità negativa, il readout sarà con il segno negativo e quindi la control produrrà un errore di value not reached!
SET2 sets the two values for the #OfCycleAtSet and #OfCyclesAtZero
SET2 <elementName> <#OfCycleAtSet>: <fakeName> <#OfCyclesAtZero>
where fakeName is any 8 characters string
STRG send start ramp
MG1Dyn.currentSetting <- MG1Dyn.currentPreSetting
MG1Dyn.currentPreSetting <- 0
STRG <elementName> 0|1
NOTA: si potrebbe discriminare il paramentro e fargli fare:
start ramp oppure autodev
WAVE set the trigger mode. Argument = DC | PULSED
WAVE <elementName> DC|PULSED
.../0_classes/MG1/cmd/exeCmd(MG1)_3.4.vi
.../0_classes/MG1/cmd/startCmd-MG1_3.4.vi
.../0_classes/MG1/cmd/closeCmd-MG1_3.3.vi EEI ready
.../0_classes/MG1/cmd/bypass-MG1_eth_3.3.vi EEI ready
.../0_classes/MG1/cmd/libraries/elemType2InterfaceType_3.3.vi EEI ready
.../0_classes/MG1/cmd/libraries/SWTCFinalDataCheckE642_3.3.vi EEI ready
.../0_classes/MG1/cmd/libraries/SWTCSeekLastData_3.3.vi EEI ready
EEI ready
|
WARNING: se si setta un valore in polarità negativa, il readout sarà con il segno negativo e quindi la control produrrà un errore di value not reached!
SET2 sets the two values for the #OfCycleAtSet and #OfCyclesAtZero
SET2 <elementName> <#OfCycleAtSet>: <fakeName> <#OfCyclesAtZero>
where fakeName is any 8 characters string
STRG send start ramp
MG1Dyn.currentSetting <- MG1Dyn.currentPreSetting
MG1Dyn.currentPreSetting <- 0
STRG <elementName> 0|1
NOTA: si potrebbe discriminare il paramentro e fargli fare:
start ramp oppure autodev
WAVE set the trigger mode. Argument = DC | PULSED
WAVE <elementName> DC|PULSEDEEI ready
01-02-2019 (for CAENels Easy Driver)
...
Nuovo elemType descriptor
00 00 00 06
...
byte 3 | byte 2 | byte 1 | byte 0 |
---|---|---|---|
00 | 00 | 00 | 06 |
byte 3 unico tipo
byte 2 bipolare
byte 1 unica interfaccia
byte 0 Protocollo CAENels Easy Driver
...
@HCI(S)[(I32),(DBL),HU32,DBL,DBL,DBL,DBL,DI32,DBL:1:5]
MG1,CHHLLXXX,00000006,......
Connessione ethernet
Questi alimentatori si connettono in Ethernet e quindi abbiamo 2 problemi:
...