diff options
| author | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2020-03-17 17:38:06 +0200 |
|---|---|---|
| committer | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2020-03-17 17:38:06 +0200 |
| commit | 8d6007cb5c17c76179f9e83adadc729bf77f952e (patch) | |
| tree | 63b5c17780aa603cbd83dd1c90340d7e58341f21 /Software/Visual_Studio | |
| parent | ab31d366a5d9e5c6f8e9ce1bcb4e76e9ab46d526 (diff) | |
| download | Tango-8d6007cb5c17c76179f9e83adadc729bf77f952e.tar.gz Tango-8d6007cb5c17c76179f9e83adadc729bf77f952e.zip | |
Dispenser Analyzer. new version. Added changes to flow test - criteria for passing test.
Diffstat (limited to 'Software/Visual_Studio')
5 files changed, 66 insertions, 23 deletions
diff --git a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/FlowAnalyser.cs b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/FlowAnalyser.cs index 16b8df8f1..9ac30db40 100644 --- a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/FlowAnalyser.cs +++ b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/FlowAnalyser.cs @@ -15,6 +15,7 @@ using System.Collections.ObjectModel; namespace Tango.DispenserAnalyzer.UI.Analyzers { [Analyzer("flow")] + public class FlowAnalyser : IAnalyzer { public Task<List<IAnalyzerResult>> Process(List<DispenserSample> csvRows) @@ -62,8 +63,13 @@ namespace Tango.DispenserAnalyzer.UI.Analyzers var rangeItems =(filteredValues.Skip(i).Take(periodCalcMaxMin).ToList()); differenceMaxMin.Add((int)(rangeItems.Max(t => t.Pressure) - rangeItems.Min(t => t.Pressure))); } + FlowAverageAnalyzerResult averageResult = new FlowAverageAnalyzerResult(); + averageResult.AverageValue = filteredValues.Average(t => t.Pressure); + averageResult.Result = (averageResult.AverageValue <= 1800 && averageResult.AverageValue >= 1500) ? AnalyzerResultValue.Passed : AnalyzerResultValue.Failed; + results.Add(averageResult); + FlowAnalyzerResult result = new FlowAnalyzerResult(); - result.AverageValue = filteredValues.Average(t => t.Pressure); + result.AverageValue = averageResult.AverageValue; result.SetLocalErrors(differenceMaxMin); results.Add(result); } @@ -73,8 +79,8 @@ namespace Tango.DispenserAnalyzer.UI.Analyzers int avgMinIndex = rangeTestValues.Select(x => x.Index).Min(); int avgMaxIndex = rangeTestValues.Select(x => x.Index).Max(); double totalsec = TimeSpan.FromMilliseconds((avgMaxIndex - avgMinIndex) * 100).TotalSeconds; - result.Time = totalsec.ToString() + " sec (succeed for period between 8 and 11 sec)"; ; - result.Result = (totalsec <= 11 && totalsec >= 8) ? AnalyzerResultValue.Passed : AnalyzerResultValue.Failed; + result.Time = totalsec.ToString() + " sec (succeed for period between 7 and 12 sec)"; ; + result.Result = (totalsec <= 12 && totalsec >= 7) ? AnalyzerResultValue.Passed : AnalyzerResultValue.Failed; results.Add(result); } } @@ -82,13 +88,22 @@ namespace Tango.DispenserAnalyzer.UI.Analyzers return results; }); } - - public class FlowAnalyzerResult : AnalyzerResultBase + public class FlowAverageAnalyzerResult : AnalyzerResultBase { - #region Properties [Description("Average Value")] public double AverageValue { get; set; } + public FlowAverageAnalyzerResult() : base() + { + AverageValue = 0.0; + Result = AnalyzerResultValue.Undetermined; + } + } + + public class FlowAnalyzerResult : AnalyzerResultBase + { + #region Properties + [Description("Max Error")] public string LocalErrors { get; set; } @@ -122,7 +137,9 @@ namespace Tango.DispenserAnalyzer.UI.Analyzers get { return _to; } set { _to = value; RaisePropertyChangedAuto();} } - + + public double AverageValue { get; set; } + #endregion Properties public FlowAnalyzerResult():base() @@ -141,8 +158,8 @@ namespace Tango.DispenserAnalyzer.UI.Analyzers /// <param name="differenceMaxMin">The difference maximum minimum.</param> public void SetLocalErrors(List<int> differenceMaxMin) { - int count = differenceMaxMin.Where(x => x < 25 && x >= 20).Count(); - Result = (count <= 10) ? AnalyzerResultValue.Passed : AnalyzerResultValue.Failed; + int count = differenceMaxMin.Where(x => x > 25 ).Count(); + Result = (count == 0) ? AnalyzerResultValue.Passed : AnalyzerResultValue.Failed; int max_key = FindMaxErrorObject(differenceMaxMin); @@ -173,20 +190,30 @@ namespace Tango.DispenserAnalyzer.UI.Analyzers double merror = BuildMeasurementError(range_values); double sum = 0; int max_key = 0; - for (int i = countValArr.Count() - 1; i >= 0 ; i--) + if(countValArr.Count() > 0) { - sum += countValArr[i].Value; - if (max_key == 0) - max_key = (int)countValArr[i].Key; - if (sum >= merror) - { - double persentageOfError = countValArr[i].Key / AverageValue * 100; - int range = (int)countValArr[i].Key; - int occurrence = countValArr[i].Value; - LocalErrors = $" {persentageOfError.ToString("F2")}% where range = {range.ToString()} and occurrence = {occurrence.ToString()}"; - break; - } + max_key = (int)countValArr[countValArr.Count() - 1].Key; + double persentageOfError = countValArr[countValArr.Count() - 1].Key / AverageValue * 100; + int range = (int)countValArr[countValArr.Count() - 1].Key; + int occurrence = countValArr[countValArr.Count() - 1].Value; + LocalErrors = $" {persentageOfError.ToString("F2")}% where range = {range.ToString()} and occurrence = {occurrence.ToString()}"; } + + + //for (int i = countValArr.Count() - 1; i >= 0 ; i--) + //{ + // sum += countValArr[i].Value; + // if (max_key == 0) + // max_key = (int)countValArr[i].Key; + // if (sum >= merror) + // { + // double persentageOfError = countValArr[i].Key / AverageValue * 100; + // int range = (int)countValArr[i].Key; + // int occurrence = countValArr[i].Value; + // LocalErrors = $" {persentageOfError.ToString("F2")}% where range = {range.ToString()} and occurrence = {occurrence.ToString()}"; + // break; + // } + //} return max_key; } } diff --git a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/PressureBuildUpAnalyser.cs b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/PressureBuildUpAnalyser.cs index 52e0e8934..edc89f030 100644 --- a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/PressureBuildUpAnalyser.cs +++ b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/PressureBuildUpAnalyser.cs @@ -29,7 +29,7 @@ namespace Tango.DispenserAnalyzer.UI.Analyzers int avgMaxIndex = rangeTestValues.Select(x => x.Index).Max(); double totalsec = TimeSpan.FromMilliseconds((avgMaxIndex - avgMinIndex) * 100).TotalSeconds; result.Time = totalsec.ToString() + " sec"; - result.Result = (totalsec <= 11 && totalsec >= 8) ? AnalyzerResultValue.Passed : AnalyzerResultValue.Failed; + result.Result = (totalsec <= 12 && totalsec >= 7) ? AnalyzerResultValue.Passed : AnalyzerResultValue.Failed; results.Add(result); } } diff --git a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/PrimingAnalyzer.cs b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/PrimingAnalyzer.cs index 0756d8ccf..0a0e35371 100644 --- a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/PrimingAnalyzer.cs +++ b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/PrimingAnalyzer.cs @@ -29,7 +29,7 @@ namespace Tango.DispenserAnalyzer.UI.Analyzers int avgMaxIndex = rangeTestValues.Select(x => x.Index).Max(); double totalsec = TimeSpan.FromMilliseconds((avgMaxIndex - avgMinIndex) * 100).TotalSeconds; result.Time = totalsec.ToString() + " sec"; - result.Result = (totalsec <= 11 && totalsec >= 8) ? AnalyzerResultValue.Passed : AnalyzerResultValue.Failed; + result.Result = (totalsec <= 12 && totalsec >= 7) ? AnalyzerResultValue.Passed : AnalyzerResultValue.Failed; } results.Add(result); return results; diff --git a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/ReliabilityTestAnalyser.cs b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/ReliabilityTestAnalyser.cs new file mode 100644 index 000000000..05a0aa32c --- /dev/null +++ b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/ReliabilityTestAnalyser.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.DispenserAnalyzer.UI.Analysis; + +namespace Tango.DispenserAnalyzer.UI.Analyzers +{ + [Analyzer("Reliability")] + public class ReliabilityTestAnalyser: FlowAnalyser + { + } +} diff --git a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Tango.DispenserAnalyzer.UI.csproj b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Tango.DispenserAnalyzer.UI.csproj index 1c2da6a01..9133c2e4b 100644 --- a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Tango.DispenserAnalyzer.UI.csproj +++ b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Tango.DispenserAnalyzer.UI.csproj @@ -88,6 +88,7 @@ <Compile Include="Analyzers\FlowAnalyser.cs" /> <Compile Include="Analyzers\PressureBuildUpAnalyser.cs" /> <Compile Include="Analyzers\PrimingAnalyzer.cs" /> + <Compile Include="Analyzers\ReliabilityTestAnalyser.cs" /> <Compile Include="Analyzers\SealingAnalyzer.cs" /> <Compile Include="Analysis\AnalyzerAttribute.cs" /> <Compile Include="Models\DispenserCsvRow.cs" /> |
