test commit

This commit is contained in:
Wesley Hofman
2025-09-11 09:17:50 +02:00
parent a0d5f3b21b
commit 9292dcfad5
6 changed files with 268 additions and 85 deletions

32
HTOLHAST/Agilent34970a.cs Normal file
View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HTOLHAST
{
public class Agilent34970a : SCPIInstrument
{
public Agilent34970a(string resourceString) : base(resourceString) { }
public override Sample CreateSample(string response)
{
string Response = response;
// Parse the Keithley output
string[] parts = Response.Split(',');
if (parts.Length >= 1 && double.TryParse(parts[0].Replace("V", ""), out double current))
{
Agilent34970aSample sample = new Agilent34970aSample(DateTime.Now, current, "V");
// Optionally, store or process the sample here
Console.WriteLine($"[Agilent34970] Sample Created, Value: {sample.Value} {sample.Unit}");
return sample;
}
throw new InvalidOperationException("Unsupported instrument type.");
}
}
}

View File

@@ -31,10 +31,10 @@ namespace HTOLHAST
{
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPageInstruments = new System.Windows.Forms.TabPage();
this.checkBox4 = new System.Windows.Forms.CheckBox();
this.checkBox3 = new System.Windows.Forms.CheckBox();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.cbPAMEnabled = new System.Windows.Forms.CheckBox();
this.cbPSU2Enabled = new System.Windows.Forms.CheckBox();
this.cbDAQEnabled = new System.Windows.Forms.CheckBox();
this.cbPSU1Enabled = new System.Windows.Forms.CheckBox();
this.label11 = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
this.textBox7 = new System.Windows.Forms.TextBox();
@@ -46,13 +46,13 @@ namespace HTOLHAST
this.textBox6 = new System.Windows.Forms.TextBox();
this.textBox5 = new System.Windows.Forms.TextBox();
this.label9 = new System.Windows.Forms.Label();
this.textBox4 = new System.Windows.Forms.TextBox();
this.tbResourceStringPAM = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.textBox3 = new System.Windows.Forms.TextBox();
this.tbResourceStringDAQ = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.textBox2 = new System.Windows.Forms.TextBox();
this.tbResourceStringPSU2 = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.tbResourceStringPSU1 = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.pictureBox4 = new System.Windows.Forms.PictureBox();
@@ -108,6 +108,7 @@ namespace HTOLHAST
this.label16 = new System.Windows.Forms.Label();
this.dataGridView4 = new System.Windows.Forms.DataGridView();
this.ID = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.btnInitializeInstruments = new System.Windows.Forms.Button();
this.tabControl1.SuspendLayout();
this.tabPageInstruments.SuspendLayout();
this.panel1.SuspendLayout();
@@ -140,19 +141,20 @@ namespace HTOLHAST
//
// tabPageInstruments
//
this.tabPageInstruments.Controls.Add(this.checkBox4);
this.tabPageInstruments.Controls.Add(this.checkBox3);
this.tabPageInstruments.Controls.Add(this.checkBox2);
this.tabPageInstruments.Controls.Add(this.checkBox1);
this.tabPageInstruments.Controls.Add(this.btnInitializeInstruments);
this.tabPageInstruments.Controls.Add(this.cbPAMEnabled);
this.tabPageInstruments.Controls.Add(this.cbPSU2Enabled);
this.tabPageInstruments.Controls.Add(this.cbDAQEnabled);
this.tabPageInstruments.Controls.Add(this.cbPSU1Enabled);
this.tabPageInstruments.Controls.Add(this.label11);
this.tabPageInstruments.Controls.Add(this.panel1);
this.tabPageInstruments.Controls.Add(this.textBox4);
this.tabPageInstruments.Controls.Add(this.tbResourceStringPAM);
this.tabPageInstruments.Controls.Add(this.label8);
this.tabPageInstruments.Controls.Add(this.textBox3);
this.tabPageInstruments.Controls.Add(this.tbResourceStringDAQ);
this.tabPageInstruments.Controls.Add(this.label7);
this.tabPageInstruments.Controls.Add(this.textBox2);
this.tabPageInstruments.Controls.Add(this.tbResourceStringPSU2);
this.tabPageInstruments.Controls.Add(this.label6);
this.tabPageInstruments.Controls.Add(this.textBox1);
this.tabPageInstruments.Controls.Add(this.tbResourceStringPSU1);
this.tabPageInstruments.Controls.Add(this.label5);
this.tabPageInstruments.Controls.Add(this.label4);
this.tabPageInstruments.Controls.Add(this.pictureBox4);
@@ -171,49 +173,49 @@ namespace HTOLHAST
this.tabPageInstruments.Text = "Instruments";
this.tabPageInstruments.UseVisualStyleBackColor = true;
//
// checkBox4
// cbPAMEnabled
//
this.checkBox4.AutoSize = true;
this.checkBox4.Location = new System.Drawing.Point(618, 271);
this.checkBox4.Margin = new System.Windows.Forms.Padding(2);
this.checkBox4.Name = "checkBox4";
this.checkBox4.Size = new System.Drawing.Size(59, 17);
this.checkBox4.TabIndex = 22;
this.checkBox4.Text = "Enable";
this.checkBox4.UseVisualStyleBackColor = true;
this.cbPAMEnabled.AutoSize = true;
this.cbPAMEnabled.Location = new System.Drawing.Point(618, 271);
this.cbPAMEnabled.Margin = new System.Windows.Forms.Padding(2);
this.cbPAMEnabled.Name = "cbPAMEnabled";
this.cbPAMEnabled.Size = new System.Drawing.Size(59, 17);
this.cbPAMEnabled.TabIndex = 22;
this.cbPAMEnabled.Text = "Enable";
this.cbPAMEnabled.UseVisualStyleBackColor = true;
//
// checkBox3
// cbPSU2Enabled
//
this.checkBox3.AutoSize = true;
this.checkBox3.Location = new System.Drawing.Point(262, 271);
this.checkBox3.Margin = new System.Windows.Forms.Padding(2);
this.checkBox3.Name = "checkBox3";
this.checkBox3.Size = new System.Drawing.Size(59, 17);
this.checkBox3.TabIndex = 21;
this.checkBox3.Text = "Enable";
this.checkBox3.UseVisualStyleBackColor = true;
this.cbPSU2Enabled.AutoSize = true;
this.cbPSU2Enabled.Location = new System.Drawing.Point(262, 271);
this.cbPSU2Enabled.Margin = new System.Windows.Forms.Padding(2);
this.cbPSU2Enabled.Name = "cbPSU2Enabled";
this.cbPSU2Enabled.Size = new System.Drawing.Size(59, 17);
this.cbPSU2Enabled.TabIndex = 21;
this.cbPSU2Enabled.Text = "Enable";
this.cbPSU2Enabled.UseVisualStyleBackColor = true;
//
// checkBox2
// cbDAQEnabled
//
this.checkBox2.AutoSize = true;
this.checkBox2.Location = new System.Drawing.Point(618, 24);
this.checkBox2.Margin = new System.Windows.Forms.Padding(2);
this.checkBox2.Name = "checkBox2";
this.checkBox2.Size = new System.Drawing.Size(59, 17);
this.checkBox2.TabIndex = 20;
this.checkBox2.Text = "Enable";
this.checkBox2.UseVisualStyleBackColor = true;
this.cbDAQEnabled.AutoSize = true;
this.cbDAQEnabled.Location = new System.Drawing.Point(618, 24);
this.cbDAQEnabled.Margin = new System.Windows.Forms.Padding(2);
this.cbDAQEnabled.Name = "cbDAQEnabled";
this.cbDAQEnabled.Size = new System.Drawing.Size(59, 17);
this.cbDAQEnabled.TabIndex = 20;
this.cbDAQEnabled.Text = "Enable";
this.cbDAQEnabled.UseVisualStyleBackColor = true;
//
// checkBox1
// cbPSU1Enabled
//
this.checkBox1.AutoSize = true;
this.checkBox1.Location = new System.Drawing.Point(262, 24);
this.checkBox1.Margin = new System.Windows.Forms.Padding(2);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(59, 17);
this.checkBox1.TabIndex = 19;
this.checkBox1.Text = "Enable";
this.checkBox1.UseVisualStyleBackColor = true;
this.cbPSU1Enabled.AutoSize = true;
this.cbPSU1Enabled.Location = new System.Drawing.Point(262, 24);
this.cbPSU1Enabled.Margin = new System.Windows.Forms.Padding(2);
this.cbPSU1Enabled.Name = "cbPSU1Enabled";
this.cbPSU1Enabled.Size = new System.Drawing.Size(59, 17);
this.cbPSU1Enabled.TabIndex = 19;
this.cbPSU1Enabled.Text = "Enable";
this.cbPSU1Enabled.UseVisualStyleBackColor = true;
//
// label11
//
@@ -324,13 +326,13 @@ namespace HTOLHAST
this.label9.TabIndex = 0;
this.label9.Text = "DATALOGGER MAX CURRENT: ";
//
// textBox4
// tbResourceStringPAM
//
this.textBox4.Location = new System.Drawing.Point(490, 465);
this.textBox4.Margin = new System.Windows.Forms.Padding(2);
this.textBox4.Name = "textBox4";
this.textBox4.Size = new System.Drawing.Size(184, 20);
this.textBox4.TabIndex = 15;
this.tbResourceStringPAM.Location = new System.Drawing.Point(490, 465);
this.tbResourceStringPAM.Margin = new System.Windows.Forms.Padding(2);
this.tbResourceStringPAM.Name = "tbResourceStringPAM";
this.tbResourceStringPAM.Size = new System.Drawing.Size(184, 20);
this.tbResourceStringPAM.TabIndex = 15;
//
// label8
//
@@ -342,13 +344,13 @@ namespace HTOLHAST
this.label8.TabIndex = 14;
this.label8.Text = "VISA ADDRESS";
//
// textBox3
// tbResourceStringDAQ
//
this.textBox3.Location = new System.Drawing.Point(490, 216);
this.textBox3.Margin = new System.Windows.Forms.Padding(2);
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(184, 20);
this.textBox3.TabIndex = 13;
this.tbResourceStringDAQ.Location = new System.Drawing.Point(490, 216);
this.tbResourceStringDAQ.Margin = new System.Windows.Forms.Padding(2);
this.tbResourceStringDAQ.Name = "tbResourceStringDAQ";
this.tbResourceStringDAQ.Size = new System.Drawing.Size(184, 20);
this.tbResourceStringDAQ.TabIndex = 13;
//
// label7
//
@@ -360,13 +362,13 @@ namespace HTOLHAST
this.label7.TabIndex = 12;
this.label7.Text = "VISA ADDRESS";
//
// textBox2
// tbResourceStringPSU2
//
this.textBox2.Location = new System.Drawing.Point(134, 465);
this.textBox2.Margin = new System.Windows.Forms.Padding(2);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(184, 20);
this.textBox2.TabIndex = 11;
this.tbResourceStringPSU2.Location = new System.Drawing.Point(134, 465);
this.tbResourceStringPSU2.Margin = new System.Windows.Forms.Padding(2);
this.tbResourceStringPSU2.Name = "tbResourceStringPSU2";
this.tbResourceStringPSU2.Size = new System.Drawing.Size(184, 20);
this.tbResourceStringPSU2.TabIndex = 11;
//
// label6
//
@@ -378,13 +380,13 @@ namespace HTOLHAST
this.label6.TabIndex = 10;
this.label6.Text = "VISA ADDRESS";
//
// textBox1
// tbResourceStringPSU1
//
this.textBox1.Location = new System.Drawing.Point(134, 216);
this.textBox1.Margin = new System.Windows.Forms.Padding(2);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(184, 20);
this.textBox1.TabIndex = 9;
this.tbResourceStringPSU1.Location = new System.Drawing.Point(134, 216);
this.tbResourceStringPSU1.Margin = new System.Windows.Forms.Padding(2);
this.tbResourceStringPSU1.Name = "tbResourceStringPSU1";
this.tbResourceStringPSU1.Size = new System.Drawing.Size(184, 20);
this.tbResourceStringPSU1.TabIndex = 9;
//
// label5
//
@@ -944,6 +946,16 @@ namespace HTOLHAST
this.ID.Name = "ID";
this.ID.Width = 125;
//
// btnInitializeInstruments
//
this.btnInitializeInstruments.Location = new System.Drawing.Point(775, 438);
this.btnInitializeInstruments.Name = "btnInitializeInstruments";
this.btnInitializeInstruments.Size = new System.Drawing.Size(117, 47);
this.btnInitializeInstruments.TabIndex = 23;
this.btnInitializeInstruments.Text = "Initialize Instruments";
this.btnInitializeInstruments.UseVisualStyleBackColor = true;
this.btnInitializeInstruments.Click += new System.EventHandler(this.btnInitializeInstruments_Click);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -980,13 +992,13 @@ namespace HTOLHAST
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPageInstruments;
private System.Windows.Forms.TextBox textBox4;
private System.Windows.Forms.TextBox tbResourceStringPAM;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.TextBox textBox3;
private System.Windows.Forms.TextBox tbResourceStringDAQ;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.TextBox tbResourceStringPSU2;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.TextBox tbResourceStringPSU1;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.PictureBox pictureBox4;
@@ -1009,10 +1021,10 @@ namespace HTOLHAST
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.TextBox textBox6;
private System.Windows.Forms.CheckBox checkBox4;
private System.Windows.Forms.CheckBox checkBox3;
private System.Windows.Forms.CheckBox checkBox2;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.CheckBox cbPAMEnabled;
private System.Windows.Forms.CheckBox cbPSU2Enabled;
private System.Windows.Forms.CheckBox cbDAQEnabled;
private System.Windows.Forms.CheckBox cbPSU1Enabled;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label15;
@@ -1057,6 +1069,7 @@ namespace HTOLHAST
private System.Windows.Forms.Label label17;
private System.Windows.Forms.Button button17;
private System.Windows.Forms.DataGridViewTextBoxColumn ID;
private System.Windows.Forms.Button btnInitializeInstruments;
}
}

View File

@@ -13,11 +13,91 @@ namespace HTOLHAST
{
public partial class Form1 : Form
{
HMP4040 PSU1;
HMP4040 PSU2;
Keithley6485 PAM;
Agilent34970a DAQ;
public Form1()
{
InitializeComponent();
}
public void InitializeInstruments()
{
// Mandatory instruments:
InitializePSU1(tbResourceStringPSU1.Text);
InitializeDAQ(tbResourceStringDAQ.Text);
// Optional Instruments check if to be used
if (cbPSU1Enabled.Checked)
{
InitializePSU2(tbResourceStringPSU2.Text);
}
if (cbPAMEnabled.Checked)
{
InitializePAM(tbResourceStringPAM.Text);
}
}
public void InitializePSU1(string resourceString)
{
try
{
PSU1 = new HMP4040(resourceString);
}
catch (Exception)
{
throw;
}
}
public void InitializePSU2(string resourceString)
{
try
{
PSU2 = new HMP4040(resourceString);
}
catch (Exception)
{
throw;
}
}
public void InitializePAM(string resourceString)
{
try
{
PAM = new Keithley6485(resourceString);
}
catch (Exception)
{
throw;
}
}
public void InitializeDAQ(string resourceString)
{
try
{
DAQ = new Agilent34970a(resourceString);
}
catch (Exception)
{
throw;
}
}
public void HamegValidationOfMethods()
{
string resourceString = "ASRL4::INSTR"; // Replace with your instrument's resource string
@@ -58,6 +138,11 @@ namespace HTOLHAST
// Close the instrument connection
keithley.Close();
}
}
private void btnInitializeInstruments_Click(object sender, EventArgs e)
{
InitializeInstruments();
}
}
}

View File

@@ -123,12 +123,39 @@
<metadata name="dataGridViewTextBoxColumn2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Channel.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Delay.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Channel.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Delay.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Supply.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Description.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="VSetpoint.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Tolerance.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CurrentLimitTotal.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Supply.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@@ -156,6 +183,21 @@
<metadata name="dataGridViewTextBoxColumn6.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn6.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>

View File

@@ -67,6 +67,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Agilent34970a.cs" />
<Compile Include="Class1.cs" />
<Compile Include="Form1.cs">
<SubType>Form</SubType>

View File

@@ -50,4 +50,14 @@ namespace HTOLHAST
Value = value;
}
}
public class Agilent34970aSample : Sample
{
public double Value { get; set; }
public Agilent34970aSample(DateTime timeStamp, double value, string unit) : base(timeStamp, unit)
{
Value = value;
}
}
}