--- /virgoDev/Automation/userapps/ITF_LOCK.py 2024-07-22 16:09:01.807855890 +0200 +++ /users/bersanet/COM/backup/Metatron/userapps/ITF_LOCK.py 2024-07-01 17:56:44.143760274 +0200 @@ -74,8 +74,7 @@ ################################################# # Nodes Management ################################################# -#nodes = NodeManager(['INJ_MAIN','DET_MAIN','ARMS_LOCK','DRMI_LOCK','OMC_LOCK','TCS_MAIN','SQZ_MAIN']) -nodes = NodeManager(['INJ_MAIN','ARMS_LOCK','DRMI_LOCK','TCS_MAIN','SQZ_MAIN']) +nodes = NodeManager(['INJ_MAIN','DET_MAIN','ARMS_LOCK','DRMI_LOCK','OMC_LOCK','TCS_MAIN','SQZ_MAIN']) ################################################# @@ -381,26 +380,25 @@ # DET_MAIN self.shutter_timer = config.getint('ITF_LOCK','shutter_timer') - #if nodes['DET_MAIN'] == 'FAST_SHUTTER_DEAD': - # # Close the slow shutter by hand for safety, is case DET_MAIN is not doing that - # # Do that and wait the same time DET_MAIN would; flag this in the DAQ - # cm_send('SDB1_Rot','MOVELIMIT', 2, 1, -3) - # channels['FAST_SHUTTER_DEAD'] = 1 - # ezca.set_channels('V1:DQ_META_ITF',channels) - # log.warning("DET_MAIN is in FAST_SHUTTER_DEAD") - # notify("Shutter is not safe! Intervention required!") - # self.timer['FAST_SHUTTER_DEAD'] = self.shutter_timer - # self.FAST_SHUTTER_DEAD = True - #else: - # # Close the slow shutter using DET_MAIN - # # Do that and wait a fake timer; flag this in the DAQ - # nodes['DET_MAIN'] = 'SHUTTER_CLOSED' - # # Flag this - # channels['FAST_SHUTTER_DEAD'] = 0 - # ezca.set_channels('V1:DQ_META_ITF',channels) - # self.timer['FAST_SHUTTER_DEAD'] = 1 - # self.FAST_SHUTTER_DEAD = False - self.FAST_SHUTTER_DEAD = False + if nodes['DET_MAIN'] == 'FAST_SHUTTER_DEAD': + # Close the slow shutter by hand for safety, is case DET_MAIN is not doing that + # Do that and wait the same time DET_MAIN would; flag this in the DAQ + cm_send('SDB1_Rot','MOVELIMIT', 2, 1, -3) + channels['FAST_SHUTTER_DEAD'] = 1 + ezca.set_channels('V1:DQ_META_ITF',channels) + log.warning("DET_MAIN is in FAST_SHUTTER_DEAD") + notify("Shutter is not safe! Intervention required!") + self.timer['FAST_SHUTTER_DEAD'] = self.shutter_timer + self.FAST_SHUTTER_DEAD = True + else: + # Close the slow shutter using DET_MAIN + # Do that and wait a fake timer; flag this in the DAQ + nodes['DET_MAIN'] = 'SHUTTER_CLOSED' + # Flag this + channels['FAST_SHUTTER_DEAD'] = 0 + ezca.set_channels('V1:DQ_META_ITF',channels) + self.timer['FAST_SHUTTER_DEAD'] = 1 + self.FAST_SHUTTER_DEAD = False ## ARMS_LOCK, DRMI_LOCK & TCS_MAIN # Read the HWS in use for the measurement @@ -420,26 +418,23 @@ log.error("Wrong HWS parameter: check TCS_MAIN.ini") notify("Wrong HWS parameter: check TCS_MAIN.ini") - #if self.keep_aligned and nodes['DET_MAIN'] == 'SHUTTER_CLOSED':# and np.min(flag_hws_on) == 1: - # nodes['ARMS_LOCK'] = 'MISALIGNED_ALL_BUT_'+self.plate - # nodes['DRMI_LOCK'] = 'ALIGNED_PR_SR' - # # Do NOT steer TCS_MAIN in this case! - # #nodes['TCS_MAIN'] = '' - #else: - # nodes['ARMS_LOCK'] = 'DOWN' - # nodes['DRMI_LOCK'] = 'MISALIGNED_PR_SR' - # nodes['TCS_MAIN'] = 'DOWN' - # # TURN ON THE Central Heating - # # WI - # #cm_send('TTL_co2', 'SETRELAY', 3) - # # NI - # #cm_send('TTL_co2', 'SETRELAY', 7) - nodes['ARMS_LOCK'] = 'DOWN' - nodes['DRMI_LOCK'] = 'MISALIGNED_PR_SR' - nodes['TCS_MAIN'] = 'DOWN' + if self.keep_aligned and nodes['DET_MAIN'] == 'SHUTTER_CLOSED':# and np.min(flag_hws_on) == 1: + nodes['ARMS_LOCK'] = 'MISALIGNED_ALL_BUT_'+self.plate + nodes['DRMI_LOCK'] = 'ALIGNED_PR_SR' + # Do NOT steer TCS_MAIN in this case! + #nodes['TCS_MAIN'] = '' + else: + nodes['ARMS_LOCK'] = 'DOWN' + nodes['DRMI_LOCK'] = 'MISALIGNED_PR_SR' + nodes['TCS_MAIN'] = 'DOWN' + # TURN ON THE Central Heating + # WI + cm_send('TTL_co2', 'SETRELAY', 3) + # NI + cm_send('TTL_co2', 'SETRELAY', 7) # OMC_LOCK - #nodes['OMC_LOCK'] = 'TEMP_CONTROLLED' + nodes['OMC_LOCK'] = 'TEMP_CONTROLLED' # SQZ_MAIN nodes['SQZ_MAIN'] = 'DOWN' @@ -588,13 +583,12 @@ ezca.set_channels('V1:DQ_META_ITF',channels) self.RESET_FLAG = True return - #if not self.timer['FAST_SHUTTER_DEAD'] or nodes['DET_MAIN'] == 'FAST_SHUTTER_DEAD': - # notify("DET intervention required! Do not move from DOWN!") - # return + if not self.timer['FAST_SHUTTER_DEAD'] or nodes['DET_MAIN'] == 'FAST_SHUTTER_DEAD': + notify("DET intervention required! Do not move from DOWN!") + return # Do not wait for OMC_LOCK, it can take a lot of time #if not nodes.arrived: - #if not all(NODE.arrived for NODE in [nodes['INJ_MAIN'], nodes['DET_MAIN'], nodes['ARMS_LOCK'], nodes['DRMI_LOCK']]): - if not all(NODE.arrived for NODE in [nodes['INJ_MAIN'], nodes['ARMS_LOCK'], nodes['DRMI_LOCK']]): + if not all(NODE.arrived for NODE in [nodes['INJ_MAIN'], nodes['DET_MAIN'], nodes['ARMS_LOCK'], nodes['DRMI_LOCK']]): notify("Waiting for managed nodes") return False else: @@ -746,7 +740,7 @@ request = False @handle_exceptions - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def main(self): @@ -761,7 +755,7 @@ self.LOCK_INIT_DONE = False @handle_exceptions - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def run(self): @@ -787,7 +781,7 @@ request = False @handle_exceptions - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @unstall_nodes(nodes) def main(self): ezca.put_index(self.index) @@ -809,7 +803,8 @@ request = False @handle_exceptions - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def main(self): @@ -824,7 +819,8 @@ self.LOCK_INIT_DONE = False @handle_exceptions - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def run(self): @@ -848,7 +844,8 @@ request = False @handle_exceptions - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @unstall_nodes(nodes) def main(self): ezca.put_index(self.index) @@ -856,7 +853,8 @@ log.warning("in SINGLE_BOUNCE_WI main") @handle_exceptions - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @unstall_nodes(nodes) def run(self): return True @@ -871,7 +869,8 @@ request = False @handle_exceptions - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def main(self): @@ -890,7 +889,8 @@ @handle_exceptions @watchdog_IMC_locked - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def run(self): @@ -924,7 +924,8 @@ @handle_exceptions @watchdog_IMC_locked - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @unstall_nodes(nodes) def main(self): ezca.put_index(self.index) @@ -933,7 +934,8 @@ @handle_exceptions @watchdog_IMC_locked - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @unstall_nodes(nodes) def run(self): if nodes['DRMI_LOCK'] != 'LOCKED_PRWI': @@ -951,7 +953,8 @@ request = False @handle_exceptions - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def main(self): @@ -970,7 +973,8 @@ @handle_exceptions @watchdog_IMC_locked - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def run(self): @@ -1004,7 +1008,8 @@ @handle_exceptions @watchdog_IMC_locked - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @unstall_nodes(nodes) def main(self): ezca.put_index(self.index) @@ -1013,7 +1018,8 @@ @handle_exceptions @watchdog_IMC_locked - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @unstall_nodes(nodes) def run(self): # WIP @@ -1033,7 +1039,8 @@ request = False @handle_exceptions - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def main(self): @@ -1047,7 +1054,8 @@ @handle_exceptions @watchdog_IMC_locked - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def run(self): @@ -1068,7 +1076,8 @@ @handle_exceptions @watchdog_IMC_locked - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def main(self): @@ -1082,7 +1091,8 @@ @handle_exceptions @watchdog_IMC_locked - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def run(self): @@ -1103,7 +1113,8 @@ @handle_exceptions @watchdog_IMC_locked - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def main(self): @@ -1113,7 +1124,8 @@ @handle_exceptions @watchdog_IMC_locked - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def run(self): @@ -1311,7 +1323,8 @@ request = False @handle_exceptions - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def main(self): @@ -1331,7 +1344,8 @@ self.LOCK_INIT_DONE = False @handle_exceptions - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def run(self): @@ -1355,7 +1369,8 @@ request = False @handle_exceptions - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @unstall_nodes(nodes) def main(self): ezca.put_index(self.index) @@ -2141,7 +2156,8 @@ #redirect = False @handle_exceptions - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def main(self): @@ -2160,9 +2176,9 @@ nodes['DRMI_LOCK'] = 'MISALIGNED_PR_SR' # TURN ON THE Central Heating, just in case # WI - #cm_send('TTL_co2', 'SETRELAY', 3) + cm_send('TTL_co2', 'SETRELAY', 3) # NI - #cm_send('TTL_co2', 'SETRELAY', 7) + cm_send('TTL_co2', 'SETRELAY', 7) self.PR_SR_SAFE = False else: self.PR_SR_SAFE = True @@ -2171,7 +2187,8 @@ self.IS_FMOD_GOING = False @handle_exceptions - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def run(self): @@ -2211,7 +2228,8 @@ @handle_exceptions @watchdog_PR_SR_misaligned @watchdog_IMC_locked - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='DOWN') @unstall_nodes(nodes) def main(self): @@ -2226,7 +2244,8 @@ @handle_exceptions @watchdog_PR_SR_misaligned @watchdog_IMC_locked - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @nodes.checker(fail_return='LOCKING_ARMS_IR') @unstall_nodes(nodes) def run(self): @@ -2249,7 +2268,8 @@ @watchdog_ARMS_locked(check='LOCKED_ARMS_IR',fallback='LOCKING_ARMS_IR') @watchdog_PR_SR_misaligned @watchdog_IMC_locked - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @unstall_nodes(nodes) def main(self): ezca.put_index(self.index) @@ -2260,7 +2280,8 @@ @watchdog_ARMS_locked(check='LOCKED_ARMS_IR',fallback='LOCKING_ARMS_IR') @watchdog_PR_SR_misaligned @watchdog_IMC_locked - #@watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') + #@watchdog_shutter_closed + @watchdog_shutter_safe(check='SHUTTER_CLOSED', fallback='DOWN') @unstall_nodes(nodes) def run(self): return True