aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI
diff options
context:
space:
mode:
authorVictoria Plitt <Victoria.Plitt@twine-s.com>2020-03-17 17:38:06 +0200
committerVictoria Plitt <Victoria.Plitt@twine-s.com>2020-03-17 17:38:06 +0200
commit8d6007cb5c17c76179f9e83adadc729bf77f952e (patch)
tree63b5c17780aa603cbd83dd1c90340d7e58341f21 /Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI
parentab31d366a5d9e5c6f8e9ce1bcb4e76e9ab46d526 (diff)
downloadTango-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/Utilities/Tango.DispenserAnalyzer.UI')
-rw-r--r--Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/FlowAnalyser.cs69
-rw-r--r--Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/PressureBuildUpAnalyser.cs2
-rw-r--r--Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/PrimingAnalyzer.cs2
-rw-r--r--Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/ReliabilityTestAnalyser.cs15
-rw-r--r--Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Tango.DispenserAnalyzer.UI.csproj1
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" />