|
|
Device TANGO
|
|
|
|
|
|
Un device TANGO a été écrit par BENCE Aurelien pour piloter la caméra Kalypso. Il utilise en grande partie les scripts bash fournis par KIT et quelques fonctions pyton écrites par LABAT Marie .
|
|
|
|
|
|
Versionning sous : https://gitlab.synchrotron-soleil.fr/dg/ds_dg_pytango_package/kalypso_cam
|
|
|
|
|
|
Bug Reporting sous: http://jira/jira/issues/?jql=project%20%3D%20FCPYTHON%20AND%20component%20%3D%20DG-Devices-Python
|
|
|
|
|
|
Le device se trouve dans: ANS-C01/DG/KALYPSO-CAM
|
|
|
|
|
|
|
|
|
|
|
|
Le device se présente ainsi:
|
|
|
|
|
|
|
|
|
Démarrage / Arret du device:
|
|
|
|
|
|
Astor >> DG_SUPPORT
|
|
|
kalypso-pc >> open control panel
|
|
|
Ensuite comme d'habitude: start / kill server
|
|
|
|
|
|
Commandes:
|
|
|
|
|
|
Init:
|
|
|
Pour recharger les properties
|
|
|
Pour couper toutes les acquisitions en cours
|
|
|
ATTENTION: le init ne fait pas un reset de la caméra
|
|
|
Load_data: pour charger un fichier enregistrer précédemment.
|
|
|
Une fenetre apparait: il faut rentrer dans le champ le nom du fichier .bin que l'on souhaite tracer.
|
|
|
Pour piocher un fichier récent, on peut utiliser la liste des derniers fichiers visibles dans l'onglet Files_list. Il suffit de ne sélectionner que le nom du ficher.
|
|
|
Attention, le fichier doit se trouver dans kalypso/data. Et pas dans un sous repertoire. Sinon ca ne marche pas.
|
|
|
Il n'est pas possible de rentrer un chemin en amont du fichier pour aller pointer vers un autre emplacement.
|
|
|
Pourquoi on peut pas lancer un tK pop up qui permette de naviguer dans les autres répertoires ? (BENCE Aurelien : la fonctionnalité n'existe pas dans tango)
|
|
|
Lorsque le fichier est chargé, l'image est mise à jour dans l'onglet "image" du device
|
|
|
Reset: pour re-démarrer la caméra (souvent nécessaire)
|
|
|
Le temps du reset, le device passe en "mooving" = carré status violet. Et le device est freezé.
|
|
|
Les étapes du reset sont visibles dans l'onglet log
|
|
|
|
|
|
|
|
|
Lorsque le reset est terminé, le device repasse en vert. (ou en orange si le keitley est OFF)
|
|
|
Snap: pour prendre et enregistrer 1 image
|
|
|
Cliquer sur snap pour lancer une acquisition
|
|
|
Le suivi de l'acquisition est visible dans l'onglet "log"
|
|
|
A la fin de l'acquisition, l'image apparait dans l'onglet "image"
|
|
|
Attention: il faut souvent cliquer 2 fois au début sur Snap pour que ca se lance vraiment
|
|
|
Start/Stop: pour regarder en live les images
|
|
|
Cliquer sur Start pour démarrer et sur Stop pour arrêter.
|
|
|
Par défaut, les images ne sont pas enregistrées au fur et à mesure.
|
|
|
Si on veut enregistrer les images en live: il faut changer la property "Start_Drop_Files"
|
|
|
"Start_Drop_Files" = True >> les images ne sont pas enregistrées
|
|
|
"Start_Drop_Files" = False >> les images sont enregistrées
|
|
|
State: Alarm (Orange) si l'alim keithley est OFF / Fault (Rouge) probleme de comm ou d'initialisation / ON (vert) si le device est OK et que l'alim keithley est ON / RUNNING (bleu) durant les execution des script reset/acquisition.
|
|
|
Status:
|
|
|
Permet de voir l'état plus en détail de la caméra: PLL, ADC, etc...
|
|
|
Pour l'interprétation de ces lignes: voir plus haut. C'est pareil quand dans la GUI de KIT
|
|
|
Set_Fast_Trigger_Mode: permet de changer le mode du Fast Trigger (Mode Expert uniquement)
|
|
|
En lancant cette commande, on bascule du mode _External ou mode _Internal ou vice-versa
|
|
|
Le mode du trigger est relu en attribut
|
|
|
_External mode = chaque colonne des images est enregistrée au top du signal Fast Trigger = 846 kHz
|
|
|
_Internal mode = chaque colonne des images est enregistrée le plus vite possible
|
|
|
Set_Slow_Trigger_Mode: permet de changer le mode du Slow Trigger (Mode Expert uniquement)
|
|
|
En lancant cette commande, on bascule du mode _External ou mode _Internal ou vice-versa
|
|
|
Le mode du trigger est relu en attribut
|
|
|
_External mode = l'enregistrement de chaque image est déclenchée au top du signal Slow Trigger = injection par exemple
|
|
|
ATTENTION !!! Dans ce mode, impossible de sauver 1 seule image. Il en faut au moins 10...
|
|
|
Le nombre d'images à enregistrer est déterminer dans l'attribut nb_acq_w_slow_trigger, qui ne peut pas etre passé en dessous de 10
|
|
|
_Internal mode = l'enregistrement de chaque image est déclenchée dès que la caméra est prete
|
|
|
Start/Stop_PowerSupply: pour allumer/éteindre l'alimentation de la caméra
|
|
|
Alimentation caméra = Keithley
|
|
|
Alimentation pilotée par device tango dédié
|
|
|
Start: le device de kalypso allume l'alimentation et fait monter à la tension à 130 V avec une rampe lente
|
|
|
Stop: le device de kalypso fait descendre selon une rampe la tension de 130 à 0V puis éteint l'alimentation
|
|
|
Merci de ne pas utiliser le device de l'alim pour ne pas risquer de cramer la caméra
|
|
|
ATTENTION: comme les rampes sont vraiment lentes, il faut du temps pour arriver à la valeur de consigne. Le temps de la rampe, le device passe en gris = UNKOWN. Pas de panique. Il faut juste attendre...
|
|
|
|
|
|
Attributs:
|
|
|
|
|
|
nb_frames: nombre de colonnes des images = nombre de tours à enregistrer. Max = 2048.
|
|
|
exp_time = temps d'exposition pour l'acquisition de chaque colonne.
|
|
|
Mémo: 1 quart = 295 ns.
|
|
|
Attention: le temps d'exposition est ensuite converti un multiple de 8, donc ca sert à rien d'ajuster le temps de pose à mieux que 8 ns près (grand sourire)
|
|
|
delay_for_fast_trigger = 35 ns
|
|
|
délai entre le fast trigger et l'acquisition
|
|
|
ce délai a été régler en phase de commissioning pour la config electronique de la caméra
|
|
|
NE PAS TOUCHER sauf déménagement caméra / changement cablage synchro
|
|
|
Fast_Trig_Mode_External/_Internal: booleen pour le mode du Fast Trigger (voir commande plus haut)
|
|
|
Slow_Trig_Mode_External/_Internal: booleen pour le mode du Slow Trigger (voir commande plus haut)
|
|
|
Last_File_Name: affichage du nom du fichier lorsqu'on fait un LoadData ou du dernier fichier enregistré et affiché dans l'onglet "image"
|
|
|
Trigger_Fault: booleen pour remonter une erreur sur la PLL. Si Fault >> allez voir les détails dans Status
|
|
|
Cam_Fault: booleen pour remonter une erreur sur la caméra (ADC, etc..). Si Fault >> allez voir les détails dans Status
|
|
|
nb_acq_w_slow_trigger: nombre d'image à enregistrer en mode Snap + Slow_Trigger_Mode_External
|
|
|
nb_skip_slow_trigger: nombre de coups de trig à ignorer entre chaque acquisition en mode Slow_Trigger_Mode_External
|
|
|
|
|
|
Properties:
|
|
|
|
|
|
Data_Path: dossier où sont sauvegardées les images
|
|
|
delay_for_fast_trigger: voir attributs
|
|
|
keithley_GPIB_device: lien vers le device de l'alimentation de la caméra
|
|
|
OBL_beam= X ou Z. Plan faisceau mesuré.
|
|
|
OBL_BP_filter: filtre passe bande
|
|
|
OBL_dist_FirstHole_L1: distance entre premier trou sur la table optique et lentille LcH
|
|
|
OBL_dist_FL1_L2: distance entre lentille LcH et lentille LcV
|
|
|
OBL_dist_L2_cam: distance entre lentille LcV et caméra
|
|
|
OBL_pixel_size: taille des pixels de la caméra (microns)
|
|
|
OBL_polarization: polarisation utilisée sur la caméra
|
|
|
opt_nb_pixels = 512
|
|
|
En théorie, la caméra doit pouvoir fonctionner avec 512 ou 1024 pixels
|
|
|
En pratique, on ne se sert poru le moment que du mode 512 pixels
|
|
|
Start_Drop_Files:
|
|
|
True: les images ne sont pas enregistrée en mode Live (Start/Stop)
|
|
|
False: les images sont enregistrée en mode Live (Start/Stop)
|
|
|
|
|
|
|