PROC F_FL_S_MCPHV ;Version 3 GOTO BEGIN ; ;#***************************************************************** ;# ****PROCEDURE HEADER**** ;# ;# 1.0 Introduction ;# ;# 1.1 FOT Name: F_FL_S_MCPHV ;# MMS-F Name: ;# SUM Issue: ;# Simulator Validation Status: Valid ;# ;# 1.2 Date Created: 15-NOV-95 PEL ;# Revision: 1. 5-JAN-96 TB ;# 2. 07-JAN-96 BS ;# 3. 13-JAN-96 BS ;# ;# 1. Added Wait statements per OCD 137 ;# 2. Add %upper to initial question. 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 all HV commands for STOF MCP 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 ;# Constraints for STOF MCP-HV Turn-on : ;# ;# STOF Sweep-HV either = 0 or 300 Volts min. ;# ;# STOF MCP-HV LIMIT = 200 max. ;# STOF MCP-HV DELTA = 20 max. ;# ;# unless authorized by experimenter ;# ;# ********************************************************************* ;# 4.0 STEPS: BEGIN: LOCAL PRCCMD,LIMIT,DELTA,SETHV LET LIMIT = 0 LET DELTA = 0 LET SETHV = 0 IF (P@CMD_STATE#TELECOMMAND = "AVAILABLE") THEN ELSE /CLEAR ;Clearing the Command Buffer. ENDIF WRITE "MCP1 HV LIMIT SET = LIMONE" WRITE "MCP2 HV LIMIT SET = LIMTWO" WRITE "MCP HV SWITCH-ON = MCPON" WRITE "MCP HV TURN-OFF = MCPOFF" WRITE "MCP1 HV VOLTAGE SET = SETONE" WRITE "MCP2 HV VOLTAGE SET = SETTWO" ASK "SELECT MCP-HV COMMAND (DISPLAYED ON SCREEN)?"PRCCMD PRCCMD = %UPPER(PRCCMD) IF (PRCCMD = "LIMONE") THEN ASK "ENTER MCP1 HIGH VOLTAGE LIMIT SETTING (0 to 200 dec)?"LIMIT ASK "ENTER MCP1 HIGH VOLTAGE DELTA SETTING (0 to 20 dec)?"DELTA WRITE "MCP1-HV LIMIT SETTING $LIMIT" WRITE "MCP1-HV DELTA SETTING $DELTA" ASK "CONFIRM MCP 1 HV LIMIT AND DELTA SETTING (Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN LIMIT = %HEX(LIMIT,2) DELTA = %HEX(DELTA,2) IF (H'$LIMIT' > H'C8') THEN WRITE "MCP1 LIMIT TOO HIGH, PROCEDURE ABORTED " GOTO ABPRC ENDIF IF (H'$DELTA' > H'14') THEN WRITE "MCP1 DELTA TOO HIGH, PROCEDURE ABORTED" GOTO ABPRC ENDIF /FBSLIMM1,$DELTA$LIMIT ; MCP 1 Limit to LIMIT,DELTA WAIT ; VERIFY BUFFER CONTENTS /SEND WRITE "MCP 1 HV LIMIT SET TO D$LIMIT" WRITE "MCP 1 HV DELTA SET TO D$DELTA" ELSE GOTO ABPRC ENDIF ENDIF IF (PRCCMD = "LIMTWO") THEN ASK "ENTER MCP2 HIGH VOLTAGE LIMIT SETTING (0 to 200 dec)?"LIMIT ASK "ENTER MCP2 HIGH VOLTAGE DELTA SETTING (0 to 20 dec)?"DELTA WRITE "MCP2-HV LIMIT SETTING $LIMIT" WRITE "MCP2-HV DELTA SETTING $DELTA" ASK "CONFIRM MCP 2 HV LIMIT AND DELTA SETTING (Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN LIMIT = %HEX(LIMIT,2) DELTA = %HEX(DELTA,2) IF (H'$LIMIT' > H'C8') THEN WRITE "MCP2 LIMIT TOO HIGH, PROCEDURE ABORTED" GOTO ABPRC ENDIF IF (H'$DELTA' > H'14') THEN WRITE "MCP2 DELTA TOO HIGH, PROCEDURE ABORTED" GOTO ABPRC ENDIF /FBSLIMM2,$DELTA$LIMIT ; MCP 2 Limit to LIMIT,DELTA WAIT ; VERIFY BUFFER CONTENTS /SEND WRITE "MCP 2 HV LIMIT SET TO D$LIMIT" WRITE "MCP 2 HV DELTA SET TO D$DELTA" ELSE GOTO ABPRC ENDIF ENDIF IF (PRCCMD = "MCPON") THEN WRITE "PRIOR TO TURN-ON VERIFY STOF SWEEP-HV" WRITE "STOF SWEEP-HV EITHER = 0 OR 300 VOLTS MIN." ASK "ABORT PROCEDURE ? (Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN WRITE "PROCEDURE ABORTED" GOTO ABPRC ; ABORT PROCEDURE ENDIF ASK "CONFIRM SWITCH-ON OF MCP HV ?(Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN /FBSMBON ; MCP bias on WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@CMD_STATE#TELECOMMAND = "AVAILABLE") /FBSENAMB ; Enable MCP bias WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@FSSMBON = "On") WAIT UNTIL (P@FSSEMB = "On") WRITE "MCP-HV SWITCHED-ON" ELSE GOTO ABPRC ENDIF ENDIF IF (PRCCMD = "MCPOFF") THEN ASK "CONFIRM TURN-OFF OF MCP HV ?(Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN /FBSMBOF ; MCP bias OFF WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@CMD_STATE#TELECOMMAND = "AVAILABLE") /FBSDISMB ; Disable MCP bias WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@FSSMBON = "Off") WAIT UNTIL (P@FSSEMB = "Off") WRITE "MCP-HV TURNED-OFF" ELSE GOTO ABPRC ENDIF ENDIF IF (PRCCMD = "SETONE") THEN ASK "ENTER MCP1 HIGH VOLTAGE SETTING (0 to 200 dec)?"SETHV WRITE "MCP1-HV SETTING $SETHV" ASK "CONFIRM MCP1 HIGH VOLTAGE SETTING (Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN SETHV = %HEX(SETHV,2) WAIT ;Check FSSEMB = "ON" with experimenter. WAIT ;Check FSSMBON = "ON" with experimenter. IF (H'$SETHV' > H'C8') THEN WRITE "MCP1 SETTING TOO HIGH, PROCEDURE ABORTED" GOTO ABPRC ENDIF /FBSM1V,00$SETHV ; MCP 1 Set to parameter SETHV WAIT ; VERIFY BUFFER CONTENTS /SEND WRITE "MCP 1 HV SET TO D$SETHV" ELSE GOTO ABPRC ENDIF ENDIF IF (PRCCMD = "SETTWO") THEN ASK "ENTER MCP2 HIGH VOLTAGE SETTING (0 to 200 dec)?"SETHV WRITE "MCP2-HV SETTING $SETHV" ASK "CONFIRM MCP2 HIGH VOLTAGE SETTING (Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN SETHV = %HEX(SETHV,2) WAIT ;Check FSSEMB = "ON" with experimenter. WAIT ;Check FSSMBON = "ON" with experimenter. IF (H'$SETHV' > H'C8') THEN WRITE "MCP2 SETTING TOO HIGH, PROCEDURE ABORTED" GOTO ABPRC ENDIF /FBSM2V,00$SETHV ; MCP 2 Set to parameter SETHV WAIT ; VERIFY BUFFER CONTENTS /SEND WRITE "MCP 2 HV SET TO D$SETHV" ELSE GOTO ABPRC ENDIF ENDIF ABPRC: ;#*********************************************************************** ;# 5.0 Final Constraints ;# ;# TBD ;# ;#*********************************************************************** ENDPROC