PROC C_FL_MCU2 ; VERSION 3. GOTO BEGIN ; ;#************************************************************************** ;# ****PROCEDURE HEADER**** ;# ;# 1.0 Introduction ;# ;# 1.1 FOT Name: C_FL_MCU2 ;# CDS Name: CDS_MCU2 ;# CDS Issue: N/A ;# Simulator Validation Status: ;# ;# 1.2 Date Created: 27-FEB-95 ;# Revision: 1. 21-APR-95 MH ;# 2. 9-MAY-95 MH ;# 3. 27-OCT_95 TFM ;# 1.3 Change Description: ;# ;# 1. Added section delimiters. Added THERMSET commands to ;# sections 26.1, 26.2, 26.6, and 26.7. Added CMSMSG ;# directives to sections 25.1, 25.2, and 26.7. Added POCC ;# processing WAIT to sections 15, 21, 24. ;# 2. Added /NRT TPUT PAUS and /NRT TPUT RSUM before and after ;# /CMSMSG directives in sections 25.1, 25.2, 26.7. Added TM ;# check CSEM5V = OFF to end of proc section 28. ;# 3. Changed ts in name to fl. ;# 1.4 Point of Contact: CCazeau ;# FOT Author: MHill ATSC/SOHO 286-4799 ;# ;#************************************************************************** ;# 2.0 Description ;# ;# 2.1 Narrative Description ;# ;# To test the MCU subsystem of CDS. ;# ;# 2.2 Intended Use: ;# ;# Test the MCU subsystem of CDS. ;# ;# 2.3 Duration: TBD ;# ;# 2.4 References: pages C_MCU_HK, C_CDS_STATUS_HK ;# ;#************************************************************************** ;# 3.0 Instructions for Use: ;# ;# 3.1 Parameters Required ;# ;# None ;# ;# 3.2 Critical Activities ;# ;# TC /CBMDGOS - GIS Door Open is a critical command ;# TC /CBMDVOS - VDS Door Open is a critical command ;# TC /CBEHTRSN - OP Heaters ON is a critical command ;# ;# 3.3 Special Constraints or Activities ;# ;# NONE ;#************************************************************************** ;# 4.0 STEPS: BEGIN: LOCAL D1, D2, J IF (p@CMD_STATE#TELECOMMAND = "AVAILABLE") THEN ELSE /CLEAR ;Clearing the Command Buffer. ENDIF ;******SECTION 15****** ;OFFSET POINTING POWER /CBMPBON ;Power BU OPS ON WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMPOPS = "ON") ;Check OPS Power Status WAIT UNTIL (p@CMD_STATE#TELECOMMAND = "AVAILABLE") /CBMPBOF ;Power BU OPS OFF WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMPOPS = "OFF") ;Check OPS Power Status /CBMPMON ;Power OPS ON WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMPOPS = "ON") ;Check OPS Power Status WAIT UNTIL (p@'CIEU+27V' > 10) AND (p@'CIEU+27V' < 30) ;Check S/C +27V Current ;******SECTION 16****** ;RIGHT ACTUATOR - CLOSED LOOP /CBMOPSRP,A500 ;OPS Right Position (bottom end) WAIT ;Verify command buffer contents /SEND WAIT UNTIL (CKMORP > H'4FC') AND (CKMORP < H'504') ;OPS Right Actuator Position ;Primary timeout 8 minutes WAIT UNTIL (CKMORR > H'52B') AND (CKMORR < H'53B') ;OPS Right Actuator Position ;Redundant timeout 8 minutes /CBMOPSRP,A800 ;OPS Right Position (home) WAIT ;Verify command buffer contents /SEND WAIT UNTIL (CKMORP > H'7FC') AND (CKMORP < H'804') ;OPS Right Action Position ;Primary timeout 4 minutes WAIT UNTIL (CKMORR > H'82B') AND (CKMORR < H'83B') ;OPS Right Action Position ;Redundant timeout 4 minutes ;******SECTION 17****** ;RIGHT ACTUATOR - OPEN LOOP /CBMOPSRD ;OPS Right Down 1 Step /CBMOPSRD ;OPS Right Down /CBMOPSRD ;OPS Right Down /CBMOPSRD ;OPS Right Down /CBMOPSRD ;OPS Right Down /CBMOPSRD ;OPS Right Down /CBMOPSRD ;OPS Right Down /CBMOPSRD ;OPS Right Down WAIT ;Verify command buffer contents /SEND WAIT UNTIL (CKMORP > H'7F4') AND (CKMORP < H'7FC') ;OPS Right Action Position ;Primary WAIT UNTIL (CKMORR > H'822') AND (CKMORR < H'832') ;OPS Right Action Position ;Redundant /CBMOPSRU ;OPS Right Up 1 Step /CBMOPSRU ;OPS Right Up 1 Step /CBMOPSRU ;OPS Right Up 1 Step /CBMOPSRU ;OPS Right Up 1 Step /CBMOPSRU ;OPS Right Up 1 Step /CBMOPSRU ;OPS Right Up 1 Step /CBMOPSRU ;OPS Right Up 1 Step /CBMOPSRU ;OPS Right Up 1 Step WAIT ;Verify command buffer contents /SEND WAIT UNTIL (CKMORP > H'7FC') AND (CKMORP < H'804') ;OPS Right Action Position ;Primary WAIT UNTIL (CKMORR > H'82D') AND (CKMORR < H'83D') ;OPS Right Action Position ;Redundant ;******SECTION 18****** ;LEFT ACTUATOR - CLOSED LOOP /CBMOPSLP,B500 ;OPS left Position (bottom end) WAIT ;Verify command buffer contents /SEND WAIT UNTIL (CKMOLP > H'4FC') AND (CKMOLP < H'504') ;OPS Left Actuator Position ;Primary timeout 8 minutes WAIT UNTIL (CKMOLR > H'4C4') AND (CKMOLR < H'4D4') ;OPS Left Actuator Position ;Redundant timeout 8 minutes /CBMOPSLP,B800 ;OPS left Position (home) WAIT ;Verify command buffer contents /SEND WAIT UNTIL (CKMOLP > H'7FC') AND (CKMOLP < H'804') ;OPS Left Action Position ;Primary timeout 4 minutes WAIT UNTIL (CKMOLR > H'7CA') AND (CKMOLR < H'7DA') ;OPS Left Action Position ;Redundant timeout 4 minutes ;******SECTION 19****** ;LEFT ACTUATOR - OPEN LOOP /CBMOPSLD ;OPS Left Down 1 Step /CBMOPSLD ;OPS Left Down /CBMOPSLD ;OPS Left Down /CBMOPSLD ;OPS Left Down /CBMOPSLD ;OPS Left Down /CBMOPSLD ;OPS Left Down /CBMOPSLD ;OPS Left Down /CBMOPSLD ;OPS Left Down WAIT ;Verify command buffer contents /SEND WAIT UNTIL (CKMOLP > H'7F4') AND (CKMOLP < H'7FC') ;OPS Left Action Position ;Primary WAIT UNTIL (CKMOLR > H'7C2') AND (CKMOLR < H'7D2') ;OPS Left Action Position ;Redundant /CBMOPSLU ;OPS Left Up 1 Step /CBMOPSLU ;OPS Left Up 1 Step /CBMOPSLU ;OPS Left Up 1 Step /CBMOPSLU ;OPS Left Up 1 Step /CBMOPSLU ;OPS Left Up 1 Step /CBMOPSLU ;OPS Left Up 1 Step /CBMOPSLU ;OPS Left Up 1 Step /CBMOPSLU ;OPS Left Up 1 Step WAIT ;Verify command buffer contents /SEND WAIT UNTIL (CKMOLP > H'7FC') AND (CKMOLP < H'804') ;OPS Left Action Position ;Primary WAIT UNTIL (CKMOLR > H'7CA') AND (CKMOLR < H'7DA') ;OPS Left Action Position ;Redundant ;******SECTION 20****** ;OPS POWER OFF /CBMPMOF ;Power OPS OFF WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMPOPS = "OFF") ;Check OPS Power Status ;******SECTION 21****** ;DOOR CONTROL REGISTER /CBMDRINI ;Door Initialization (turns motor off), no power on reset WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMDORGS = "SHUT") ;GIS Door Shut WAIT UNTIL (p@CSMDORGO = "_") ;GIS Door Open (microswitches) WAIT UNTIL (p@CSMDORVS = "SHUT") ;VDS Door Shut WAIT UNTIL (p@CSMDORVO = "_") ;VDS Door Open WAIT UNTIL (p@CMD_STATE#TELECOMMAND = "AVAILABLE") ;DOOR POWER ON /CBMPMDN ;Power Door ON WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@'CIEU+27V' < 30) ;Check S/C +27V Current WAIT UNTIL (p@CSMPDOR = "ON") ;Door Power Status WAIT UNTIL (p@CSMDORGS = "SHUT") ;GIS Door Shut WAIT UNTIL (p@CSMDORGO = "_") ;GIS Door Open (microswitches) WAIT UNTIL (p@CSMDORVS = "SHUT") ;VDS Door Shut WAIT UNTIL (p@CSMDORVO = "_") ;VDS Door Open ;******SECTION 22****** ;GIS DOOR /CBMDGOS ;GIS Door Open with solenoid WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMDORGS = "_") ;GIS Door Shut WAIT UNTIL (p@CSMDORGO = "OPEN") ;GIS Door Open /CBMDGCT ;GIS Door close on timer WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMDORGS = "SHUT") ;GIS Door Shut WAIT UNTIL (p@CSMDORGO = "_") ;GIS Door Open ;******SECTION 23****** ;VDS DOOR /CBMDVOS ;VDS Door Open with solenoid WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMDORVS = "_") ;VDS Door Shut WAIT UNTIL (p@CSMDORVO = "OPEN") ;VDS Door Open /CBMDVCT ;VDS Door close on timer WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMDORVS = "SHUT") ;VDS Door Shut WAIT UNTIL (p@CSMDORVO = "_") ;VDS Door Open ;******SECTION 24****** ;OPEN DOORS BY EMERGENCY BACKUP SYSTEM /CCEDORNN ;Emergency Door Relay ON (Nom) WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSSDORN = "ON") WAIT UNTIL (p@CSMDORVO = "OPEN") ;VDS Door Open WAIT UNTIL (p@CSMDORGO = "OPEN") ;GIS Door Open /CBEDORF ;Emergency Door Relay OFF WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSSDORN = "OFF") /CBMDVCT ;VDS Door close on timer WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMDORVS = "SHUT") ;VDS Door Shut WAIT UNTIL (p@CMD_STATE#TELECOMMAND = "AVAILABLE") /CBMDGCT ;GIS Door close on timer WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMDORGS = "SHUT") ;GIS Door Shut WAIT UNTIL (p@CMD_STATE#TELECOMMAND = "AVAILABLE") /CBMPMDF ;Power Door OFF WAIT ;Verify command buffer contents /SEND WAIT 5 ;******SECTION 25.1****** ;QCM1 /CB2Q1AS ;QCM 1 Accumulate short (4 seconds), dummy read, first after ;power up is inaccurate WAIT ;Verify command buffer contents /SEND WAIT 15 ;SHORT ACCUMULATION /CB2Q1AS ;QCM 1 Accumulate short WAIT ;Verify command buffer contents /SEND WAIT 15 /NRT TPUT RSUM /CMSMSG CDS 'RECORD BKMQCMC COUNT = Hz X 2.097' WAIT ;WAIT FOR CDS TM VERIFICATION /NRT TPUT PAUS /CB2IRST ;Reset IMIF module flags, mk=0004 WAIT ;Verify command buffer contents /SEND WAIT 5 ;LONG ACCUMULATION /CB2Q1AL ;QCM 1 Accumulate long WAIT ;Verify command buffer contents /SEND WAIT 45 /NRT TPUT RSUM /CMSMSG CDS 'RECORD BKMQCMC COUNT = Hz X 33.554' WAIT ;WAIT FOR CDS TM VERIFICATION /NRT TPUT PAUS /CB2IRST ;Reset IMIF module flags, mk=0004 WAIT ;Verify command buffer contents /SEND WAIT 5 ;HEATER /NRT TPUT RSUM /CMSMSG CDS 'RECORD BTMQCMT1' WAIT ;WAIT FOR CDS TM VERIFICATION /NRT TPUT PAUS /CBMQC1HN ;QCM 1 Heater ON WAIT ;Verify command buffer contents /SEND WAIT 120 ;Wait 2 minutes /NRT TPUT RSUM /CMSMSG CDS 'RECORD BTMQCMT1, CHECK IT IS HOTTER' WAIT ;WAIT FOR CDS TM VERIFICATION /NRT TPUT PAUS /CBMQC1HF ;QCM 1 Heater OFF WAIT ;Verify command buffer contents /SEND WAIT 5 ;******SECTION 25.2****** ;QCM2 /CB2Q2AS ;QCM 2 Accumulate short WAIT ;Verify command buffer contents /SEND ;WAIT UNTIL (p@CS2QCM = "REQUEST") WAIT 15 /NRT TPUT RSUM /CMSMSG CDS 'RECORD BKMQCMC COUNT = Hz X 2.097' WAIT ;WAIT FOR CDS TM VERIFICATION /NRT TPUT PAUS /CB2IRST ;Reset IMIF module flags, mk=0004 WAIT ;Verify command buffer contents /SEND WAIT 5 ;LONG ACCUMULATION /CB2Q2AL ;QCM 2 Accumulate long WAIT ;Verify command buffer contents /SEND WAIT 45 /NRT TPUT RSUM /CMSMSG CDS 'RECORD BKMQCMC COUNT = Hz X 33.554' WAIT ;WAIT FOR CDS TM VERIFICATION /NRT TPUT PAUS /CB2IRST ;Reset IMIF module flags, mk=0004 WAIT ;Verify command buffer contents /SEND WAIT 5 /NRT TPUT RSUM /CMSMSG CDS 'RECORD BTMQCMT2' WAIT ;WAIT FOR CDS TM VERIFICATION /NRT TPUT PAUS ;HEATER /CBMQC2HN ;QCM 2 Heater ON WAIT ;Verify command buffer contents /SEND WAIT 120 ;Wait 2 minutes /NRT TPUT RSUM /CMSMSG CDS 'RECORD BTMQCMT2, CHECK IT IS HOTTER' WAIT ;WAIT FOR CDS TM VERIFICATION /NRT TPUT PAUS /CBMQC2HF ;QCM 2 Heater OFF WAIT ;Verify command buffer contents /SEND WAIT 5 ;******SECTION 26****** ;PRIME HEATERS /CBMHTRP ;Prime Heaters (MCU control) WAIT ;Verify command buffer contents /SEND WAIT 5 /CBMHTRPL,0000 ;Heaters Power Limit (power output to 0) WAIT ;Verify command buffer contents /SEND WAIT 5 ;******SECTION 26.1****** ;ENSURE ALL GO OFF, SET ALL THERMOSTATS TO 0 DEG C ;FOR THIS TEST, TEMP WILL BE SET TO 0 DEGREES C. WAIT ;DATA = ((0 + 273) * 8) , IN HEX = 888 LET D1 = "08" LET D2 = %HEX(H'88',2) WAIT ;GO TO SET THERMOSTATS FOR I = 0 TO 15 DO LET J = %HEX(I,1) /CBMTEMPL,E$J$D1 /CBMTEMPH,F$J$D2 /SEND WAIT UNTIL (p@CSMMHT$I = "OFF") ;Status of Main Heater I ENDDO WAIT UNTIL (CSMMHTRS = 0) ;Main Heaters Status word /CBEHTRSN ;Op Heaters On WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSEHTRS = "ON") ;ON/OFF +27V Op Heater Power WAIT UNTIL (p@'CIEU+27V' > 40) AND (p@'CIEU+27V' < 65) ;Nom 52mA ;******SECTION 26.2****** /CBMHTRPL,D080 ;Heaters Power Limit (power output to 4) WAIT ;Verify command buffer contents /SEND WAIT 5 ;FOR THIS TEST, TEMP WILL BE SET TO 50 DEGREES C. WAIT ;DATA = ((50 + 273) * 8) , IN HEX = A18 LET D1 = "0A" LET D2 = %HEX(H'18',2) WAIT ;GO TO SET THERMOSTATS FOR I = 0 TO 15 DO LET J = %HEX(I,1) WAIT UNTIL (p@CTM22 < 50) ;MCU HEATER DRIVE CHIP /CBMTEMPL,E$J$D1 /CBMTEMPH,F$J$D2 /SEND WAIT UNTIL (p@CSMMHT$I = "ON") ;Status of Main Heater I WAIT UNTIL ((p@'CIEU+27V' > 70) AND (p@'CIEU+27V' < 170)) ENDDO ;******SECTION 26.3****** ;POWER LIMIT 1/4 POWER /CBMHTRPL,D020 ;Heaters Power Limit WAIT ;Verify command buffer contents /SEND WAIT 30 WAIT UNTIL (p@'CIEU+27V' > 235) AND (p@'CIEU+27V' < 315) ;******SECTION 26.4****** ;POWER LIMIT 1/2 POWER /CBMHTRPL,D040 ;Heaters Power Limit WAIT ;Verify command buffer contents /SEND WAIT 30 WAIT UNTIL (p@'CIEU+27V' > 460) AND (p@'CIEU+27V' < 540) ;******SECTION 26.5****** ;POWER LIMIT 3/4 POWER /CBMHTRPL,D060 ;Heaters Power Limit WAIT ;Verify command buffer contents /SEND WAIT 30 WAIT UNTIL (p@'CIEU+27V' > 670) AND (p@'CIEU+27V' < 750) ;******SECTION 26.6****** ;POWER LIMIT FULL POWER /CBMHTRPL,D080 ;Heaters Power Limit WAIT ;Verify command buffer contents /SEND WAIT 30 WAIT UNTIL (p@'CIEU+27V' > 877) AND (p@'CIEU+27V' < 947) ;FOR THIS TEST, TEMP WILL BE SET TO 0 DEGREES C. WAIT ;DATA = ((0 + 273) * 8) , IN HEX = 888 LET D1 = "08" LET D2 = %HEX(H'88',2) WAIT ;GO TO SET THERMOSTATS FOR I = 0 TO 15 DO LET J = %HEX(I,1) /CBMTEMPL,E$J$D1 /CBMTEMPH,F$J$D2 /SEND WAIT 15 WAIT UNTIL (p@CSMMHT$I = "OFF") ;Status of Main Heater I ENDDO ;******SECTION 26.7****** ;FOR THIS TEST, THERMOSTAT 4 WILL BE SET TO 25 DEGREES C. WAIT ;DATA = ((25 + 273) * 8) , IN HEX = 950 LET D1 = "09" LET D2 = %HEX(H'50',2) WAIT ;GO TO SET THERMOSTAT #4 CONTROLLING /CBMTEMPL,E4$D1 /CBMTEMPH,F4$D2 /SEND WAIT 5 /NRT TPUT RSUM /CMSMSG CDS 'MONITOR HEATER STATUS AND TEMP 4' WAIT ;Verify CDS TM Check /NRT TPUT PAUS WAIT 300 ;FOR THIS TEST, THERMOSTAT 4 WILL BE SET TO 0 DEGREES C. WAIT ;DATA = ((0 + 273) * 8) , IN HEX = 888 LET D1 = "08" LET D2 = %HEX(H'88',2) WAIT ;GO TO SET THERMOSTAT #4 CONTROLLING /CBMTEMPL,E4$D1 /CBMTEMPH,F4$D2 /SEND WAIT 5 /NRT TPUT RSUM /CMSMSG CDS 'MONITOR HEATER STATUS AND TEMP 4' WAIT ;Verify CDS TM Check /NRT TPUT PAUS WAIT 5 /CBMHTRPL,D000 WAIT ;Verify command buffer contents /SEND WAIT 5 ;******SECTION 27****** ;BACKUP HEATERS SWITCHED ON/OFF IN TURN /CBMHTRB ;Backup Heaters WAIT ;Verify command buffer contents /SEND WAIT 5 /CBMHTRBS,0001 ;Backup Heater 0 On WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMBHT0 = "ON") ;Verify Backup heater 0 ON /CBMHTRBS,0002 ;Backup Heater 1 On WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMBHT1 = "ON") ;Verify Backup heater 1 ON WAIT UNTIL (p@CSMBHT0 = "OFF") ;Verify Backup heater 0 OFF /CBMHTRBS,0004 ;Backup Heater 2 On WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMBHT2 = "ON") ;Verify Backup heater 2 ON WAIT UNTIL (p@CSMBHT1 = "OFF") ;Verify Backup heater 1 OFF /CBMHTRBS,0008 ;Backup Heater 3 On WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMBHT3 = "ON") ;Verify Backup heater 3 ON WAIT UNTIL (p@CSMBHT2 = "OFF") ;Verify Backup heater 2 OFF /CBMHTRBS,0010 ;Backup Heater 4 On WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMBHT4 = "ON") ;Verify Backup heater 4 ON WAIT UNTIL (p@CSMBHT3 = "OFF") ;Verify Backup heater 3 OFF /CBMHTRBS,0020 ;Backup Heater 5 On WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMBHT5 = "ON") ;Verify Backup heater 5 ON WAIT UNTIL (p@CSMBHT4 = "OFF") ;Verify Backup heater 4 OFF /CBMHTRBS,0040 ;Backup Heater 6 On WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMBHT6 = "ON") ;Verify Backup heater 6 ON WAIT UNTIL (p@CSMBHT5 = "OFF") ;Verify Backup heater 5 OFF /CBMHTRBS,0080 ;Backup Heater 7 On WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMBHT7 = "ON") ;Verify Backup heater 7 ON WAIT UNTIL (p@CSMBHT6 = "OFF") ;Verify Backup heater 6 OFF /CBMHTRBS,0000 ;Backup Heater 6 On WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSMBHT7 = "OFF") ;Verify Backup heater 7 OFF ;******SECTION 28****** ;SWITCH DOWN ALL MCU POWER /CBEHTRSF ;OP Heaters OFF /CBEM12VF ;MCU +/- 12V OFF /CBEM5VF ;MCU +5V OFF WAIT ;Verify command buffer contents /SEND WAIT UNTIL (p@CSEM5V = "OFF") OUT: ;#************************************************************************** ;# 5.0 Final Constraints ;# ;# NONE ;# ;#************************************************************************** RETURN ENDPROC