using System; using TBF.BenchControl.GenericDevices; using TBF.Boxes; namespace TBF.BenchControl.Sequences { public class ProcessData { public static IBenchInfo BenchInfo; public static FloatBox AmbientTemp = new FloatBox() { Name = "Ambient Temperature", Format = "F1" }; /// [Celsius] public static FloatBox AmbientPressure = new FloatBox() { Name = "Ambient Pressure", Format = "F1" }; public static FloatBox AmbientHumidity = new FloatBox() { Name = "Ambient Humidity", Format = "F1" }; /// [%] public static FloatBox TempIn = new FloatBox() { Name = "Temperature In", Format = "F2" }; /// [Celsius] public static FloatBox TempOut = new FloatBox() { Name = "Temperature Out", Format = "F2" }; /// [Celsius] public static FloatBox TempDiv = new FloatBox() { Name = "Temperature Div", Format = "F2" }; /// [Celsius] public static FloatBox PressureUp = new FloatBox() { Name = "Pressure In", Format = "F3", Factor = 0.01f }; public static FloatBox PressureDown = new FloatBox() { Name = "Pressure Out", Format = "F3", Factor = 0.01f }; public static float LtrPerRefPulse; /// to calculate the ref.volume public static int RefPulses; public static FloatBox RefFreq = new FloatBox() { Name = "RefFreq", Format = "F2" }; public static FloatBox RefFlow = new FloatBox() { Name = "RefFlow", Format = "F2" }; /// [m3/h] public static FloatBox Mass = new FloatBox() { Name = "Mass", Format = "F3" }; /// [kg] public static FloatBox StartMass = new FloatBox() { Name = "Start Mass", Format = "F3" }; /// [kg] public static FloatBox EndMass = new FloatBox() { Name = "End Mass", Format = "F3" }; /// [kg] public static DateTime TestStartTime; public static DateTime TestEndTime; public static Results.BatchResults BatchRslts; public static IRegisterReader[] RegisterReaders; /// static ProcessData() { /// /// RegisterReaders should never be null, RegisterReader.Length should be Config.Data.WMsCount /// RegisterReader[i] where i = 0..Config.Data.WMsCount-1 may be null and should always be tested /// RegisterReaders = new IRegisterReader[Config.Data.WMsCount]; } /// /// To clear process values at the beginning of each test /// protected void ClearProcessValues() { for (int i = 0; i < RegisterReaders.Length; i++) { if (RegisterReaders[i] != null) RegisterReaders[i].Clear(); } RefPulses = 0; RefFreq.Clear(); RefFlow.Clear(); Mass.Clear(); StartMass.Clear(); EndMass.Clear(); } /// /// Statistics of 'continuous' variables (temperature, pressure, flow, etc.) /// public static FloatStatistics AmbientTempStat = new FloatStatistics(); public static FloatStatistics AmbientPressureStat = new FloatStatistics(); public static FloatStatistics AmbientHumidityStat = new FloatStatistics(); public static FloatStatistics TempInStat = new FloatStatistics(); public static FloatStatistics TempOutStat = new FloatStatistics(); public static FloatStatistics TempDivStat = new FloatStatistics(); public static FloatStatistics PressureUpStat = new FloatStatistics(); public static FloatStatistics PressureDownStat = new FloatStatistics(); protected static void ClearAllStatistics() { AmbientTempStat.Clear(); AmbientPressureStat.Clear(); AmbientHumidityStat.Clear(); TempInStat.Clear(); TempOutStat.Clear(); TempDivStat.Clear(); PressureUpStat.Clear(); PressureDownStat.Clear(); } protected static void UpdateAllStatistics() { AmbientTempStat.Update(AmbientTemp); AmbientPressureStat.Update(AmbientPressure); AmbientHumidityStat.Update(AmbientHumidity); TempInStat.Update(TempIn); TempOutStat.Update(TempOut); TempDivStat.Update(TempDiv); PressureUpStat.Update(PressureUp); PressureDownStat.Update(PressureDown); } } }