PROC F_FL_H_DEFLHV ;Version 2 GOTO BEGIN ; ;#******************************************************************* ;# ****PROCEDURE HEADER**** ;# ;# 1.0 Introduction ;# ;# 1.1 FOT Name: F_FL_H_DEFLHV ;# MMS-F Name: ;# SUM Issue: ;# Simulator Validation Status ;# ;# 1.2 Date Created: 15-NOV-95 PEL ;# Revision: 1. 19-DEC-95 BS ;# 2. 20-DEC-95 MH ;# ;# 1.3 Change Description: ;# ;# 1. Add version #. Correct for lack of comment symbols. ;# Add waits for cmd_state = available where required. ;# 2. Replaced IF/THEN checks for FSSHDON = OFF and FSSHDON ;# = "OFF" with hard waits to check with experimenter. ;# Defined by OCD-121. ;# ;# 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 Deflection ;# HV. ;# ;# Only one menu 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 ;# HSTOF Defl-HV Delta = 20 max. unless authorized by ;# experimenter ;# ;# ********************************************************************* ;# 4.0 STEPS: BEGIN: LOCAL PRCCMD,LIMIT,DELTA,SETHV,HLIMIT,HDELTA,X1 IF (P@CMD_STATE#TELECOMMAND = "AVAILABLE") THEN ELSE /CLEAR ;Clearing the Command Buffer. ENDIF WRITE "HSTOF DEFL. LIMIT SET = LIMIT" WRITE "HSTOF DEFLECTION ON = HVON" WRITE "HSTOF DEFLECTION OFF = HVOFF" WRITE "HSTOF DEFL. VOLTAGE SET = SETDAC" ASK "SELECT HV COMMAND (DISPLAYED ON SCREEN)?"PRCCMD PRCCMD = %UPPER(PRCCMD) IF (PRCCMD = "LIMIT") THEN ASK "ENTER HSTOF HV LIMIT (0 to 255 dec)?"LIMIT ASK "ENTER HSTOF HV DELTA (0 to 20 dec)?"DELTA WRITE "HSTOF HV LIMIT $LIMIT" WRITE "HSTOF HV DELTA $DELTA" ASK "CONFIRM LIMIT AND DELTA SETTING (Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN HLIMIT = %HEX(LIMIT,2) HDELTA = %HEX(DELTA,2) IF (DELTA > 20) THEN WRITE "HSTOF DELTA TOO HIGH, COMMAND NOT SENT " GOTO ABPRC ENDIF /FBSLIMHD,$HDELTA$HLIMIT ;HSTOF Defl. LIMIT SET TO LIMIT, DELTA WAIT ; VERIFY BUFFER CONTENTS /SEND WRITE "HSTOF LIMIT SET TO D$LIMIT" WRITE "HSTOF DELTA SET TO D$DELTA" ELSE GOTO ABPRC ENDIF ENDIF IF (PRCCMD = "HVON") THEN ASK "CONFIRM SWITCH ON OF HSTOF DEFL HV ?(Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN /FBSHDON ; HSTOF deflection on WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@CMD_STATE#TELECOMMAND = "AVAILABLE") /FBSENAHD ; Enable HSTOF deflection WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@FSSHDON = "On") WAIT UNTIL (P@FSSEHD = "On") WRITE "HSTOF DEFL HV SWITCHED ON" ELSE GOTO ABPRC ENDIF ENDIF IF (PRCCMD = "HVOFF") THEN ASK "CONFIRM TURN-OFF OF HSTOF DEFL HV ?(Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN /FBSHDOF ; HSTOF deflection OFF WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@CMD_STATE#TELECOMMAND = "AVAILABLE") /FBSDISHD ; Disable HSTOF deflection WAIT ; VERIFY BUFFER CONTENTS /SEND WAIT UNTIL (P@FSSHDON = "Off") WAIT UNTIL (P@FSSEHD = "Off") WRITE "HSTOF DEFL HV TURNED OFF" ELSE GOTO ABPRC ENDIF ENDIF IF (PRCCMD = "SETDAC") THEN ASK "ENTER HSTOF HV SETTING (0 to 255 dec)?"SETHV WRITE "HSTOF DEFL-HV SETTING $SETHV" ASK "CONFIRM HSTOF DEFL. SETTING (Y OR N)" ANSWER = %UPPER(ANSWER) IF (ANSWER = "Y") THEN X1 = %HEX(SETHV,2) WAIT ;CHECK FSSDHVON = "ON" WITH EXPERIMENTER WAIT ;CHECK FSSEHD = "ON" WITH EXPERIMENTER /FBSHDV,00$X1 ;HSTOF DEFL SET TO SETHV WAIT ;VERIFY BUFFER CONTENTS /SEND WRITE "HSTOF DEFL HV SET TO $SETHV " ELSE GOTO ABPRC ENDIF ENDIF ABPRC: ;#******************************************************************* ;# 5.0 Final Constraints ;# ;# TBD ;# ;#******************************************************************* ENDPROC