Genesis slot max count 10, Add DB writer component

Integrate `DatabaseWriter` component and update GenesisHead configuration:

- Add `DatabaseWriter` factory and related classes (`WriteDBCfgCtrl`, `WriterCfg`, `WritingToDB`).
- Extend GenesisHead slot number range to 1-10 and adjust UI layout accordingly.
This commit is contained in:
Michal Buzik 2026-03-06 11:43:31 +01:00
parent 10865c6878
commit 2dbe4cded4
4 changed files with 33 additions and 19 deletions

View File

@ -92,6 +92,7 @@ namespace TBF.Rig
new Network.Camera.RoiForFixedStartKeyence.Factory(),
new Network.Comet.Ambient.Factory(),
new Network.RestAPI.Factory(),
new Output.DB.DatabaseWriter.Factory(),
new Output.DB.ProductionTracing.Factory(),
new Output.DB.SaveDiverterCorrections.Factory(),
new Output.DB.SaveFlowmeterCorrections.Factory(),
@ -190,6 +191,7 @@ namespace TBF.Rig
new TestMethods.FlyingStartFirstRepetWithMassColl.HeatMeters.Factory(),
new TestMethods.FlyingStartTankCollection.Single.Factory(),
new TestMethods.FlyingStartTankCollection.Compound.Factory(),
new TestMethods.GenesisCommunication.GenesisHead.Factory(),
new TestMethods.GrabImage.Factory(),
new TestMethods.iPerlCommunication.TestMethodFactory(), /// iPerlCommunication
new TestMethods.LeakTest.Factory(),

View File

@ -67,7 +67,7 @@ namespace TBF.Rig.TestMethods.GenesisCommunication.GenesisHead
int dummy;
if (!int.TryParse(slotNrTextBox.Text, out dummy) || dummy < 1 || dummy > 7)
if (!int.TryParse(slotNrTextBox.Text, out dummy) || dummy < 1 || dummy > 10)
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + string.Format(Strings.Invalid_0, muxBoardNrLabel.Text);

View File

@ -25,8 +25,8 @@ namespace TBF.Rig.TestMethods.GenesisCommunication.GenesisHead
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
@ -42,58 +42,64 @@ namespace TBF.Rig.TestMethods.GenesisCommunication.GenesisHead
// nameTextBox
//
this.nameTextBox.Enabled = false;
this.nameTextBox.Location = new System.Drawing.Point(135, 40);
this.nameTextBox.Location = new System.Drawing.Point(202, 62);
this.nameTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.nameTextBox.Name = "nameTextBox";
this.nameTextBox.Size = new System.Drawing.Size(121, 20);
this.nameTextBox.Size = new System.Drawing.Size(180, 26);
this.nameTextBox.TabIndex = 2;
//
// nameLabel
//
this.nameLabel.AutoSize = true;
this.nameLabel.Location = new System.Drawing.Point(25, 43);
this.nameLabel.Location = new System.Drawing.Point(38, 66);
this.nameLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.nameLabel.Name = "nameLabel";
this.nameLabel.Size = new System.Drawing.Size(35, 13);
this.nameLabel.Size = new System.Drawing.Size(51, 20);
this.nameLabel.TabIndex = 1;
this.nameLabel.Text = "Name";
//
// classNameLabel
//
this.classNameLabel.AutoSize = true;
this.classNameLabel.Location = new System.Drawing.Point(132, 16);
this.classNameLabel.Location = new System.Drawing.Point(198, 25);
this.classNameLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.classNameLabel.Name = "classNameLabel";
this.classNameLabel.Size = new System.Drawing.Size(60, 13);
this.classNameLabel.Size = new System.Drawing.Size(90, 20);
this.classNameLabel.TabIndex = 0;
this.classNameLabel.Text = "ClassName";
//
// slotNrTextBox
//
this.slotNrTextBox.Enabled = false;
this.slotNrTextBox.Location = new System.Drawing.Point(135, 63);
this.slotNrTextBox.Location = new System.Drawing.Point(202, 97);
this.slotNrTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.slotNrTextBox.Name = "slotNrTextBox";
this.slotNrTextBox.Size = new System.Drawing.Size(34, 20);
this.slotNrTextBox.Size = new System.Drawing.Size(49, 26);
this.slotNrTextBox.TabIndex = 9;
//
// muxBoardNrLabel
//
this.muxBoardNrLabel.AutoSize = true;
this.muxBoardNrLabel.Location = new System.Drawing.Point(25, 66);
this.muxBoardNrLabel.Location = new System.Drawing.Point(38, 102);
this.muxBoardNrLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.muxBoardNrLabel.Name = "muxBoardNrLabel";
this.muxBoardNrLabel.Size = new System.Drawing.Size(37, 13);
this.muxBoardNrLabel.Size = new System.Drawing.Size(55, 20);
this.muxBoardNrLabel.TabIndex = 8;
this.muxBoardNrLabel.Text = "Slot nr";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(176, 66);
this.label3.Location = new System.Drawing.Point(264, 102);
this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(31, 13);
this.label3.Size = new System.Drawing.Size(52, 20);
this.label3.TabIndex = 13;
this.label3.Text = "1 .. 6";
this.label3.Text = "1 .. 10";
//
// GenesisHeadCfgCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.label3);
this.Controls.Add(this.slotNrTextBox);
@ -101,12 +107,12 @@ namespace TBF.Rig.TestMethods.GenesisCommunication.GenesisHead
this.Controls.Add(this.nameTextBox);
this.Controls.Add(this.nameLabel);
this.Controls.Add(this.classNameLabel);
this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.Name = "GenesisHeadCfgCtrl";
this.Size = new System.Drawing.Size(396, 123);
this.Size = new System.Drawing.Size(594, 189);
this.Load += new System.EventHandler(this.WaterMeterCfgCtrl_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion

View File

@ -1045,6 +1045,11 @@
</Compile>
<Compile Include="Rig\Operations\LargeMessageBoxOp.cs" />
<Compile Include="Rig\Operations\ReturnGivenEventOp.cs" />
<Compile Include="Rig\Output\DB\DatabaseWriter\Factory.cs" />
<Compile Include="Rig\Output\DB\DatabaseWriter\WriteDBCfgCtrl.cs" />
<Compile Include="Rig\Output\DB\DatabaseWriter\WriteDBCfgCtrl.designer.cs" />
<Compile Include="Rig\Output\DB\DatabaseWriter\WriterCfg.cs" />
<Compile Include="Rig\Output\DB\DatabaseWriter\WritingToDB.cs" />
<Compile Include="Rig\Output\DB\ProductionTracing\Tracing.cs" />
<Compile Include="Rig\Output\DB\ProductionTracing\MonitoringCfg.cs" />
<Compile Include="Rig\Output\DB\ProductionTracing\TracingCfgCtrl.cs">
@ -3345,6 +3350,7 @@
<EmbeddedResource Include="Rig\Operations\MessageBoxForm.resx">
<DependentUpon>MessageBoxForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Rig\Output\DB\DatabaseWriter\WriteDBCfgCtrl.resx" />
<EmbeddedResource Include="Rig\Output\DB\ProductionTracing\TracingCfgCtrl.resx">
<DependentUpon>TracingCfgCtrl.cs</DependentUpon>
</EmbeddedResource>