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
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.
$tsclagtime = 500; # SIM translation $falagtime = 200; # SIM Focus $gratlagtime = 1000; # Grating insertion/retraction time $qtlagtime = 2000; # Slew time
$tscposlim = 5; # steps $faposlim = 5; # steps $ralim = 0.05; # degrees = 3 min $declim = 0.05; # degrees = 3 min $rolllim = 0.05; # degrees = 3 min
$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
11/21/00 dumps_mon_2.0
11/29/00 dumps_mon_2.1