HOME Prise de donnees MML Controle commande Simulations Notes Hardware Ligne X Laser Interaction Diagnostiques Synchronisation
Synchronisation
  Elog synchro, Page 4 of 7  Not logged in ThomX    logo
Entry   Entered by Nicolas Delerue from 134.158.195.142 on Fri Dec 20 12:03:15 2024; Added a "diags only" button on Rep rate GUI Screenshot_from_2024-12-20_12-03-09.png20241220_115912.jpg20241220_115919.jpg

Two buttons have been added to the repetition rate interface (see attached screen shot):

- "diags only": Will inhibit all channels from the ring and linac delay generators

- "restore linac and ring": Will set all channels of the ring and linac delay generators to External triggering.

A git pull has been done.

Entry   Entered by Nicolas Delerue from 134.158.195.144 on Thu Jan 9 14:12:31 2025; DS to monitor missed triggers Screenshot_from_2025-01-09_14-24-06.png

A ds to monitor missed triggers has been added in CALC/SY/missed_triggers

 

Entry   Entered by Super Team from 134.158.195.141 on Wed Feb 19 10:59:02 2025; Carte synchro 

Changement de carte synchro

le MCT2 de la carte en place à bruler

 

 

 

 

Entry   Entered by Nicolas Delerue from 80.119.21.73 on Wed Feb 19 13:59:11 2025; Problème avec le DS SIM/SY/DEG.sim 

Il y a un problème avec le DS  SIM/SY/DEG.sim qui stock des valeurs entières au lieu de valeures décimales.

Le problème peut être caractérisé avec le code ci-dessous:

 

import PyTango

#We create the proxy
tango_synchro = PyTango.DeviceProxy("SIM/SY/DEG.sim")

#we read and printthe delay array
delay_array=tango_synchro.read_attribute("delay")
print(delay_array)
delay_array_val=delay_array.value

#we check one value and modify it to a non interger value and wrote it
print(delay_array_val[2*25+9])
delay_array_val[2*25+9]=42.5
tango_synchro.write_attribute("delay",delay_array_val)

#and read it again
delay_array_val=tango_synchro.read_attribute("delay").value
print(delay_array_val[2*25+9])


#try again
delay_array_val[2*25+9]=44.5
tango_synchro.write_attribute("delay",delay_array_val)
delay_array_val=tango_synchro.read_attribute("delay").value
print(delay_array_val[2*25+9])

    Reply   Entered by Nicolas Delerue from 80.119.21.73 on Wed Feb 19 13:59:11 2025; RE: Problème avec le DS SIM/SY/DEG.sim 

$ ls /data/shared/tangoscripts/DeviceServer/Calibrations/DS/SY
create_ds.sh         ds_GeneRetard2_int.py     ds_GeneRetard.py    launch_ds_Freq.sh           loop_create_ds.py
DS_GeneRetard         ds_GeneRetard2.py     fill_GeneRetard.py  launch_ds_gene_retard_loc.sh
DS_GeneRetard2         ds_GeneRetard_float.py  Freq             launch_ds_gene_retard_new.sh
ds_GeneRetard2_float.py  ds_GeneRetard_int.py     Freq.py         launch_ds_gene_retard.sh

On voit qu'il existe deux versions de ds_GeneRetard, l'une entière et l'autre flottante.

head -50 DS_GeneRetard montre la version de DS_GeneRetard dans tangoscript est la bonne (dtype=float).

$ cat launch_ds_gene_retard.sh
#!/bin/bash

PYTHON=/usr/bin/python
DIR=/data/shared/DS_CALC/gene_retard

$PYTHON $DIR/ds_GeneRetard.py DS_GENERETARD &
$PYTHON $DIR/ds_GeneRetard2.py DS_GENERETARD2 &

On voit que le script execute la version dans DS_CALC et non la version dans tangoscript.

Sur client5:

$ ps -aux | grep ds_Gene
operate+ 48899  0.0  0.1 1465728 118380 ?      Sl   Jan09   8:47 /usr/bin/python /data/shared/DS_CALC/gene_retard/ds_GeneRetard.py DS_GENERETARD
operate+ 50690  0.0  0.2 1959808 146012 ?      Sl   Jan09  44:33 /usr/bin/python /data/shared/tangoscripts/DeviceServer/Calibrations/DS/SY/ds_GeneRetard2.py DS_GENERETAR2
nicolas+ 54085  0.0  0.0  12780   952 pts/1    S+   14:02   0:00 grep ds_Gene

On voit que la version de ds_GeneRetard.py qui s'execute est celle de /data/shared/DS_CALC/gene_retard/ et non celle de /data/shared/tangoscripts

Il faudrait l'arrêter et lancer la bonne version.

Sur client5 (à faire):

 kill -9 48899

ps -aux | grep ds_Gene

cd /data/shared/tangoscripts/DeviceServer/Calibrations/DS/SY

ipython /data/shared/tangoscripts/DeviceServer/Calibrations/DS/SY/ds_GeneRetard.py DS_GENERETARD &

 

 

 

Entered by Nicolas Delerue from 80.119.21.73 on Wed Feb 19 13:59:11 2025 wrote:

Il y a un problème avec le DS  SIM/SY/DEG.sim qui stock des valeurs entières au lieu de valeures décimales.

Le problème peut être caractérisé avec le code ci-dessous:

 

import PyTango

#We create the proxy
tango_synchro = PyTango.DeviceProxy("SIM/SY/DEG.sim")

#we read and printthe delay array
delay_array=tango_synchro.read_attribute("delay")
print(delay_array)
delay_array_val=delay_array.value

#we check one value and modify it to a non interger value and wrote it
print(delay_array_val[2*25+9])
delay_array_val[2*25+9]=42.5
tango_synchro.write_attribute("delay",delay_array_val)

#and read it again
delay_array_val=tango_synchro.read_attribute("delay").value
print(delay_array_val[2*25+9])


#try again
delay_array_val[2*25+9]=44.5
tango_synchro.write_attribute("delay",delay_array_val)
delay_array_val=tango_synchro.read_attribute("delay").value
print(delay_array_val[2*25+9])

 

    Reply   Entered by Nicolas Delerue from 80.119.21.73 on Wed Feb 19 13:59:11 2025; RE: RE: Problème avec le DS SIM/SY/DEG.sim 

Changement de DS effectué en accord avec la salle de contrôle. Problème résolu, cependant les DS ont mis beaucoup de temps à se charger.

Entered by Nicolas Delerue from 80.119.21.73 on Wed Feb 19 13:59:11 2025 wrote:

$ ls /data/shared/tangoscripts/DeviceServer/Calibrations/DS/SY
create_ds.sh         ds_GeneRetard2_int.py     ds_GeneRetard.py    launch_ds_Freq.sh           loop_create_ds.py
DS_GeneRetard         ds_GeneRetard2.py     fill_GeneRetard.py  launch_ds_gene_retard_loc.sh
DS_GeneRetard2         ds_GeneRetard_float.py  Freq             launch_ds_gene_retard_new.sh
ds_GeneRetard2_float.py  ds_GeneRetard_int.py     Freq.py         launch_ds_gene_retard.sh

On voit qu'il existe deux versions de ds_GeneRetard, l'une entière et l'autre flottante.

head -50 DS_GeneRetard montre la version de DS_GeneRetard dans tangoscript est la bonne (dtype=float).

$ cat launch_ds_gene_retard.sh
#!/bin/bash

PYTHON=/usr/bin/python
DIR=/data/shared/DS_CALC/gene_retard

$PYTHON $DIR/ds_GeneRetard.py DS_GENERETARD &
$PYTHON $DIR/ds_GeneRetard2.py DS_GENERETARD2 &

On voit que le script execute la version dans DS_CALC et non la version dans tangoscript.

Sur client5:

$ ps -aux | grep ds_Gene
operate+ 48899  0.0  0.1 1465728 118380 ?      Sl   Jan09   8:47 /usr/bin/python /data/shared/DS_CALC/gene_retard/ds_GeneRetard.py DS_GENERETARD
operate+ 50690  0.0  0.2 1959808 146012 ?      Sl   Jan09  44:33 /usr/bin/python /data/shared/tangoscripts/DeviceServer/Calibrations/DS/SY/ds_GeneRetard2.py DS_GENERETAR2
nicolas+ 54085  0.0  0.0  12780   952 pts/1    S+   14:02   0:00 grep ds_Gene

On voit que la version de ds_GeneRetard.py qui s'execute est celle de /data/shared/DS_CALC/gene_retard/ et non celle de /data/shared/tangoscripts

Il faudrait l'arrêter et lancer la bonne version.

Sur client5 (à faire):

 kill -9 48899

ps -aux | grep ds_Gene

cd /data/shared/tangoscripts/DeviceServer/Calibrations/DS/SY

ipython /data/shared/tangoscripts/DeviceServer/Calibrations/DS/SY/ds_GeneRetard.py DS_GENERETARD &

 

 

 

Entered by Nicolas Delerue from 80.119.21.73 on Wed Feb 19 13:59:11 2025 wrote:

Il y a un problème avec le DS  SIM/SY/DEG.sim qui stock des valeurs entières au lieu de valeures décimales.

Le problème peut être caractérisé avec le code ci-dessous:

 

import PyTango

#We create the proxy
tango_synchro = PyTango.DeviceProxy("SIM/SY/DEG.sim")

#we read and printthe delay array
delay_array=tango_synchro.read_attribute("delay")
print(delay_array)
delay_array_val=delay_array.value

#we check one value and modify it to a non interger value and wrote it
print(delay_array_val[2*25+9])
delay_array_val[2*25+9]=42.5
tango_synchro.write_attribute("delay",delay_array_val)

#and read it again
delay_array_val=tango_synchro.read_attribute("delay").value
print(delay_array_val[2*25+9])


#try again
delay_array_val[2*25+9]=44.5
tango_synchro.write_attribute("delay",delay_array_val)
delay_array_val=tango_synchro.read_attribute("delay").value
print(delay_array_val[2*25+9])

 

 

Entry   Entered by Nicolas Delerue from 134.158.195.142 on Thu Apr 17 16:54:35 2025; Routage 500MHz anneau pour camera a balayage 

Le 500MHz pour la camera a balayage est injecte sur la voie C9 dans la baie 09, passe par le cable 90542 et arrive sur la voie A4.

Pour l'instant le 500MHz est pris a la place du scope de la baie 9.

Entry   Entered by Nicolas Delerue from 134.158.195.142 on Thu Apr 17 17:24:43 2025; Routage 16,7MHz pour camera a balayage 

Baie 9: B14 =>cable 94545 => baie 34 A5

Entry   VC, ND; Mise a jour synchronisation. 

Attention au démarrage de l'interface faire 'restore laser and Kicker' pour etre sur que le systeme de synchro est en mode "normal"

Les codes de synchronisations ont ete mis a jour afin de permettre le 50Hz.

L'interface a ete mise à jour et un git pull a ete fait.

 

Le bit 4 est un reset du CPLD (il n'y a plus de synhcro tant que Bit 4 = 1 et la LED du chassis synchro ne clignote pas) 

Il existe 6 codes possibles

Modulateur  Linac Ring Diag

code 1    50 50 50 12.5
code 2    50 25 25 12.5  
code 3    50 12.5 12.5 12.5
code 4    50  6.25 6.25 6.25
Code 5   50  3.125 3.125 3.125
Code 6    50  1.5625 1.5625 1.5625
 

 

Entry   Entered by Vincent Chaumat from 134.158.76.115 on Fri May 16 11:12:17 2025; State of the art Synchro jitter_rapide.pngdrift_timing.png

Les performance de la synchro de ThomX au 16 mai 2025 sont:

Le jitter 500MHz Ring  500MHz Linac est de 8ps Sdev et   95% es événement dans  20ps   100 % dans 80ps (quelquesoit la fréquence de répétion)  (Jitter rapide)

Le jitter entre les voies de synchro Linac et Ring  est contenu dans 100ps (quelquesoit la fréquence de répétion) (jitter rapide)

 

La varition du temps entre les timing ring (drift timing) (quelquesoit la fréquence de répétion)

sont inférieurs à 3ns entre le modulateur et le linac

sont inférieurs à 1.5ns entre le  modulateur et les diag

sont inférieurs à 200ps entre linac et ring (mesure plus précise avec jitter rapide)

 

 

 

Entry   Entered by Nicolas Delerue from 193.55.29.170 on Wed Jun 18 18:02:07 2025; Etude des problèmes de déclenchement des générateurs de retard SCR_PA02.PNGSCR_PA03.PNGSCR_PA06.PNG

La voie 19 du générateur de retard diags était déjà branchée sur le scope (ch1 - jaune)

Branchement de la voie 8 sur le scope (ch 2 vert).

Kicker d'injection sur ch3 (orange)

septum sur ch4 (violet)

Mode enveloppe pour voir si il y a des coups anormaux.

Image SCR_PA02: machine en standby: on ne voit rien.

Image SCR_PA03: on retire la longue durée d'impulsion sur la voie 8; toujours rien.

Allumage de la machine.

Imgae SCR_PA06: machine en trig, toujours pas de double déclenche.

Vérification sur les ICT: pas de double déclenche sur ICT1.

Conclusion: le problème n'est plus présent.

 

Entry   Vincent;  

pB avec le DG 4

(malgré plusieurs reboot du chassis)

pilotage par IHM impossible (par la page propriétaire http://192.168.229.124/  c'est possible)

température DG de 36.6°C ( les autres sont à 32.6°C)

la pll du DG saute (hier soir impossible de le redémarrer)

il faudra peut etre contacter GreenField, et peut etre acheter un spare...

 

 

 

    Reply   ND; RE: Pb DEG 4 

Si le probleme se reproduit, prendre une copie d'ecran ou une photo de la face avant.

 

Vincent wrote:

pB avec le DG 4

(malgré plusieurs reboot du chassis)

pilotage par IHM impossible (par la page propriétaire http://192.168.229.124/  c'est possible)

température DG de 36.6°C ( les autres sont à 32.6°C)

la pll du DG saute (hier soir impossible de le redémarrer)

il faudra peut etre contacter GreenField, et peut etre acheter un spare...

 

 

 

 

    Reply   ND; RE: RE: Pb DEG 4 

Le DEG4 a ete baissé de quelques centimetres afin de laisser une circulation d'air entre DEG3 et DEG4. La temp'erature a déjà un peu baissé.

Ce midi 37C, maintenant 35C. Pour comparaison les autres sont a 33C.

ND wrote:

Si le probleme se reproduit, prendre une copie d'ecran ou une photo de la face avant.

 

Vincent wrote:

pB avec le DG 4

(malgré plusieurs reboot du chassis)

pilotage par IHM impossible (par la page propriétaire http://192.168.229.124/  c'est possible)

température DG de 36.6°C ( les autres sont à 32.6°C)

la pll du DG saute (hier soir impossible de le redémarrer)

il faudra peut etre contacter GreenField, et peut etre acheter un spare...

 

 

 

 

 

Entry   ND; Pb DEG4 (a nouveau) Screenshot_from_2025-07-08_09-31-23.png

La PLL du DEG4 a de nouveau delocké.

 

    Reply   ND; RE: Pb DEG4 (a nouveau) 

Les voies du DEG4 ont ete reportees sur le DEG1 qui a ete mis a 12.5Hz. Cela change la frequence de declenchement du klystron.

ND wrote:

La PLL du DEG4 a de nouveau delocké.

 

 

    Reply   ND, VC; RE: RE: Pb DEG4 (a nouveau) 

Gen4, voie 1 => Gen1,voie2, RF Gun

Gen4, voie 2 => Gen1,voie3, Laser

Gen4, voie 6 => Gen1,voie4, RedPitaya

Gen4, voie 8 => Gen1,voie5, Salle de controle

Sauve en memoire 8 des DEG

 

ND wrote:

Les voies du DEG4 ont ete reportees sur le DEG1 qui a ete mis a 12.5Hz. Cela change la frequence de declenchement du klystron.

ND wrote:

La PLL du DEG4 a de nouveau delocké.

 

 

 

Entry   VC, KD, ND; Problème double déclenchement DEG TEK00000.PNGTEK00002.PNGTEK00005.PNG

Captrures d'écran voie 5 DEG1 avec Trig ECT=12,5Hz: double déclenche.

Image 1: pas de double déclenche

Image 2: avec double déclenche

Image 3: avec persistence: montre que la double déclenche ne se produit pas tout le temps.

 

Entry   VC; Double pulses sur les DGs 

Une solution pour palier au double pulses sur les voie de DG:

 

il faut mettre un retard sur une des voies supérieur à 195µs

il faut prendre les voies SDC:

DEG1 voie 1

DEG2 voie 8

DEG3 voie 20

DEG4 voie 8

Entry   Entered by Nicolas Delerue from 193.55.29.172 on Thu Jul 10 17:55:23 2025; Etude problème double pulse sur générateurs de retard TEK00011.PNGTEK00015.PNGTEK00012.PNGTEK00016.PNGTEK00017.PNG

Test 1: vérification de l'observation de la double pulse sur DEG4: Cf image TEK00011.PNG. Il y a bien une double pulse sur le DEG4.

Test 2: Image de l'impulsion en entrée N4 (venant de la trigger box), mode persistance = 5s. 

Élements pulsés eteint: image TEK00012.PNG

Élements pulsés allumés: image TEK00015.PNG On voit une impulsion à t=195us.

On ne voit rien sur N1,  EP allumés (TEK00016.PNG) ou eteints (TEK00017.PNG).

 

ELOG V3.1.4-395e101