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
20-02-2019
04-06-2019
05-06-2019
11-06-2019
13-06-2019
28-06-2019
30-06-2020
PS in test
30-06-2020
QUATB204 e QUATB205 vengono lasciati accesi
- tolti i DBFiles del DEVIL671 da disarmed
- modificare DBFiles del DEVIL671
Nuova sottoclasse per nuovi alimentatori EEI per Quad., Dip. e Dip. pseudo-pulsato.
Allestimento
Macchina: vldantedev024 (LabVIEW 2012, SP1)
DEVIL: 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
00:90:E8:67: |
18: |
61 | 192.168.190. |
157 | C0A8BE9D |
1 |
2 | SABTF2- |
001 |
DC Dipole |
DH01 |
DHSTB201 | 00:90:E8:66:74: |
D2 | 192.168.190. |
158 | C0A8BE9E |
3 |
4 | SABTF2- |
001 |
DC Dipole |
DH02 |
DHSTB202 | 00:90:E8: |
66: |
74: |
DC | 192.168.190. |
159 | C0A8BE9F |
5 |
6 | SABTF2- |
003 |
DC Dipole |
DC01 |
DHSTB203 | 00:90:E8: |
63: |
EB: |
5B | 192.168.190. |
160 | C0A8BEA0 |
7 |
8 | SABTF2- |
003 |
QUAD05
DC Quadrupole |
QUAD01 | QUATB201 | 00:90:E8: |
67: |
16: |
06 | 192.168.190. |
151 | C0A8BE97 |
20 |
19 | SABTF2-002 |
QUAD06
DC Quadrupole |
QUAD02 | QUATB202 | 00:90:E8: |
66: |
74: |
D3 | 192.168.190. |
152 |
C0A8BE98 | 18 |
17 | 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
Nuovi 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
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
MG1Ctrl_newOCEM_3.4.vi Caso EEI in progress
MG1Cmd_newOCEM_3.4.vi Caso EEI in progress
initHWMG1_newOCEM_3.3.vi Caso EEI già predisposto al tempo
closeMG1_3.3.vi Caso EEI già predisposto al tempo
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
Si usa il comando di sistema (modificato per EEI) WAVE:
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.
Il numero di cicli (al set ed a zero) che l'alimentatore dovà eseguire quando è in modalità autodev ON, si impostano con il comando di sistema (modificato per EEI) SET2.
Per tenere le informazioni dinamiche che non sono previste dalla classe MG1 è stato introdotto il typeDef:
.../0_classes/MG1/controlTypes/MG1_EEI_ctrlLibrary/MG1_EEI_Pulsed_Aux.ctl
MG1_EEI_Pulsed_Aux.ctl
che viene tenuto nella globale:
.../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:
<elementName>_AUX
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
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. |
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:
modalità di trigger
- HW trigger
- software trigger
Si usa il comando di sistema (modificato per EEI) WAVE:
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.
Il numero di cicli (al set ed a zero) che l'alimentatore dovà eseguire quando è in modalità autodev ON, si impostano con il comando di sistema (modificato per EEI) SET2.
Per tenere le informazioni dinamiche che non sono previste dalla classe MG1 è stato introdotto il typeDef:
.../0_classes/MG1/controlTypes/MG1_EEI_ctrlLibrary/MG1_EEI_Pulsed_Aux.ctl
MG1_EEI_Pulsed_Aux.ctl
che viene tenuto nella globale:
.../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:
<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): |
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 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
In arancio: comandi che richiedono una validazione operativa
In verde: comandi debuggati
ONLN set online = T/F
When an element is OFFLINE (as a consequence of a ONLN ELELLNNN OFF command), the control is skipped for that element.
As soon as any new command arrives, the element is put back in the ONLINE condition.
BYPS set bypass = T/F
PUTT error: notExecutableCmd
PUTT ELELLNNN MG1,<..... flattened cluster .....>
EMSK set error mask to 0,0
EMSK <elementName> N,M
Jira | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
CMSG executes a direct Modbus command. In the EEI sub-class it is also possible to set a busy time (sandglass on magterminal)
<maxCmdExeTime>,<Modbus address>,WS|WM,<value>[:<value1>: ... :<valueN>]
integer maxCmdExeTime: [sec] determines the bysy time (sandglass ON on magTerminal)
integer Modbus address
string WS|WM "write single word" or "write multiple words"
integer or [integer] U16 or array of U16 da scrivere <value>:<value1>: ... :<valueN> words [U16] da scrivere
example (current sett at 2.5 A):
CMSG ELELLNNN 1,2,WM,2500:0
given that the sign is not used, we can also use CMSG ELELLNNN 2,WS,2500
example (MODE STBY, MODE OPER):
MODE STBY: CMSG ELELLNNN 5,0,WS,1
MODE STBY: CMSG 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 | ||||||||
---|---|---|---|---|---|---|---|---|
|
QMSG error: notExecutableCmd
INIT restablish TCP/IP connection with the i-th PS
WARNING: set slew rate to 50% of MAX Parlarne con Iungo
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
RESE send reset
WARNING: set slew rate to 50% of MAX Parlarne con Iungo
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
POWR send global_off
OFF
Jira server INFN Ticketing System columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 8087fedc-8816-3706-9e66-78f987f39e0c key LNFDCS-33
MODE send standby/operational aggiustare tempo di commutazione usando maxCmdExeTime#3.
MODE <elementName> STBY|OPER
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
POLA unipolarWithRemoteCtl set polarity
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
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
SSLP set slew rate
NOTE: the power supply must stay in STANDBY state to accept the SSLP command.
Specifications for quadrupoles ask for a ramp rate setting from 1 to 10 [A/s] so that the raw setting range should be (10,100). Conversely, the accepted raw range is (10,290), with lower and higher values forced to 10 and 290. The raw setting range for quadrupoles seems wrong: it should be (10,100) and not (10,290). It is not clear what happens for raw settings between 101 and 290.
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
PSET load current set register
MG1Dyn.currentPreSetting <- TRUE
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
SETT set current and start ramp
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! RESOLVED
SET2 sets the two values for the #OfCycleAtSet and #OfCyclesAtZero
SET2 <elementName> <#OfCycleAtSet>: <fakeName> <#OfCyclesAtZero>
WARNING: fakeName is mandatory and must be a 8 characters string. As an example, it could be a repetition of <elementName> or any 8 characters dummy string (e.g. "FAKENAME")
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
STRG
.../0_classes/MG1/ctrl/eei_parser.vi
.../0_classes/MG1/ctrl/eei_parseStatusWords.vi
Rimangono i faults da decodificare
In verde: comandi debuggati.
RESV nop
ONLN set online = T/F
BYPS set bypass = T/F
PUTT error: notExecutableCmd
EMSK set error mask to 0,0
EMSK <elementName> N,M
CMSG executes a direct Modbus command
<Modbus address>,WS|WM,<value>[:<value1>: ... :<valueN>]
WS|WM "write single word" or "write multiple words"
<value> word [U16] da scrivere
<value>:<value1>: ... :<valueN> words [U16] da scrivere
QMSG error: notExecutableCmd
INIT restablish TCP/IP connection with the i-th PS
WARNING: set slew rate to 50% of MAX Parlarne con Iungo
RESE send reset
WARNING: set slew rate to 50% of MAX Parlarne con Iungo
POWR send global_off
OFF
MODE send standby/operational aggiustare tempo di commutazione
MODE <elementName> STBY|OPER
POLA unipolarWithRemoteCtl send polarity aggiustare tempo di commutazione
bipolar error: notExecutableCmd
SSLP set slew rate
PSET load current set register
MG1Dyn.currentPreSetting <- TRUE
SETT set current and start ramp
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|10|1
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
NOTA: si potrebbe discriminare il paramentro e fargli fare:
start ramp oppure autodev
WAVE 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
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
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:
...
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
Data la somiglianza con il sistema CAENels SY3634, si parte dal driver dei correttori CAENels:
...
Per la tecnica di de-inizializzazione, consultare il codice della closeMG1, case del protocollo "Genesys".
Sviluppo di Command e Control
...
Messa in test sul DEVIL697 la mattina del 14-04-2017.
Fig. 20170414.1
...
/u2/dcs/source_linux/0_classes/MG1/cmd/libraries/buildPgmTable_fixedTH.vi
Fig. 20170331.1
...
Gerarchia del top-level VI MG1Cmd_fixedTH.vi
Fig. 20170331.2
che chiama:
Fig. 20170331.3
che chiama:
Fig. 20170331.4
che chiama:
Fig. 20170331.5
...
Gerarchia del top-level VI initHWMG1_fixedTH.vi
Fig. 20170331.6
che chiama:
Fig. 20170331.7
10-11-2016
...
multiPoll - select (SL, COR) (l’esito verrà preso alla successiva iterazione su quell’elemento).
Fig. 20161103.1
Modificata gestione della slow-poll, gestita dal VI
...
un elemento viene selezionato ogni ( beat * N ) cicli di control. Per OCEM E642, mediamente la control esegue circa 500 cicli al minuto e quindi, mettendo beat = ( 200 / N ), si ha una extraFetch ogni circa 20 secondi.
Fig. 20161018.1
Introdotto un "local counter" che si inizializza a zero nel frame di init e poi si incremeta di 1 ad ogni giro. Questo counter viene utilizzato per forzare l'esecuzione delle extraFetch nei primi N giri della control (con N = numero degli elementi).
...
parserE642_noStatic_eth.vi (esegue parsing completo e aggiorna dyn)
Fig. 20161017.1
17-10-2016
...
Rimossa la richiesta esplicita di SL e COR ogni 10 giri (funzione denominata "slow poll"). La richiesta esplicita viene fatta solo ai primi N giri di control per poter avere le informazioni necessarie ad aggiornare i readouts di stato logico, allarmi, polarità. La struttura originale che cadenzava l'evento di slow poll è stata modificata.
Fig. 20161011.1 - Struttura che genera l'evento di slow poll in uso sino alla ver. 3.0
...
WARNING: la GMG1Loader_eth.vi utilizza il Sub-VI "GMG1DynRecoverData.vi" e quindi è strutturalmente diversa da tutte la altre GXXXLoader_eth.
Fig. 20160804.1 /u2/dcs/source_linux/0_classes/MG1/database/GMG1DynRecoverData.vi
...
(maxCmdExeTime has elapsed) AND (protocollo is equal to E642)
Fig. 20160802.1
...