Something went wrong on our end
-
Rolf Bork authored
git-svn-id: https://redoubt.ligo-wa.caltech.edu/svn/advLigoRTS/trunk@3665 6dcd42c9-f523-4c6d-aada-af552506706e
Rolf Bork authoredgit-svn-id: https://redoubt.ligo-wa.caltech.edu/svn/advLigoRTS/trunk@3665 6dcd42c9-f523-4c6d-aada-af552506706e
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
HWWD.pm 16.99 KiB
package CDS::HWWD;
use Exporter;
@ISA = ('Exporter');
#// \page SusHWWD HWWD.pm
#// \b Description: \n
#//
#// This part is used to monitor and control a SUS Hardware WatchDog (HWWD) chassis. \n
#// \n
#// \b Operation: \n
#// \n
#// - Input = Single word, with the lower four bits received via a binary input channel \n
#// from the HWWD.\n
#// - Outputs:
#// - 1) HWWD Status, a reflection of the input signal.
#// - 2) RESET/COMMAND output: To be connected to binary output attached to HWWD RESET input.
#// - Monitoring Functions:
#// This part monitors the 4 status bits from the HWWD and reports them to an EPICS record (see \n
#// _STATE definition in printEpics). Additionally, this part provides two timers (1 sec downcounters)\n
#// to provide an estimate of time until the HWWD will trip the connected SUS and SEI systems.
#// - Control Functions:
#// This part provides the capability to send control data to the HWWD via its RESET input line. This \n
#// RESET line is connected via a single binary output channel of a BIO card. \n
#// - 1) HWWD Reset
#// - 2) Set HWWD RMS Trip Point (60 to 360 mV RMS)
#// - 3) Set HWWD Time to Trip (T2T) (2 to 30 minutes)
#// - 4) Read RMS and T2T settings from HWWD
#//
#// \n
#// \b SUBROUTINES ************************* \n\n
#// \b sub \b partType \n
#// Required subroutine for RCG \n
#//
#// Returns HWWD \n\n
sub partType {
my ($i,$j) = @_;
return HWWD;
}
#// \b sub \b printHeaderStruct \n
#// Required subroutine for RCG \n
#// Print Epics communication structure into a header file \n
#// Current part number is passed as first argument \n\n
#// This part passes 8 double type values to/from the EPICS sequencer. All of these have corresponding \n
#// EPICS variables.
#// - _STATE = HWWD Status, bits defined as. \n
#// - 0 = SEI Trip\n
#// - 1 = Photodiode RMS Fault \n
#// - 2 = SUS Trip \n
#// - 3 = LED Fault \n
#// - _CMD = control command to be sent to HWWD \n
#// - 1 = Reset\n
#// - 2 = Read Settings\n
#// - 3 = Write RMS trip point setting\n
#// - 4 = Write T2T setting\n
#// - _RMS_REQ = Requested RMS trip point setting \n
#// - _TIME_REQ = Requested T2T setting \n
#// - _RMS_RD = RMS trip point setting read back from HWWD \n
#// - _TIME_RD = T2T setting read back from HWWD. \n
#// - _TTF_SEI = Estimated time to SEI trip \n
#// - _TTF_SUS = Estimated time to SUS trip \n
#// - _MODE = Present software state \n
#//
sub printHeaderStruct {
my ($i) = @_;
my $MYNAME = $::xpartName[$i];
print ::OUTH <<END;
double $MYNAME\_STATE;