Datenversorgung CCI -> Registerwerte vorbereiten -> Datenversogung Choppersteuerung

Topic Was? INT Dry/Wet Wo kucken? Kommentar / TODO
Basics     DONE    
  Acquisition Property wird 1mal pro Sekudne notifiziert und kann mit Pythonskript geparst werden DONE DONE
  • alert exception: acquisitionContext has no data
  • alert teils 4-5 sekunden (cyclestamp) zwischen notifications in fex
  • sah dann wieder ok aus... @ scu: cmw-cmx-reader :
    • NotificationQ length = 1 ist ok
    • EventSources::firedEvents = wie oft die RT Action ausgefuehrt wurde
    • ConcurrencyLayers::Default::maxAccumulatedEvents
  FESA.USER Logger loggt INFO DONE DONE    
Setting - Datenversorgung via LSA   DONE DONE  
  CCI bekommt settings DONE DONE    
  ...immer wenn neue Chain eingeplant wird DONE DONE    
  Strahlwegregister_PT und Anfordermaske werden korrekt vorbereitet DONE DONE
  • TODO Log nachrichten sollten nur die gueltigen (bis dahin schon gesetzten bits anzeigen)
  • hourglass Anfordermaske, siehe unten
  Der Chainindex aus der SetAction wird korrekt übernommen DONE DONE
  • @Acq: chainindex / maspindex / interlock
 

Interlocks etc via mini-masp
    DONE    
  Periodische notifications kommen an und werden verarbeitet DONE DONE  
  "on change notifications"
Notification kommt an wenn sich an masp der executionPermit ändert
  DONE (auch log und Acq:interlock)
  • hourglass periodische updates kommen (10sec). Nach Beam mode umschalten (execution permit true <=> false) kommt das naechste Update auch nach 10sec, su.
  TK9DC9 _out   hourglass
  • log und Acq
 
  Chopper Interlocks   DONE    
ExpertSetting - via fex     DONE    
  requSIS wird korrekt im StrahlwegRegister übernommen   DONE
  • @Acq: resSiS (sic) und StrahlwegRegister:8
  • noch unklar ob/wozu das gebraucht wird. (Oder P.G. versteht es?)
 
  forcexy   DONE
  • Acq:
  • nicht "betriebsrelevant", nur zum testen und debuggen
 
ProfileGridRequested - Datenversorgung via EUEApp      
  • Maskierung Emitanzschutz wird (noch) nicht gesetzt
 
  Property wird von EUEApp versorgt wenn PG-Schutz aktiviert wird DONE DONE  
  Strahlwegmaske wird korrekt vorbereitet (in der SetAction)... DONE DONE
  • auch @log
  • TODO setzwerte fehlen im log
  ...und wird in der RT Action korrekt übernommen DONE DONE
  • @Acq: SWM
 
Timing - RT-Actions via Command Event          
  deadline ist korrekt (Acq + 7ms)   DONE
  • @Acq: Acq
 
  events sind injected und koennen gesnoopt werden   DONE
  • saft-ctl tr0 -x snoop 0x1ff0fa0000000000 0xffffff0000000000 0
  • https://www-acc.gsi.de/wiki/Timing/TimingSystemHowUniChop
 
  es gibt nicht zu viele late events DONE DONE
  • @Acq: accu_late
  • unichop-ctl dev/wbm0 diag
  • accu_late = 67, late = 169 // received: 3293147
  • cpu govenor kann noch auf mehr performance eingestellt werden (-> d.day, testweise @scuxl0052)
  dry flag aus timing events wird korrekt gelesen   DONE
  • @Acq: r::dry (und reserved) und StrahlwegReg _WR:6/7 (HSI / HLI)
 
Registerwerte (hier nur die Sachen die nicht schon gecheckt sind)        
  S=14/15 haben immer das Block bit gesetzt   DONE  
  kombinieren der registerwerte aus den verschiedenen quellen... / /    
    DONE    
 
  • StrahlwegReg_WR (x2) -> SwR _WR_HSI & SwR _WR_HLI
  DONE   (nur kopie)
 
  • ...-> SWR
  DONE    
 
  • ..-> SWM
  DONE   (kopie von SetProfileGridEnabledSetting)
    DONE  
  • ANF//SWM//SWR
ChopperControl - OUT          
  Ausgangspuls hat die richtige Laenge   DONE
  • saft-ctl tr0 -vx snoop 0x1ff1fc2000000000 0xfffffff000000000 0 //HLI
  • saft-ctl tr0 -vx snoop 0x1ff1fc3000000000 0xfffffff000000000 0 // HSI
  • minimum Strahlpulslaenge ist 10us (wenn Strahlalarm)
Misc          
  watchdog schlägt an (wenn mil Kabel gezogen wird)   DONE   Chopper war vorher schon in Timing Error, deswegen unklar ob auslösen des watchdog einen Timing Error zur Folge hat.
Nachtrag: Bei reboot (vorher alle werte geforced) kein Timing Fehler am GUH2BC1L

Schreiben der Registerwerte

  • hier nur: Werte werden simuliert/geforced am CCI und an der Frontplatte der Choppersteuerung leuchtet die entsprechende LED
  • Fuer Anfordermaken gibt es nur Summen-LEDs (mit falscher Logik), dh zb Z6 und Z7 koennten untereinander vertauscht sein.
Strahlwegregister  
QR->HSI ??
QL->HSI ??
HSI->Alv DONE
HLI->Alv DONE
INL_HSI DONE
INL_HLI DONE
Block_HSI DONE
Block_HLI DONE
requSIS ??
TK9DC9 ??
enableTK ??
Strahlwegmaske  
Mask_UH4DT4P DONE
Mask_US_DT_E DONE
Mask_US4DT7P DONE
Mask_UA_DT_E DONE
Mask_UT1DT0P DONE
Mask_TK_DT_E DONE
Mask_TK3DT4P DONE
Mask_TK3DT3P ??
Anfordermaske*  
Mask_Anf_X0 DONE*
Mask_Anf_X1 DONE*
Mask_Anf_X2 DONE*
Mask_Anf_X3 DONE*
Mask_Anf_X45 DONE*
Mask_Anf_X6 DONE*
Mask_Anf_X7 DONE*
Mask_Anf_X8 DONE*
Mask_Anf_Y7 DONE
Mask_Anf_Z7 DONE*
Mask_Anf_Z6 DONE*
Mask_Anf_UU DONE
Mask_Anf_M1 DONE*
Mask_Anf_M2 DONE*
Mask_Anf_M3 DONE*
Mask_Anf_SIS DONE

Anfordermaske

Was? int dry/wet Kommentar / TODO

Nur 1 VirtAcc läuft, QR->HSI->Alv, Strahlziel: M1

M1 muss anfordern, alle anderen Anforderungen habe keine Auswirkung auf die Ausfuehrung

  DONE  

PG-Schutz enabled -> Strahlwegmaske

Resultierende maske ist im Log und in den Acquisition daten einzusehen.
PG Schutz masken (alle bis auf...)  
kein PG Schutz -- DONE
UH Mask_UH4DT4P DONE
UN / DONE
UA Mask_US4DT7P
Mask_UT1DT0P
DONE
UT2 Mask_UT1DT0P DONE
UX Mask_UT1DT0P DONE
UY Mask_UT1DT0P DONE
UZ Mask_UT1DT0P DONE
UM Mask_UT1DT0P DONE
TK1 Mask_UT1DT0P DONE
TK3 Mask_TK3DT3P DONE
TKD Mask_TK3DT3P DONE
TK4 Mask_TK3DT4P DONE
TK8 Mask_TK3DT4P DONE

Interlock-Cup via Sequencer

Was? dry/wet Kommentar
Chain 60 wird nach neustart versorgt via start_post script
(mit Korrekten settings, dh. nur HSI Chopper, beam mode = pilot)
DONE  
Status der Chain wird periodisch an sequencer gesendet und nach statsaenderung DONE  
Sequenz wird gefahren wenn masp NOT_OK meldet und cup wird eingefahren DONE Auch wenn cup manuell ausgefahren wird, wird sie wieder eingfahren.

Misc

Was? int/dry/wet Kommentar
zip file fuer fex ist verfuegbar DONE cadaver https://websvcdev.acc.gsi.de/groups/fesa/fex put myzipfile
ChopperInterface startet in sicherem Zustand (dh kein Strahl bevor Settings von LSA) choice-no Initial werden alle bits die von Datenversorgung abhängen mit 0 beschrieben. Es sollte so sein, dass initial block (und interlock bit?) gesetzt ist.
(Die Annahme, dass es aussreicht wenn die Anfordermaske mit 0x0000 beschrieben wird und mindestens ein Anfordereingang nicht ansteht hat sich als falsch herausgestellt. Die Anfordermaske allein hat keinen sicheren Initialwert -> Block bit muss gesetzt werden)

XY -> Chopper Choppt nicht (oder nur 10us)

Hier nur Uebersicht. Bis auf Strahlalarm sind alle Punkte oben schon aufgelistet.
Topic Was?
Watchdog - via Choppersteuerung  
   
Block - geplant kein Strahl  
  dry-flag aus WR events
  S=14/15
Langsame Interlocks - via mini-masp  
  chain_executionPermit
"Beam Abort" - via Anfordermaske  
  ...
Strahlalarm & PG-Schutz - (Strahlwegmaske)  
  ...
-- TobiasHabermann - 10 Oct 2024
Topic revision: r20 - 14 Nov 2024, DietrichBeck
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback