PROC C_FL_SAFE ;# VERSION 8 GOTO BEGIN ; ;#************************************************************************** ;# ****PROCEDURE HEADER**** ;# ;# 1.0 Introduction ;# ;# 1.1 FOT Name: C_FL_SAFE ;# CDS Name: CDS_SAFE ;# CDS Issue: V3.4 ;# Simulator Validation Status: ;# ;# 1.2 Date Created: 7-FEB-95 ;# Revision: 1. 21-FEB-95 MH ;# 2. 5-APR-95 MH ;# 3. 28-APR-95 MH ;# 4. 1-MAY-95 MH ;# 5. 6-3-95 BS ;# 6. 01-Sept-95 TFM ;# 7. 27-OCT-95 TFM ;# 8. 11-DEC-95 TFM ;# ;# 1.3 Change Description: ;# ;# 1. Added comments about 3 critical commands in section 3.2 ;# Changed TM verifier CSEFILN to CSEFIL (CSEFILN not in database) ;# Changed TM checks for CSEM12V to check CIEM+12V and CIEM-12V ;# indicate ON. ;# 2. Added power off section for side B. Corrected TM check typos. ;# Added section delimiters. Added Section 8 which had been ;# omitted. ;# 3. Made Procedure available as RPR. ;# 4. Corrected WAIT statement. Changed CMSMSG addressee to CDS from ;# SWAN. ;# 5. Add cmd KNCPWBFR and send with KNCPWAFN. Fix TM check for ;# CIPWA. ;# 6. Combined the /CBEM5VN and the /CBEM12VN TC to be placed in the TC ;# buffer to be uplinked @ the same time. ;# 7. Changed ts in name to fl. ;# 8. Added call to k_exp_mon_dis and x_exp_prep_on. Added and ;# changed comments to fit in window. As per OCD # 61. ;# ;# 1.4 Point of Contact: CCazeau ;# FOT Author: MHill ATSC/SOHO 286-4799 ;# ;#************************************************************************** ;# 2.0 Description ;# ;# 2.1 Narrative Description ;# ;# Return CDS to a Safe condition after a fault ;# ;# 2.2 Intended Use: ;# ;# Recover experiment from a fault ;# ;# 2.3 Duration: ? ;# ;# 2.4 References: ;# ;#************************************************************************** ;# 3.0 Instructions for Use: ;# ;# 3.1 Parameters Required ;# ;# None ;# ;# 3.2 Critical Activities ;# ;# CBEHTRSF to power CDS Op Heater Off is critical command ;# CBEGHVE to enable GIS HV (Isolation Relay) is critical command ;# CBEFILE to enable Filament Power (Isolation Relay) is critical command ;# ;# 3.3 Special Constraints or Activities ;# ;# This procedure is to be used after C_FL_EMEROF or any time that ;# C_FL_PWRON_N or C_FL_PWRON_R ;# ;#************************************************************************** ;# 4.0 STEPS: BEGIN: IF (p@NRT_STATE#TELECOMMAND = "ENABLED")THEN /NRT TPUT PAUS ELSE ENDIF IF (p@CMD_STATE#TELECOMMAND = "AVAILABLE") THEN ELSE /CLEAR ;Clearing the Command Buffer. ENDIF ;-------------------------------------------- ; SECTION 1 ;-------------------------------------------- ;-------------------------------------------- ; Disable the NOMinal and REDundant CDS line ; experiment monitoring parameter. ; ; Type 'GO' to call the procedure to ; disable experiment monitoring for CDS. ;-------------------------------------------- WAIT ; Read message START K_EXP_MON_DIS("CDS","NOM") START K_EXP_MON_DIS("CDS","RED") ;-------------------------------------------- ; 'Go' to verify CDS power OFF from both PDUs ; to protect isolation relays. ;-------------------------------------------- WAIT ; Read message. IF (p@CSPWA = "ON") THEN ;--------------------------------------- ; KNCPWAFN ==> CDS A LCL Power Off ; (Nominal side). ;--------------------------------------- /KNCPWAFN WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSPWA = "OFF") TIMEOUT 60 ; If still on use redundant command. IF (p@CSPWA = "ON") THEN ;---------------------------------- ; KNCPWAFR ==> CDS A LCL Power Off ; (Redundant side). ;---------------------------------- /KNCPWAFR WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSPWA = "OFF") ENDIF ENDIF IF (p@CSPWB = "ON") THEN ;--------------------------------------- ; KNCPWBFN ==> CDS B LCL Power Off ; (Nominal side). ;--------------------------------------- /KNCPWBFN WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSPWB = "OFF") TIMEOUT 60 ; If still on use redundant command. IF (p@CSPWB = "ON") THEN ;---------------------------------- ; KNCPWBFR ==> CDS B LCL Power Off ; (Redundant side). ;---------------------------------- /KNCPWBFR WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSPWB = "OFF") ENDIF ENDIF ;-------------------------------------------- ; SECTION 2 ; 'GO' to ensure isolation relays OFF. ;-------------------------------------------- WAIT IF (p@CSSFILN = "ENABLE") THEN ;--------------------------------------- ; CCEFILDN ==> Fil Power Disable (Nom). ;--------------------------------------- /CCEFILDN WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSSFILN = "DISABLE") TIMEOUT 60 ; If still on use redundant command. IF (p@CSSFILN = "ENABLE") THEN ;---------------------------------- ; CCEFILDR ==> Fil Power Disable ; (Redundant command). ;---------------------------------- /CCEFILDR WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSSFILN = "DISABLE") ENDIF ENDIF IF (p@CSSGHVN = "ENABLE") THEN ;--------------------------------------- ; CCEGHVDN ==> GIS HV Disable (Nominal) ;--------------------------------------- /CCEGHVDN WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSSGHVN = "DISABLE") TIMEOUT 60 ; If still on use redundant command. IF (p@CSSGHVN = "ENABLE") THEN ;---------------------------------- ; CCEGHVDR ==> GIS HV Disable ; (Redundant side). ;---------------------------------- /CCEGHVDR WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSSGHVN = "DISABLE") ENDIF ENDIF IF (p@CSSMECN = "ENABLE") THEN ;--------------------------------------- ; CCEMECDN ==> MCU Mech Disable(Nominal) ;--------------------------------------- /CCEMECDN WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSSMECN = "DISABLE") TIMEOUT 60 ; If still on use redundant command. IF (p@CSSMECN = "ENABLE") THEN ;---------------------------------- ; CCEGHVDR ==> MCU Mech Disable ; (Redundant side). ;---------------------------------- /CCEMECDR WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSSMECN = "DISABLE") ENDIF ENDIF IF (p@CSSVDSN = "ENABLE") THEN ;--------------------------------------- ; CCEVDSDN ==> VDS Disable (Nominal) ;--------------------------------------- /CCEVDSDN WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSSVDSN = "DISABLE") TIMEOUT 60 ; If still on use redundant command. IF (p@CSSVDSN = "ENABLE") THEN ;---------------------------------- ; CCEGHVDR ==> VDS Disable ; (Redundant side). ;---------------------------------- /CCEVDSDR WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSSVDSN = "DISABLE") ENDIF ENDIF WAIT UNTIL (p@CSSDORN = "OFF") ;Verify ;-------------------------------------------- ; SECTION 3 ;'GO' to changeover to NOMINAL primary POWER. ;-------------------------------------------- WAIT ;-------------------------------------------- ; CCPWRAN ==> CDS Power A (Nominal). ;-------------------------------------------- /CMD CCPWRAN WAIT ;Verify command buffer contents /SEND ;-------------------------------------------- ; SECTION 4 ;'GO' to power CDS on. Configure CDHS for PU1 ; primary SCIF ;-------------------------------------------- WAIT ;-------------------------------------------- ; If any of the subsition heater are on ; then auto start procedure x_exp_prep_on. ;-------------------------------------------- IF ((p@QSC1="ON") .OR. (p@QSCA="ON") .OR. (p@QSCB="ON") .OR. (p@QSC2="ON")) THEN ; turn substituton heaters off START X_EXP_PREP_ON ELSE ENDIF ;-------------------------------------------- ; KNCPWANN ==> CDS A LCL Power ON (Nom) ;-------------------------------------------- /CMD KNCPWANN WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSPWA = "ON") ; Verify current > .3 and < .6 A WAIT UNTIL (p@CIPWA > 0.3) AND (p@CIPWA < 0.6) START K_EXP_MON_ENA WAIT 5 ;-------------------------------------------- ; CCCRSETN ==> CDHS Processor Reset (Nominal) ;-------------------------------------------- /CMD CCCRSETN ;-------------------------------------------- ; CZCPRPU1 ==> Select Primary Interface ; Processor 1. ;-------------------------------------------- /CMD CZCPRPU1 WAIT ;Verify command buffer contents /SEND WAIT 15 ;-------------------------------------------- ; CB0CLER ==> Clear and Boot from EPROM ; (blk,11,12,50,h0040,h1222,h0001) ;-------------------------------------------- /CMD CB0CLER WAIT ;Verify command buffer contents /SEND WAIT 30 ;For Boot to complete ;Check between .25 and .3 A WAIT UNTIL (p@CIPWA > 0.3) AND (p@CIPWA < 0.6) ; Verify < 10mA WAIT UNTIL (p@'CIEU+27V' < 10) ;-------------------------------------------- ; CB5ZZZ ==> CDS Snooze Mode ;-------------------------------------------- /CMD CB5ZZZ WAIT ;Verify command buffer contents /SEND ;-------------------------------------------- ; SECTION 5 ; 'GO' to cycle heater circuits. ;-------------------------------------------- WAIT ;-------------------------------------------- ; CBEHTRSN ==> CDS Op Heater ON ;-------------------------------------------- /CMD CBEHTRSN WAIT ;Verify command buffer contents /SEND ; Verify < 0.5 A WAIT UNTIL (p@CIPWA < 0.5) ;Verify Range WAIT UNTIL (p@'CIEU+27V' > 20) AND (p@'CIEU+27V' < 40) ;-------------------------------------------- ; CBEHTRSF ==> CDS Op Heater OFF. ;-------------------------------------------- /CMD CBEHTRSF WAIT ;Verify command buffer contents /SEND ;-------------------------------------------- ; SECTION 6 ; 'GO' to check doors +27V circuit. ;-------------------------------------------- WAIT IF (p@CSSDORN = "ON") THEN ;--------------------------------------- ; CBEDORF ==> Emergency Door Relay Off ;--------------------------------------- /CMD CBEDORF WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSSDORN = "OFF") ENDIF ;Verify < 0.5A WAIT UNTIL (p@CIPWA < 0.5) ;-------------------------------------------- ; SECTION 7 ; 'GO' to check GIS +27V circuit. ;-------------------------------------------- WAIT IF (p@CSEGHV1 = "ON") THEN ;--------------------------------------- ; CBEGHV1F ==> GIS HV 1 +27V Relay OFF ;--------------------------------------- /CMD CBEGHV1F WAIT ;Verify command buffer contents /SEND ;Verify GIS HV 1 +27V Relay OFF WAIT UNTIL (p@CSEGHV1 = "OFF") ENDIF IF (p@CSEGHV2 = "ON") THEN ;--------------------------------------- ; CBEGHV2F ==> GIS HV 2 +27V Relay OFF ;--------------------------------------- /CMD CBEGHV2F WAIT ;Verify command buffer contents /SEND ;Verify GIS HV 2 +27V Relay OFF WAIT UNTIL (p@CSEGHV2 = "OFF") ENDIF IF (p@CSEGHV3 = "ON") THEN ;--------------------------------------- ; CBEGHV3F ==> GIS HV 3 +27V Relay OFF ;--------------------------------------- /CMD CBEGHV3F WAIT ;Verify command buffer contents /SEND ; Verify GIS HV 3 +27V Relay OFF WAIT UNTIL (p@CSEGHV3 = "OFF") ENDIF IF (p@CSEGHV4 = "ON") THEN ;--------------------------------------- ; CBEGHV4F ==> GIS HV 4 +27V Relay OFF ;--------------------------------------- /CMD CBEGHV4F WAIT ;Verify command buffer contents /SEND ; Verify GIS HV 4 +27V Relay OFF WAIT UNTIL (p@CSEGHV4 = "OFF") ENDIF ;-------------------------------------------- ; CBEGHVE ==> GIS HV Enable (Isolation Relay) ;-------------------------------------------- /CMD CBEGHVE WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSSGHVN = "ENABLE") ; Verify current < 0.5A WAIT UNTIL (p@CIPWA < 0.5) ; Verify < 10mA WAIT UNTIL (p@'CIEU+27V' < 10) ;-------------------------------------------- ; SECTION 8 ;-------------------------------------------- IF (p@CSEVSBY = "ON") THEN ;--------------------------------------- ; CBEVSBYF ==> VDS Standby Off ;--------------------------------------- /CMD CBEVSBYF WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSEVSBY = "OFF") ENDIF IF (p@CSEVDS = "ON") THEN ;--------------------------------------- ; CBEVDSF ==> VDS Supply Off ;--------------------------------------- /CMD CBEVDSF WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSEVDS = "OFF") ENDIF IF (p@CSEVHV = "ON") THEN ;--------------------------------------- ; CBEVHVF ==> VDS HV Power Supply Off ;--------------------------------------- /CMD CBEVHVF WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSEVHV = "OFF") ENDIF IF (p@CSEVHTR = "ON") THEN ;--------------------------------------- ; CBEVHTRF ==> VDS Heater Off ;--------------------------------------- /CMD CBEVHTRF WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSEVHTR = "OFF") ENDIF ;-------------------------------------------- ; CBEVDSE ==> VDS Enable (Isolation Relay) ;-------------------------------------------- /CMD CBEVDSE WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSSVDSN = "ENABLE") WAIT UNTIL (p@CIPWA < 0.5) WAIT UNTIL (p@'CIEU+27V' < 10) ;-------------------------------------------- ; SECTION 9 ; 'GO' to check filament +27V circuit. ;-------------------------------------------- WAIT IF (p@CSEFIL = "ON") THEN ;--------------------------------------- ; CBEFILF ==> Filament OFF ;--------------------------------------- /CMD CBEFILF WAIT ;Verify command buffer contents /SEND ; Verify Filament OFF WAIT UNTIL (p@CSEFIL = "OFF") ENDIF ;-------------------------------------------- ; CBEFILE ==> Filament Power Enable ; (Isolation Relay) ;-------------------------------------------- /CMD CBEFILE WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSSFILN = "ENABLE") ;verify enabled WAIT UNTIL (p@CIPWA < 0.5) ;Verify current < 0.5A WAIT UNTIL (p@'CIEU+27V' < 10) ;Verify < 10mA ;-------------------------------------------- ; SECTION 10 ; 'GO' to check MCU +27V circuit. ;-------------------------------------------- WAIT ;-------------------------------------------- ; CBEM5VN ==> MCU +5V ON ;-------------------------------------------- /CMD CBEM5VN ;-------------------------------------------- ; CBEM12VN ==> MCU +12V ON ;-------------------------------------------- /CMD CBEM12VN WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSEM5V = "ON") ;approx 300mA WAIT UNTIL (p@'CIEM+5V' > 280) AND (p@'CIEM+5V' < 320) ;approx 158mA WAIT UNTIL (p@'CIEM+12V' > 140) AND (p@'CIEM+12V' < 180) ;approx 146mA WAIT UNTIL (p@'CIEM-12V' > 130) AND (p@'CIEM-12V' < 170) WAIT 5 ;-------------------------------------------- ; CBMPMMF ==> Power Mirror Off ; CBMPBMF ==> Power BU Mirror Off ; CBMPMSF ==> Power Slit Off ; CBMPBSF ==> Power BU Slit Off ; CBMPMDF ==> Power Door Off ; CBMPBDF ==> Power BU Door Off ; CBMPMOF ==> Power OPS Off ; CBMPBOF ==> Power BU OPS Off ;-------------------------------------------- /CMD CBMPMMF /CMD CBMPBMF /CMD CBMPMSF /CMD CBMPBSF /CMD CBMPMDF /CMD CBMPBDF /CMD CBMPMOF /CMD CBMPBOF WAIT ;Verify buffer contents /SEND WAIT 10 ;-------------------------------------------- ; CBEMECE ==>MCU Mech Enable (isolation Relay) ;-------------------------------------------- /CMD CBEMECE WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSSMECN = "ENABLE") WAIT UNTIL (p@CIPWA > 0.3) AND (p@CIPWA < 0.6) ;Mirror Power Status OFF WAIT UNTIL (p@CSMPMIRR = "OFF") ;Slit Power OFF WAIT UNTIL (p@CSMPSLIT = "OFF") ;Door Power OFF WAIT UNTIL (p@CSMPDOR = "OFF") ;OPS Power OFF WAIT UNTIL (p@CSMPOPS = "OFF") ;-------------------------------------------- ; CBEM12VF ==> MCU +- 12V OFF ;-------------------------------------------- /CMD CBEM12VF ;-------------------------------------------- ; CBEM5VF ==> MCU + 5V OFF ;-------------------------------------------- /CMD CBEM5VF WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSEM5V = "OFF") ;-------------------------------------------- ; SECTION 11 ; 'GO' to power off CDS. ;-------------------------------------------- WAIT ;-------------------------------------------- ; Disable the CDS experiment LCL monitoring ; at the channel level. ;-------------------------------------------- START K_EXP_MON_DIS ; Commands to power off the CDS instrument. /CMD KNCPWAFN /CMD KNCPWBFR WAIT ;Verify command buffer contents /SEND OUT: IF (p@NRT_STATE#TELECOMMAND = "PAUSE-ENAB")THEN WAIT UNTIL (p@CMD_STATE#TELECOMMAND = "AVAILABLE") /NRT TPUT RSUM /CMSMSG CDS 'PROCEDURE C_FL_SAFE HAS BEEN COMPLETED' ELSE ENDIF ;#************************************************************************** ;# 5.0 Final Constraints ;# ;# None ;# ;#************************************************************************** RETURN ENDPROC