diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..61c954dba --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +TestBenchFramework/bin/ +TestBenchFramework/obj/ +TBFSetup/ +Doc/ +*.suo \ No newline at end of file diff --git a/TODO.txt b/TODO.txt new file mode 100644 index 000000000..301bebc5d --- /dev/null +++ b/TODO.txt @@ -0,0 +1,85 @@ += ked dam na DN100 zdruzeny test tak na konci testu pri prepisovani vysledkov padne: + pouzije sa index vodomera 2 (treti), pricom su ale iba 2 vodomery += vyriesit znovunacitanie procedury po zmene + +----- +Nove: +----- +- nezobrazit DebugLevel Inherit pre componenty ktore nemaju parenta +- ako osetrit nepodarenu detekciu (retry / continue) ? +- RefPulses pre camery +- Transitions sa nedaju vymazat + +------ +Stare: +------ +- User interface pre interaktivne ovladanie kamier +- stop procedury a ulozenie vysledkov vodomerov - prerobit +- ako sa vysporiadat s detekciou: zobrazovanie progressu, vysledky, zobrazovanie vysledkov? + Podobne plati pre ine testy ako tlakova skuska, atp. +- process page je napisana iba pre jeden zdruzeny vodomer +- vyber vysledkov na obrazovke +- IDC100 kamera: Ako sa vysporiadat so sync. impulzami, casom startu a stopu? +- PID cisla pre kazdu regulacnu cestu zvlast +- Ked je WaterMeterStates dialog a dam Stop -> ide do Error +- Kvoli FixedStart testu a kameram by mal RegisterReader vracat 'double' (pripadne 'float') namiesto 'int' (???) +- 'zamykanie' hydraulickej schemy +- upozornit ked sa idu zahodit neulozene zmeny +- Zmen LocalSettings tak aby nebola potrebna metoda Assign() +- Ked sa otvori procedura zobrazit 3. tab +- ucesat logovanie +============================= +- zistit si timing kamery, zadavat v UI cas 1 otacky (alebo spocitat z prietoku ?) +- ked sa zada Pump1/4 power nespravne nie je hlaska dostatocne zavcasu +============ JB ============= +- schovat alebo prelozit do nemciny 'Zobrazit Sim' +- Inicializacia + +--------------- +Prelozit do DE: +--------------- +Data Entry (form) +Printer . . . Druecker +Results to disk +Purge - Begin +Purge - End + +Meter Types Tested + +Add (&Add >) +Arrangement of meters +Arrangement of tests +Available results +Combined meters +Detection completed +Emergency STOP +Flow Selection +Method_selection (Test method selection) + + +in Procedure dialog: + Transition - Start . . . Ubergang - Start + Transition - End . . . . Ubergang - Ende + Target Q [m3/h] . . . . Ziel Q [m3/h] + Relative Q from . . . . Relatives Q von + Relative Q to . . . . . Relatives Q bis + Rate of change . . . . . Aenderungsrate + Detection threshold . . Schwellwert + Component -> Komponente (3x) + Pulses pe liter . . . . Impulse pro Liter + +Messung screen: + vymazat + +Picrures: + Grab + Live + Focus + Camera + +Process screen: + vela + +--- +Zobrazit Sim -> prec (ako?) + diff --git a/TestBenchFramework/BenchControl/BenchId/Component.cs b/TestBenchFramework/BenchControl/BenchId/Component.cs index 6bb7a8c92..41f75d47b 100644 --- a/TestBenchFramework/BenchControl/BenchId/Component.cs +++ b/TestBenchFramework/BenchControl/BenchId/Component.cs @@ -1,5 +1,7 @@ using System; using System.Collections.Generic; +using System.Xml.Serialization; +using log4net; using TBF.BenchControl; namespace TBF.BenchControl.BenchId @@ -9,7 +11,13 @@ namespace TBF.BenchControl.BenchId /// public class Component : ComponentBase, Generic.IComponent { - readonly ComponentCfg benchIdCfg; + private static readonly ILog log = LogManager.GetLogger(typeof(Component)); + public override string ToString() + { + return string.Format("BenchId: Name={0}, TestBenchNr={1}", benchIdCfg.Name, TestBenchNr); + } + + readonly ComponentCfg benchIdCfg; public static void ResetStaticProperties() { } @@ -20,6 +28,8 @@ namespace TBF.BenchControl.BenchId { if (cfg == null) throw new ArgumentNullException("cfg"); this.benchIdCfg = cfg; - } + + log.Debug(this.ToString()); + } } } diff --git a/TestBenchFramework/BenchControl/DataEntry/Munich/EntryForm.cs b/TestBenchFramework/BenchControl/DataEntry/Munich/EntryForm.cs index c88f70453..1f59f6beb 100644 --- a/TestBenchFramework/BenchControl/DataEntry/Munich/EntryForm.cs +++ b/TestBenchFramework/BenchControl/DataEntry/Munich/EntryForm.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using log4net; using TBF.BenchControl; using TBF.BenchControl.GenericDevices; @@ -7,7 +8,14 @@ namespace TBF.BenchControl.DataEntry.Munich { public class EntryForm : Generic.IComponent, IOperation, IDataEntry, IHasCycleBeginForm, IHasCycleEndForm, IHasProtocolTitle { - readonly EntryFormCfg entryFormCfg; + private static readonly ILog log = LogManager.GetLogger(typeof(EntryForm)); + public override string ToString() + { + return string.Format("Name={0}", Name); + } + + + readonly EntryFormCfg entryFormCfg; public Generic.IComponentCfg Cfg { get { return entryFormCfg; } } public static void ResetStaticProperties() { } @@ -20,10 +28,10 @@ namespace TBF.BenchControl.DataEntry.Munich public string MainBeginStateText { get { return mainBeginStateText; } } string mainBeginStateText; - public string AuxBegintateText { get { return auxBeginStateText; } } + public string AuxBeginStateText { get { return auxBeginStateText; } } string auxBeginStateText; - public string ProtocolTitle { get { return protocolTitle; } } + public string ProtocolTitle { get { return protocolTitle; } } string protocolTitle; @@ -60,7 +68,9 @@ namespace TBF.BenchControl.DataEntry.Munich if (cfg == null) throw new ArgumentNullException("cfg"); this.entryFormCfg = cfg; currentOp = CurrentOp.None; - } + + log.Debug(this.ToString()); + } /// Reference to the operation public IOperation ShowCycleBeginFormOp(IList waterMeters) diff --git a/TestBenchFramework/BenchControl/DataEntry/Munich3/EntryForm.cs b/TestBenchFramework/BenchControl/DataEntry/Munich3/EntryForm.cs index d94b44f04..3825378a1 100644 --- a/TestBenchFramework/BenchControl/DataEntry/Munich3/EntryForm.cs +++ b/TestBenchFramework/BenchControl/DataEntry/Munich3/EntryForm.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using log4net; using TBF.BenchControl; using TBF.BenchControl.GenericDevices; @@ -7,7 +8,14 @@ namespace TBF.BenchControl.DataEntry.Munich3 { public class EntryForm : Generic.IComponent, IOperation, IDataEntry, IHasCycleBeginForm, IHasCycleEndForm, IHasProtocolTitle { - readonly EntryFormCfg entryFormCfg; + private static readonly ILog log = LogManager.GetLogger(typeof(EntryForm)); + public override string ToString() + { + return string.Format("Name={0}", Name); + } + + + readonly EntryFormCfg entryFormCfg; public Generic.IComponentCfg Cfg { get { return entryFormCfg; } } public static void ResetStaticProperties() { } @@ -54,7 +62,9 @@ namespace TBF.BenchControl.DataEntry.Munich3 if (cfg == null) throw new ArgumentNullException("cfg"); this.entryFormCfg = cfg; currentOp = CurrentOp.None; - } + + log.Debug(this.ToString()); + } /// Reference to the operation public IOperation ShowCycleBeginFormOp(IList waterMeters) diff --git a/TestBenchFramework/BenchControl/DataEntry/WMStates/EntryForm.cs b/TestBenchFramework/BenchControl/DataEntry/WMStates/EntryForm.cs index a51cc3a16..a345e4801 100644 --- a/TestBenchFramework/BenchControl/DataEntry/WMStates/EntryForm.cs +++ b/TestBenchFramework/BenchControl/DataEntry/WMStates/EntryForm.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using log4net; using TBF.BenchControl; using TBF.BenchControl.GenericDevices; @@ -7,7 +8,14 @@ namespace TBF.BenchControl.DataEntry.WMStates { public class EntryForm : Generic.IComponent, IOperation, IDataEntry, IHasWMStatesForm { - readonly EntryFormCfg entryFormCfg; + private static readonly ILog log = LogManager.GetLogger(typeof(EntryForm)); + public override string ToString() + { + return string.Format("Name={0}", Name); + } + + + readonly EntryFormCfg entryFormCfg; public Generic.IComponentCfg Cfg { get { return entryFormCfg; } } public static void ResetStaticProperties() { } @@ -63,7 +71,9 @@ namespace TBF.BenchControl.DataEntry.WMStates serialNr = new string[Program.WMsCount]; wmState = new float[Program.WMsCount]; currentOp = CurrentOp.None; - } + + log.Debug(this.ToString()); + } /// Reference to the operation public IOperation ShowCycleBeginFormOp(IList waterMeters) diff --git a/TestBenchFramework/BenchControl/Elde/ControlBoardDev.cs b/TestBenchFramework/BenchControl/Elde/ControlBoardDev.cs index 6ec4eca25..25b85504b 100644 --- a/TestBenchFramework/BenchControl/Elde/ControlBoardDev.cs +++ b/TestBenchFramework/BenchControl/Elde/ControlBoardDev.cs @@ -16,7 +16,10 @@ namespace TBF.BenchControl.Elde /// Error: /// private static readonly ILog log = LogManager.GetLogger(typeof(ControlBoardDev)); - public override string ToString() { return string.Format("ControlBoardDev on com{0}", controlBoardCfg.ComPortNr); } + public override string ToString() + { + return string.Format("ControlBoardDev: Name={0}, ComPort={1}", controlBoardCfg.Name, controlBoardCfg.ComPortNr); + } public static void ResetStaticProperties() { } diff --git a/TestBenchFramework/BenchControl/Elde/Diverter/Diverter.cs b/TestBenchFramework/BenchControl/Elde/Diverter/Diverter.cs index d190fa317..3316c8966 100644 --- a/TestBenchFramework/BenchControl/Elde/Diverter/Diverter.cs +++ b/TestBenchFramework/BenchControl/Elde/Diverter/Diverter.cs @@ -25,7 +25,7 @@ namespace TBF.BenchControl.Elde.Diverter readonly ControlBoardDev controlBoard; - public readonly ulong Mask; /// derived from bitPosition in the constructor + readonly ulong mask; /// derived from bitPosition in the constructor public Diverter(DiverterCfg cfg, IList components) @@ -37,14 +37,14 @@ namespace TBF.BenchControl.Elde.Diverter if (controlBoard == null) throw new Exception("Cannot find " + Name + " parent"); if (cfg.BitPosition < 0 || cfg.BitPosition >= 64) throw new ArgumentOutOfRangeException("position"); - this.Mask = (((ulong)1) << cfg.BitPosition); + this.mask = (((ulong)1) << cfg.BitPosition); log.Debug(this.ToString()); } public bool State { - get { return (controlBoard.Route & Mask) != 0; } + get { return (controlBoard.Route & mask) != 0; } } } } diff --git a/TestBenchFramework/BenchControl/Elde/FlowMeter/FlowMeter.cs b/TestBenchFramework/BenchControl/Elde/FlowMeter/FlowMeter.cs index 23104531a..dfa24ca4d 100644 --- a/TestBenchFramework/BenchControl/Elde/FlowMeter/FlowMeter.cs +++ b/TestBenchFramework/BenchControl/Elde/FlowMeter/FlowMeter.cs @@ -14,7 +14,7 @@ namespace TBF.BenchControl.Elde.FlowMeter private static readonly ILog log = LogManager.GetLogger(typeof(FlowMeter)); public override string ToString() { - return string.Format("FlowMeter({0},{1})", Name, Idx1); + return string.Format("FlowMeter: Name={0}, Idx1={1}", Name, Idx1); } public static void ResetStaticProperties() { } @@ -28,9 +28,8 @@ namespace TBF.BenchControl.Elde.FlowMeter public readonly ControlBoardDev ControlBoard; - - readonly float nominalFlow; public float NominalFlow { get { return nominalFlow; } } + readonly float nominalFlow; public float LtrPerPulse { get { return nominalFlow / 7200.0f; } } diff --git a/TestBenchFramework/BenchControl/Elde/FlowMeterTwins/FlowMeter.cs b/TestBenchFramework/BenchControl/Elde/FlowMeterTwins/FlowMeter.cs index 27e39ab56..ccc927a41 100644 --- a/TestBenchFramework/BenchControl/Elde/FlowMeterTwins/FlowMeter.cs +++ b/TestBenchFramework/BenchControl/Elde/FlowMeterTwins/FlowMeter.cs @@ -14,8 +14,8 @@ namespace TBF.BenchControl.Elde.FlowMeterTwins private static readonly ILog log = LogManager.GetLogger(typeof(FlowMeter)); public override string ToString() { - return string.Format("FlowMeter({0})", Name); - } + return string.Format("FlowMeter: Name={0}", Name); + } public static void ResetStaticProperties() { } @@ -23,15 +23,17 @@ namespace TBF.BenchControl.Elde.FlowMeterTwins public Generic.IComponentCfg Cfg { get { return flowMeterCfg; } } public string Name { get { return flowMeterCfg.Name; } } - public int Idx1 { get { return 0; } } - public IList Corrections { get { return flowMeterCfg.Corrections; } } + + public IList Corrections { get { return flowMeterCfg.Corrections; } } - public readonly ControlBoardDev ControlBoard; + public int Idx1 { get { return 0; } } + + public readonly ControlBoardDev ControlBoard; public readonly TBF.BenchControl.Elde.FlowMeter.FlowMeter FlowMeter1; public readonly TBF.BenchControl.Elde.FlowMeter.FlowMeter FlowMeter2; - readonly float nominalFlow; public float NominalFlow { get { return nominalFlow; } } + readonly float nominalFlow; /// The nominal flowed of a pair of flow meters is reached at 4000Hz public float LtrPerPulse { get { return nominalFlow / 14400.0f; } } diff --git a/TestBenchFramework/BenchControl/Elde/PressureMeter/PressureMeter.cs b/TestBenchFramework/BenchControl/Elde/PressureMeter/PressureMeter.cs index 853c3ed46..15e78e720 100644 --- a/TestBenchFramework/BenchControl/Elde/PressureMeter/PressureMeter.cs +++ b/TestBenchFramework/BenchControl/Elde/PressureMeter/PressureMeter.cs @@ -15,7 +15,7 @@ namespace TBF.BenchControl.Elde.PressureMeter private static readonly ILog log = LogManager.GetLogger(typeof(PressureMeter)); public override string ToString() { - return string.Format("PressureMeter({0},{1})", Name, Idx0); + return string.Format("PressureMeter: Name={0}, Idx0={1}", Name, Idx0); } public static void ResetStaticProperties() { } diff --git a/TestBenchFramework/SelectComponentClassDlg.Designer.cs b/TestBenchFramework/SelectComponentClassDlg.Designer.cs index a8efa674e..e5990c214 100644 --- a/TestBenchFramework/SelectComponentClassDlg.Designer.cs +++ b/TestBenchFramework/SelectComponentClassDlg.Designer.cs @@ -79,7 +79,7 @@ this.MinimizeBox = false; this.Name = "ComponentAddDlg"; this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; - this.Load += new System.EventHandler(this.AddComponentDlg_Load); + this.Load += new System.EventHandler(this.SelectComponentClassDlg_Load); this.ResumeLayout(false); this.PerformLayout(); diff --git a/TestBenchFramework/SelectComponentClassDlg.cs b/TestBenchFramework/SelectComponentClassDlg.cs index 661eb15ed..23390de1a 100644 --- a/TestBenchFramework/SelectComponentClassDlg.cs +++ b/TestBenchFramework/SelectComponentClassDlg.cs @@ -23,7 +23,7 @@ namespace TBF } /// Load components from BenchControl.SupportedComponents - private void AddComponentDlg_Load(object sender, EventArgs e) + private void SelectComponentClassDlg_Load(object sender, EventArgs e) { if (selectedIndex >= 0 && selectedIndex < BenchControl.TbfComponents.Factories.Count) {