Toroidal magnetic field \(B_t\) stuff @ the tokamak GOLEM
Scheme
svg source
Flowchart diagram (initiation)
svg source
Codes
charge_Bt_capacitors (api.py)
def charge_Bt_capacitors(shared_namespace, controller, relay_action_lock, slow_charging_activated, target_voltage):
if target_voltage <= 0:
return
elif target_voltage > global_config.UBt_limit:
log.warning('target voltage {} V over UBt limit {} V, charging only to limit'.format(
target_voltage, global_config.UBt_limit))
target_voltage = global_config.UBt_limit
voltage = controller.get_capacitor_voltage(1)
while voltage <= target_voltage:
log.debug("Bt capacitor voltage: %.2f V" % voltage)
with relay_action_lock:
voltage = controller.get_capacitor_voltage(1)
if not slow_charging_activated.is_set() and voltage >= 0.98 * target_voltage: #charging at 98%
slow_charging_activated.set()
with relay_action_lock:
controller.control_Quido_set(-7) # engage large charging resistor
log.debug("Bt slow charge activated")
sleep(0.1) #prevent voltage peaks
sleep(0.5)
with relay_action_lock:
controller.Bt_control_Quido_set(-1) # disengage charging
log.debug("Bt charged, slow charging active for CD")
sleep(0.1) # prevent voltage peaks being measured
slow_charging_activated.clear()
controller.panel_Quido_set(+19) # Bt capacitors charged - signal on panel
Connectivity with control system
svg source
Photogallery