Tank selector: (1) temperature controllers added, (2) procedure parameters added, ver. 2.12.489

This commit is contained in:
Milan Hanajik
2017-03-09 15:03:31 +01:00
parent e423562806
commit f9c8c22d5e
10 changed files with 472 additions and 170 deletions
@@ -0,0 +1,141 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
///
using System;
using System.IO;
using System.Text;
using System.Xml.Serialization;
using Config.Entities;
using TBF.BenchControl.Generic;
using TBF.Resources;
namespace TBF.BenchControl.Modbus.TankSelector
{
public class ProcParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
{
public float TempHotHeating; /// [°C] target temperature for hot water heating
public float TempHotCooling; /// [°C] target temperature for hot water cooling
public float TempWarmHeating; /// [°C] target temperature for warm water heating
public float TempWarmCooling; /// [°C] target temperature for warm water cooling
public float TempColdCooling; /// [°C] target temperature for cold water cooling
public override void InitializeAll()
{
TempHotHeating = 20.0f;
TempHotCooling = 20.0f;
TempWarmHeating = 20.0f;
TempWarmCooling = 20.0f;
TempColdCooling = 20.0f;
}
string[] paramNames = new string[]
{
Strings.T_hot_heating,
Strings.T_hot_cooling,
Strings.T_warm_heating,
Strings.T_warm_cooling,
Strings.T_cold_cooling,
};
public override string ParamName(int i) { return paramNames[i]; }
public override int ParamsCount() { return paramNames.Length; }
public override string ToString(int i)
{
switch (i)
{
case 0: return TempHotHeating.ToString();
case 1: return TempHotCooling.ToString();
case 2: return TempWarmHeating.ToString();
case 3: return TempWarmCooling.ToString();
case 4: return TempColdCooling.ToString();
default: return string.Empty;
}
}
public void UpdateParam(int i, string strValue)
{
switch (i)
{
case 0: TempHotHeating = Utils.ParseUFloat(strValue); return;
case 1: TempHotCooling = Utils.ParseUFloat(strValue); return;
case 2: TempWarmHeating = Utils.ParseUFloat(strValue); return;
case 3: TempWarmCooling = Utils.ParseUFloat(strValue); return;
case 4: TempColdCooling = Utils.ParseUFloat(strValue); return;
default: return;
}
}
public bool ValidateParam(int i, string strValue, out string message)
{
message = string.Empty;
float dummy;
switch (i)
{
case 0: /// T_hot_heating
case 1: /// T_hot_cooling
case 2: /// T_warm_heating
case 3: /// T_warm_cooling
case 4: /// T_cold_cooling
if (Utils.TryParseUFloat(strValue, out dummy)) return true;
break;
default:
message = "Invalid index";
return false;
}
message = ParamName(i) + " is invalid";
return false;
}
void CopyContentTo(ProcParams prms)
{
prms.TempHotHeating = this.TempHotHeating;
prms.TempHotCooling = this.TempHotCooling;
prms.TempWarmHeating = this.TempWarmHeating;
prms.TempWarmCooling = this.TempWarmCooling;
prms.TempColdCooling = this.TempColdCooling;
}
public IParamsProvider Clone()
{
ProcParams pars = new ProcParams();
CopyContentTo(pars);
return pars;
}
public override void UpdateProcedureParams(ComponentProcedure dbEntity)
{
if (dbEntity == null) return;
try
{
ProcParams tmp = (ProcParams)(new XmlSerializer(typeof(ProcParams)))
.Deserialize(new StringReader(dbEntity.Parameters));
procedureParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
procedure = dbEntity.Procedure;
tmp.CopyContentTo(this);
}
catch
{
}
}
/// <summary>
/// Parameterless constructor initializes the parameters
/// </summary>
public ProcParams()
{
}
public ProcParams(ComponentProcedure procParamsEntity, string componentName, Procedure procedure)
{
this.procedureParamsEntity = procParamsEntity;
this.componentName = componentName;
this.procedure = procedure;
}
}
}
@@ -17,9 +17,14 @@ namespace TBF.BenchControl.Modbus.TankSelector
public override string ToString() { return string.Format("TankSelector({0})", Cfg.ToString(1)); } public override string ToString() { return string.Format("TankSelector({0})", Cfg.ToString(1)); }
readonly TankSelectorCfg tankSelectorCfg; readonly TankSelectorCfg tankSelectorCfg;
readonly TBF.BenchControl.Modbus.QuidoRS.QuidoRS quidoRS; readonly TBF.BenchControl.Modbus.QuidoRS.QuidoRS quidoRS;
readonly TBF.BenchControl.Modbus.Easytherm.Easytherm easytherm;
readonly Elde.ControlBoardDev controlBoard; readonly TBF.BenchControl.Modbus.Easytherm.Easytherm hotHeating;
readonly TBF.BenchControl.Modbus.Easytherm.Easytherm hotCooling;
readonly TBF.BenchControl.Modbus.Easytherm.Easytherm warmHeating;
readonly TBF.BenchControl.Modbus.Easytherm.Easytherm warmCooling;
readonly TBF.BenchControl.Modbus.Easytherm.Easytherm coldCooling;
IList<string> sequenceConditionNames; IList<string> sequenceConditionNames;
@@ -29,7 +34,7 @@ namespace TBF.BenchControl.Modbus.TankSelector
/// <summary> /// <summary>
/// Quido digital out board outputs assignment /// Quido digital out board outputs assignment
/// </summary> /// </summary>
private enum QuidoInputs private enum QuidoOutputs
{ {
None = 0, None = 0,
SelectColdTank = 0x0001, SelectColdTank = 0x0001,
@@ -60,8 +65,16 @@ namespace TBF.BenchControl.Modbus.TankSelector
quidoRS = (TBF.BenchControl.Modbus.QuidoRS.QuidoRS)TbfComponents.FindComponent(cfg.ParentName, components); quidoRS = (TBF.BenchControl.Modbus.QuidoRS.QuidoRS)TbfComponents.FindComponent(cfg.ParentName, components);
if (quidoRS == null) throw new Exception(string.Format("Cannot find parent '{0}' of the component {1}", cfg.ParentName, Name)); if (quidoRS == null) throw new Exception(string.Format("Cannot find parent '{0}' of the component {1}", cfg.ParentName, Name));
controlBoard = (Elde.ControlBoardDev)TbfComponents.FindComponent(tankSelectorCfg.ControlBoard, components); hotHeating = (TBF.BenchControl.Modbus.Easytherm.Easytherm)TbfComponents.FindComponent(tankSelectorCfg.HotWaterHeating, components);
if (controlBoard == null) throw new Exception(string.Format("Cannot find control board '{0}' for the component {1}", tankSelectorCfg.ControlBoard, Name)); hotCooling = (TBF.BenchControl.Modbus.Easytherm.Easytherm)TbfComponents.FindComponent(tankSelectorCfg.HotWaterCooling, components);
warmHeating = (TBF.BenchControl.Modbus.Easytherm.Easytherm)TbfComponents.FindComponent(tankSelectorCfg.WarmWaterHeating, components);
warmCooling = (TBF.BenchControl.Modbus.Easytherm.Easytherm)TbfComponents.FindComponent(tankSelectorCfg.WarmWaterCooling, components);
coldCooling = (TBF.BenchControl.Modbus.Easytherm.Easytherm)TbfComponents.FindComponent(tankSelectorCfg.ColdWaterCooling, components);
if (hotHeating == null) throw new Exception(string.Format("Component '{0}' cannot find temperature controller '{1}'", Name, tankSelectorCfg.HotWaterHeating));
if (hotCooling == null) throw new Exception(string.Format("Component '{0}' cannot find temperature controller '{1}'", Name, tankSelectorCfg.HotWaterCooling));
if (warmHeating == null) throw new Exception(string.Format("Component '{0}' cannot find temperature controller '{1}'", Name, tankSelectorCfg.WarmWaterHeating));
if (warmCooling == null) throw new Exception(string.Format("Component '{0}' cannot find temperature controller '{1}'", Name, tankSelectorCfg.WarmWaterCooling));
if (coldCooling == null) throw new Exception(string.Format("Component '{0}' cannot find temperature controller '{1}'", Name, tankSelectorCfg.ColdWaterCooling));
CreateConditions(true); CreateConditions(true);
@@ -2,9 +2,8 @@
/// Copyright (c) 2017 Sensus Metering Systems /// Copyright (c) 2017 Sensus Metering Systems
/// ///
using System; using System;
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization; using System.Xml.Serialization;
using Config.Entities;
using TBF.BenchControl.Generic; using TBF.BenchControl.Generic;
namespace TBF.BenchControl.Modbus.TankSelector namespace TBF.BenchControl.Modbus.TankSelector
@@ -16,14 +15,32 @@ namespace TBF.BenchControl.Modbus.TankSelector
/// ///
/// Serialized parameters /// Serialized parameters
/// ///
public string ControlBoard; public string HotWaterHeating; /// Name of the component communicating with the temperature controller
public string HotWaterCooling; /// Name of the component communicating with the temperature controller
public string WarmWaterHeating; /// Name of the component communicating with the temperature controller
public string WarmWaterCooling; /// Name of the component communicating with the temperature controller
public string ColdWaterCooling; /// Name of the component communicating with the temperature controller
/// <summary> Procedure parameters </summary>
[XmlIgnore]
public ProcParams ProcParams;
public override IParamsProvider GetProcedureParams() { return ProcParams; }
public override IParamsProvider CreateProcedureParams(Procedure procedure)
{
ProcParams procParams = new ProcParams();
procParams.UpdateProcedureParams(Name, procedure);
return procParams;
}
/// Private parameterless constructor invoked by all other (public) constructors /// Private parameterless constructor invoked by all other (public) constructors
TankSelectorCfg() TankSelectorCfg()
{ {
Name = "TankSelector"; Name = "TankSelector";
ParentName = "QuidoRS"; ParentName = "QuidoRS";
} ProcParams = new ProcParams();
}
public TankSelectorCfg(IComponentFactory factory) public TankSelectorCfg(IComponentFactory factory)
: this() : this()
@@ -33,10 +50,14 @@ namespace TBF.BenchControl.Modbus.TankSelector
public string ToString(int i) public string ToString(int i)
{ {
return string.Format("Name={0}, Parent={1}, CtrlBrd={2}", return string.Format("Name={0}, DigOut={1}, Hot heating={2}, Hot cooling={3}, Warm heating={4}, Warm cooling={5}, Cold cooling={6}",
Name, Name,
(string.IsNullOrEmpty(ParentName) ? "-" : ParentName), (string.IsNullOrEmpty(ParentName) ? "-" : ParentName),
(string.IsNullOrEmpty(ControlBoard) ? "-" : ControlBoard)); (string.IsNullOrEmpty(HotWaterHeating) ? "-" : HotWaterHeating),
(string.IsNullOrEmpty(HotWaterCooling) ? "-" : HotWaterCooling),
(string.IsNullOrEmpty(WarmWaterHeating) ? "-" : WarmWaterHeating),
(string.IsNullOrEmpty(WarmWaterCooling) ? "-" : WarmWaterCooling),
(string.IsNullOrEmpty(ColdWaterCooling) ? "-" : ColdWaterCooling));
} }
} }
} }
@@ -36,8 +36,12 @@ namespace TBF.BenchControl.Modbus.TankSelector
{ {
parent = ParentForm as ComponentParametersDlg; parent = ParentForm as ComponentParametersDlg;
if (parent == null) return; if (parent == null) return;
controlBoardComboBox.Items.Add("---"); hotHeatingComboBox.Items.Add("---");
if (parent.TbfComponents != null) hotCoolingComboBox.Items.Add("---");
warmHeatingComboBox.Items.Add("---");
warmCoolingComboBox.Items.Add("---");
coldCoolingComboBox.Items.Add("---");
if (parent.TbfComponents != null)
{ {
foreach (var cmpnt in parent.TbfComponents) foreach (var cmpnt in parent.TbfComponents)
{ {
@@ -45,10 +49,14 @@ namespace TBF.BenchControl.Modbus.TankSelector
{ {
parentNameComboBox.Items.Add(cmpnt.Name); parentNameComboBox.Items.Add(cmpnt.Name);
} }
if (TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName) is Elde.ControlBoardFactory) if (TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName) is Modbus.Easytherm.Factory)
{ {
controlBoardComboBox.Items.Add(cmpnt.Name); hotHeatingComboBox.Items.Add(cmpnt.Name);
} hotCoolingComboBox.Items.Add(cmpnt.Name);
warmHeatingComboBox.Items.Add(cmpnt.Name);
warmCoolingComboBox.Items.Add(cmpnt.Name);
coldCoolingComboBox.Items.Add(cmpnt.Name);
}
} }
} }
@@ -66,39 +74,35 @@ namespace TBF.BenchControl.Modbus.TankSelector
componentNameLabel.Text = config.Factory.ClassName; componentNameLabel.Text = config.Factory.ClassName;
nameTextBox.Text = config.Name; nameTextBox.Text = config.Name;
parentNameComboBox.Text = string.IsNullOrEmpty(config.ParentName) ? "---" : config.ParentName; parentNameComboBox.Text = string.IsNullOrEmpty(config.ParentName) ? "---" : config.ParentName;
controlBoardComboBox.Text = string.IsNullOrEmpty(config.ControlBoard) ? "---" : config.ControlBoard; hotHeatingComboBox.Text = string.IsNullOrEmpty(config.HotWaterHeating) ? "---" : config.HotWaterHeating;
modbusAddressTextBox.Text = "1"; hotCoolingComboBox.Text = string.IsNullOrEmpty(config.HotWaterCooling) ? "---" : config.HotWaterCooling;
} warmHeatingComboBox.Text = string.IsNullOrEmpty(config.WarmWaterHeating) ? "---" : config.WarmWaterHeating;
warmCoolingComboBox.Text = string.IsNullOrEmpty(config.WarmWaterCooling) ? "---" : config.WarmWaterCooling;
coldCoolingComboBox.Text = string.IsNullOrEmpty(config.ColdWaterCooling) ? "---" : config.ColdWaterCooling;
}
public void Unlock() public void Unlock()
{ {
nameTextBox.Enabled = true; nameTextBox.Enabled = true;
parentNameComboBox.Enabled = true; parentNameComboBox.Enabled = true;
controlBoardComboBox.Enabled = true; hotHeatingComboBox.Enabled = true;
modbusAddressTextBox.Enabled = true; hotCoolingComboBox.Enabled = true;
} warmHeatingComboBox.Enabled = true;
warmCoolingComboBox.Enabled = true;
coldCoolingComboBox.Enabled = true;
}
public CfgUpdateFlags VerifyCfg(ref string message) public CfgUpdateFlags VerifyCfg(ref string message)
{ {
CfgUpdateFlags flags = CfgUpdateFlags.None; CfgUpdateFlags flags = CfgUpdateFlags.None;
int dummy; if (!parentNameComboBox.Items.Contains(parentNameComboBox.Text)) { flags |= CfgUpdateFlags.Error; message += Environment.NewLine + "Invalid 'Parent name'"; }
if (!parentNameComboBox.Items.Contains(parentNameComboBox.Text)) if (!hotHeatingComboBox.Items.Contains(hotHeatingComboBox.Text)) { flags |= CfgUpdateFlags.Error; message += Environment.NewLine + "Invalid 'Hot water heating'"; }
{ if (!hotCoolingComboBox.Items.Contains(hotCoolingComboBox.Text)) { flags |= CfgUpdateFlags.Error; message += Environment.NewLine + "Invalid 'Hot water cooling'"; }
flags |= CfgUpdateFlags.Error; if (!warmHeatingComboBox.Items.Contains(warmHeatingComboBox.Text)) { flags |= CfgUpdateFlags.Error; message += Environment.NewLine + "Invalid 'Warm water heating'"; }
message += Environment.NewLine + "Invalid 'Parent name'"; if (!warmCoolingComboBox.Items.Contains(warmCoolingComboBox.Text)) { flags |= CfgUpdateFlags.Error; message += Environment.NewLine + "Invalid 'Warm water cooling'"; }
} if (!coldCoolingComboBox.Items.Contains(coldCoolingComboBox.Text)) { flags |= CfgUpdateFlags.Error; message += Environment.NewLine + "Invalid 'Cold water cooling'"; }
if (!controlBoardComboBox.Items.Contains(controlBoardComboBox.Text)) return flags;
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + "Invalid 'Control board'";
}
if (!int.TryParse(modbusAddressTextBox.Text, out dummy) || dummy < 0 || dummy > 255)
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + "'Modbus Address' should be between 0 and 255";
}
return flags;
} }
public CfgUpdateFlags UpdateCfg() public CfgUpdateFlags UpdateCfg()
@@ -109,19 +113,13 @@ namespace TBF.BenchControl.Modbus.TankSelector
config.Name = nameTextBox.Text; config.Name = nameTextBox.Text;
config.ParentName = parentNameComboBox.Text.Equals("---") ? string.Empty : parentNameComboBox.Text; config.ParentName = parentNameComboBox.Text.Equals("---") ? string.Empty : parentNameComboBox.Text;
config.ControlBoard = controlBoardComboBox.Text.Equals("---") ? string.Empty : controlBoardComboBox.Text; config.HotWaterHeating = hotHeatingComboBox.Text.Equals("---") ? string.Empty : hotHeatingComboBox.Text;
config.HotWaterCooling = hotCoolingComboBox.Text.Equals("---") ? string.Empty : hotCoolingComboBox.Text;
config.WarmWaterHeating = warmHeatingComboBox.Text.Equals("---") ? string.Empty : warmHeatingComboBox.Text;
config.WarmWaterCooling = warmCoolingComboBox.Text.Equals("---") ? string.Empty : warmCoolingComboBox.Text;
config.ColdWaterCooling = coldCoolingComboBox.Text.Equals("---") ? string.Empty : coldCoolingComboBox.Text;
return flags; return flags;
} }
private void modbusAddressLabel_Click(object sender, EventArgs e)
{
}
private void modbusAddressTextBox_TextChanged(object sender, EventArgs e)
{
}
} }
} }
@@ -31,116 +31,181 @@ namespace TBF.BenchControl.Modbus.TankSelector
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.parentNameLabel = new System.Windows.Forms.Label(); this.parentNameLabel = new System.Windows.Forms.Label();
this.nameTextBox = new System.Windows.Forms.TextBox(); this.nameTextBox = new System.Windows.Forms.TextBox();
this.nameLabel = new System.Windows.Forms.Label(); this.nameLabel = new System.Windows.Forms.Label();
this.componentNameLabel = new System.Windows.Forms.Label(); this.componentNameLabel = new System.Windows.Forms.Label();
this.modbusAddressLabel = new System.Windows.Forms.Label(); this.parentNameComboBox = new System.Windows.Forms.ComboBox();
this.modbusAddressTextBox = new System.Windows.Forms.TextBox(); this.hotHeatingComboBox = new System.Windows.Forms.ComboBox();
this.parentNameComboBox = new System.Windows.Forms.ComboBox(); this.hotHeatingLabel = new System.Windows.Forms.Label();
this.controlBoardComboBox = new System.Windows.Forms.ComboBox(); this.hotCoolingComboBox = new System.Windows.Forms.ComboBox();
this.controlBoardLabel = new System.Windows.Forms.Label(); this.hotCoolingLabel = new System.Windows.Forms.Label();
this.SuspendLayout(); this.warmHeatingComboBox = new System.Windows.Forms.ComboBox();
// this.warmHeatingLabel = new System.Windows.Forms.Label();
// parentNameLabel this.warmCoolingComboBox = new System.Windows.Forms.ComboBox();
// this.warmCoolingLabel = new System.Windows.Forms.Label();
this.parentNameLabel.AutoSize = true; this.coldCoolingComboBox = new System.Windows.Forms.ComboBox();
this.parentNameLabel.Location = new System.Drawing.Point(28, 81); this.coldCoolingabel = new System.Windows.Forms.Label();
this.parentNameLabel.Name = "parentNameLabel"; this.SuspendLayout();
this.parentNameLabel.Size = new System.Drawing.Size(67, 13); //
this.parentNameLabel.TabIndex = 3; // parentNameLabel
this.parentNameLabel.Text = "Parent name"; //
// this.parentNameLabel.AutoSize = true;
// nameTextBox this.parentNameLabel.Location = new System.Drawing.Point(28, 81);
// this.parentNameLabel.Name = "parentNameLabel";
this.nameTextBox.Enabled = false; this.parentNameLabel.Size = new System.Drawing.Size(67, 13);
this.nameTextBox.Location = new System.Drawing.Point(138, 52); this.parentNameLabel.TabIndex = 3;
this.nameTextBox.Name = "nameTextBox"; this.parentNameLabel.Text = "Parent name";
this.nameTextBox.Size = new System.Drawing.Size(130, 20); //
this.nameTextBox.TabIndex = 2; // nameTextBox
// //
// nameLabel this.nameTextBox.Enabled = false;
// this.nameTextBox.Location = new System.Drawing.Point(138, 52);
this.nameLabel.AutoSize = true; this.nameTextBox.Name = "nameTextBox";
this.nameLabel.Location = new System.Drawing.Point(28, 55); this.nameTextBox.Size = new System.Drawing.Size(173, 20);
this.nameLabel.Name = "nameLabel"; this.nameTextBox.TabIndex = 2;
this.nameLabel.Size = new System.Drawing.Size(35, 13); //
this.nameLabel.TabIndex = 1; // nameLabel
this.nameLabel.Text = "Name"; //
// this.nameLabel.AutoSize = true;
// componentNameLabel this.nameLabel.Location = new System.Drawing.Point(28, 55);
// this.nameLabel.Name = "nameLabel";
this.componentNameLabel.AutoSize = true; this.nameLabel.Size = new System.Drawing.Size(35, 13);
this.componentNameLabel.Location = new System.Drawing.Point(135, 28); this.nameLabel.TabIndex = 1;
this.componentNameLabel.Name = "componentNameLabel"; this.nameLabel.Text = "Name";
this.componentNameLabel.Size = new System.Drawing.Size(83, 13); //
this.componentNameLabel.TabIndex = 0; // componentNameLabel
this.componentNameLabel.Text = "ComonentName"; //
// this.componentNameLabel.AutoSize = true;
// modbusAddressLabel this.componentNameLabel.Location = new System.Drawing.Point(135, 28);
// this.componentNameLabel.Name = "componentNameLabel";
this.modbusAddressLabel.AutoSize = true; this.componentNameLabel.Size = new System.Drawing.Size(83, 13);
this.modbusAddressLabel.Location = new System.Drawing.Point(28, 135); this.componentNameLabel.TabIndex = 0;
this.modbusAddressLabel.Name = "modbusAddressLabel"; this.componentNameLabel.Text = "ComonentName";
this.modbusAddressLabel.Size = new System.Drawing.Size(38, 13); //
this.modbusAddressLabel.TabIndex = 7; // parentNameComboBox
this.modbusAddressLabel.Text = "TODO"; //
this.modbusAddressLabel.Click += new System.EventHandler(this.modbusAddressLabel_Click); this.parentNameComboBox.Enabled = false;
// this.parentNameComboBox.FormattingEnabled = true;
// modbusAddressTextBox this.parentNameComboBox.Location = new System.Drawing.Point(138, 78);
// this.parentNameComboBox.Name = "parentNameComboBox";
this.modbusAddressTextBox.Enabled = false; this.parentNameComboBox.Size = new System.Drawing.Size(173, 21);
this.modbusAddressTextBox.Location = new System.Drawing.Point(138, 132); this.parentNameComboBox.TabIndex = 4;
this.modbusAddressTextBox.Name = "modbusAddressTextBox"; //
this.modbusAddressTextBox.Size = new System.Drawing.Size(46, 20); // controlBoardComboBox
this.modbusAddressTextBox.TabIndex = 8; //
this.modbusAddressTextBox.TextChanged += new System.EventHandler(this.modbusAddressTextBox_TextChanged); this.hotHeatingComboBox.Enabled = false;
// this.hotHeatingComboBox.FormattingEnabled = true;
// parentNameComboBox this.hotHeatingComboBox.Location = new System.Drawing.Point(138, 105);
// this.hotHeatingComboBox.Name = "controlBoardComboBox";
this.parentNameComboBox.Enabled = false; this.hotHeatingComboBox.Size = new System.Drawing.Size(173, 21);
this.parentNameComboBox.FormattingEnabled = true; this.hotHeatingComboBox.TabIndex = 6;
this.parentNameComboBox.Location = new System.Drawing.Point(138, 78); //
this.parentNameComboBox.Name = "parentNameComboBox"; // hotHeatingLabel
this.parentNameComboBox.Size = new System.Drawing.Size(130, 21); //
this.parentNameComboBox.TabIndex = 4; this.hotHeatingLabel.AutoSize = true;
// this.hotHeatingLabel.Location = new System.Drawing.Point(28, 108);
// controlBoardComboBox this.hotHeatingLabel.Name = "hotHeatingLabel";
// this.hotHeatingLabel.Size = new System.Drawing.Size(91, 13);
this.controlBoardComboBox.Enabled = false; this.hotHeatingLabel.TabIndex = 5;
this.controlBoardComboBox.FormattingEnabled = true; this.hotHeatingLabel.Text = "Hot water heating";
this.controlBoardComboBox.Location = new System.Drawing.Point(138, 105); //
this.controlBoardComboBox.Name = "controlBoardComboBox"; // comboBox1
this.controlBoardComboBox.Size = new System.Drawing.Size(130, 21); //
this.controlBoardComboBox.TabIndex = 6; this.hotCoolingComboBox.Enabled = false;
// this.hotCoolingComboBox.FormattingEnabled = true;
// controlBoardLabel this.hotCoolingComboBox.Location = new System.Drawing.Point(138, 132);
// this.hotCoolingComboBox.Name = "comboBox1";
this.controlBoardLabel.AutoSize = true; this.hotCoolingComboBox.Size = new System.Drawing.Size(173, 21);
this.controlBoardLabel.Location = new System.Drawing.Point(28, 108); this.hotCoolingComboBox.TabIndex = 8;
this.controlBoardLabel.Name = "controlBoardLabel"; //
this.controlBoardLabel.Size = new System.Drawing.Size(70, 13); // hotCoolingLabel
this.controlBoardLabel.TabIndex = 5; //
this.controlBoardLabel.Text = "Control board"; this.hotCoolingLabel.AutoSize = true;
// this.hotCoolingLabel.Location = new System.Drawing.Point(28, 135);
// TankSelectorCfgCtrl this.hotCoolingLabel.Name = "hotCoolingLabel";
// this.hotCoolingLabel.Size = new System.Drawing.Size(90, 13);
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.hotCoolingLabel.TabIndex = 7;
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.hotCoolingLabel.Text = "Hot water cooling";
this.Controls.Add(this.controlBoardComboBox); //
this.Controls.Add(this.controlBoardLabel); // comboBox2
this.Controls.Add(this.parentNameComboBox); //
this.Controls.Add(this.modbusAddressTextBox); this.warmHeatingComboBox.Enabled = false;
this.Controls.Add(this.modbusAddressLabel); this.warmHeatingComboBox.FormattingEnabled = true;
this.Controls.Add(this.parentNameLabel); this.warmHeatingComboBox.Location = new System.Drawing.Point(138, 159);
this.Controls.Add(this.nameTextBox); this.warmHeatingComboBox.Name = "comboBox2";
this.Controls.Add(this.nameLabel); this.warmHeatingComboBox.Size = new System.Drawing.Size(173, 21);
this.Controls.Add(this.componentNameLabel); this.warmHeatingComboBox.TabIndex = 10;
this.Name = "TankSelectorCfgCtrl"; //
this.Size = new System.Drawing.Size(300, 200); // warmHeatingLabel
this.Load += new System.EventHandler(this.TankSelectorCfgCtrl_Load); //
this.ResumeLayout(false); this.warmHeatingLabel.AutoSize = true;
this.PerformLayout(); this.warmHeatingLabel.Location = new System.Drawing.Point(28, 162);
this.warmHeatingLabel.Name = "warmHeatingLabel";
this.warmHeatingLabel.Size = new System.Drawing.Size(102, 13);
this.warmHeatingLabel.TabIndex = 9;
this.warmHeatingLabel.Text = "Warm water heating";
//
// comboBox3
//
this.warmCoolingComboBox.Enabled = false;
this.warmCoolingComboBox.FormattingEnabled = true;
this.warmCoolingComboBox.Location = new System.Drawing.Point(138, 186);
this.warmCoolingComboBox.Name = "comboBox3";
this.warmCoolingComboBox.Size = new System.Drawing.Size(173, 21);
this.warmCoolingComboBox.TabIndex = 12;
//
// warmCoolingLabel
//
this.warmCoolingLabel.AutoSize = true;
this.warmCoolingLabel.Location = new System.Drawing.Point(28, 189);
this.warmCoolingLabel.Name = "warmCoolingLabel";
this.warmCoolingLabel.Size = new System.Drawing.Size(101, 13);
this.warmCoolingLabel.TabIndex = 11;
this.warmCoolingLabel.Text = "Warm water cooling";
//
// comboBox4
//
this.coldCoolingComboBox.Enabled = false;
this.coldCoolingComboBox.FormattingEnabled = true;
this.coldCoolingComboBox.Location = new System.Drawing.Point(138, 213);
this.coldCoolingComboBox.Name = "comboBox4";
this.coldCoolingComboBox.Size = new System.Drawing.Size(173, 21);
this.coldCoolingComboBox.TabIndex = 14;
//
// coldCoolingabel
//
this.coldCoolingabel.AutoSize = true;
this.coldCoolingabel.Location = new System.Drawing.Point(28, 216);
this.coldCoolingabel.Name = "coldCoolingabel";
this.coldCoolingabel.Size = new System.Drawing.Size(94, 13);
this.coldCoolingabel.TabIndex = 13;
this.coldCoolingabel.Text = "Cold water cooling";
//
// TankSelectorCfgCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.coldCoolingComboBox);
this.Controls.Add(this.coldCoolingabel);
this.Controls.Add(this.warmCoolingComboBox);
this.Controls.Add(this.warmCoolingLabel);
this.Controls.Add(this.warmHeatingComboBox);
this.Controls.Add(this.warmHeatingLabel);
this.Controls.Add(this.hotCoolingComboBox);
this.Controls.Add(this.hotCoolingLabel);
this.Controls.Add(this.hotHeatingComboBox);
this.Controls.Add(this.hotHeatingLabel);
this.Controls.Add(this.parentNameComboBox);
this.Controls.Add(this.parentNameLabel);
this.Controls.Add(this.nameTextBox);
this.Controls.Add(this.nameLabel);
this.Controls.Add(this.componentNameLabel);
this.Name = "TankSelectorCfgCtrl";
this.Size = new System.Drawing.Size(368, 259);
this.Load += new System.EventHandler(this.TankSelectorCfgCtrl_Load);
this.ResumeLayout(false);
this.PerformLayout();
} }
@@ -149,11 +214,17 @@ namespace TBF.BenchControl.Modbus.TankSelector
private System.Windows.Forms.Label parentNameLabel; private System.Windows.Forms.Label parentNameLabel;
private System.Windows.Forms.TextBox nameTextBox; private System.Windows.Forms.TextBox nameTextBox;
private System.Windows.Forms.Label nameLabel; private System.Windows.Forms.Label nameLabel;
private System.Windows.Forms.Label componentNameLabel; private System.Windows.Forms.Label componentNameLabel;
private System.Windows.Forms.Label modbusAddressLabel;
private System.Windows.Forms.TextBox modbusAddressTextBox;
private System.Windows.Forms.ComboBox parentNameComboBox; private System.Windows.Forms.ComboBox parentNameComboBox;
private System.Windows.Forms.ComboBox controlBoardComboBox; private System.Windows.Forms.ComboBox hotHeatingComboBox;
private System.Windows.Forms.Label controlBoardLabel; private System.Windows.Forms.Label hotHeatingLabel;
private System.Windows.Forms.ComboBox hotCoolingComboBox;
private System.Windows.Forms.Label hotCoolingLabel;
private System.Windows.Forms.ComboBox warmHeatingComboBox;
private System.Windows.Forms.Label warmHeatingLabel;
private System.Windows.Forms.ComboBox warmCoolingComboBox;
private System.Windows.Forms.Label warmCoolingLabel;
private System.Windows.Forms.ComboBox coldCoolingComboBox;
private System.Windows.Forms.Label coldCoolingabel;
} }
} }
@@ -2,12 +2,9 @@
/// Copyright (c) 2013-2016 Sensus Metering Systems /// Copyright (c) 2013-2016 Sensus Metering Systems
/// ///
using System; using System;
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization; using System.Xml.Serialization;
using Config.Entities; using Config.Entities;
using TBF.BenchControl.Generic; using TBF.BenchControl.Generic;
using TBF.Resources;
namespace TBF.BenchControl.WaterMeters.WaterMeter namespace TBF.BenchControl.WaterMeters.WaterMeter
{ {
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number // Build Number
// Revision // Revision
// //
[assembly: AssemblyVersion("2.12.487.1")] [assembly: AssemblyVersion("2.12.489.1")]
[assembly: AssemblyFileVersion("2.12.487.1")] [assembly: AssemblyFileVersion("2.12.489.1")]
+45
View File
@@ -3732,6 +3732,15 @@ namespace TBF.Resources {
} }
} }
/// <summary>
/// Looks up a localized string similar to T cold cooling.
/// </summary>
internal static string T_cold_cooling {
get {
return ResourceManager.GetString("T_cold_cooling", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to T cold from. /// Looks up a localized string similar to T cold from.
/// </summary> /// </summary>
@@ -3768,6 +3777,24 @@ namespace TBF.Resources {
} }
} }
/// <summary>
/// Looks up a localized string similar to T hot cooling.
/// </summary>
internal static string T_hot_cooling {
get {
return ResourceManager.GetString("T_hot_cooling", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to T hot heating.
/// </summary>
internal static string T_hot_heating {
get {
return ResourceManager.GetString("T_hot_heating", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to T in. /// Looks up a localized string similar to T in.
/// </summary> /// </summary>
@@ -3849,6 +3876,15 @@ namespace TBF.Resources {
} }
} }
/// <summary>
/// Looks up a localized string similar to T warm cooling.
/// </summary>
internal static string T_warm_cooling {
get {
return ResourceManager.GetString("T_warm_cooling", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to T warm from. /// Looks up a localized string similar to T warm from.
/// </summary> /// </summary>
@@ -3858,6 +3894,15 @@ namespace TBF.Resources {
} }
} }
/// <summary>
/// Looks up a localized string similar to T warm heating.
/// </summary>
internal static string T_warm_heating {
get {
return ResourceManager.GetString("T_warm_heating", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to T warm to. /// Looks up a localized string similar to T warm to.
/// </summary> /// </summary>
+15
View File
@@ -1651,4 +1651,19 @@
<data name="Unselect_WARM_tank" xml:space="preserve"> <data name="Unselect_WARM_tank" xml:space="preserve">
<value>Unselect WARM tank</value> <value>Unselect WARM tank</value>
</data> </data>
<data name="T_cold_cooling" xml:space="preserve">
<value>T cold cooling</value>
</data>
<data name="T_hot_cooling" xml:space="preserve">
<value>T hot cooling</value>
</data>
<data name="T_hot_heating" xml:space="preserve">
<value>T hot heating</value>
</data>
<data name="T_warm_cooling" xml:space="preserve">
<value>T warm cooling</value>
</data>
<data name="T_warm_heating" xml:space="preserve">
<value>T warm heating</value>
</data>
</root> </root>
+1
View File
@@ -541,6 +541,7 @@
<Compile Include="BenchControl\Modbus\QuidoRS\Factory.cs" /> <Compile Include="BenchControl\Modbus\QuidoRS\Factory.cs" />
<Compile Include="BenchControl\Modbus\QuidoRS\SetOutputsOp.cs" /> <Compile Include="BenchControl\Modbus\QuidoRS\SetOutputsOp.cs" />
<Compile Include="BenchControl\Modbus\TankSelector\Factory.cs" /> <Compile Include="BenchControl\Modbus\TankSelector\Factory.cs" />
<Compile Include="BenchControl\Modbus\TankSelector\ProcParams.cs" />
<Compile Include="BenchControl\Modbus\TankSelector\SelectTankOp.cs" /> <Compile Include="BenchControl\Modbus\TankSelector\SelectTankOp.cs" />
<Compile Include="BenchControl\Modbus\TankSelector\TankSelector.cs" /> <Compile Include="BenchControl\Modbus\TankSelector\TankSelector.cs" />
<Compile Include="BenchControl\Modbus\TankSelector\TankSelectorCfg.cs" /> <Compile Include="BenchControl\Modbus\TankSelector\TankSelectorCfg.cs" />