Publish and Evaluate were added to PTest, are specified in Test profiles.

This commit is contained in:
Milan Hanajik 2020-01-13 12:57:15 +01:00
parent 003862a109
commit f029fdbd2e
4 changed files with 92 additions and 32 deletions

View File

@ -24,6 +24,8 @@ namespace Config.Entities
public virtual double TempLimHi { get; set; } /// Upper limit for the controlled temperature
public virtual double PressLimLo { get; set; } /// [bar] min. water pressure
public virtual double PressLimHi { get; set; } /// [bar] max. water pressure
public virtual sbyte Publish { get; set; } /// 0=no, 1=in all protocols, 2=on screen, 3=internal
public virtual bool Evaluate { get; set; }
public virtual sbyte E1 { get; set; } ///
public virtual sbyte E2 { get; set; } ///
@ -76,6 +78,8 @@ namespace Config.Entities
TempLimHi = 25.0; /// [°C]
PressLimLo = 0; /// [bar]
PressLimHi = 16.0; /// [bar]
Publish = (sbyte)Config.Entities.Publish.Always;
Evaluate = true;
E1 = 1;
E2 = 1;
@ -133,6 +137,8 @@ namespace Config.Entities
result.TempLimHi = TempLimHi;
result.PressLimLo = PressLimLo;
result.PressLimHi = PressLimHi;
result.Publish = Publish;
result.Evaluate = Evaluate;
result.E1 = E1;
result.E2 = E2;
@ -184,6 +190,8 @@ namespace Config.Entities
output.WriteLine(TempLimHi.ToString(ci));
output.WriteLine(PressLimLo.ToString(ci));
output.WriteLine(PressLimHi.ToString(ci));
output.WriteLine(Publish.ToString());
output.WriteLine(Evaluate.ToString());
output.WriteLine(E1.ToString());
output.WriteLine(E2.ToString());
@ -238,6 +246,8 @@ namespace Config.Entities
tst.ErrLimHi = double.Parse(input.ReadLine(), ci);
tst.TempLimLo = double.Parse(input.ReadLine(), ci);
tst.TempLimHi = double.Parse(input.ReadLine(), ci);
tst.Publish = sbyte.Parse(input.ReadLine());
tst.Evaluate = bool.Parse(input.ReadLine());
/// TODO (E1 .. E21)
@ -278,8 +288,10 @@ namespace Config.Entities
ln = inp.ReadLine(); if (ln != ErrLimHi.ToString(ci)) { diff.AppendFormat(fmt, "ErrLimHi", ErrLimHi.ToString(ci), ln); };
ln = inp.ReadLine(); if (ln != TempLimLo.ToString(ci)) { diff.AppendFormat(fmt, "TempLimLo", TempLimLo.ToString(ci), ln); };
ln = inp.ReadLine(); if (ln != TempLimHi.ToString(ci)) { diff.AppendFormat(fmt, "TempLimHi", TempLimHi.ToString(ci), ln); };
ln = inp.ReadLine(); if (ln != PressLimLo.ToString(ci)) { diff.AppendFormat(fmt, "Pressure_min", TempLimLo.ToString(ci), ln); };
ln = inp.ReadLine(); if (ln != PressLimHi.ToString(ci)) { diff.AppendFormat(fmt, "Pressure_max", TempLimHi.ToString(ci), ln); };
ln = inp.ReadLine(); if (ln != PressLimLo.ToString(ci)) { diff.AppendFormat(fmt, "Pressure_min", PressLimLo.ToString(ci), ln); };
ln = inp.ReadLine(); if (ln != PressLimHi.ToString(ci)) { diff.AppendFormat(fmt, "Pressure_max", PressLimHi.ToString(ci), ln); };
ln = inp.ReadLine(); if (ln != Publish.ToString()) { diff.AppendFormat(fmt, "Publish", Publish.ToString(), ln); };
ln = inp.ReadLine(); if (ln != Evaluate.ToString()) { diff.AppendFormat(fmt, "Evaluate", Evaluate.ToString(), ln); };
ln = inp.ReadLine(); if (ln != E1.ToString()) { diff.AppendFormat(fmt, "E1", E1.ToString(), ln); };
ln = inp.ReadLine(); if (ln != E2.ToString()) { diff.AppendFormat(fmt, "E2", E2.ToString(), ln); };

View File

@ -22,6 +22,8 @@ namespace Config.Mappings
Map(x => x.TempLimHi);
Map(x => x.PressLimLo);
Map(x => x.PressLimHi);
Map(x => x.Publish);
Map(x => x.Evaluate);
Map(x => x.E1);
Map(x => x.E2);
Map(x => x.E3);

View File

@ -221,6 +221,8 @@ namespace TBF.UI.Bench.TestProfiles
TempLimHi,
PressLimLo,
PressLimHi,
Publish,
Evaluate,
ColumnsCount
}
@ -237,6 +239,18 @@ namespace TBF.UI.Bench.TestProfiles
lv.Columns.Add(new ColumnHeader { Text = string.Format("{0} [°C]", Strings.Temp_lim_hi_chdr), Width = 100 });
lv.Columns.Add(new ColumnHeader { Text = Strings.Press_lim_lo_chdr, Width = 80 });
lv.Columns.Add(new ColumnHeader { Text = Strings.Press_lim_hi_chdr, Width = 80 });
lv.Columns.Add(new ColumnHeader { Text = Strings.Publish, Width = 80 });
lv.Columns.Add(new ColumnHeader { Text = Strings.Evaluate, Width = 80 });
ComboBox publishCBox = new ComboBox(); /// control for Publish
for (Config.Entities.Publish pb = 0; pb < Config.Entities.Publish.Count; pb++)
{
publishCBox.Items.Add(pb.ToDescription());
}
ComboBox yesNoCBox = new ComboBox(); /// control for Evaluate
yesNoCBox.Items.Add(Strings.yes);
yesNoCBox.Items.Add(Strings.no);
metrologyEditors = new Control[]
{
@ -250,6 +264,8 @@ namespace TBF.UI.Bench.TestProfiles
new TextBox(), /// Temp.Lim. +
new TextBox(), /// Press.Lim. -
new TextBox(), /// Press.Lim. +
publishCBox, /// Publish
yesNoCBox, /// Evaluate
};
foreach (var ctrl in metrologyEditors)
@ -293,6 +309,8 @@ namespace TBF.UI.Bench.TestProfiles
lvi.SubItems.Add(pTest.TempLimHi.ToString());
lvi.SubItems.Add(pTest.PressLimLo.ToString());
lvi.SubItems.Add(pTest.PressLimHi.ToString());
lvi.SubItems.Add(((Config.Entities.Publish)pTest.Publish).ToDescription());
lvi.SubItems.Add(pTest.Evaluate ? Strings.yes : Strings.no);
metrologyListViewEx.Items.Add(lvi);
}
@ -301,40 +319,57 @@ namespace TBF.UI.Bench.TestProfiles
{
for (int i = 0; i < metrologyListViewEx.Items.Count; i++)
{
ListViewItem lvi = metrologyListViewEx.Items[i];
PTest entity = (PTest)lvi.Tag;
try
{
ListViewItem lvi = metrologyListViewEx.Items[i];
PTest entity = (PTest)lvi.Tag;
entity.Name = lvi.Text;
entity.ItemNr = i;
entity.Name = lvi.Text;
entity.ItemNr = i;
int part = entity.Part;
if (lvi.SubItems[(int)MtrlgyClmn.Part].Text.Equals("-"))
{
entity.Part = 0;
}
else if (int.TryParse(lvi.SubItems[(int)MtrlgyClmn.Part].Text, out part))
{
entity.Part = part;
}
int part = entity.Part;
if (lvi.SubItems[(int)MtrlgyClmn.Part].Text.Equals("-"))
{
entity.Part = 0;
}
else if (int.TryParse(lvi.SubItems[(int)MtrlgyClmn.Part].Text, out part))
{
entity.Part = part;
}
double tmp;
if (Utils.TryParseUDouble(lvi.SubItems[(int)MtrlgyClmn.CoefQfrom].Text, out tmp)) entity.CoefQfrom = tmp;
if (Utils.TryParseUDouble(lvi.SubItems[(int)MtrlgyClmn.CoefQto].Text, out tmp)) entity.CoefQto = tmp;
if (LoadedProfile.ProfileType != ProfileType.QpQi)
{
if (Utils.TryParseSDouble(lvi.SubItems[(int)MtrlgyClmn.ErrLimLo].Text, out tmp)) entity.ErrLimLo = tmp;
if (Utils.TryParseSDouble(lvi.SubItems[(int)MtrlgyClmn.ErrLimHi].Text, out tmp)) entity.ErrLimHi = tmp;
entity.CoefQfrom = Utils.ParseUDouble(lvi.SubItems[(int)MtrlgyClmn.CoefQfrom].Text);
entity.CoefQto = Utils.ParseUDouble(lvi.SubItems[(int)MtrlgyClmn.CoefQto].Text);
if (LoadedProfile.ProfileType != ProfileType.QpQi)
{
entity.ErrLimLo = Utils.ParseSDouble(lvi.SubItems[(int)MtrlgyClmn.ErrLimLo].Text);
entity.ErrLimHi = Utils.ParseSDouble(lvi.SubItems[(int)MtrlgyClmn.ErrLimHi].Text);
}
else
{
entity.ErrLimLo = +1.0;
entity.ErrLimHi = -1.0;
}
entity.TempLimLo = Utils.ParseUDouble(lvi.SubItems[(int)MtrlgyClmn.TempLimLo].Text);
entity.TempLimHi = Utils.ParseUDouble(lvi.SubItems[(int)MtrlgyClmn.TempLimHi].Text);
entity.PressLimLo = Utils.ParseUDouble(lvi.SubItems[(int)MtrlgyClmn.PressLimLo].Text);
entity.PressLimHi = Utils.ParseUDouble(lvi.SubItems[(int)MtrlgyClmn.PressLimHi].Text);
entity.Evaluate = lvi.SubItems[(int)MtrlgyClmn.Evaluate].Text.Equals(Strings.yes);
for (Config.Entities.Publish pb = 0; pb < Config.Entities.Publish.Count; pb++)
{
if (lvi.SubItems[(int)MtrlgyClmn.Publish].Text.Equals(pb.ToDescription()))
{
entity.Publish = (sbyte)pb;
break;
}
}
}
else
catch (Exception exc)
{
entity.ErrLimLo = +1.0;
entity.ErrLimHi = -1.0;
MessageBox.Show(string.Format("Unexpected problem: {0}", exc.Message));
}
if (Utils.TryParseUDouble(lvi.SubItems[(int)MtrlgyClmn.TempLimLo].Text, out tmp)) entity.TempLimLo = tmp;
if (Utils.TryParseUDouble(lvi.SubItems[(int)MtrlgyClmn.TempLimHi].Text, out tmp)) entity.TempLimHi = tmp;
if (Utils.TryParseUDouble(lvi.SubItems[(int)MtrlgyClmn.PressLimLo].Text, out tmp)) entity.PressLimLo = tmp;
if (Utils.TryParseUDouble(lvi.SubItems[(int)MtrlgyClmn.PressLimHi].Text, out tmp)) entity.PressLimHi = tmp;
}
}
}
private void metrologyListViewEx_SubItemClicked(object sender, SubItemEventArgs e)
@ -416,6 +451,17 @@ namespace TBF.UI.Bench.TestProfiles
e.Cancel = true;
return;
}
/// Combo boxes
if ((e.SubItem == (int)MtrlgyClmn.Publish) || (e.SubItem == (int)MtrlgyClmn.Evaluate))
{
if (!(metrologyEditors[e.SubItem] as ComboBox).Items.Contains(e.DisplayText))
{
e.DisplayText = e.Item.SubItems[e.SubItem].Text;
e.Cancel = true;
return;
}
}
}
#endregion

View File

@ -566,8 +566,8 @@ namespace TBF.UI.Procedures
test.Qto = (float)(Qtg * ptest.CoefQto);
test.TempLimLo = (float)ptest.TempLimLo;
test.TempLimHi = (float)ptest.TempLimHi;
test.DoEvaluate = true;
test.Publish = (sbyte)Publish.Always;
test.Publish = ptest.Publish;
test.DoEvaluate = ptest.Evaluate;
if (pt != ProfileType.QpQi)
{