- possibility to invert valves (UI as well as the functionality)
- UI prepared for the usage of valve delays
This commit is contained in:
@@ -78,6 +78,8 @@ namespace TBF.BenchControl.Elde
|
|||||||
/// <summary> State of valves sent out - buffered by the last SendCommand() </summary>
|
/// <summary> State of valves sent out - buffered by the last SendCommand() </summary>
|
||||||
public ulong Route { get { return route; } }
|
public ulong Route { get { return route; } }
|
||||||
|
|
||||||
|
ulong valvesToInvert; /// Route = valesToInvert ^ RequiredRouteWithoutInvertedVlaves
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Initialization data updated by constructors of children components
|
/// Initialization data updated by constructors of children components
|
||||||
/// and sent to 'controlCom2panel' by SendCalibData() method.
|
/// and sent to 'controlCom2panel' by SendCalibData() method.
|
||||||
@@ -171,7 +173,8 @@ namespace TBF.BenchControl.Elde
|
|||||||
#elif FUZHOU300
|
#elif FUZHOU300
|
||||||
ControlComponent3F300.UserControl1 ctrlBrdComponent,
|
ControlComponent3F300.UserControl1 ctrlBrdComponent,
|
||||||
#endif
|
#endif
|
||||||
float[] tankCapacities)
|
ulong valvesToInvert,
|
||||||
|
float[] tankCapacities)
|
||||||
{
|
{
|
||||||
if (controlBoardCfg.DebugLevel == Entities.DebugMode.Simulate)
|
if (controlBoardCfg.DebugLevel == Entities.DebugMode.Simulate)
|
||||||
{
|
{
|
||||||
@@ -292,7 +295,7 @@ namespace TBF.BenchControl.Elde
|
|||||||
|
|
||||||
public void SetValves(ulong valvesToOpen, ulong valvesToClose)
|
public void SetValves(ulong valvesToOpen, ulong valvesToClose)
|
||||||
{
|
{
|
||||||
route = (route | valvesToOpen) & (~valvesToClose);
|
route = (((route ^ valvesToInvert) | valvesToOpen) & (~valvesToClose)) ^ valvesToInvert;
|
||||||
sendCommandFlag = true;
|
sendCommandFlag = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ namespace TBF.BenchControl.Elde.Valve
|
|||||||
public string Name { get { return valveCfg.Name; } }
|
public string Name { get { return valveCfg.Name; } }
|
||||||
public ValveCategory Category { get { return valveCfg.Category; } }
|
public ValveCategory Category { get { return valveCfg.Category; } }
|
||||||
public IValve CoupledTo { get { return coupledTo; } }
|
public IValve CoupledTo { get { return coupledTo; } }
|
||||||
public bool Invert { get { return valveCfg.Invert; } }
|
public bool Invert { get { return valveCfg.InvertCouple; } }
|
||||||
public int LagOpening { get { return valveCfg.LagOpening; } }
|
public int LagOpening { get { return valveCfg.LagOpening; } }
|
||||||
public int LagClosing { get { return valveCfg.LagClosing; } }
|
public int LagClosing { get { return valveCfg.LagClosing; } }
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,13 @@ namespace TBF.BenchControl.Elde.Valve
|
|||||||
{
|
{
|
||||||
public class ValveCfg : ComponentCfgBase, IChildComponentCfg
|
public class ValveCfg : ComponentCfgBase, IChildComponentCfg
|
||||||
{
|
{
|
||||||
public int BitPosition; /// Bit-position
|
public int OpenCloseTime; /// Delay for SetValvesOp operations
|
||||||
|
public int BitPosition; /// Bit-position
|
||||||
public ValveCategory Category; /// None, Feeding, Bench or Output
|
public ValveCategory Category; /// None, Feeding, Bench or Output
|
||||||
|
public bool Inverted; /// The valve is inverted: 0=open, 1=closed
|
||||||
|
///
|
||||||
public string CoupledToName; /// Name of the coupled valve or null
|
public string CoupledToName; /// Name of the coupled valve or null
|
||||||
public bool Invert; /// The coupled valve has inverted position
|
public bool InvertCouple; /// The coupled valve has inverted position
|
||||||
public int LagOpening; /// Delay (referred to the master valve) when opening this valve in [s]
|
public int LagOpening; /// Delay (referred to the master valve) when opening this valve in [s]
|
||||||
public int LagClosing; /// Delay (referred to the master valve) when closing this valve in [s]
|
public int LagClosing; /// Delay (referred to the master valve) when closing this valve in [s]
|
||||||
/// Negative values of delays mean an earlier function of the coupled valve.
|
/// Negative values of delays mean an earlier function of the coupled valve.
|
||||||
@@ -17,37 +20,43 @@ namespace TBF.BenchControl.Elde.Valve
|
|||||||
/// Parameterless constructor
|
/// Parameterless constructor
|
||||||
public ValveCfg()
|
public ValveCfg()
|
||||||
{
|
{
|
||||||
|
OpenCloseTime = 1; /// Defaut value
|
||||||
}
|
}
|
||||||
/// Constructor 1
|
/// Constructor 1
|
||||||
public ValveCfg(IComponentFactory factory, string name, string parentName, int bitPosition,
|
public ValveCfg(IComponentFactory factory, string name, string parentName, int bitPosition, bool inverted, int openCloseTime,
|
||||||
ValveCategory category, string coupledToName, bool invert, int lagOpening, int lagClosing)
|
ValveCategory category, string coupledToName, bool invertCouple, int lagOpening, int lagClosing)
|
||||||
: base(factory, name, parentName)
|
: base(factory, name, parentName)
|
||||||
{
|
{
|
||||||
|
this.OpenCloseTime = openCloseTime;
|
||||||
this.BitPosition = bitPosition;
|
this.BitPosition = bitPosition;
|
||||||
this.Category = category;
|
this.Category = category;
|
||||||
|
this.Inverted = inverted;
|
||||||
|
|
||||||
this.CoupledToName = coupledToName;
|
this.CoupledToName = coupledToName;
|
||||||
this.Invert = invert;
|
this.InvertCouple = invertCouple;
|
||||||
this.LagOpening = lagOpening;
|
this.LagOpening = lagOpening;
|
||||||
this.LagClosing = lagClosing;
|
this.LagClosing = lagClosing;
|
||||||
}
|
}
|
||||||
/// Constructor 2 without CoupledTo valve
|
/// Constructor 2 without CoupledTo valve
|
||||||
public ValveCfg(IComponentFactory factory, string name, string parentName, int bitPosition, ValveCategory category)
|
public ValveCfg(IComponentFactory factory, string name, string parentName, int bitPosition, bool inverted, int openCloseTime, ValveCategory category)
|
||||||
: this(factory, name, parentName, bitPosition, category, null, false, 0, 0)
|
: this(factory, name, parentName, bitPosition, inverted, openCloseTime, category, null, false, 0, 0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public IComponentCfg Clone()
|
public IComponentCfg Clone()
|
||||||
{
|
{
|
||||||
return new ValveCfg(Factory, Name, ParentName, BitPosition, Category, CoupledToName, Invert, LagOpening, LagClosing);
|
return new ValveCfg(Factory, Name, ParentName, BitPosition, Inverted, OpenCloseTime, Category, CoupledToName, InvertCouple, LagOpening, LagClosing);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string ToString(int i)
|
public string ToString(int i)
|
||||||
{
|
{
|
||||||
return string.Format("bit={0}, cat={1}, coupledTo={2}, invert={3}, lagOpen={4}, lagClose={5}",
|
return string.Format("bit={0}, inv.={1}, delay={2}s, cat.={3}, coupledTo={4}, inv.Couple={5}, lagOpen={6}s, lagClose={7}s",
|
||||||
BitPosition,
|
BitPosition,
|
||||||
|
(Inverted ? "yes" : "no"),
|
||||||
|
OpenCloseTime,
|
||||||
Category,
|
Category,
|
||||||
(string.IsNullOrEmpty(CoupledToName) ? "---" : CoupledToName),
|
(string.IsNullOrEmpty(CoupledToName) ? "---" : CoupledToName),
|
||||||
(Invert ? "yes" : "no"),
|
(InvertCouple ? "yes" : "no"),
|
||||||
LagOpening,
|
LagOpening,
|
||||||
LagClosing);
|
LagClosing);
|
||||||
}
|
}
|
||||||
|
|||||||
+76
-39
@@ -35,7 +35,7 @@
|
|||||||
this.nameLabel = new System.Windows.Forms.Label();
|
this.nameLabel = new System.Windows.Forms.Label();
|
||||||
this.classNameLabel = new System.Windows.Forms.Label();
|
this.classNameLabel = new System.Windows.Forms.Label();
|
||||||
this.coupledToLabel = new System.Windows.Forms.Label();
|
this.coupledToLabel = new System.Windows.Forms.Label();
|
||||||
this.invertCheckBox = new System.Windows.Forms.CheckBox();
|
this.invertCoupleCheckBox = new System.Windows.Forms.CheckBox();
|
||||||
this.parentNameComboBox = new System.Windows.Forms.ComboBox();
|
this.parentNameComboBox = new System.Windows.Forms.ComboBox();
|
||||||
this.lagOpeningLabel = new System.Windows.Forms.Label();
|
this.lagOpeningLabel = new System.Windows.Forms.Label();
|
||||||
this.lagClosingLabel = new System.Windows.Forms.Label();
|
this.lagClosingLabel = new System.Windows.Forms.Label();
|
||||||
@@ -44,33 +44,36 @@
|
|||||||
this.coupledToComboBox = new System.Windows.Forms.ComboBox();
|
this.coupledToComboBox = new System.Windows.Forms.ComboBox();
|
||||||
this.categoryLabel = new System.Windows.Forms.Label();
|
this.categoryLabel = new System.Windows.Forms.Label();
|
||||||
this.categoryComboBox = new System.Windows.Forms.ComboBox();
|
this.categoryComboBox = new System.Windows.Forms.ComboBox();
|
||||||
|
this.openCloseTimeTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.openCloseTimeLabel = new System.Windows.Forms.Label();
|
||||||
|
this.invertedCheckBox = new System.Windows.Forms.CheckBox();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// bitPositionTextBox
|
// bitPositionTextBox
|
||||||
//
|
//
|
||||||
this.bitPositionTextBox.Enabled = false;
|
this.bitPositionTextBox.Enabled = false;
|
||||||
this.bitPositionTextBox.Location = new System.Drawing.Point(138, 77);
|
this.bitPositionTextBox.Location = new System.Drawing.Point(138, 98);
|
||||||
this.bitPositionTextBox.Name = "bitPositionTextBox";
|
this.bitPositionTextBox.Name = "bitPositionTextBox";
|
||||||
this.bitPositionTextBox.Size = new System.Drawing.Size(81, 20);
|
this.bitPositionTextBox.Size = new System.Drawing.Size(81, 20);
|
||||||
this.bitPositionTextBox.TabIndex = 6;
|
this.bitPositionTextBox.TabIndex = 10;
|
||||||
//
|
//
|
||||||
// bitPositionLabel
|
// bitPositionLabel
|
||||||
//
|
//
|
||||||
this.bitPositionLabel.AutoSize = true;
|
this.bitPositionLabel.AutoSize = true;
|
||||||
this.bitPositionLabel.Location = new System.Drawing.Point(22, 80);
|
this.bitPositionLabel.Location = new System.Drawing.Point(22, 101);
|
||||||
this.bitPositionLabel.Name = "bitPositionLabel";
|
this.bitPositionLabel.Name = "bitPositionLabel";
|
||||||
this.bitPositionLabel.Size = new System.Drawing.Size(59, 13);
|
this.bitPositionLabel.Size = new System.Drawing.Size(58, 13);
|
||||||
this.bitPositionLabel.TabIndex = 5;
|
this.bitPositionLabel.TabIndex = 9;
|
||||||
this.bitPositionLabel.Text = "Bit Position";
|
this.bitPositionLabel.Text = "Bit position";
|
||||||
//
|
//
|
||||||
// parentNameLabel
|
// parentNameLabel
|
||||||
//
|
//
|
||||||
this.parentNameLabel.AutoSize = true;
|
this.parentNameLabel.AutoSize = true;
|
||||||
this.parentNameLabel.Location = new System.Drawing.Point(22, 55);
|
this.parentNameLabel.Location = new System.Drawing.Point(22, 54);
|
||||||
this.parentNameLabel.Name = "parentNameLabel";
|
this.parentNameLabel.Name = "parentNameLabel";
|
||||||
this.parentNameLabel.Size = new System.Drawing.Size(69, 13);
|
this.parentNameLabel.Size = new System.Drawing.Size(67, 13);
|
||||||
this.parentNameLabel.TabIndex = 3;
|
this.parentNameLabel.TabIndex = 3;
|
||||||
this.parentNameLabel.Text = "Parent Name";
|
this.parentNameLabel.Text = "Parent name";
|
||||||
//
|
//
|
||||||
// nameTextBox
|
// nameTextBox
|
||||||
//
|
//
|
||||||
@@ -101,28 +104,28 @@
|
|||||||
// coupledToLabel
|
// coupledToLabel
|
||||||
//
|
//
|
||||||
this.coupledToLabel.AutoSize = true;
|
this.coupledToLabel.AutoSize = true;
|
||||||
this.coupledToLabel.Location = new System.Drawing.Point(22, 128);
|
this.coupledToLabel.Location = new System.Drawing.Point(22, 165);
|
||||||
this.coupledToLabel.Name = "coupledToLabel";
|
this.coupledToLabel.Name = "coupledToLabel";
|
||||||
this.coupledToLabel.Size = new System.Drawing.Size(56, 13);
|
this.coupledToLabel.Size = new System.Drawing.Size(52, 13);
|
||||||
this.coupledToLabel.TabIndex = 9;
|
this.coupledToLabel.TabIndex = 12;
|
||||||
this.coupledToLabel.Text = "Copled To";
|
this.coupledToLabel.Text = "Copled to";
|
||||||
//
|
//
|
||||||
// invertCheckBox
|
// invertCoupleCheckBox
|
||||||
//
|
//
|
||||||
this.invertCheckBox.AutoSize = true;
|
this.invertCoupleCheckBox.AutoSize = true;
|
||||||
this.invertCheckBox.Enabled = false;
|
this.invertCoupleCheckBox.Enabled = false;
|
||||||
this.invertCheckBox.Location = new System.Drawing.Point(232, 128);
|
this.invertCoupleCheckBox.Location = new System.Drawing.Point(228, 164);
|
||||||
this.invertCheckBox.Name = "invertCheckBox";
|
this.invertCoupleCheckBox.Name = "invertCoupleCheckBox";
|
||||||
this.invertCheckBox.Size = new System.Drawing.Size(53, 17);
|
this.invertCoupleCheckBox.Size = new System.Drawing.Size(53, 17);
|
||||||
this.invertCheckBox.TabIndex = 11;
|
this.invertCoupleCheckBox.TabIndex = 14;
|
||||||
this.invertCheckBox.Text = "Invert";
|
this.invertCoupleCheckBox.Text = "Invert";
|
||||||
this.invertCheckBox.UseVisualStyleBackColor = true;
|
this.invertCoupleCheckBox.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// parentNameComboBox
|
// parentNameComboBox
|
||||||
//
|
//
|
||||||
this.parentNameComboBox.Enabled = false;
|
this.parentNameComboBox.Enabled = false;
|
||||||
this.parentNameComboBox.FormattingEnabled = true;
|
this.parentNameComboBox.FormattingEnabled = true;
|
||||||
this.parentNameComboBox.Location = new System.Drawing.Point(138, 52);
|
this.parentNameComboBox.Location = new System.Drawing.Point(138, 51);
|
||||||
this.parentNameComboBox.Name = "parentNameComboBox";
|
this.parentNameComboBox.Name = "parentNameComboBox";
|
||||||
this.parentNameComboBox.Size = new System.Drawing.Size(130, 21);
|
this.parentNameComboBox.Size = new System.Drawing.Size(130, 21);
|
||||||
this.parentNameComboBox.TabIndex = 4;
|
this.parentNameComboBox.TabIndex = 4;
|
||||||
@@ -130,50 +133,50 @@
|
|||||||
// lagOpeningLabel
|
// lagOpeningLabel
|
||||||
//
|
//
|
||||||
this.lagOpeningLabel.AutoSize = true;
|
this.lagOpeningLabel.AutoSize = true;
|
||||||
this.lagOpeningLabel.Location = new System.Drawing.Point(22, 153);
|
this.lagOpeningLabel.Location = new System.Drawing.Point(22, 189);
|
||||||
this.lagOpeningLabel.Name = "lagOpeningLabel";
|
this.lagOpeningLabel.Name = "lagOpeningLabel";
|
||||||
this.lagOpeningLabel.Size = new System.Drawing.Size(109, 13);
|
this.lagOpeningLabel.Size = new System.Drawing.Size(109, 13);
|
||||||
this.lagOpeningLabel.TabIndex = 12;
|
this.lagOpeningLabel.TabIndex = 15;
|
||||||
this.lagOpeningLabel.Text = "Lag when opening [s]";
|
this.lagOpeningLabel.Text = "Lag when opening [s]";
|
||||||
//
|
//
|
||||||
// lagClosingLabel
|
// lagClosingLabel
|
||||||
//
|
//
|
||||||
this.lagClosingLabel.AutoSize = true;
|
this.lagClosingLabel.AutoSize = true;
|
||||||
this.lagClosingLabel.Location = new System.Drawing.Point(22, 177);
|
this.lagClosingLabel.Location = new System.Drawing.Point(22, 212);
|
||||||
this.lagClosingLabel.Name = "lagClosingLabel";
|
this.lagClosingLabel.Name = "lagClosingLabel";
|
||||||
this.lagClosingLabel.Size = new System.Drawing.Size(104, 13);
|
this.lagClosingLabel.Size = new System.Drawing.Size(104, 13);
|
||||||
this.lagClosingLabel.TabIndex = 14;
|
this.lagClosingLabel.TabIndex = 17;
|
||||||
this.lagClosingLabel.Text = "Lag when closing [s]";
|
this.lagClosingLabel.Text = "Lag when closing [s]";
|
||||||
//
|
//
|
||||||
// lagOpeningTextBox
|
// lagOpeningTextBox
|
||||||
//
|
//
|
||||||
this.lagOpeningTextBox.Enabled = false;
|
this.lagOpeningTextBox.Enabled = false;
|
||||||
this.lagOpeningTextBox.Location = new System.Drawing.Point(138, 150);
|
this.lagOpeningTextBox.Location = new System.Drawing.Point(138, 186);
|
||||||
this.lagOpeningTextBox.Name = "lagOpeningTextBox";
|
this.lagOpeningTextBox.Name = "lagOpeningTextBox";
|
||||||
this.lagOpeningTextBox.Size = new System.Drawing.Size(81, 20);
|
this.lagOpeningTextBox.Size = new System.Drawing.Size(81, 20);
|
||||||
this.lagOpeningTextBox.TabIndex = 13;
|
this.lagOpeningTextBox.TabIndex = 16;
|
||||||
//
|
//
|
||||||
// lagClosingTextBox
|
// lagClosingTextBox
|
||||||
//
|
//
|
||||||
this.lagClosingTextBox.Enabled = false;
|
this.lagClosingTextBox.Enabled = false;
|
||||||
this.lagClosingTextBox.Location = new System.Drawing.Point(138, 174);
|
this.lagClosingTextBox.Location = new System.Drawing.Point(138, 209);
|
||||||
this.lagClosingTextBox.Name = "lagClosingTextBox";
|
this.lagClosingTextBox.Name = "lagClosingTextBox";
|
||||||
this.lagClosingTextBox.Size = new System.Drawing.Size(81, 20);
|
this.lagClosingTextBox.Size = new System.Drawing.Size(81, 20);
|
||||||
this.lagClosingTextBox.TabIndex = 15;
|
this.lagClosingTextBox.TabIndex = 18;
|
||||||
//
|
//
|
||||||
// coupledToComboBox
|
// coupledToComboBox
|
||||||
//
|
//
|
||||||
this.coupledToComboBox.Enabled = false;
|
this.coupledToComboBox.Enabled = false;
|
||||||
this.coupledToComboBox.FormattingEnabled = true;
|
this.coupledToComboBox.FormattingEnabled = true;
|
||||||
this.coupledToComboBox.Location = new System.Drawing.Point(138, 125);
|
this.coupledToComboBox.Location = new System.Drawing.Point(138, 162);
|
||||||
this.coupledToComboBox.Name = "coupledToComboBox";
|
this.coupledToComboBox.Name = "coupledToComboBox";
|
||||||
this.coupledToComboBox.Size = new System.Drawing.Size(81, 21);
|
this.coupledToComboBox.Size = new System.Drawing.Size(81, 21);
|
||||||
this.coupledToComboBox.TabIndex = 10;
|
this.coupledToComboBox.TabIndex = 13;
|
||||||
//
|
//
|
||||||
// categoryLabel
|
// categoryLabel
|
||||||
//
|
//
|
||||||
this.categoryLabel.AutoSize = true;
|
this.categoryLabel.AutoSize = true;
|
||||||
this.categoryLabel.Location = new System.Drawing.Point(22, 104);
|
this.categoryLabel.Location = new System.Drawing.Point(22, 124);
|
||||||
this.categoryLabel.Name = "categoryLabel";
|
this.categoryLabel.Name = "categoryLabel";
|
||||||
this.categoryLabel.Size = new System.Drawing.Size(49, 13);
|
this.categoryLabel.Size = new System.Drawing.Size(49, 13);
|
||||||
this.categoryLabel.TabIndex = 7;
|
this.categoryLabel.TabIndex = 7;
|
||||||
@@ -183,15 +186,46 @@
|
|||||||
//
|
//
|
||||||
this.categoryComboBox.Enabled = false;
|
this.categoryComboBox.Enabled = false;
|
||||||
this.categoryComboBox.FormattingEnabled = true;
|
this.categoryComboBox.FormattingEnabled = true;
|
||||||
this.categoryComboBox.Location = new System.Drawing.Point(138, 101);
|
this.categoryComboBox.Location = new System.Drawing.Point(138, 121);
|
||||||
this.categoryComboBox.Name = "categoryComboBox";
|
this.categoryComboBox.Name = "categoryComboBox";
|
||||||
this.categoryComboBox.Size = new System.Drawing.Size(81, 21);
|
this.categoryComboBox.Size = new System.Drawing.Size(81, 21);
|
||||||
this.categoryComboBox.TabIndex = 8;
|
this.categoryComboBox.TabIndex = 8;
|
||||||
//
|
//
|
||||||
|
// openCloseTimeTextBox
|
||||||
|
//
|
||||||
|
this.openCloseTimeTextBox.Enabled = false;
|
||||||
|
this.openCloseTimeTextBox.Location = new System.Drawing.Point(138, 75);
|
||||||
|
this.openCloseTimeTextBox.Name = "openCloseTimeTextBox";
|
||||||
|
this.openCloseTimeTextBox.Size = new System.Drawing.Size(81, 20);
|
||||||
|
this.openCloseTimeTextBox.TabIndex = 6;
|
||||||
|
//
|
||||||
|
// openCloseTimeLabel
|
||||||
|
//
|
||||||
|
this.openCloseTimeLabel.AutoSize = true;
|
||||||
|
this.openCloseTimeLabel.Location = new System.Drawing.Point(22, 78);
|
||||||
|
this.openCloseTimeLabel.Name = "openCloseTimeLabel";
|
||||||
|
this.openCloseTimeLabel.Size = new System.Drawing.Size(48, 13);
|
||||||
|
this.openCloseTimeLabel.TabIndex = 5;
|
||||||
|
this.openCloseTimeLabel.Text = "Delay [s]";
|
||||||
|
//
|
||||||
|
// invertedCheckBox
|
||||||
|
//
|
||||||
|
this.invertedCheckBox.AutoSize = true;
|
||||||
|
this.invertedCheckBox.Enabled = false;
|
||||||
|
this.invertedCheckBox.Location = new System.Drawing.Point(228, 100);
|
||||||
|
this.invertedCheckBox.Name = "invertedCheckBox";
|
||||||
|
this.invertedCheckBox.Size = new System.Drawing.Size(65, 17);
|
||||||
|
this.invertedCheckBox.TabIndex = 11;
|
||||||
|
this.invertedCheckBox.Text = "Inverted";
|
||||||
|
this.invertedCheckBox.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
// ValveCfgCtrl
|
// ValveCfgCtrl
|
||||||
//
|
//
|
||||||
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.invertedCheckBox);
|
||||||
|
this.Controls.Add(this.openCloseTimeTextBox);
|
||||||
|
this.Controls.Add(this.openCloseTimeLabel);
|
||||||
this.Controls.Add(this.categoryComboBox);
|
this.Controls.Add(this.categoryComboBox);
|
||||||
this.Controls.Add(this.categoryLabel);
|
this.Controls.Add(this.categoryLabel);
|
||||||
this.Controls.Add(this.coupledToComboBox);
|
this.Controls.Add(this.coupledToComboBox);
|
||||||
@@ -200,7 +234,7 @@
|
|||||||
this.Controls.Add(this.lagClosingLabel);
|
this.Controls.Add(this.lagClosingLabel);
|
||||||
this.Controls.Add(this.lagOpeningLabel);
|
this.Controls.Add(this.lagOpeningLabel);
|
||||||
this.Controls.Add(this.parentNameComboBox);
|
this.Controls.Add(this.parentNameComboBox);
|
||||||
this.Controls.Add(this.invertCheckBox);
|
this.Controls.Add(this.invertCoupleCheckBox);
|
||||||
this.Controls.Add(this.coupledToLabel);
|
this.Controls.Add(this.coupledToLabel);
|
||||||
this.Controls.Add(this.bitPositionTextBox);
|
this.Controls.Add(this.bitPositionTextBox);
|
||||||
this.Controls.Add(this.bitPositionLabel);
|
this.Controls.Add(this.bitPositionLabel);
|
||||||
@@ -209,7 +243,7 @@
|
|||||||
this.Controls.Add(this.nameLabel);
|
this.Controls.Add(this.nameLabel);
|
||||||
this.Controls.Add(this.classNameLabel);
|
this.Controls.Add(this.classNameLabel);
|
||||||
this.Name = "ValveCfgCtrl";
|
this.Name = "ValveCfgCtrl";
|
||||||
this.Size = new System.Drawing.Size(300, 200);
|
this.Size = new System.Drawing.Size(300, 250);
|
||||||
this.Load += new System.EventHandler(this.ValveCfgCtrl_Load);
|
this.Load += new System.EventHandler(this.ValveCfgCtrl_Load);
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
this.PerformLayout();
|
||||||
@@ -225,7 +259,7 @@
|
|||||||
private System.Windows.Forms.Label nameLabel;
|
private System.Windows.Forms.Label nameLabel;
|
||||||
private System.Windows.Forms.Label classNameLabel;
|
private System.Windows.Forms.Label classNameLabel;
|
||||||
private System.Windows.Forms.Label coupledToLabel;
|
private System.Windows.Forms.Label coupledToLabel;
|
||||||
private System.Windows.Forms.CheckBox invertCheckBox;
|
private System.Windows.Forms.CheckBox invertCoupleCheckBox;
|
||||||
private System.Windows.Forms.ComboBox parentNameComboBox;
|
private System.Windows.Forms.ComboBox parentNameComboBox;
|
||||||
private System.Windows.Forms.Label lagOpeningLabel;
|
private System.Windows.Forms.Label lagOpeningLabel;
|
||||||
private System.Windows.Forms.Label lagClosingLabel;
|
private System.Windows.Forms.Label lagClosingLabel;
|
||||||
@@ -234,5 +268,8 @@
|
|||||||
private System.Windows.Forms.ComboBox coupledToComboBox;
|
private System.Windows.Forms.ComboBox coupledToComboBox;
|
||||||
private System.Windows.Forms.Label categoryLabel;
|
private System.Windows.Forms.Label categoryLabel;
|
||||||
private System.Windows.Forms.ComboBox categoryComboBox;
|
private System.Windows.Forms.ComboBox categoryComboBox;
|
||||||
|
private System.Windows.Forms.TextBox openCloseTimeTextBox;
|
||||||
|
private System.Windows.Forms.Label openCloseTimeLabel;
|
||||||
|
private System.Windows.Forms.CheckBox invertedCheckBox;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,9 +65,11 @@ namespace TBF.BenchControl.Elde.Valve
|
|||||||
nameTextBox.Text = config.Name;
|
nameTextBox.Text = config.Name;
|
||||||
parentNameComboBox.Text = string.IsNullOrEmpty(config.ParentName) ? "---" : config.ParentName;
|
parentNameComboBox.Text = string.IsNullOrEmpty(config.ParentName) ? "---" : config.ParentName;
|
||||||
bitPositionTextBox.Text = config.BitPosition.ToString();
|
bitPositionTextBox.Text = config.BitPosition.ToString();
|
||||||
|
invertedCheckBox.Checked = config.Inverted;
|
||||||
|
openCloseTimeTextBox.Text = config.OpenCloseTime.ToString();
|
||||||
categoryComboBox.Text = config.Category.ToString();
|
categoryComboBox.Text = config.Category.ToString();
|
||||||
coupledToComboBox.Text = string.IsNullOrEmpty(config.CoupledToName) ? "---" : config.CoupledToName;
|
coupledToComboBox.Text = string.IsNullOrEmpty(config.CoupledToName) ? "---" : config.CoupledToName;
|
||||||
invertCheckBox.Checked = config.Invert;
|
invertCoupleCheckBox.Checked = config.InvertCouple;
|
||||||
lagOpeningTextBox.Text = config.LagOpening.ToString();
|
lagOpeningTextBox.Text = config.LagOpening.ToString();
|
||||||
lagClosingTextBox.Text = config.LagClosing.ToString();
|
lagClosingTextBox.Text = config.LagClosing.ToString();
|
||||||
}
|
}
|
||||||
@@ -77,9 +79,11 @@ namespace TBF.BenchControl.Elde.Valve
|
|||||||
nameTextBox.Enabled = true;
|
nameTextBox.Enabled = true;
|
||||||
parentNameComboBox.Enabled = true;
|
parentNameComboBox.Enabled = true;
|
||||||
bitPositionTextBox.Enabled = true;
|
bitPositionTextBox.Enabled = true;
|
||||||
|
invertedCheckBox.Enabled = true;
|
||||||
|
openCloseTimeTextBox.Enabled = true;
|
||||||
categoryComboBox.Enabled = true;
|
categoryComboBox.Enabled = true;
|
||||||
coupledToComboBox.Enabled = true;
|
coupledToComboBox.Enabled = true;
|
||||||
invertCheckBox.Enabled = true;
|
invertCoupleCheckBox.Enabled = true;
|
||||||
lagOpeningTextBox.Enabled = true;
|
lagOpeningTextBox.Enabled = true;
|
||||||
lagClosingTextBox.Enabled = true;
|
lagClosingTextBox.Enabled = true;
|
||||||
}
|
}
|
||||||
@@ -91,15 +95,17 @@ namespace TBF.BenchControl.Elde.Valve
|
|||||||
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.BitPosition = int.Parse(bitPositionTextBox.Text);
|
config.BitPosition = int.Parse(bitPositionTextBox.Text);
|
||||||
|
config.OpenCloseTime = int.Parse(openCloseTimeTextBox.Text);
|
||||||
|
config.Inverted = invertedCheckBox.Checked;
|
||||||
|
|
||||||
if (categoryComboBox.Text.Equals(ValveCategory.All.ToString())) config.Category = ValveCategory.All;
|
if (categoryComboBox.Text.Equals(ValveCategory.All.ToString())) config.Category = ValveCategory.All;
|
||||||
else if (categoryComboBox.Text.Equals(ValveCategory.Feeding.ToString())) config.Category = ValveCategory.Feeding;
|
else if (categoryComboBox.Text.Equals(ValveCategory.Feeding.ToString())) config.Category = ValveCategory.Feeding;
|
||||||
else if (categoryComboBox.Text.Equals(ValveCategory.Bench.ToString())) config.Category = ValveCategory.Bench;
|
else if (categoryComboBox.Text.Equals(ValveCategory.Bench.ToString())) config.Category = ValveCategory.Bench;
|
||||||
else if (categoryComboBox.Text.Equals(ValveCategory.Output.ToString())) config.Category = ValveCategory.Output;
|
else if (categoryComboBox.Text.Equals(ValveCategory.Output.ToString())) config.Category = ValveCategory.Output;
|
||||||
else config.Category = ValveCategory.None;
|
else config.Category = ValveCategory.None;
|
||||||
|
|
||||||
config.CoupledToName = coupledToComboBox.Text.Equals("---") ? string.Empty : coupledToComboBox.Text;
|
config.CoupledToName = coupledToComboBox.Text.Equals("---") ? string.Empty : coupledToComboBox.Text;
|
||||||
config.Invert = invertCheckBox.Checked;
|
config.InvertCouple = invertCoupleCheckBox.Checked;
|
||||||
config.LagOpening = int.Parse(lagOpeningTextBox.Text);
|
config.LagOpening = int.Parse(lagOpeningTextBox.Text);
|
||||||
config.LagClosing = int.Parse(lagClosingTextBox.Text);
|
config.LagClosing = int.Parse(lagClosingTextBox.Text);
|
||||||
}
|
}
|
||||||
@@ -129,7 +135,12 @@ namespace TBF.BenchControl.Elde.Valve
|
|||||||
flags |= CfgVerifyFlags.Error;
|
flags |= CfgVerifyFlags.Error;
|
||||||
message += Environment.NewLine + "'Bit Position' should be between 0 and 63";
|
message += Environment.NewLine + "'Bit Position' should be between 0 and 63";
|
||||||
}
|
}
|
||||||
if (!int.TryParse(lagOpeningTextBox.Text, out dummy))
|
if (!int.TryParse(openCloseTimeTextBox.Text, out dummy) || dummy < 0 || dummy > 300)
|
||||||
|
{
|
||||||
|
flags |= CfgVerifyFlags.Error;
|
||||||
|
message += Environment.NewLine + "'Open/close time' should be between 0 and 300 s";
|
||||||
|
}
|
||||||
|
if (!int.TryParse(lagOpeningTextBox.Text, out dummy))
|
||||||
{
|
{
|
||||||
flags |= CfgVerifyFlags.Error;
|
flags |= CfgVerifyFlags.Error;
|
||||||
message += Environment.NewLine + "'Delay when opening' error";
|
message += Environment.NewLine + "'Delay when opening' error";
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ namespace TBF.BenchControl.Elde.Valve
|
|||||||
|
|
||||||
public IComponentCfg DefaultConfig(IList<Entities.Component> components)
|
public IComponentCfg DefaultConfig(IList<Entities.Component> components)
|
||||||
{
|
{
|
||||||
return new ValveCfg(this, "Valve", "CB", 0, ValveCategory.None);
|
return new ValveCfg(this, "Valve", "CB", 0, false, 1, ValveCategory.None);
|
||||||
}
|
}
|
||||||
|
|
||||||
public IComponentCfgCtrl CreateCfgCtrl()
|
public IComponentCfgCtrl CreateCfgCtrl()
|
||||||
|
|||||||
@@ -199,6 +199,7 @@ namespace TBF.BenchControl
|
|||||||
SequenceBase.RegulValves = new List<IRegulValve>();
|
SequenceBase.RegulValves = new List<IRegulValve>();
|
||||||
SequenceBase.WaterMeters = new List<IWaterMeter>();
|
SequenceBase.WaterMeters = new List<IWaterMeter>();
|
||||||
SequenceBase.Cameras = new List<ICamera>();
|
SequenceBase.Cameras = new List<ICamera>();
|
||||||
|
ulong valvesToInvert = 0;
|
||||||
foreach (var cmpnt in components)
|
foreach (var cmpnt in components)
|
||||||
{
|
{
|
||||||
if (cmpnt is Elde.ControlBoardDev) ControlBoard = cmpnt as Elde.ControlBoardDev;
|
if (cmpnt is Elde.ControlBoardDev) ControlBoard = cmpnt as Elde.ControlBoardDev;
|
||||||
@@ -216,6 +217,7 @@ namespace TBF.BenchControl
|
|||||||
else if (balance.BalanceNr == 1) Balance2 = balance;
|
else if (balance.BalanceNr == 1) Balance2 = balance;
|
||||||
else if (balance.BalanceNr == 2) Balance3 = balance;
|
else if (balance.BalanceNr == 2) Balance3 = balance;
|
||||||
}
|
}
|
||||||
|
if (cmpnt is Elde.Valve.Valve) valvesToInvert |= (cmpnt as Elde.Valve.Valve).Mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Create an array with tank capacities
|
/// Create an array with tank capacities
|
||||||
@@ -223,7 +225,7 @@ namespace TBF.BenchControl
|
|||||||
for (int i = 0; i < tankCapacities.Length; i++) tankCapacities[i] = balances[i].Capacity;
|
for (int i = 0; i < tankCapacities.Length; i++) tankCapacities[i] = balances[i].Capacity;
|
||||||
|
|
||||||
/// Pre-initialize the control board (= buffer the arguments ctrlBrdComponent, tankCapacities)
|
/// Pre-initialize the control board (= buffer the arguments ctrlBrdComponent, tankCapacities)
|
||||||
ControlBoard.InitializeComponent(ctrlBrdComponent, tankCapacities);
|
ControlBoard.InitializeComponent(ctrlBrdComponent, valvesToInvert, tankCapacities);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void InitializeDevices()
|
public static void InitializeDevices()
|
||||||
|
|||||||
Reference in New Issue
Block a user