diff --git a/TestBenchFramework/BenchControl/GenericDevices/IBalance.cs b/TestBenchFramework/BenchControl/GenericDevices/IBalance.cs index a9dc76d71..64fde4d54 100644 --- a/TestBenchFramework/BenchControl/GenericDevices/IBalance.cs +++ b/TestBenchFramework/BenchControl/GenericDevices/IBalance.cs @@ -42,6 +42,9 @@ namespace TBF.BenchControl.GenericDevices /// int EmptyTimeSec { get; } + float BuoyancyTemp { get; } /// + float BuoyancyPress { get; } /// Displayed in Metrology tab page + float BuoyancyHumi { get; } /// /// /// Measurement correction table diff --git a/TestBenchFramework/BenchControl/GenericDevices/IBalanceCfg.cs b/TestBenchFramework/BenchControl/GenericDevices/IBalanceCfg.cs new file mode 100644 index 000000000..100e85bdc --- /dev/null +++ b/TestBenchFramework/BenchControl/GenericDevices/IBalanceCfg.cs @@ -0,0 +1,16 @@ +/// +/// Copyright (c) 2013-2016 Sensus Metering Systems +/// +using TBF.BenchControl.Generic; + +namespace TBF.BenchControl.GenericDevices +{ + public interface IBalanceCfg : IComponentCfg + { + /// Parameters displayed in Metrology tab page + float BuoyancyTemp { get; set; } + float BuoyancyPress { get; set; } + float BuoyancyHumi { get; set; } + } +} + diff --git a/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceCfg.cs b/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceCfg.cs index 082ee985a..24fe8249c 100644 --- a/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceCfg.cs +++ b/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceCfg.cs @@ -10,7 +10,7 @@ using TBF.BenchControl.Generic; namespace TBF.BenchControl.MettlerToledo.Multi { - public class BalanceCfg : ComponentCfgBase, Generic.IComponentCfg + public class BalanceCfg : ComponentCfgBase, GenericDevices.IBalanceCfg { public IComponent GetComponent(IList components) { return new BalanceDev(this); } public IComponentCfgCtrl GetControl() { return new BalanceCfgCtrl(); } @@ -18,12 +18,12 @@ namespace TBF.BenchControl.MettlerToledo.Multi /// /// Serialized parameters /// - public int IdNr; /// Identification number 1..3 - public float Capacity; /// Max. water mass in 'kg' or volume in 'l' - public float Resolution; /// Resolution of the integer value in the serial protocol in 'kg' - public float Empty; /// 'Empty' water mass in 'kg' or volume in 'l' + public int IdNr; /// Identification number 1..3 + public float Capacity; /// Max. water mass in 'kg' or volume in 'l' + public float Resolution; /// Resolution of the integer value in the serial protocol in 'kg' + public float Empty; /// 'Empty' water mass in 'kg' or volume in 'l' public string Format; - public int EmptyTimeSec; /// s + public int EmptyTimeSec; /// s public int ComPortNr; public int BaudRate; @@ -32,6 +32,27 @@ namespace TBF.BenchControl.MettlerToledo.Multi public StopBits StopBits; public Handshake Handshake; + /// Buoyancy - Displayed in Metrology tab page + private float buoyancyTemp; + private float buoyancyPress; + private float buoyancyHumi; + /// + 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; } + } + /// Private parameterless constructor invoked by all other (public) constructors BalanceCfg() { @@ -51,7 +72,11 @@ namespace TBF.BenchControl.MettlerToledo.Multi DataBits = 7; StopBits = System.IO.Ports.StopBits.One; Handshake = System.IO.Ports.Handshake.XOnXOff; - } + + BuoyancyTemp = 20.0f; + BuoyancyPress = 1.0f; + BuoyancyHumi = 40.0f; + } public BalanceCfg(IComponentFactory factory) : this() diff --git a/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceDev.cs b/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceDev.cs index a0923fe06..ced96d731 100644 --- a/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceDev.cs +++ b/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceDev.cs @@ -54,6 +54,11 @@ namespace TBF.BenchControl.MettlerToledo.Multi public float Capacity { get { return balanceCfg.Capacity; } } public float Resolution { get { return balanceCfg.Resolution; } } public int EmptyTimeSec { get { return balanceCfg.EmptyTimeSec; } } + + /// Buoyancy + public float BuoyancyTemp { get { return balanceCfg.BuoyancyTemp; } } + public float BuoyancyPress { get { return balanceCfg.BuoyancyPress; } } + public float BuoyancyHumi { get { return balanceCfg.BuoyancyHumi; } } /// The state of the mass measurement public MsrmntState MsrmntState { get { return msrmntState; } } diff --git a/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceCfg.cs b/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceCfg.cs index 025e9f372..46c4b671e 100644 --- a/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceCfg.cs +++ b/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceCfg.cs @@ -10,7 +10,7 @@ using TBF.BenchControl.Generic; namespace TBF.BenchControl.MettlerToledo.Standard { - public class BalanceCfg : ComponentCfgBase, Generic.IComponentCfg + public class BalanceCfg : ComponentCfgBase, GenericDevices.IBalanceCfg { public IComponent GetComponent(IList components) { @@ -29,10 +29,32 @@ namespace TBF.BenchControl.MettlerToledo.Standard public int DataBits; public StopBits StopBits; public Handshake Handshake; - public float Capacity; /// Max. water mass in 'kg' or volume in 'l' - public float Empty; /// 'Empty' water mass in 'kg' or volume in 'l' + public float Capacity; /// Max. water mass in 'kg' or volume in 'l' + public float Empty; /// 'Empty' water mass in 'kg' or volume in 'l' public string Format; - public int EmptyTimeSec; /// s + public int EmptyTimeSec; /// s + + /// Buoyancy - Displayed in Metrology tab page + private float buoyancyTemp; + private float buoyancyPress; + private float buoyancyHumi; + /// + 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; } + } + /// Private parameterless constructor invoked by all other (public) constructors BalanceCfg() @@ -49,7 +71,10 @@ namespace TBF.BenchControl.MettlerToledo.Standard Empty = 20.0f; Format = "F3"; EmptyTimeSec = 180; - } + BuoyancyTemp = 20.0f; + BuoyancyPress = 1.0f; + BuoyancyHumi = 40.0f; + } public BalanceCfg(IComponentFactory factory) : this() diff --git a/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceDev.cs b/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceDev.cs index da1591d25..b9efb2f03 100644 --- a/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceDev.cs +++ b/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceDev.cs @@ -51,7 +51,12 @@ namespace TBF.BenchControl.MettlerToledo.Standard public int BalanceNr { get { return balanceNr; } } public float Capacity { get { return balanceCfg.Capacity; } } public int EmptyTimeSec { get { return balanceCfg.EmptyTimeSec; } } - + + /// Buoyancy + public float BuoyancyTemp { get { return balanceCfg.BuoyancyTemp; } } + public float BuoyancyPress { get { return balanceCfg.BuoyancyPress; } } + public float BuoyancyHumi { get { return balanceCfg.BuoyancyHumi; } } + /// The state of the mass measurement public MsrmntState MsrmntState { get { return msrmntState; } } protected MsrmntState msrmntState; diff --git a/TestBenchFramework/MetrologyDlg.cs b/TestBenchFramework/MetrologyDlg.cs index 2304d8c76..c1ed91a84 100644 --- a/TestBenchFramework/MetrologyDlg.cs +++ b/TestBenchFramework/MetrologyDlg.cs @@ -69,12 +69,15 @@ namespace TBF // Balance tab-pages if (factory is BenchControl.MettlerToledo.Standard.BalanceFactory || - factory is BenchControl.MettlerToledo.Standard.BalanceNewFactory) + factory is BenchControl.MettlerToledo.Standard.BalanceOldFactory || + factory is BenchControl.MettlerToledo.Standard.BalanceNewFactory || + factory is BenchControl.MettlerToledo.Multi.BalanceFactory) { balancesCount++; TabPage tabPage = new TabPage(" " + cmpnt.Name + " "); MetrologyDlgBalanceTab uiControl = new MetrologyDlgBalanceTab(); uiControl.MeterEntity = cmpnt; + uiControl.BalanceCfg = factory.CmpntCfgFromCmpntEntity(cmpnt) as BenchControl.GenericDevices.IBalanceCfg; uiControl.Dock = DockStyle.Fill; tabPage.Tag = uiControl; tabPage.Controls.Add(uiControl); @@ -121,12 +124,13 @@ namespace TBF { IMetrologyDlgTab tab = tabPage.Tag as IMetrologyDlgTab; tab.OkBtnClicked(); - if (!(tabPage.Tag is MetrologyDlgDensityTab)) + + if (!(tabPage.Tag is MetrologyDlgDensityTab)) { Config.FluentCommon.SaveToDb(session, tab.MeterEntity); foreach (var entity in tab.ToBeRemoved) Config.FluentCommon.DeleteFromDb(session, entity); } - } + } Program.LocalSettings.MetrologyDlgLeft = Location.X; Program.LocalSettings.MetrologyDlgTop = Location.Y; diff --git a/TestBenchFramework/Resources/Strings.Designer.cs b/TestBenchFramework/Resources/Strings.Designer.cs index d32484e96..962cf242d 100644 --- a/TestBenchFramework/Resources/Strings.Designer.cs +++ b/TestBenchFramework/Resources/Strings.Designer.cs @@ -1212,6 +1212,15 @@ namespace TBF.Resources { } } + /// + /// Looks up a localized string similar to At least one of Buoyancy parameters is invalid,\r\ncorrect it please.. + /// + internal static string Invalid_buoyancy_parameter_Correct_pls { + get { + return ResourceManager.GetString("Invalid_buoyancy_parameter_Correct_pls", resourceCulture); + } + } + /// /// Looks up a localized string similar to Invalid password. /// diff --git a/TestBenchFramework/Resources/Strings.resx b/TestBenchFramework/Resources/Strings.resx index ea22860f5..75fb05a44 100644 --- a/TestBenchFramework/Resources/Strings.resx +++ b/TestBenchFramework/Resources/Strings.resx @@ -1216,4 +1216,7 @@ Continue in the cycle after this test? + + At least one of Buoyancy parameters is invalid,\r\ncorrect it please. + \ No newline at end of file diff --git a/TestBenchFramework/TBF.csproj b/TestBenchFramework/TBF.csproj index 2c439d7ae..86f9a15ac 100644 --- a/TestBenchFramework/TBF.csproj +++ b/TestBenchFramework/TBF.csproj @@ -336,6 +336,7 @@ ValveCfgCtrl.cs + diff --git a/TestBenchFramework/UiControls/MetrologyDlgBalanceTab.Designer.cs b/TestBenchFramework/UiControls/MetrologyDlgBalanceTab.Designer.cs index 527c51053..2bbc75d4d 100644 --- a/TestBenchFramework/UiControls/MetrologyDlgBalanceTab.Designer.cs +++ b/TestBenchFramework/UiControls/MetrologyDlgBalanceTab.Designer.cs @@ -31,152 +31,238 @@ namespace TBF.UiControls /// private void InitializeComponent() { - this.cmpntNameLabel = new System.Windows.Forms.Label(); - this.splitContainer1 = new System.Windows.Forms.SplitContainer(); - this.measuredLabel = new System.Windows.Forms.Label(); - this.label1 = new System.Windows.Forms.Label(); - this.listViewEx = new TBF.UiControls.ListViewEx(); - this.testGroupBox = new System.Windows.Forms.GroupBox(); - this.correctedLabel = new System.Windows.Forms.Label(); - this.measuredTextBox = new System.Windows.Forms.TextBox(); - this.correctedTextBox = new System.Windows.Forms.TextBox(); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); - this.splitContainer1.Panel1.SuspendLayout(); - this.splitContainer1.Panel2.SuspendLayout(); - this.splitContainer1.SuspendLayout(); - this.testGroupBox.SuspendLayout(); - this.SuspendLayout(); - // - // cmpntNameLabel - // - this.cmpntNameLabel.AutoSize = true; - this.cmpntNameLabel.Location = new System.Drawing.Point(97, 12); - this.cmpntNameLabel.Name = "cmpntNameLabel"; - this.cmpntNameLabel.Size = new System.Drawing.Size(88, 13); - this.cmpntNameLabel.TabIndex = 0; - this.cmpntNameLabel.Text = "componentName"; - // - // splitContainer1 - // - this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; - this.splitContainer1.Location = new System.Drawing.Point(0, 0); - this.splitContainer1.Name = "splitContainer1"; - this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; - // - // splitContainer1.Panel1 - // - this.splitContainer1.Panel1.Controls.Add(this.testGroupBox); - this.splitContainer1.Panel1.Controls.Add(this.label1); - this.splitContainer1.Panel1.Controls.Add(this.cmpntNameLabel); - // - // splitContainer1.Panel2 - // - this.splitContainer1.Panel2.Controls.Add(this.listViewEx); - this.splitContainer1.Size = new System.Drawing.Size(420, 300); - this.splitContainer1.SplitterDistance = 80; - this.splitContainer1.TabIndex = 1; - // - // measuredLabel - // - this.measuredLabel.AutoSize = true; - this.measuredLabel.Location = new System.Drawing.Point(6, 20); - this.measuredLabel.Name = "measuredLabel"; - this.measuredLabel.Size = new System.Drawing.Size(54, 13); - this.measuredLabel.TabIndex = 2; - this.measuredLabel.Text = "Measured"; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(14, 12); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(64, 13); - this.label1.TabIndex = 1; - this.label1.Text = "Component:"; - // - // listViewEx - // - this.listViewEx.AllowColumnReorder = true; - this.listViewEx.Dock = System.Windows.Forms.DockStyle.Fill; - this.listViewEx.DoubleClickActivation = false; - this.listViewEx.FullRowSelect = true; - this.listViewEx.GridLines = true; - this.listViewEx.Location = new System.Drawing.Point(0, 0); - this.listViewEx.Name = "listViewEx"; - this.listViewEx.Size = new System.Drawing.Size(420, 216); - this.listViewEx.TabIndex = 0; - this.listViewEx.UseCompatibleStateImageBehavior = false; - this.listViewEx.View = System.Windows.Forms.View.Details; - this.listViewEx.SelectedIndexChanged += new System.EventHandler(this.listViewEx_SelectedIndexChanged); - // - // testGroupBox - // - this.testGroupBox.Controls.Add(this.correctedTextBox); - this.testGroupBox.Controls.Add(this.measuredTextBox); - this.testGroupBox.Controls.Add(this.correctedLabel); - this.testGroupBox.Controls.Add(this.measuredLabel); - this.testGroupBox.Location = new System.Drawing.Point(245, 7); - this.testGroupBox.Name = "testGroupBox"; - this.testGroupBox.Size = new System.Drawing.Size(157, 64); - this.testGroupBox.TabIndex = 3; - this.testGroupBox.TabStop = false; - this.testGroupBox.Text = "Test"; - // - // correctedLabel - // - this.correctedLabel.AutoSize = true; - this.correctedLabel.Location = new System.Drawing.Point(7, 41); - this.correctedLabel.Name = "correctedLabel"; - this.correctedLabel.Size = new System.Drawing.Size(53, 13); - this.correctedLabel.TabIndex = 3; - this.correctedLabel.Text = "Corrected"; - // - // measuredTextBox - // - this.measuredTextBox.Location = new System.Drawing.Point(74, 13); - this.measuredTextBox.Name = "measuredTextBox"; - this.measuredTextBox.Size = new System.Drawing.Size(73, 20); - this.measuredTextBox.TabIndex = 4; - this.measuredTextBox.TextChanged += new System.EventHandler(this.measuredTextBox_TextChanged); - // - // correctedTextBox - // - this.correctedTextBox.Location = new System.Drawing.Point(74, 38); - this.correctedTextBox.Name = "correctedTextBox"; - this.correctedTextBox.ReadOnly = true; - this.correctedTextBox.Size = new System.Drawing.Size(73, 20); - this.correctedTextBox.TabIndex = 5; - // - // MetrologyDlgBalanceTab - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.splitContainer1); - this.Name = "MetrologyDlgBalanceTab"; - this.Size = new System.Drawing.Size(420, 300); - this.Load += new System.EventHandler(this.MetrologyDlgBalanceTab_Load); - this.splitContainer1.Panel1.ResumeLayout(false); - this.splitContainer1.Panel1.PerformLayout(); - this.splitContainer1.Panel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); - this.splitContainer1.ResumeLayout(false); - this.testGroupBox.ResumeLayout(false); - this.testGroupBox.PerformLayout(); - this.ResumeLayout(false); + this.cmpntNameLabel = new System.Windows.Forms.Label(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.buoancyGroupBox = new System.Windows.Forms.GroupBox(); + this.buoyancyHumiTextBox = new System.Windows.Forms.TextBox(); + this.buoyancyPressTextBox = new System.Windows.Forms.TextBox(); + this.buoyancyTempTextBox = new System.Windows.Forms.TextBox(); + this.buoyancyHumiLabel = new System.Windows.Forms.Label(); + this.buoyancyPressLabel = new System.Windows.Forms.Label(); + this.buoyancyTempLabel = new System.Windows.Forms.Label(); + this.nameGroupBox = new System.Windows.Forms.GroupBox(); + this.testGroupBox = new System.Windows.Forms.GroupBox(); + this.correctedTextBox = new System.Windows.Forms.TextBox(); + this.measuredTextBox = new System.Windows.Forms.TextBox(); + this.correctedLabel = new System.Windows.Forms.Label(); + this.measuredLabel = new System.Windows.Forms.Label(); + this.listViewEx = new TBF.UiControls.ListViewEx(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + this.buoancyGroupBox.SuspendLayout(); + this.nameGroupBox.SuspendLayout(); + this.testGroupBox.SuspendLayout(); + this.SuspendLayout(); + // + // cmpntNameLabel + // + this.cmpntNameLabel.AutoSize = true; + this.cmpntNameLabel.Location = new System.Drawing.Point(20, 41); + this.cmpntNameLabel.Name = "cmpntNameLabel"; + this.cmpntNameLabel.Size = new System.Drawing.Size(64, 13); + this.cmpntNameLabel.TabIndex = 0; + this.cmpntNameLabel.Text = "cmpntName"; + // + // splitContainer1 + // + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer1.Location = new System.Drawing.Point(0, 0); + this.splitContainer1.Name = "splitContainer1"; + this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.buoancyGroupBox); + this.splitContainer1.Panel1.Controls.Add(this.nameGroupBox); + this.splitContainer1.Panel1.Controls.Add(this.testGroupBox); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.listViewEx); + this.splitContainer1.Size = new System.Drawing.Size(550, 300); + this.splitContainer1.SplitterDistance = 105; + this.splitContainer1.TabIndex = 1; + // + // buoancyGroupBox + // + this.buoancyGroupBox.Controls.Add(this.buoyancyHumiTextBox); + this.buoancyGroupBox.Controls.Add(this.buoyancyPressTextBox); + this.buoancyGroupBox.Controls.Add(this.buoyancyTempTextBox); + this.buoancyGroupBox.Controls.Add(this.buoyancyHumiLabel); + this.buoancyGroupBox.Controls.Add(this.buoyancyPressLabel); + this.buoancyGroupBox.Controls.Add(this.buoyancyTempLabel); + this.buoancyGroupBox.Location = new System.Drawing.Point(112, 10); + this.buoancyGroupBox.Name = "buoancyGroupBox"; + this.buoancyGroupBox.Size = new System.Drawing.Size(228, 88); + this.buoancyGroupBox.TabIndex = 5; + this.buoancyGroupBox.TabStop = false; + this.buoancyGroupBox.Text = "Buoyancy"; + // + // buoyancyHumiTextBox + // + this.buoyancyHumiTextBox.Enabled = false; + this.buoyancyHumiTextBox.Location = new System.Drawing.Point(140, 61); + this.buoyancyHumiTextBox.Name = "buoyancyHumiTextBox"; + this.buoyancyHumiTextBox.Size = new System.Drawing.Size(82, 20); + this.buoyancyHumiTextBox.TabIndex = 5; + // + // buoyancyPressTextBox + // + this.buoyancyPressTextBox.Enabled = false; + this.buoyancyPressTextBox.Location = new System.Drawing.Point(140, 38); + this.buoyancyPressTextBox.Name = "buoyancyPressTextBox"; + this.buoyancyPressTextBox.Size = new System.Drawing.Size(82, 20); + this.buoyancyPressTextBox.TabIndex = 4; + // + // buoyancyTempTextBox + // + this.buoyancyTempTextBox.Enabled = false; + this.buoyancyTempTextBox.Location = new System.Drawing.Point(140, 15); + this.buoyancyTempTextBox.Name = "buoyancyTempTextBox"; + this.buoyancyTempTextBox.Size = new System.Drawing.Size(82, 20); + this.buoyancyTempTextBox.TabIndex = 3; + // + // buoyancyHumiLabel + // + this.buoyancyHumiLabel.AutoSize = true; + this.buoyancyHumiLabel.Location = new System.Drawing.Point(17, 64); + this.buoyancyHumiLabel.Name = "buoyancyHumiLabel"; + this.buoyancyHumiLabel.Size = new System.Drawing.Size(72, 13); + this.buoyancyHumiLabel.TabIndex = 2; + this.buoyancyHumiLabel.Text = "Humidity [R%]"; + // + // buoyancyPressLabel + // + this.buoyancyPressLabel.AutoSize = true; + this.buoyancyPressLabel.Location = new System.Drawing.Point(17, 41); + this.buoyancyPressLabel.Name = "buoyancyPressLabel"; + this.buoyancyPressLabel.Size = new System.Drawing.Size(76, 13); + this.buoyancyPressLabel.TabIndex = 1; + this.buoyancyPressLabel.Text = "Pressure [hPa]"; + // + // buoyancyTempLabel + // + this.buoyancyTempLabel.AutoSize = true; + this.buoyancyTempLabel.Location = new System.Drawing.Point(17, 18); + this.buoyancyTempLabel.Name = "buoyancyTempLabel"; + this.buoyancyTempLabel.Size = new System.Drawing.Size(83, 13); + this.buoyancyTempLabel.TabIndex = 0; + this.buoyancyTempLabel.Text = "Temperature [C]"; + // + // nameGroupBox + // + this.nameGroupBox.Controls.Add(this.cmpntNameLabel); + this.nameGroupBox.Location = new System.Drawing.Point(16, 10); + this.nameGroupBox.Name = "nameGroupBox"; + this.nameGroupBox.Size = new System.Drawing.Size(90, 88); + this.nameGroupBox.TabIndex = 4; + this.nameGroupBox.TabStop = false; + this.nameGroupBox.Text = "Component"; + // + // testGroupBox + // + this.testGroupBox.Controls.Add(this.correctedTextBox); + this.testGroupBox.Controls.Add(this.measuredTextBox); + this.testGroupBox.Controls.Add(this.correctedLabel); + this.testGroupBox.Controls.Add(this.measuredLabel); + this.testGroupBox.Location = new System.Drawing.Point(346, 10); + this.testGroupBox.Name = "testGroupBox"; + this.testGroupBox.Size = new System.Drawing.Size(170, 88); + this.testGroupBox.TabIndex = 3; + this.testGroupBox.TabStop = false; + this.testGroupBox.Text = "Test correction"; + // + // correctedTextBox + // + this.correctedTextBox.Location = new System.Drawing.Point(91, 38); + this.correctedTextBox.Name = "correctedTextBox"; + this.correctedTextBox.ReadOnly = true; + this.correctedTextBox.Size = new System.Drawing.Size(73, 20); + this.correctedTextBox.TabIndex = 5; + // + // measuredTextBox + // + this.measuredTextBox.Location = new System.Drawing.Point(91, 15); + this.measuredTextBox.Name = "measuredTextBox"; + this.measuredTextBox.Size = new System.Drawing.Size(73, 20); + this.measuredTextBox.TabIndex = 4; + this.measuredTextBox.TextChanged += new System.EventHandler(this.measuredTextBox_TextChanged); + // + // correctedLabel + // + this.correctedLabel.AutoSize = true; + this.correctedLabel.Location = new System.Drawing.Point(18, 41); + this.correctedLabel.Name = "correctedLabel"; + this.correctedLabel.Size = new System.Drawing.Size(53, 13); + this.correctedLabel.TabIndex = 3; + this.correctedLabel.Text = "Corrected"; + // + // measuredLabel + // + this.measuredLabel.AutoSize = true; + this.measuredLabel.Location = new System.Drawing.Point(17, 18); + this.measuredLabel.Name = "measuredLabel"; + this.measuredLabel.Size = new System.Drawing.Size(54, 13); + this.measuredLabel.TabIndex = 2; + this.measuredLabel.Text = "Measured"; + // + // listViewEx + // + this.listViewEx.AllowColumnReorder = true; + this.listViewEx.Dock = System.Windows.Forms.DockStyle.Fill; + this.listViewEx.DoubleClickActivation = false; + this.listViewEx.FullRowSelect = true; + this.listViewEx.GridLines = true; + this.listViewEx.Location = new System.Drawing.Point(0, 0); + this.listViewEx.Name = "listViewEx"; + this.listViewEx.Size = new System.Drawing.Size(550, 191); + this.listViewEx.TabIndex = 0; + this.listViewEx.UseCompatibleStateImageBehavior = false; + this.listViewEx.View = System.Windows.Forms.View.Details; + this.listViewEx.SelectedIndexChanged += new System.EventHandler(this.listViewEx_SelectedIndexChanged); + // + // MetrologyDlgBalanceTab + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.splitContainer1); + this.Name = "MetrologyDlgBalanceTab"; + this.Size = new System.Drawing.Size(550, 300); + this.Load += new System.EventHandler(this.MetrologyDlgBalanceTab_Load); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + this.buoancyGroupBox.ResumeLayout(false); + this.buoancyGroupBox.PerformLayout(); + this.nameGroupBox.ResumeLayout(false); + this.nameGroupBox.PerformLayout(); + this.testGroupBox.ResumeLayout(false); + this.testGroupBox.PerformLayout(); + this.ResumeLayout(false); } #endregion private System.Windows.Forms.Label cmpntNameLabel; - private System.Windows.Forms.SplitContainer splitContainer1; - private System.Windows.Forms.Label label1; + private System.Windows.Forms.SplitContainer splitContainer1; private ListViewEx listViewEx; private System.Windows.Forms.Label measuredLabel; private System.Windows.Forms.GroupBox testGroupBox; private System.Windows.Forms.TextBox correctedTextBox; private System.Windows.Forms.TextBox measuredTextBox; private System.Windows.Forms.Label correctedLabel; + private System.Windows.Forms.GroupBox buoancyGroupBox; + private System.Windows.Forms.GroupBox nameGroupBox; + private System.Windows.Forms.TextBox buoyancyHumiTextBox; + private System.Windows.Forms.TextBox buoyancyPressTextBox; + private System.Windows.Forms.TextBox buoyancyTempTextBox; + private System.Windows.Forms.Label buoyancyHumiLabel; + private System.Windows.Forms.Label buoyancyPressLabel; + private System.Windows.Forms.Label buoyancyTempLabel; } } diff --git a/TestBenchFramework/UiControls/MetrologyDlgBalanceTab.cs b/TestBenchFramework/UiControls/MetrologyDlgBalanceTab.cs index e983589c9..c3ca3c401 100644 --- a/TestBenchFramework/UiControls/MetrologyDlgBalanceTab.cs +++ b/TestBenchFramework/UiControls/MetrologyDlgBalanceTab.cs @@ -26,6 +26,11 @@ namespace TBF.UiControls } Component meterEntity; + /// + /// Balance configuration (with buoyancy parameters) + /// + public BenchControl.GenericDevices.IBalanceCfg BalanceCfg; + /// /// A list of 'measurement-correction' pairs to be deleted from the database on OK. /// @@ -54,12 +59,10 @@ namespace TBF.UiControls parent = ParentForm as MetrologyDlg; - /// Panel1 - cmpntNameLabel.Text = meterEntity.Name; + Localize(); - testGroupBox.Text = Strings.Test_measured_corrected; - measuredLabel.Text = Strings.Measured; - correctedLabel.Text = Strings.Corrected; + /// Panel1 + cmpntNameLabel.Text = meterEntity.Name; measuredTextBox.Text = string.Empty; correctedTextBox.Text = string.Empty; @@ -79,8 +82,26 @@ namespace TBF.UiControls RefreshAll(); } + void Localize() + { + buoyancyTempLabel.Text = Strings.Ambient_temperature_; + buoyancyPressLabel.Text = Strings.Ambient_pressure_; + buoyancyHumiLabel.Text = Strings.Ambient_humidity_; + + testGroupBox.Text = Strings.Test_measured_corrected; + measuredLabel.Text = Strings.Measured; + correctedLabel.Text = Strings.Corrected; + } + void RefreshAll() { + if (BalanceCfg != null) + { + buoyancyTempTextBox.Text = BalanceCfg.BuoyancyTemp.ToString("F2"); + buoyancyPressTextBox.Text = BalanceCfg.BuoyancyPress.ToString("F4"); + buoyancyHumiTextBox.Text = BalanceCfg.BuoyancyHumi.ToString("F1"); + } + listViewEx.Items.Clear(); foreach (var corr in MeterEntity.Corrections) AddOneLVI(corr); } @@ -129,6 +150,10 @@ namespace TBF.UiControls { unlocked = true; + buoyancyTempTextBox.Enabled = true; + buoyancyPressTextBox.Enabled = true; + buoyancyHumiTextBox.Enabled = true; + if (listViewEx.SelectedItems.Count == 1) { int ix = listViewEx.SelectedIndices[0]; @@ -140,7 +165,20 @@ namespace TBF.UiControls public void OkBtnClicked() { - } + try + { + BalanceCfg.BuoyancyTemp = Utils.ParseSFloat(buoyancyTempTextBox.Text); + BalanceCfg.BuoyancyPress = Utils.ParseUFloat(buoyancyPressTextBox.Text); + BalanceCfg.BuoyancyHumi = Utils.ParseUFloat(buoyancyHumiTextBox.Text); + + Component modified = BalanceCfg.CreateDbEntity(); + MeterEntity.Parameters = modified.Parameters; + } + catch + { + MessageBox.Show(Strings.Invalid_buoyancy_parameter_Correct_pls, Strings.Error, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + } + } public void CancelBtnClicked() {