PROC F_FL_S_SWEPHV ;Version 3 GOTO BEGIN ; ;#*********************************************************************** ;# ****PROCEDURE HEADER**** ;# ;# 1.0 Introduction ;# ;# 1.1 FOT Name: F_FL_S_SWEPHV ;# MMS-F Name: ;# SUM Issue: ;# Simulator Validation Status: Valid ;# ;# 1.2 Date Created: 16-NOV-95 PEL ;# Revision: 1. 5-JAN-96 ;# 2. 07-JAN-96 ;# 3. 15-JAN-96 ;# ;# 1. Updated per OCD 137. ;# 2. Add %upper to initial ask. Correct write ;# statements displaying input values. ;# 3. Add h'$xx' to checks for all user defined values ;# against limits in queries for values. Add Default ;# values ( = 0 ) for proc variables so syntax is ;# correct when loop is not used. ;# ;# 1.3 Change Description: ;# ;# 1.4 Point of Contact: CCAZEAU ATSC/SOHO 286-6374 ;# FOT Author: BSAPPER ATSC/SOHO 286-4799 ;# CELIAS Author: W.Bornemann MPE 49-89-3299-3842 ;#*********************************************************************** ;# 2.0 Description ;# ;# 2.1 Narrative Decription ;# Procedure contains HV commands for STOF Sweep HV ;# ;# Only one menue item can be commanded by ;# one run of this procedure ;# 2.2 Intended Use: ;# ;# 2.3 Duration: TBD ;# ;# 2.4 References: ;# ;#*********************************************************************** ;# 3.0 Instructions for Use: ;# ;# 3.1 Parameters Required ;# ;# None ;# 3.2 Critical Activities ;# ;# ;# TBD ;# ;# 3.3 Special Constraints or Activities ;# ;# * STOF Sweep-HV turn-on prohibited in STOF Nominal Mode * ;# * Use STOF Manual Mode for turn-on * ;# ;# STOF Sweep-HV DELTA = 500 max. ;# ;# Constraints if STOF MCP-HV is Turned-on : ;# STOF Sweep-HV Turn-off allowed only if STOF MCP-HV is < 2000 V. ;# ;# STOF Sweep-HV Setting either > 75 or = 0. ;# ;# ;# ********************************************************************** ;# 4.0 STEPS: BEGIN: LOCAL PRCCMD,LIMIT,DELTA,STPLOW,STPHIG,ONCODE,OFFCODE,DAC LET DELTA = 0 LET STPLOW = 0 LET STPHIG = 0 IF (P@CMD_STATE#TELECOMMAND = "AVAILABLE") THEN ELSE /CLEAR ;Clearing the Command Buffer. ENDIF WRITE "STOF SWEEP LIMIT SET = LIMDAC" WRITE "SWEEP STEP LIMIT SET = LIMSTEP" WRITE "STOF SWEEP 1 AND/OR 2 ON = HVON" WRITE "STOF SWEEP 1 AND/OR 2 OFF = HVOFF" WRITE "STOF SWEEP DAC SET = SETDAC" ASK "SELECT HV COMMAND (DISPLAYED ON SCREEN)?"PRCCMD PRCCMD = %UPPER(PRCCMD) IF (PRCCMD = "LIMDAC") THEN ASK "ENTER SWEEP HIGH VOLTAGE LIMIT SETTING (0 to 4095 dec)?"LIMIT ASK "ENTER SWEEP HIGH VOLTAGE DELTA SETTING (0 to 500 dec)?"DELTA WRITE "STOF SWEEP-HV LIMIT SETTING $LIMIT" WRITE "STOF SWEEP-HV DELTA SETTING $DELTA" ASK "CONFIRM STOF SWEEP-HV LIMIT AND DELTA SETTING (Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN LIMIT = %HEX(LIMIT,4) DELTA = %HEX(DELTA,4) IF (H'$DELTA' > H'1F4') THEN WRITE "SWEEP HV DELTA TOO HIGH, PROCEDURE ABORTED" GOTO ABPRC ENDIF /FBSLIMSW,$LIMIT,$DELTA ; STOF SWEEP SET TO LIMIT, DELTA WAIT ; VERIFY BUFFER CONTENTS /SEND WRITE "STOF SWEEP LIMIT SET TO D$LIMIT" WRITE "STOF SWEEP DELTA SET TO D$DELTA" ELSE GOTO ABPRC ENDIF ENDIF IF (PRCCMD = "LIMSTEP") THEN ASK "ENTER SWEEP STEP LIMIT LOW SETTING (0 to 119 dec)?"STPLOW ASK "ENTER SWEEP STEP LIMIT HIGH SETTING (0 to 119 dec)?"STPHIG WRITE "STOF SWEEP STEP LIMIT LOW SETTING $STPLOW" WRITE "STOF SWEEP STEP LIMIT HIGH SETTING $STPHIG" ASK "CONFIRM STOF SWEEP STEP LIMIT LOW AND HIGH SETTING (Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN STPLOW = %HEX(STPLOW,2) STPHIG = %HEX(STPHIG,2) IF (H'$STPLOW' > H'77') THEN WRITE "SWEEP STEP LIMIT TOO HIGH, PROCEDURE ABORTED" GOTO ABPRC ENDIF IF (H'$STPHIG' > H'77') THEN WRITE "SWEEP STEP LIMIT TOO HIGH, PROCEDURE ABORTED" GOTO ABPRC ENDIF /FBSLIMST,$STPHIG$STPLOW ; STOF sweep step Limit set to STPLOW,STPHIG WAIT ; VERIFY BUFFER CONTENTS /SEND WRITE "SWEEP STEP LIMIT LOW SET TO D$STPLOW" WRITE "SWEEP STEP LIMIT HIGH SET TO D$STPHIG" ELSE GOTO ABPRC ENDIF ENDIF IF (PRCCMD = "HVON") THEN IF (P@FSDMODS = "Nominal") THEN WRITE "NO SWEEP HV TURN-ON IN NOMINAL MODE, PROCEDURE ABORTED" GOTO ABPRC ELSE IF (P@FSSESSW = "On") THEN ; CHECK SWEEP ENABLE = ON ELSE GOTO TURNON ENDIF ENDIF WRITE "HV SAFETY REQUIRES STOF SWEEP DISABLING PRIOR TO TURN ON" WRITE "PRIOR TO SWEEP DISABLING :" WRITE "STOF MCP-HV SHOULD BE LESS THAN 2000 VOLTS" WRITE "VERIFY STOF MCP1-HV : FSSDACV1" WRITE "VERIFY STOF MCP2-HV : FSSDACV2" ASK "ABORT PROCEDURE ? (Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN WRITE "PROCEDURE ABORTED" GOTO ABPRC ; ABORT PROCEDURE ENDIF ASK "CONFIRM STOF SWEEP DISABLING ? (Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN /FBSDISSS ; Disable Sweep HV WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@FSSESSW = "Off") WRITE "STOF SWEEP HV DISABLED" WRITE "CHECK STOF SWEEP DAC SETTING AFTER TURN-ON PROCEDURE" ELSE GOTO ABPRC ENDIF TURNON: WRITE "STOF SWEEP 1 + 2 ON = BOTH" WRITE "STOF SWEEP 1 ON = ONE" WRITE "STOF SWEEP 2 ON = TWO" ASK "SELECT SWEEP FOR TURN-ON (DISPLAYED ON SCREEN)"ONCODE ONCODE = %UPPER(ONCODE) IF (ONCODE = "BOTH") THEN ASK "CONFIRM SWITCH-ON OF STOF SWEEP 1 + 2 ?(Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN /FBSS1ON ; Sweep 1 ON WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@CMD_STATE#TELECOMMAND = "AVAILABLE") /FBSS2ON ; Sweep 2 ON WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@FSSSW1ON = "On") WAIT UNTIL (P@FSSSW2ON = "On") /FBSENASS ; Enable Sweep HV WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@FSSESSW = "On") WRITE "STOF SWEEP 1 + 2 SWITCHED ON" GOTO ABPRC ELSE GOTO ABPRC ENDIF ENDIF IF (ONCODE = "ONE") THEN ASK "CONFIRM SWITCH ON OF STOF SWEEP 1 ONLY ?(Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN /FBSS1ON ; Sweep 1 ON WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@CMD_STATE#TELECOMMAND = "AVAILABLE") /FBSS2OF ; Sweep 2 OFF WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@FSSSW1ON = "On") WAIT UNTIL (P@FSSSW2ON = "Off") /FBSENASS ; Enable Sweep HV WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@FSSESSW = "On") WRITE "STOF SWEEP 1 SWITCHED ON" GOTO ABPRC ELSE GOTO ABPRC ENDIF ENDIF IF (ONCODE = "TWO") THEN ASK "CONFIRM SWITCH ON OF STOF SWEEP 2 ONLY ?(Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN /FBSS1OF ; Sweep 1 OF WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@CMD_STATE#TELECOMMAND = "AVAILABLE") /FBSS2ON ; Sweep 2 ON WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@CMD_STATE#TELECOMMAND = "AVAILABLE") WAIT UNTIL (P@FSSSW1ON = "Off") WAIT UNTIL (P@FSSSW2ON = "On") /FBSENASS ; Enable Sweep HV WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@FSSESSW = "On") WRITE "STOF SWEEP 2 SWITCHED ON" GOTO ABPRC ELSE GOTO ABPRC ENDIF ENDIF ENDIF IF (PRCCMD = "HVOFF") THEN IF (P@FSSMBON = "On") THEN ;MCP Bias On IF (P@FSSEMB ="On") THEN ;MCP Bias enabled WRITE "STOF MCP-HV IS ENABLED AND ON" WRITE "PRIOR TO SWEEP-HV TURN-OFF STOF MCP-HV MUST BE BELOW 2000 V" WRITE "VERIFY STOF MCP1-HV : FSSDACV1" WRITE "VERIFY STOF MCP2-HV : FSSDACV2" ASK "ABORT PROCEDURE ? (Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN WRITE "PROCEDURE ABORTED" GOTO ABPRC ; ABORT PROCEDURE ENDIF ENDIF ENDIF WRITE "STOF SWEEP 1 + 2 OFF = BOTH" WRITE "STOF SWEEP 1 OFF = ONE" WRITE "STOF SWEEP 2 OFF = TWO" ASK "SELECT SWEEP FOR TURN-OFF (DISPLAYED ON SCREEN)"OFFCODE OFFCODE = %UPPER(OFFCODE) IF (OFFCODE = "BOTH") THEN ASK "CONFIRM TURN-OFF OF STOF SWEEP 1 + 2 ?(Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN /FBSS1OF ; Sweep 1 OF WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@CMD_STATE#TELECOMMAND = "AVAILABLE") /FBSS2OF ; Sweep 2 OFF WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@FSSSW1ON = "Off") WAIT UNTIL (P@FSSSW2ON = "Off") /FBSDISSS ; Disable Sweep HV WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@FSSESSW = "Off") WRITE "STOF SWEEP 1 + 2 TURNED OFF" GOTO ABPRC ELSE GOTO ABPRC ENDIF ENDIF IF (OFFCODE = "ONE") THEN ASK "CONFIRM TURN-OFF OF STOF SWEEP 1 ONLY ?(Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN /FBSS1OF ; Sweep 1 OF WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@FSSSW1ON = "Off") WRITE "STOF SWEEP 1 TURNED OFF" GOTO ABPRC ELSE GOTO ABPRC ENDIF ENDIF IF (OFFCODE = "TWO") THEN ASK "CONFIRM TURN-OFF OF STOF SWEEP 2 ONLY ?(Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN /FBSS2OF ; Sweep 2 OF WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@FSSSW2ON = "Off") WRITE "STOF SWEEP 2 TURNED OFF" GOTO ABPRC ELSE GOTO ABPRC ENDIF ENDIF ENDIF IF (PRCCMD = "SETDAC") THEN IF (P@FSSMBON = "On") THEN ;MCP Bias On IF (P@FSSEMB ="On") THEN ;MCP Bias enabled WRITE "STOF MCP-HV IS ENABLED AND ON" WRITE "SWEEP-HV SETTING MUST BE > 75 OR = 0" ASK "ABORT PROCEDURE ? (Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN WRITE "PROCEDURE ABORTED" GOTO ABPRC ; ABORT PROCEDURE ENDIF ENDIF ENDIF ASK "ENTER SWEEP HIGH VOLTAGE SETTING (0 to 4095 dec)?"DAC WRITE "STOF SWEEP-HV SETTING $DAC" ASK "CONFIRM STOF SWEEP-HV SETTING (Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN DAC = %HEX(DAC,4) WAIT ;Check FSSESSW = "ON" with experimenter. WAIT ;Check FSSSW1ON = "ON" and/or FSSSW2ON = "ON" with experimenter /FBSSWV,$DAC ; STOF SWEEP SET TO DAC WAIT ; VERIFY BUFFER CONTENTS /SEND WRITE "STOF SWEEP HV SET TO D$DAC" ELSE GOTO ABPRC ENDIF ENDIF ABPRC: ;#*********************************************************************** ;# 5.0 Final Constraints ;# ;# TBD ;# ;#*********************************************************************** ENDPROC