Skip to content

chandra-mta/config_mon

Repository files navigation

 dumps_mon  aka  config_mon
 Monitors and reports deviations from expected spacecraft configuration
  using dumped telemetry in non-realtime.

  found at colossus: /home/brad/Dumps/Dumps_mon/dumps_mon.pl
  run with cronjob by mta using interface /home/brad/Dumps/Dumps_mon/mta_run

 This program checks once per hour for new telemetry dump data.

 Its input comes from another program that has processed the raw 
  telemetry through acorn.
  Input is dumps_mon.pl -c<ccdm> -p<pcad>
   where ccdm is acorn output containing TSCPOS, FAPOS and gratings data
         pcad is acorn output containing quaternion data

  This program compares this input with expected MP values.
  Expected values come from pred_state.rdb,
        see HEAD://proj/gads6/ops/Chex
  Values checked are TSC position 
                     FA position
                     RA, Dec, Roll
                     Grating angles A/B sides in agreement
     Currently, HETG/LETG position (inserted/retracted) is not checked

  If descrepencies are found, e-mail is sent to sot_yellow_alert
   (currently sent only to brad swolk rac)

  At most, one e-mail will be sent per dump file.
  Only the first violation of each of the checked values
   is reported in the e-mail.
  If a violated value, regains sync with the expected value,
   a recovery is reported in the e-mail.

# ************** Program Parameters ***************************
#  allowable lag time for moves (seconds)
$tsclagtime = 500;   # SIM translation
$falagtime = 200;    # SIM Focus
$gratlagtime = 1000; # Grating insertion/retraction time
$qtlagtime = 2000;   # Slew time

#  violation limits
$tscposlim = 5;  # steps
$faposlim = 5;   # steps
$ralim = 0.05;   # degrees = 3 min
$declim = 0.05;  # degrees = 3 min
$rolllim = 0.05; # degrees = 3 min

#  gratings parameters
$gratinpar = 20;  # position where gratings is considered inserted
$gratoutpar = 65;  # position where gratings is considered retracted
$gratlim = 10;    # allowable disagreement between A and B readings
# *************************************************************

Basic algorithm goes something like this:

set violation = false
for each input_time {
  find corresponding position in expected state file (esf)
  for each value to be checked (tscpos, fapos, pcad) {
    look backward in esf for last state transition 
    if (input_time - last_transition_time > allowable_lag_time) then
      if (|actual_value - expected_value| > violation_limit and
            violation = false) then
        write some details about the violation
        set violation = true
      if (|actual_value - expected_value| < violation_limit and
            violation = true) then
        write some details about the recovery
        set violation = false
}
if any violations occurred, send e-mail alerts.  

Revisions 
10/15/00 dumps_mon_1.0

11/20/00 dumps_mon_1.2
         - fixed acorn y2k bug
         - reinterpret pred_state file so there are no undefs
           then lag time determines undefs

11/21/00 dumps_mon_2.0
         - use Tom Aldcroft's routines for comparisons
         - so dumps_mon basically just reads telemetry, passes to chex,
           and reports mismatches.

11/29/00 dumps_mon_2.1
         - do not report violations that exhibit recovery within n seconds
         - add sot_lead to e-mail list

About

This is the MTA dumps monitoring scripts.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published