This program is a nice addition to simply monitor your station health and it can be really valuable when troubleshooting. The program pulls the parameters straight from the status table. You don`t need to declare public variables and the table would look something like this:

'Diagnostics Data Table (should be collected on a daily basis)
DataTable(Diagnostics,True,365)
  DataInterval(0,1440,Min,0)
  CardOut(0,365)
  Maximum(1,battery_voltage,FP2,False,False)
  Minimum(1,battery_voltage,FP2,False,False)
  Maximum(1,Panel_Temperature,FP2,False,False)
  Minimum(1,Panel_Temperature,FP2,False,False)
  Sample(1,Status.OSVersion,String)
  Sample(1,Status.SerialNumber,IEEE4)
  Sample(1,Status.StartTime,IEEE4)
  Sample(1,Status.StationName,String)
  Sample(1,Status.RunSignature,IEEE4)
  Sample(1,Status.ProgSignature,IEEE4)
  Sample(1,Status.LithiumBattery,IEEE4)
  Sample(1,Status.Low12VCount,IEEE4)
  Sample(1,Status.SkippedScan,IEEE4)
  Sample(1,Status.CPUDriveFree,IEEE4)
  Sample(1,Status.USRDriveFree,IEEE4)
  Sample(1,Status.CardBytesFree,IEEE4)
EndTable