MettlerToledo.Standard.BalanceDev/Old/NewDev clean-up, units (oz), 1st after draining, etc.
This commit is contained in:
parent
1d33b9651b
commit
31b167cd62
@ -1,5 +1,5 @@
|
|||||||
///
|
///
|
||||||
/// Copyright (c) 2016-2020 Sensus Slovensko a.s.
|
/// Copyright (c) 2016-2021 Sensus Slovensko a.s.
|
||||||
///
|
///
|
||||||
using System;
|
using System;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
@ -36,6 +36,7 @@ namespace Config
|
|||||||
[Description("cf/s")] cfs, /// 1 cubic foot per second = 101.9406477312 m3/h
|
[Description("cf/s")] cfs, /// 1 cubic foot per second = 101.9406477312 m3/h
|
||||||
|
|
||||||
[Description("g")] g, /// 0.001 kg
|
[Description("g")] g, /// 0.001 kg
|
||||||
|
[Description("oz")] oz, /// 0.0283495231 kg
|
||||||
[Description("lb")] lb, /// 0.45359237 kg
|
[Description("lb")] lb, /// 0.45359237 kg
|
||||||
[Description("kg")] kg, /// * 1 kilogram
|
[Description("kg")] kg, /// * 1 kilogram
|
||||||
[Description("t")] t, /// 1000 kg
|
[Description("t")] t, /// 1000 kg
|
||||||
@ -280,6 +281,7 @@ namespace Config
|
|||||||
return Quantity.Flow;
|
return Quantity.Flow;
|
||||||
|
|
||||||
case Unit.g:
|
case Unit.g:
|
||||||
|
case Unit.oz:
|
||||||
case Unit.lb:
|
case Unit.lb:
|
||||||
case Unit.kg:
|
case Unit.kg:
|
||||||
case Unit.t:
|
case Unit.t:
|
||||||
@ -397,6 +399,7 @@ namespace Config
|
|||||||
|
|
||||||
/// Mass: internal representation in kg
|
/// Mass: internal representation in kg
|
||||||
case Unit.g: return 1000 * v; /// 1 g = 0.001 kg
|
case Unit.g: return 1000 * v; /// 1 g = 0.001 kg
|
||||||
|
case Unit.oz: return 35.273962 * v; /// 1 oz = 0.0283495231 kg
|
||||||
case Unit.lb: return 2.2046226 * v; /// 1 lb = 0.45359237 kg
|
case Unit.lb: return 2.2046226 * v; /// 1 lb = 0.45359237 kg
|
||||||
case Unit.t: return 0.001 * v; /// 1 t = 1000 kg
|
case Unit.t: return 0.001 * v; /// 1 t = 1000 kg
|
||||||
|
|
||||||
@ -476,6 +479,7 @@ namespace Config
|
|||||||
|
|
||||||
/// Mass: internal representation in kg
|
/// Mass: internal representation in kg
|
||||||
case Unit.g: return 0.001 * v; /// 1 g = 0.001 kg
|
case Unit.g: return 0.001 * v; /// 1 g = 0.001 kg
|
||||||
|
case Unit.oz: return 0.0283495231 * v; /// 1 oz = 0.0283495231 kg
|
||||||
case Unit.lb: return 0.45359237 * v; /// 1 lb = 0.45359237 kg
|
case Unit.lb: return 0.45359237 * v; /// 1 lb = 0.45359237 kg
|
||||||
case Unit.t: return 1000 * v; /// 1 t = 1000 kg
|
case Unit.t: return 1000 * v; /// 1 t = 1000 kg
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
///
|
///
|
||||||
/// Copyright (c) 2013-2018 Sensus Slovensko a.s.
|
/// Copyright (c) 2013-2021 Sensus Slovensko a.s.
|
||||||
///
|
///
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
@ -10,6 +10,14 @@ using TBF.BenchControl.Generic;
|
|||||||
|
|
||||||
namespace TBF.BenchControl.MettlerToledo.Standard
|
namespace TBF.BenchControl.MettlerToledo.Standard
|
||||||
{
|
{
|
||||||
|
public enum ActionA1D
|
||||||
|
{
|
||||||
|
Zero,
|
||||||
|
Tara,
|
||||||
|
None,
|
||||||
|
Count
|
||||||
|
}
|
||||||
|
|
||||||
public class BalanceCfg : ComponentCfgBase, GenericDevices.IScaleCfg, GenericDevices.ITankDrainingCfg
|
public class BalanceCfg : ComponentCfgBase, GenericDevices.IScaleCfg, GenericDevices.ITankDrainingCfg
|
||||||
{
|
{
|
||||||
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(BalanceCfg) })[0];
|
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(BalanceCfg) })[0];
|
||||||
@ -27,74 +35,26 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
public StopBits StopBits;
|
public StopBits StopBits;
|
||||||
public Handshake Handshake;
|
public Handshake Handshake;
|
||||||
|
|
||||||
/// Max. water mass in 'kg' or volume in 'l'
|
public float Capacity { get; set; } /// Max. water mass in 'kg' or volume in 'l'
|
||||||
private float capacity;
|
public float Empty { get; set; } /// Mass threshold for 'Tank is empty' in 'kg' (or volume in 'l')
|
||||||
public float Capacity { get { return capacity; } set { capacity = value; } }
|
public float EmptyUp { get; set; } /// Mass threshold for 'Tank is empty' in 'kg' (or volume in 'l') when the drain valve is not open
|
||||||
|
public string Evaporation { get; set; }
|
||||||
/// Mass threshold for 'Tank is empty' in 'kg' (or volume in 'l')
|
public string DrainValve { get; set; }
|
||||||
private float empty;
|
public int DrainTimeSec { get; set; }
|
||||||
public float Empty { get { return empty; } set { empty = value; } }
|
public ActionA1D ActionAfter1stDraining { get; set; }
|
||||||
|
|
||||||
/// Mass threshold for 'Tank is empty' in 'kg' (or volume in 'l') when the drain valve is not open
|
|
||||||
private float emptyUp;
|
|
||||||
public float EmptyUp { get { return emptyUp; } set { emptyUp = value; } }
|
|
||||||
|
|
||||||
private string drainValve;
|
|
||||||
public string DrainValve { get { return drainValve; } set { drainValve = value; } }
|
|
||||||
|
|
||||||
private int drainTimeSec;
|
|
||||||
public int DrainTimeSec { get { return drainTimeSec; } set { drainTimeSec = value; } }
|
|
||||||
|
|
||||||
private string evaporation;
|
|
||||||
public string Evaporation { get { return evaporation; } set { evaporation = value; } }
|
|
||||||
|
|
||||||
public string Format;
|
public string Format;
|
||||||
|
|
||||||
/// Buoyancy related serialized parameters displayed in Metrology tab page
|
/// Buoyancy related serialized parameters displayed in Metrology tab page
|
||||||
private float buoyancyTemp;
|
public float BuoyancyTemp { get; set; }
|
||||||
private float buoyancyPress;
|
public float BuoyancyPress { get; set; }
|
||||||
private float buoyancyHumi;
|
public float BuoyancyHumi { get; set; }
|
||||||
private float weightStandardDensity;
|
public float WeightStandardDensity { get; set; }
|
||||||
public float BuoyancyTemp
|
|
||||||
{
|
|
||||||
get { return buoyancyTemp; }
|
|
||||||
set { buoyancyTemp = value; }
|
|
||||||
}
|
|
||||||
public float BuoyancyPress
|
|
||||||
{
|
|
||||||
get { return buoyancyPress; }
|
|
||||||
set { buoyancyPress = value; }
|
|
||||||
}
|
|
||||||
public float BuoyancyHumi
|
|
||||||
{
|
|
||||||
get { return buoyancyHumi; }
|
|
||||||
set { buoyancyHumi = value; }
|
|
||||||
}
|
|
||||||
public float WeightStandardDensity
|
|
||||||
{
|
|
||||||
get { return weightStandardDensity; }
|
|
||||||
set { weightStandardDensity = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Calibration info serialized parameters displayed in Metrology tab page
|
/// Calibration info serialized parameters displayed in Metrology tab page
|
||||||
string calibCertificateNr;
|
public string CalibCertificateNr { get; set; }
|
||||||
DateTime calibDate;
|
public DateTime CalibDate { get; set; }
|
||||||
DateTime calibValidDate;
|
public DateTime CalibValidDate { get; set; }
|
||||||
public string CalibCertificateNr
|
|
||||||
{
|
|
||||||
get { return calibCertificateNr; }
|
|
||||||
set { calibCertificateNr = value; }
|
|
||||||
}
|
|
||||||
public DateTime CalibDate
|
|
||||||
{
|
|
||||||
get { return calibDate; }
|
|
||||||
set { calibDate = value; }
|
|
||||||
}
|
|
||||||
public DateTime CalibValidDate
|
|
||||||
{
|
|
||||||
get { return calibValidDate; }
|
|
||||||
set { calibValidDate = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Private parameterless constructor invoked by all other (public) constructors
|
/// Private parameterless constructor invoked by all other (public) constructors
|
||||||
|
|||||||
@ -64,13 +64,15 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
this.label7 = new System.Windows.Forms.Label();
|
this.label7 = new System.Windows.Forms.Label();
|
||||||
this.evaporationComboBox = new System.Windows.Forms.ComboBox();
|
this.evaporationComboBox = new System.Windows.Forms.ComboBox();
|
||||||
this.evaporationLabel = new System.Windows.Forms.Label();
|
this.evaporationLabel = new System.Windows.Forms.Label();
|
||||||
|
this.afterFirstDrainingComboBox = new System.Windows.Forms.ComboBox();
|
||||||
|
this.afterFirstDrainingLabel = new System.Windows.Forms.Label();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// handshakeComboBox
|
// handshakeComboBox
|
||||||
//
|
//
|
||||||
this.handshakeComboBox.Enabled = false;
|
this.handshakeComboBox.Enabled = false;
|
||||||
this.handshakeComboBox.FormattingEnabled = true;
|
this.handshakeComboBox.FormattingEnabled = true;
|
||||||
this.handshakeComboBox.Location = new System.Drawing.Point(236, 252);
|
this.handshakeComboBox.Location = new System.Drawing.Point(236, 273);
|
||||||
this.handshakeComboBox.Name = "handshakeComboBox";
|
this.handshakeComboBox.Name = "handshakeComboBox";
|
||||||
this.handshakeComboBox.Size = new System.Drawing.Size(43, 21);
|
this.handshakeComboBox.Size = new System.Drawing.Size(43, 21);
|
||||||
this.handshakeComboBox.TabIndex = 31;
|
this.handshakeComboBox.TabIndex = 31;
|
||||||
@ -79,7 +81,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
//
|
//
|
||||||
this.stopBitsComboBox.Enabled = false;
|
this.stopBitsComboBox.Enabled = false;
|
||||||
this.stopBitsComboBox.FormattingEnabled = true;
|
this.stopBitsComboBox.FormattingEnabled = true;
|
||||||
this.stopBitsComboBox.Location = new System.Drawing.Point(236, 229);
|
this.stopBitsComboBox.Location = new System.Drawing.Point(236, 250);
|
||||||
this.stopBitsComboBox.Name = "stopBitsComboBox";
|
this.stopBitsComboBox.Name = "stopBitsComboBox";
|
||||||
this.stopBitsComboBox.Size = new System.Drawing.Size(43, 21);
|
this.stopBitsComboBox.Size = new System.Drawing.Size(43, 21);
|
||||||
this.stopBitsComboBox.TabIndex = 29;
|
this.stopBitsComboBox.TabIndex = 29;
|
||||||
@ -88,7 +90,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
//
|
//
|
||||||
this.parityComboBox.Enabled = false;
|
this.parityComboBox.Enabled = false;
|
||||||
this.parityComboBox.FormattingEnabled = true;
|
this.parityComboBox.FormattingEnabled = true;
|
||||||
this.parityComboBox.Location = new System.Drawing.Point(100, 252);
|
this.parityComboBox.Location = new System.Drawing.Point(100, 273);
|
||||||
this.parityComboBox.Name = "parityComboBox";
|
this.parityComboBox.Name = "parityComboBox";
|
||||||
this.parityComboBox.Size = new System.Drawing.Size(43, 21);
|
this.parityComboBox.Size = new System.Drawing.Size(43, 21);
|
||||||
this.parityComboBox.TabIndex = 25;
|
this.parityComboBox.TabIndex = 25;
|
||||||
@ -122,7 +124,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
// handshakeLabel
|
// handshakeLabel
|
||||||
//
|
//
|
||||||
this.handshakeLabel.AutoSize = true;
|
this.handshakeLabel.AutoSize = true;
|
||||||
this.handshakeLabel.Location = new System.Drawing.Point(162, 255);
|
this.handshakeLabel.Location = new System.Drawing.Point(162, 276);
|
||||||
this.handshakeLabel.Name = "handshakeLabel";
|
this.handshakeLabel.Name = "handshakeLabel";
|
||||||
this.handshakeLabel.Size = new System.Drawing.Size(62, 13);
|
this.handshakeLabel.Size = new System.Drawing.Size(62, 13);
|
||||||
this.handshakeLabel.TabIndex = 30;
|
this.handshakeLabel.TabIndex = 30;
|
||||||
@ -131,7 +133,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
// stopBitsLabel
|
// stopBitsLabel
|
||||||
//
|
//
|
||||||
this.stopBitsLabel.AutoSize = true;
|
this.stopBitsLabel.AutoSize = true;
|
||||||
this.stopBitsLabel.Location = new System.Drawing.Point(162, 232);
|
this.stopBitsLabel.Location = new System.Drawing.Point(162, 253);
|
||||||
this.stopBitsLabel.Name = "stopBitsLabel";
|
this.stopBitsLabel.Name = "stopBitsLabel";
|
||||||
this.stopBitsLabel.Size = new System.Drawing.Size(49, 13);
|
this.stopBitsLabel.Size = new System.Drawing.Size(49, 13);
|
||||||
this.stopBitsLabel.TabIndex = 28;
|
this.stopBitsLabel.TabIndex = 28;
|
||||||
@ -140,7 +142,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
// dataBitsTextBox
|
// dataBitsTextBox
|
||||||
//
|
//
|
||||||
this.dataBitsTextBox.Enabled = false;
|
this.dataBitsTextBox.Enabled = false;
|
||||||
this.dataBitsTextBox.Location = new System.Drawing.Point(236, 206);
|
this.dataBitsTextBox.Location = new System.Drawing.Point(236, 227);
|
||||||
this.dataBitsTextBox.Name = "dataBitsTextBox";
|
this.dataBitsTextBox.Name = "dataBitsTextBox";
|
||||||
this.dataBitsTextBox.Size = new System.Drawing.Size(43, 20);
|
this.dataBitsTextBox.Size = new System.Drawing.Size(43, 20);
|
||||||
this.dataBitsTextBox.TabIndex = 27;
|
this.dataBitsTextBox.TabIndex = 27;
|
||||||
@ -148,7 +150,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
// dataBitsLabel
|
// dataBitsLabel
|
||||||
//
|
//
|
||||||
this.dataBitsLabel.AutoSize = true;
|
this.dataBitsLabel.AutoSize = true;
|
||||||
this.dataBitsLabel.Location = new System.Drawing.Point(162, 209);
|
this.dataBitsLabel.Location = new System.Drawing.Point(162, 230);
|
||||||
this.dataBitsLabel.Name = "dataBitsLabel";
|
this.dataBitsLabel.Name = "dataBitsLabel";
|
||||||
this.dataBitsLabel.Size = new System.Drawing.Size(50, 13);
|
this.dataBitsLabel.Size = new System.Drawing.Size(50, 13);
|
||||||
this.dataBitsLabel.TabIndex = 26;
|
this.dataBitsLabel.TabIndex = 26;
|
||||||
@ -157,7 +159,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
// partityLabel
|
// partityLabel
|
||||||
//
|
//
|
||||||
this.partityLabel.AutoSize = true;
|
this.partityLabel.AutoSize = true;
|
||||||
this.partityLabel.Location = new System.Drawing.Point(26, 255);
|
this.partityLabel.Location = new System.Drawing.Point(26, 276);
|
||||||
this.partityLabel.Name = "partityLabel";
|
this.partityLabel.Name = "partityLabel";
|
||||||
this.partityLabel.Size = new System.Drawing.Size(33, 13);
|
this.partityLabel.Size = new System.Drawing.Size(33, 13);
|
||||||
this.partityLabel.TabIndex = 24;
|
this.partityLabel.TabIndex = 24;
|
||||||
@ -166,7 +168,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
// baudRateTextBox
|
// baudRateTextBox
|
||||||
//
|
//
|
||||||
this.baudRateTextBox.Enabled = false;
|
this.baudRateTextBox.Enabled = false;
|
||||||
this.baudRateTextBox.Location = new System.Drawing.Point(100, 229);
|
this.baudRateTextBox.Location = new System.Drawing.Point(100, 250);
|
||||||
this.baudRateTextBox.Name = "baudRateTextBox";
|
this.baudRateTextBox.Name = "baudRateTextBox";
|
||||||
this.baudRateTextBox.Size = new System.Drawing.Size(43, 20);
|
this.baudRateTextBox.Size = new System.Drawing.Size(43, 20);
|
||||||
this.baudRateTextBox.TabIndex = 23;
|
this.baudRateTextBox.TabIndex = 23;
|
||||||
@ -174,7 +176,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
// baudRateLabel
|
// baudRateLabel
|
||||||
//
|
//
|
||||||
this.baudRateLabel.AutoSize = true;
|
this.baudRateLabel.AutoSize = true;
|
||||||
this.baudRateLabel.Location = new System.Drawing.Point(26, 232);
|
this.baudRateLabel.Location = new System.Drawing.Point(26, 253);
|
||||||
this.baudRateLabel.Name = "baudRateLabel";
|
this.baudRateLabel.Name = "baudRateLabel";
|
||||||
this.baudRateLabel.Size = new System.Drawing.Size(53, 13);
|
this.baudRateLabel.Size = new System.Drawing.Size(53, 13);
|
||||||
this.baudRateLabel.TabIndex = 22;
|
this.baudRateLabel.TabIndex = 22;
|
||||||
@ -183,7 +185,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
// comPortNrTextBox
|
// comPortNrTextBox
|
||||||
//
|
//
|
||||||
this.comPortNrTextBox.Enabled = false;
|
this.comPortNrTextBox.Enabled = false;
|
||||||
this.comPortNrTextBox.Location = new System.Drawing.Point(100, 206);
|
this.comPortNrTextBox.Location = new System.Drawing.Point(100, 227);
|
||||||
this.comPortNrTextBox.Name = "comPortNrTextBox";
|
this.comPortNrTextBox.Name = "comPortNrTextBox";
|
||||||
this.comPortNrTextBox.Size = new System.Drawing.Size(43, 20);
|
this.comPortNrTextBox.Size = new System.Drawing.Size(43, 20);
|
||||||
this.comPortNrTextBox.TabIndex = 21;
|
this.comPortNrTextBox.TabIndex = 21;
|
||||||
@ -191,7 +193,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
// label1
|
// label1
|
||||||
//
|
//
|
||||||
this.label1.AutoSize = true;
|
this.label1.AutoSize = true;
|
||||||
this.label1.Location = new System.Drawing.Point(26, 209);
|
this.label1.Location = new System.Drawing.Point(26, 230);
|
||||||
this.label1.Name = "label1";
|
this.label1.Name = "label1";
|
||||||
this.label1.Size = new System.Drawing.Size(67, 13);
|
this.label1.Size = new System.Drawing.Size(67, 13);
|
||||||
this.label1.TabIndex = 20;
|
this.label1.TabIndex = 20;
|
||||||
@ -354,10 +356,30 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
this.evaporationLabel.TabIndex = 13;
|
this.evaporationLabel.TabIndex = 13;
|
||||||
this.evaporationLabel.Text = "Evaporation";
|
this.evaporationLabel.Text = "Evaporation";
|
||||||
//
|
//
|
||||||
|
// afterFirstDrainingComboBox
|
||||||
|
//
|
||||||
|
this.afterFirstDrainingComboBox.Enabled = false;
|
||||||
|
this.afterFirstDrainingComboBox.FormattingEnabled = true;
|
||||||
|
this.afterFirstDrainingComboBox.Location = new System.Drawing.Point(137, 190);
|
||||||
|
this.afterFirstDrainingComboBox.Name = "afterFirstDrainingComboBox";
|
||||||
|
this.afterFirstDrainingComboBox.Size = new System.Drawing.Size(143, 21);
|
||||||
|
this.afterFirstDrainingComboBox.TabIndex = 33;
|
||||||
|
//
|
||||||
|
// afterFirstDrainingLabel
|
||||||
|
//
|
||||||
|
this.afterFirstDrainingLabel.AutoSize = true;
|
||||||
|
this.afterFirstDrainingLabel.Location = new System.Drawing.Point(26, 193);
|
||||||
|
this.afterFirstDrainingLabel.Name = "afterFirstDrainingLabel";
|
||||||
|
this.afterFirstDrainingLabel.Size = new System.Drawing.Size(86, 13);
|
||||||
|
this.afterFirstDrainingLabel.TabIndex = 32;
|
||||||
|
this.afterFirstDrainingLabel.Text = "After 1st draining";
|
||||||
|
//
|
||||||
// BalanceCfgCtrl
|
// BalanceCfgCtrl
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.Controls.Add(this.afterFirstDrainingComboBox);
|
||||||
|
this.Controls.Add(this.afterFirstDrainingLabel);
|
||||||
this.Controls.Add(this.evaporationComboBox);
|
this.Controls.Add(this.evaporationComboBox);
|
||||||
this.Controls.Add(this.evaporationLabel);
|
this.Controls.Add(this.evaporationLabel);
|
||||||
this.Controls.Add(this.label7);
|
this.Controls.Add(this.label7);
|
||||||
@ -434,5 +456,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
private System.Windows.Forms.Label label7;
|
private System.Windows.Forms.Label label7;
|
||||||
private System.Windows.Forms.ComboBox evaporationComboBox;
|
private System.Windows.Forms.ComboBox evaporationComboBox;
|
||||||
private System.Windows.Forms.Label evaporationLabel;
|
private System.Windows.Forms.Label evaporationLabel;
|
||||||
|
private System.Windows.Forms.ComboBox afterFirstDrainingComboBox;
|
||||||
|
private System.Windows.Forms.Label afterFirstDrainingLabel;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
///
|
///
|
||||||
/// Copyright (c) 2013-2019 Sensus Slovensko a.s.
|
/// Copyright (c) 2013-2021 Sensus Slovensko a.s.
|
||||||
///
|
///
|
||||||
using System;
|
using System;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
@ -79,6 +79,11 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
|
for (ActionA1D a = 0; a < ActionA1D.Count; a++)
|
||||||
|
{
|
||||||
|
afterFirstDrainingComboBox.Items.Add(a.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
parityComboBox.Items.Add(Parity.None.ToString());
|
parityComboBox.Items.Add(Parity.None.ToString());
|
||||||
parityComboBox.Items.Add(Parity.Even.ToString());
|
parityComboBox.Items.Add(Parity.Even.ToString());
|
||||||
parityComboBox.Items.Add(Parity.Odd.ToString());
|
parityComboBox.Items.Add(Parity.Odd.ToString());
|
||||||
@ -135,6 +140,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
evaporationComboBox.Text = string.IsNullOrEmpty(config.Evaporation) ? "---" : config.Evaporation;
|
evaporationComboBox.Text = string.IsNullOrEmpty(config.Evaporation) ? "---" : config.Evaporation;
|
||||||
drainValveComboBox.Text = string.IsNullOrEmpty(config.DrainValve) ? "---" : config.DrainValve;
|
drainValveComboBox.Text = string.IsNullOrEmpty(config.DrainValve) ? "---" : config.DrainValve;
|
||||||
drainTimeTextBox.Text = config.DrainTimeSec.ToString();
|
drainTimeTextBox.Text = config.DrainTimeSec.ToString();
|
||||||
|
afterFirstDrainingComboBox.Text = config.ActionAfter1stDraining.ToString();
|
||||||
|
|
||||||
comPortNrTextBox.Text = config.ComPortNr.ToString();
|
comPortNrTextBox.Text = config.ComPortNr.ToString();
|
||||||
baudRateTextBox.Text = config.BaudRate.ToString();
|
baudRateTextBox.Text = config.BaudRate.ToString();
|
||||||
@ -154,6 +160,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
evaporationComboBox.Enabled = true;
|
evaporationComboBox.Enabled = true;
|
||||||
drainValveComboBox.Enabled = true;
|
drainValveComboBox.Enabled = true;
|
||||||
drainTimeTextBox.Enabled = true;
|
drainTimeTextBox.Enabled = true;
|
||||||
|
afterFirstDrainingComboBox.Enabled = true;
|
||||||
|
|
||||||
comPortNrTextBox.Enabled = true;
|
comPortNrTextBox.Enabled = true;
|
||||||
baudRateTextBox.Enabled = true;
|
baudRateTextBox.Enabled = true;
|
||||||
@ -219,6 +226,11 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
flags |= CfgUpdateFlags.Error;
|
flags |= CfgUpdateFlags.Error;
|
||||||
message += Environment.NewLine + "'Tank drain time' should be between 1 and 999 sec";
|
message += Environment.NewLine + "'Tank drain time' should be between 1 and 999 sec";
|
||||||
}
|
}
|
||||||
|
if (!afterFirstDrainingComboBox.Items.Contains(afterFirstDrainingComboBox.Text))
|
||||||
|
{
|
||||||
|
flags |= CfgUpdateFlags.Error;
|
||||||
|
message += Environment.NewLine + "Invalid 'Avter 1st draining'";
|
||||||
|
}
|
||||||
|
|
||||||
return flags;
|
return flags;
|
||||||
}
|
}
|
||||||
@ -237,6 +249,14 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
config.Evaporation = evaporationComboBox.Text.Equals("---") ? string.Empty : evaporationComboBox.Text;
|
config.Evaporation = evaporationComboBox.Text.Equals("---") ? string.Empty : evaporationComboBox.Text;
|
||||||
config.DrainTimeSec = int.Parse(drainTimeTextBox.Text);
|
config.DrainTimeSec = int.Parse(drainTimeTextBox.Text);
|
||||||
config.DrainValve = drainValveComboBox.Text.Equals("---") ? string.Empty : drainValveComboBox.Text;
|
config.DrainValve = drainValveComboBox.Text.Equals("---") ? string.Empty : drainValveComboBox.Text;
|
||||||
|
for (ActionA1D a = 0; a < ActionA1D.Count; a++)
|
||||||
|
{
|
||||||
|
if (afterFirstDrainingComboBox.Text == a.ToString())
|
||||||
|
{
|
||||||
|
config.ActionAfter1stDraining = a;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
config.ComPortNr = int.Parse(comPortNrTextBox.Text);
|
config.ComPortNr = int.Parse(comPortNrTextBox.Text);
|
||||||
config.BaudRate = int.Parse(baudRateTextBox.Text);
|
config.BaudRate = int.Parse(baudRateTextBox.Text);
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
///
|
///
|
||||||
/// Copyright (c) 2013-2020 Sensus Slovensko a.s.
|
/// Copyright (c) 2013-2021 Sensus Slovensko a.s.
|
||||||
///
|
///
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -258,21 +258,11 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
serialPort.Write("SI\r\n");
|
serialPort.Write("SI\r\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>Units for SetUnits() argument</summary>
|
|
||||||
public enum Units
|
|
||||||
{
|
|
||||||
g,
|
|
||||||
kg,
|
|
||||||
t,
|
|
||||||
lb,
|
|
||||||
oz
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get the serial number
|
/// Get the serial number
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>After a successful SetUnits(kg) mass is still sent in g. MH 15.10.2013</remarks>
|
/// <remarks>After a successful SetUnits(kg) mass is still sent in g. MH 15.10.2013</remarks>
|
||||||
public void SendSetUnitsCmd(Units unit)
|
public void SendSetUnitsCmd(Config.Unit unit)
|
||||||
{
|
{
|
||||||
if (balanceCfg.DebugLevel == DebugMode.Simulate) return;
|
if (balanceCfg.DebugLevel == DebugMode.Simulate) return;
|
||||||
|
|
||||||
@ -286,27 +276,28 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
stringBuilder.Clear();
|
stringBuilder.Clear();
|
||||||
switch (unit)
|
switch (unit)
|
||||||
{
|
{
|
||||||
case Units.g:
|
case Config.Unit.g:
|
||||||
log.InfoFormat("{0} - SetUnits({1}) - \"U g\\r\\n\"", Name, unit);
|
log.InfoFormat("{0} - SetUnits({1}) - \"U g\\r\\n\"", Name, unit);
|
||||||
serialPort.Write("U g\r\n");
|
serialPort.Write("U g\r\n");
|
||||||
break;
|
break;
|
||||||
case Units.kg:
|
case Config.Unit.t:
|
||||||
log.InfoFormat("{0} - SetUnits({1}) - \"U kg\\r\\n\"", Name, unit);
|
|
||||||
serialPort.Write("U kg\r\n");
|
|
||||||
break;
|
|
||||||
case Units.t:
|
|
||||||
log.InfoFormat("{0} - SetUnits({1}) - \"U t\\r\\n\"", Name, unit);
|
log.InfoFormat("{0} - SetUnits({1}) - \"U t\\r\\n\"", Name, unit);
|
||||||
serialPort.Write("U t\r\n");
|
serialPort.Write("U t\r\n");
|
||||||
break;
|
break;
|
||||||
case Units.lb:
|
case Config.Unit.lb:
|
||||||
log.InfoFormat("{0} - SetUnits({1}) - \"U lb\\r\\n\"", Name, unit);
|
log.InfoFormat("{0} - SetUnits({1}) - \"U lb\\r\\n\"", Name, unit);
|
||||||
serialPort.Write("U lb\r\n");
|
serialPort.Write("U lb\r\n");
|
||||||
break;
|
break;
|
||||||
case Units.oz:
|
case Config.Unit.oz:
|
||||||
log.InfoFormat("{0} - SetUnits({1}) - \"U oz\\r\\n\"", Name, unit);
|
log.InfoFormat("{0} - SetUnits({1}) - \"U oz\\r\\n\"", Name, unit);
|
||||||
serialPort.Write("U oz\r\n");
|
serialPort.Write("U oz\r\n");
|
||||||
break;
|
break;
|
||||||
}
|
case Config.Unit.kg:
|
||||||
|
default:
|
||||||
|
log.InfoFormat("{0} - SetUnits({1}) - \"U kg\\r\\n\"", Name, unit);
|
||||||
|
serialPort.Write("U kg\r\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -369,9 +360,9 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
received = tmp;
|
received = tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
string[] fields = received.Split(new char[] { ' ' });
|
string[] field = received.Split(new char[] { ' ' });
|
||||||
|
|
||||||
if (fields.Length == 1 && fields[0].Equals("ZA")) /// Zero when stable
|
if (field.Length == 1 && field[0] == "ZA") /// Zero when stable
|
||||||
{
|
{
|
||||||
mass = 0;
|
mass = 0;
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
@ -379,16 +370,16 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
log.InfoFormat("{0} - Balance response = \"{1}<cr><lf>\"", Name, received);
|
log.InfoFormat("{0} - Balance response = \"{1}<cr><lf>\"", Name, received);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (fields.Length < 2)
|
else if (field.Length < 2)
|
||||||
{
|
{
|
||||||
msrmntState = MsrmntState.Failed;
|
msrmntState = MsrmntState.Failed;
|
||||||
log.WarnFormat("{0} - Balance response = \"{1}<cr><lf>\", Unexpected error !!!", Name, received);
|
log.WarnFormat("{0} - Balance response = \"{1}<cr><lf>\", Unexpected error !!!", Name, received);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fields[0].Equals("Z")) /// Zero when stable
|
if (field[0] == "Z") /// Zero when stable
|
||||||
{
|
{
|
||||||
if (fields.Length == 2 && fields[1].Equals("A"))
|
if (field.Length == 2 && field[1] == "A")
|
||||||
{
|
{
|
||||||
mass = 0;
|
mass = 0;
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
@ -402,33 +393,31 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
log.WarnFormat("{0} - Balance response = \"{1}<cr><lf>\", error !!!", Name, received);
|
log.WarnFormat("{0} - Balance response = \"{1}<cr><lf>\", error !!!", Name, received);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (fields[0].Equals("S")) /// Stable mass: field[1] = <mass> field[2] = "kg"
|
else if (field[0] == "S") /// Stable mass: field[1] = <mass> field[2] = "kg"
|
||||||
{
|
{
|
||||||
if (fields.Length == 3 &&
|
if (field.Length == 3 &&
|
||||||
double.TryParse(fields[1],
|
double.TryParse(field[1],
|
||||||
NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign,
|
NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign,
|
||||||
CultureInfo.InvariantCulture,
|
CultureInfo.InvariantCulture,
|
||||||
out mass))
|
out mass))
|
||||||
{
|
{
|
||||||
if (fields[2].Equals("g")) mass /= 1000.0f;
|
mass = Config.Units.ConvertFrom(ParseUnit(field[2]), mass);
|
||||||
if (fields[2].Equals("t")) mass *= 1000.0f;
|
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
msrmntState = MsrmntState.Valid;
|
msrmntState = MsrmntState.Valid;
|
||||||
log.InfoFormat("{0} - Balance response = \"{1}<cr><lf>\", Mass = {2}", Name, received, mass);
|
log.InfoFormat("{0} - Balance response = \"{1}<cr><lf>\", Mass = {2}", Name, received, mass);
|
||||||
}
|
}
|
||||||
else if (fields.Length == 4 && (fields[1].Equals("S") || fields[1].Equals("D")) &&
|
else if (field.Length == 4 && (field[1] == "S" || field[1] == "D") &&
|
||||||
double.TryParse(fields[2],
|
double.TryParse(field[2],
|
||||||
NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign,
|
NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign,
|
||||||
CultureInfo.InvariantCulture,
|
CultureInfo.InvariantCulture,
|
||||||
out mass))
|
out mass))
|
||||||
{
|
{
|
||||||
if (fields[3].Equals("g")) mass /= 1000.0f;
|
mass = Config.Units.ConvertFrom(ParseUnit(field[3]), mass);
|
||||||
if (fields[3].Equals("t")) mass *= 1000.0f;
|
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
msrmntState = MsrmntState.Valid;
|
msrmntState = MsrmntState.Valid;
|
||||||
log.InfoFormat("{0} - Balance response = \"{1}<cr><lf>\", Mass = {2}", Name, received, mass);
|
log.InfoFormat("{0} - Balance response = \"{1}<cr><lf>\", Mass = {2}", Name, received, mass);
|
||||||
}
|
}
|
||||||
else if (fields.Length == 2 && fields[1].Equals("-"))
|
else if (field.Length == 2 && field[1] == "-")
|
||||||
{
|
{
|
||||||
mass = 0;
|
mass = 0;
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
@ -439,25 +428,24 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
{
|
{
|
||||||
msrmntState = MsrmntState.Failed;
|
msrmntState = MsrmntState.Failed;
|
||||||
log.WarnFormat("{0} Balance response = \"{1}<cr><lf>\", Overload or and unexpected error !!!", Name, received);
|
log.WarnFormat("{0} Balance response = \"{1}<cr><lf>\", Overload or and unexpected error !!!", Name, received);
|
||||||
bool b = double.TryParse(fields[1], NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign, CultureInfo.InvariantCulture, out mass);
|
bool b = double.TryParse(field[1], NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign, CultureInfo.InvariantCulture, out mass);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (fields[0].Equals("SD")) /// Dynamic mass: field[1] = <mass> field[2] = "kg"
|
else if (field[0] == "SD") /// Dynamic mass: field[1] = <mass> field[2] = "kg"
|
||||||
{
|
{
|
||||||
if (fields.Length >= 3 &&
|
if (field.Length >= 3 &&
|
||||||
double.TryParse(fields[1],
|
double.TryParse(field[1],
|
||||||
NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign,
|
NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign,
|
||||||
CultureInfo.InvariantCulture,
|
CultureInfo.InvariantCulture,
|
||||||
out mass))
|
out mass))
|
||||||
{
|
{
|
||||||
if (fields[2].Equals("g")) mass /= 1000.0f;
|
mass = Config.Units.ConvertFrom(ParseUnit(field[2]), mass);
|
||||||
if (fields[2].Equals("t")) mass *= 1000.0f;
|
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
msrmntState = MsrmntState.Valid;
|
msrmntState = MsrmntState.Valid;
|
||||||
log.InfoFormat("{0} - Balance response = \"{1}<cr><lf>\", Mass = {2}", Name, received, mass);
|
log.InfoFormat("{0} - Balance response = \"{1}<cr><lf>\", Mass = {2}", Name, received, mass);
|
||||||
}
|
}
|
||||||
else if (fields.Length == 2 && fields[1].Equals("-"))
|
else if (field.Length == 2 && field[1] == "-")
|
||||||
{
|
{
|
||||||
mass = 0;
|
mass = 0;
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
@ -468,21 +456,20 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
{
|
{
|
||||||
msrmntState = MsrmntState.Failed;
|
msrmntState = MsrmntState.Failed;
|
||||||
log.WarnFormat("{0} - Balance response = \"{1}<cr><lf>\", Overload or and unexpected error !!!", Name, received);
|
log.WarnFormat("{0} - Balance response = \"{1}<cr><lf>\", Overload or and unexpected error !!!", Name, received);
|
||||||
bool b = double.TryParse(fields[1], NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign, CultureInfo.InvariantCulture, out mass);
|
bool b = double.TryParse(field[1], NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign, CultureInfo.InvariantCulture, out mass);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (fields[0].Equals("TB")) /// Taring
|
else if (field[0] == "TB") /// Taring
|
||||||
{
|
{
|
||||||
if (fields.Length >= 3 &&
|
if (field.Length >= 3 &&
|
||||||
double.TryParse(fields[1],
|
double.TryParse(field[1],
|
||||||
NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign,
|
NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign,
|
||||||
CultureInfo.InvariantCulture,
|
CultureInfo.InvariantCulture,
|
||||||
out mass))
|
out mass))
|
||||||
{
|
{
|
||||||
if (fields[2].Equals("g")) mass /= 1000.0f;
|
mass = Config.Units.ConvertFrom(ParseUnit(field[2]), mass);
|
||||||
if (fields[2].Equals("t")) mass *= 1000.0f;
|
msrmntState = MsrmntState.Valid;
|
||||||
msrmntState = MsrmntState.Valid;
|
|
||||||
log.InfoFormat("{0} - Balance response = \"{1}<cr><lf>\", Tara = {2}", Name, received, mass);
|
log.InfoFormat("{0} - Balance response = \"{1}<cr><lf>\", Tara = {2}", Name, received, mass);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -491,16 +478,15 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
log.WarnFormat("{0} - Balance response = \"{1}<cr><lf>\", Overload or and unexpected error !!!", Name, received);
|
log.WarnFormat("{0} - Balance response = \"{1}<cr><lf>\", Overload or and unexpected error !!!", Name, received);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (fields[0].Equals("T")) /// Taring
|
else if (field[0] == "T") /// Taring
|
||||||
{
|
{
|
||||||
if (fields.Length >= 4 && fields[1].Equals("S") &&
|
if (field.Length >= 4 && field[1] == "S" &&
|
||||||
double.TryParse(fields[2],
|
double.TryParse(field[2],
|
||||||
NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign,
|
NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign,
|
||||||
CultureInfo.InvariantCulture,
|
CultureInfo.InvariantCulture,
|
||||||
out mass))
|
out mass))
|
||||||
{
|
{
|
||||||
if (fields[3].Equals("g")) mass /= 1000.0f;
|
mass = Config.Units.ConvertFrom(ParseUnit(field[3]), mass);
|
||||||
if (fields[3].Equals("t")) mass *= 1000.0f;
|
|
||||||
msrmntState = MsrmntState.Valid;
|
msrmntState = MsrmntState.Valid;
|
||||||
log.InfoFormat("{0} - Balance response = \"{1}<cr><lf>\", Tara = {2}", Name, received, mass);
|
log.InfoFormat("{0} - Balance response = \"{1}<cr><lf>\", Tara = {2}", Name, received, mass);
|
||||||
}
|
}
|
||||||
@ -547,7 +533,16 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
/// <returns>ZeroOp reference</returns>
|
/// <returns>ZeroOp reference</returns>
|
||||||
public IOperation ZeroOp()
|
public IOperation ZeroOp()
|
||||||
{
|
{
|
||||||
return new ZeroOp(this);
|
switch (balanceCfg.ActionAfter1stDraining)
|
||||||
|
{
|
||||||
|
case ActionA1D.Zero:
|
||||||
|
return new ZeroOp(this);
|
||||||
|
case ActionA1D.Tara:
|
||||||
|
DoubleBox dummy = new DoubleBox();
|
||||||
|
return new TaringOp(this, ref dummy);
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -592,5 +587,20 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Parse a string representing mass units.
|
||||||
|
/// Defaults to 'kg'in case unitStr not recognized.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="unitStr">String: "kg", "g", "t", "lb" or "oz" expected</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
protected Config.Unit ParseUnit(string unitStr)
|
||||||
|
{
|
||||||
|
if (unitStr == "g") return Config.Unit.g;
|
||||||
|
if (unitStr == "t") return Config.Unit.t;
|
||||||
|
if (unitStr == "lb") return Config.Unit.lb;
|
||||||
|
if (unitStr == "oz") return Config.Unit.oz;
|
||||||
|
return Config.Unit.kg;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
///
|
///
|
||||||
/// Copyright (c) 2013-2020 Sensus Slovensko a.s.
|
/// Copyright (c) 2013-2021 Sensus Slovensko a.s.
|
||||||
///
|
///
|
||||||
using System;
|
using System;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
@ -110,8 +110,8 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
received = tmp;
|
received = tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
string[] fields = received.Substring(0, received.Length - 2).Split(new char[] { ' ' });
|
string[] field = received.Substring(0, received.Length - 2).Split(new char[] { ' ' });
|
||||||
if (fields.Length < 2)
|
if (field.Length < 2)
|
||||||
{
|
{
|
||||||
msrmntState = MsrmntState.Failed;
|
msrmntState = MsrmntState.Failed;
|
||||||
log.WarnFormat("{0} - Balance response = {1}, Unexpected error !!!", Name,
|
log.WarnFormat("{0} - Balance response = {1}, Unexpected error !!!", Name,
|
||||||
@ -119,11 +119,11 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fields[0].Equals("I4")) /// Serial number
|
if (field[0] == "I4" || field[0] == "IA") /// Serial number
|
||||||
{
|
{
|
||||||
if (fields.Length == 3 && fields[1].Equals("A") && fields[2].Length >= 3)
|
if (field.Length == 3 && field[1] == "A" && field[2].Length >= 3)
|
||||||
{
|
{
|
||||||
serialNumber = fields[2].Substring(1, fields[2].Length - 2);
|
serialNumber = field[2].Substring(1, field[2].Length - 2);
|
||||||
msrmntState = MsrmntState.Valid;
|
msrmntState = MsrmntState.Valid;
|
||||||
log.WarnFormat("{0} - Balance response = {1}, s/n = {2}", Name,
|
log.WarnFormat("{0} - Balance response = {1}, s/n = {2}", Name,
|
||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"), serialNumber);
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"), serialNumber);
|
||||||
@ -135,9 +135,9 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (fields[0].Equals("Z")) /// Zero when stable
|
else if (field[0] == "Z") /// Zero when stable
|
||||||
{
|
{
|
||||||
if (fields.Length == 2 && fields[1].Equals("A"))
|
if (field.Length == 2 && field[1] == "A")
|
||||||
{
|
{
|
||||||
mass = 0;
|
mass = 0;
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
@ -152,20 +152,19 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (fields[0].Equals("S")) /// Stable (field[1] == "S") or dynamic (field[1] == "D") mass measurement
|
else if (field[0] == "S") /// Stable (field[1] == "S") or dynamic (field[1] == "D") mass measurement
|
||||||
{
|
{
|
||||||
if (fields.Length == 4 && (fields[1].Equals("S") || fields[1].Equals("D")) &&
|
if (field.Length == 4 && (field[1] == "S" || field[1] == "D") &&
|
||||||
double.TryParse(fields[2], NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite,
|
double.TryParse(field[2], NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite,
|
||||||
CultureInfo.InvariantCulture, out mass))
|
CultureInfo.InvariantCulture, out mass))
|
||||||
{
|
{
|
||||||
if (fields[3].Equals("g")) mass /= 1000.0f;
|
mass = Config.Units.ConvertFrom(ParseUnit(field[3]), mass);
|
||||||
if (fields[3].Equals("t")) mass *= 1000.0f;
|
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
msrmntState = MsrmntState.Valid;
|
msrmntState = MsrmntState.Valid;
|
||||||
log.InfoFormat("{0} - Balance response = {1}, Mass = {2}", Name,
|
log.InfoFormat("{0} - Balance response = {1}, Mass = {2}", Name,
|
||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"), mass);
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"), mass);
|
||||||
}
|
}
|
||||||
else if (fields.Length == 2 && fields[1].Equals("-"))
|
else if (field.Length == 2 && field[1] == "-")
|
||||||
{
|
{
|
||||||
//mass = 0;
|
//mass = 0;
|
||||||
//Masses[balanceNr] = mass;
|
//Masses[balanceNr] = mass;
|
||||||
@ -173,7 +172,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
log.InfoFormat("{0} - Balance response = {1}, Mass = {2}", Name,
|
log.InfoFormat("{0} - Balance response = {1}, Mass = {2}", Name,
|
||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"), mass);
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"), mass);
|
||||||
}
|
}
|
||||||
else if (fields.Length == 2 && fields[1].Equals("+"))
|
else if (field.Length == 2 && field[1] == "+")
|
||||||
{
|
{
|
||||||
//mass = Capacity;
|
//mass = Capacity;
|
||||||
//Masses[balanceNr] = mass;
|
//Masses[balanceNr] = mass;
|
||||||
@ -181,7 +180,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
log.InfoFormat("{0} - Balance response = {1}, Overload", Name,
|
log.InfoFormat("{0} - Balance response = {1}, Overload", Name,
|
||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
||||||
}
|
}
|
||||||
else if (fields.Length >= 2 && fields[1].Equals("I"))
|
else if (field.Length >= 2 && field[1] == "I")
|
||||||
{
|
{
|
||||||
//mass = balanceCfg.Capacity;
|
//mass = balanceCfg.Capacity;
|
||||||
//Masses[balanceNr] = mass;
|
//Masses[balanceNr] = mass;
|
||||||
@ -196,19 +195,18 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (fields[0].Equals("T")) /// Taring
|
else if (field[0] == "T") /// Taring
|
||||||
{
|
{
|
||||||
if (fields.Length == 4 && fields[1].Equals("S") &&
|
if (field.Length == 4 && field[1] == "S" &&
|
||||||
double.TryParse(fields[2], NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite,
|
double.TryParse(field[2], NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite,
|
||||||
CultureInfo.InvariantCulture, out mass))
|
CultureInfo.InvariantCulture, out mass))
|
||||||
{
|
{
|
||||||
if (fields[3].Equals("g")) mass /= 1000.0f;
|
mass = Config.Units.ConvertFrom(ParseUnit(field[3]), mass);
|
||||||
if (fields[3].Equals("t")) mass *= 1000.0f;
|
|
||||||
msrmntState = MsrmntState.Valid;
|
msrmntState = MsrmntState.Valid;
|
||||||
log.WarnFormat("{0} - Balance response = {1}, Mass = {2}", Name,
|
log.WarnFormat("{0} - Balance response = {1}, Mass = {2}", Name,
|
||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"), mass);
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"), mass);
|
||||||
}
|
}
|
||||||
else if (fields.Length >= 2 && fields[1].Equals("I"))
|
else if (field.Length >= 2 && field[1] == "I")
|
||||||
{
|
{
|
||||||
mass = mass = balanceCfg.Capacity;
|
mass = mass = balanceCfg.Capacity;
|
||||||
msrmntState = MsrmntState.Overload;
|
msrmntState = MsrmntState.Overload;
|
||||||
@ -222,9 +220,9 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (fields[0].Equals("U"))
|
else if (field[0] == "U")
|
||||||
{
|
{
|
||||||
if (fields.Length == 2 && fields[1].Equals("A"))
|
if (field.Length == 2 && field[1] == "A")
|
||||||
{
|
{
|
||||||
msrmntState = MsrmntState.Valid;
|
msrmntState = MsrmntState.Valid;
|
||||||
log.InfoFormat("{0} - Balance response = \"{1}\"", Name,
|
log.InfoFormat("{0} - Balance response = \"{1}\"", Name,
|
||||||
@ -237,9 +235,9 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (fields[0].Equals("SI")) /// "SI I<cr><lf>" received in case of overload -> empty the tank
|
else if (field[0] == "SI") /// "SI I<cr><lf>" received in case of overload -> empty the tank
|
||||||
{
|
{
|
||||||
if (fields.Length >= 2 && fields[1].Equals("I"))
|
if (field.Length >= 2 && field[1] == "I")
|
||||||
{
|
{
|
||||||
mass = balanceCfg.Capacity;
|
mass = balanceCfg.Capacity;
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
@ -268,7 +266,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="units"></param>
|
/// <param name="units"></param>
|
||||||
/// <returns>SetUnitsOp instance reference casted to IOperaton</returns>
|
/// <returns>SetUnitsOp instance reference casted to IOperaton</returns>
|
||||||
public IOperation SetUnitsOp(Units units)
|
public IOperation SetUnitsOp(Config.Unit units)
|
||||||
{
|
{
|
||||||
return new SetUnitsOp(this, units);
|
return new SetUnitsOp(this, units);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
///
|
///
|
||||||
/// Copyright (c) 2016-2020 Sensus Slovensko a.s.
|
/// Copyright (c) 2016-2021 Sensus Slovensko a.s.
|
||||||
///
|
///
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -92,17 +92,17 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
received = tmp;
|
received = tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
string[] fields = received.Substring(0, received.Length - 2).Split(new char[] { ' ' });
|
string[] field = received.Substring(0, received.Length - 2).Split(new char[] { ' ' });
|
||||||
if (fields.Length < 2)
|
if (field.Length < 2)
|
||||||
{
|
{
|
||||||
msrmntState = MsrmntState.Failed;
|
msrmntState = MsrmntState.Failed;
|
||||||
log.WarnFormat("{0} - Balance response = {1}, Unexpected error !!!", Name,
|
log.WarnFormat("{0} - Balance response = {1}, Unexpected error !!!", Name,
|
||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (fields[0].Equals("Z")) /// Zero when stable
|
else if (field[0] == "Z") /// Zero when stable
|
||||||
{
|
{
|
||||||
if (fields.Length == 2 && fields[1].Equals("A"))
|
if (field.Length == 2 && field[1] == "A")
|
||||||
{
|
{
|
||||||
mass = 0;
|
mass = 0;
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
@ -117,31 +117,29 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (fields[0].Equals("S")) /// Stable (field[1] == "S") or dynamic (field[1] == "D") mass measurement
|
else if (field[0] == "S") /// Stable (field[1] == "S") or dynamic (field[1] == "D") mass measurement
|
||||||
{
|
{
|
||||||
if (fields.Length == 4 && fields[1].Equals("S") &&
|
if (field.Length == 4 && field[1] == "S" &&
|
||||||
double.TryParse(fields[2], NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite,
|
double.TryParse(field[2], NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite,
|
||||||
CultureInfo.InvariantCulture, out mass))
|
CultureInfo.InvariantCulture, out mass))
|
||||||
{
|
{
|
||||||
if (fields[3].Equals("g")) mass /= 1000.0f;
|
mass = Config.Units.ConvertFrom(ParseUnit(field[3]), mass);
|
||||||
if (fields[3].Equals("t")) mass *= 1000.0f;
|
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
msrmntState = MsrmntState.Valid;
|
msrmntState = MsrmntState.Valid;
|
||||||
log.InfoFormat("{0} - Balance response = {1}, Mass = {2}", Name,
|
log.InfoFormat("{0} - Balance response = {1}, Mass = {2}", Name,
|
||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"), mass);
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"), mass);
|
||||||
}
|
}
|
||||||
else if (fields.Length == 4 && fields[1].Equals("D") &&
|
else if (field.Length == 4 && field[1] == "D" &&
|
||||||
double.TryParse(fields[2], NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite,
|
double.TryParse(field[2], NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite,
|
||||||
CultureInfo.InvariantCulture, out mass))
|
CultureInfo.InvariantCulture, out mass))
|
||||||
{
|
{
|
||||||
if (fields[3].Equals("g")) mass /= 1000.0f;
|
mass = Config.Units.ConvertFrom(ParseUnit(field[3]), mass);
|
||||||
if (fields[3].Equals("t")) mass *= 1000.0f;
|
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
msrmntState = MsrmntState.Valid;
|
msrmntState = MsrmntState.Valid;
|
||||||
log.InfoFormat("{0} - Balance response = {1}, Mass = {2}", Name,
|
log.InfoFormat("{0} - Balance response = {1}, Mass = {2}", Name,
|
||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"), mass);
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"), mass);
|
||||||
}
|
}
|
||||||
else if (fields.Length == 2 && fields[1].Equals("-"))
|
else if (field.Length == 2 && field[1] == "-")
|
||||||
{
|
{
|
||||||
mass = 0;
|
mass = 0;
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
@ -149,7 +147,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
log.InfoFormat("{0} - Balance response = {1}, Mass = {2}", Name,
|
log.InfoFormat("{0} - Balance response = {1}, Mass = {2}", Name,
|
||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"), mass);
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"), mass);
|
||||||
}
|
}
|
||||||
else if (fields.Length == 2 && fields[1].Equals("+"))
|
else if (field.Length == 2 && field[1] == "+")
|
||||||
{
|
{
|
||||||
mass = Capacity;
|
mass = Capacity;
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
@ -157,7 +155,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
log.InfoFormat("{0} - Balance response = {1}, Overload", Name,
|
log.InfoFormat("{0} - Balance response = {1}, Overload", Name,
|
||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
||||||
}
|
}
|
||||||
else if (fields.Length >= 2 && fields[1].Equals("I"))
|
else if (field.Length >= 2 && field[1] == "I")
|
||||||
{
|
{
|
||||||
mass = balanceCfg.Capacity;
|
mass = balanceCfg.Capacity;
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
@ -172,19 +170,18 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (fields[0].Equals("T")) /// Taring
|
else if (field[0] == "T") /// Taring
|
||||||
{
|
{
|
||||||
if (fields.Length == 4 && fields[1].Equals("S") &&
|
if (field.Length == 4 && field[1] == "S" &&
|
||||||
double.TryParse(fields[2], NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite,
|
double.TryParse(field[2], NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite,
|
||||||
CultureInfo.InvariantCulture, out mass))
|
CultureInfo.InvariantCulture, out mass))
|
||||||
{
|
{
|
||||||
if (fields[3].Equals("g")) mass /= 1000.0f;
|
mass = Config.Units.ConvertFrom(ParseUnit(field[3]), mass);
|
||||||
if (fields[3].Equals("t")) mass *= 1000.0f;
|
|
||||||
msrmntState = MsrmntState.Valid;
|
msrmntState = MsrmntState.Valid;
|
||||||
log.InfoFormat("{0} - Balance response = {1}, Mass = {2}", Name,
|
log.InfoFormat("{0} - Balance response = {1}, Mass = {2}", Name,
|
||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"), mass);
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"), mass);
|
||||||
}
|
}
|
||||||
else if (fields.Length >= 2 && fields[1].Equals("I"))
|
else if (field.Length >= 2 && field[1] == "I")
|
||||||
{
|
{
|
||||||
mass = mass = balanceCfg.Capacity;
|
mass = mass = balanceCfg.Capacity;
|
||||||
msrmntState = MsrmntState.Overload;
|
msrmntState = MsrmntState.Overload;
|
||||||
@ -198,9 +195,9 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (fields[0].Equals("U"))
|
else if (field[0] == "U")
|
||||||
{
|
{
|
||||||
if (fields.Length == 2 && fields[1].Equals("A"))
|
if (field.Length == 2 && field[1] == "A")
|
||||||
{
|
{
|
||||||
msrmntState = MsrmntState.Valid;
|
msrmntState = MsrmntState.Valid;
|
||||||
log.InfoFormat("{0} - Balance response = \"{1}\"", Name,
|
log.InfoFormat("{0} - Balance response = \"{1}\"", Name,
|
||||||
@ -213,9 +210,9 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
received.Replace("\r", "<cr>").Replace("\n", "<lf>"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (fields[0].Equals("SI")) /// "SI I<cr><lf>" received in case of overload -> empty the tank
|
else if (field[0] == "SI") /// "SI I<cr><lf>" received in case of overload -> empty the tank
|
||||||
{
|
{
|
||||||
if (fields.Length >= 2 && fields[1].Equals("I"))
|
if (field.Length >= 2 && field[1] == "I")
|
||||||
{
|
{
|
||||||
mass = balanceCfg.Capacity;
|
mass = balanceCfg.Capacity;
|
||||||
Masses[balanceNr] = mass;
|
Masses[balanceNr] = mass;
|
||||||
@ -234,7 +231,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="units"></param>
|
/// <param name="units"></param>
|
||||||
/// <returns>SetUnitsOp instance reference casted to IOperaton</returns>
|
/// <returns>SetUnitsOp instance reference casted to IOperaton</returns>
|
||||||
public IOperation SetUnitsOp(Units units)
|
public IOperation SetUnitsOp(Config.Unit units)
|
||||||
{
|
{
|
||||||
return new SetUnitsOp(this, units);
|
return new SetUnitsOp(this, units);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
///
|
///
|
||||||
/// Copyright (c) 2013-2020 Sensus Slovensko a.s.
|
/// Copyright (c) 2013-2021 Sensus Slovensko a.s.
|
||||||
///
|
///
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -16,7 +16,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
|
|
||||||
/// Set by the constructor
|
/// Set by the constructor
|
||||||
BalanceDev scale;
|
BalanceDev scale;
|
||||||
BalanceDev.Units units;
|
Config.Unit units;
|
||||||
bool activityStarted;
|
bool activityStarted;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -24,7 +24,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="scale">Balance device instance</param>
|
/// <param name="scale">Balance device instance</param>
|
||||||
/// <param name="result">Reference to the serialNumber</param>
|
/// <param name="result">Reference to the serialNumber</param>
|
||||||
public SetUnitsOp(BalanceDev scale, BalanceDev.Units units)
|
public SetUnitsOp(BalanceDev scale, Config.Unit units)
|
||||||
{
|
{
|
||||||
if (scale == null) throw new ArgumentNullException("balanceDev");
|
if (scale == null) throw new ArgumentNullException("balanceDev");
|
||||||
this.scale = scale;
|
this.scale = scale;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user