Update parameter

This commit is contained in:
CVE
2025-11-21 15:50:42 +08:00
parent 09f21a685d
commit 69e8ab6425
4 changed files with 71 additions and 97 deletions

View File

@@ -33,7 +33,7 @@ namespace WaferAlignment
set { _isStarted = value; } set { _isStarted = value; }
} }
public event Action<Bitmap> OutputImageEvent; public event Action<Bitmap> OutputImageEvent;
private float expo = 8; private float expo = 12;
private uint imgHeight = 4000; private uint imgHeight = 4000;
private MyCamera _dev; private MyCamera _dev;
private CancellationTokenSource _startAcqToken; private CancellationTokenSource _startAcqToken;

View File

@@ -32,6 +32,10 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.cogRecordDisplay1 = new Cognex.VisionPro.CogRecordDisplay(); this.cogRecordDisplay1 = new Cognex.VisionPro.CogRecordDisplay();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.textBox3 = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.lbl_Time = new System.Windows.Forms.Label(); this.lbl_Time = new System.Windows.Forms.Label();
this.txt_Time = new System.Windows.Forms.TextBox(); this.txt_Time = new System.Windows.Forms.TextBox();
this.lbl_Times = new System.Windows.Forms.Label(); this.lbl_Times = new System.Windows.Forms.Label();
@@ -68,10 +72,6 @@
this.nud_SizeX = new System.Windows.Forms.NumericUpDown(); this.nud_SizeX = new System.Windows.Forms.NumericUpDown();
this.btn_Action = new System.Windows.Forms.Button(); this.btn_Action = new System.Windows.Forms.Button();
this.btn_ToZero = new System.Windows.Forms.Button(); this.btn_ToZero = new System.Windows.Forms.Button();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.textBox3 = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout();
@@ -155,6 +155,42 @@
this.cogRecordDisplay1.Size = new System.Drawing.Size(885, 558); this.cogRecordDisplay1.Size = new System.Drawing.Size(885, 558);
this.cogRecordDisplay1.TabIndex = 0; this.cogRecordDisplay1.TabIndex = 0;
// //
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(534, 22);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(55, 21);
this.textBox2.TabIndex = 33;
this.textBox2.Text = "128";
this.textBox2.TextChanged += new System.EventHandler(this.textBox2_TextChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(532, 7);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(53, 12);
this.label1.TabIndex = 34;
this.label1.Text = "相机计数";
//
// textBox3
//
this.textBox3.Location = new System.Drawing.Point(595, 22);
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(55, 21);
this.textBox3.TabIndex = 35;
this.textBox3.Text = "4096";
this.textBox3.TextChanged += new System.EventHandler(this.textBox3_TextChanged);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(593, 7);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 12);
this.label2.TabIndex = 36;
this.label2.Text = "总计数";
//
// lbl_Time // lbl_Time
// //
this.lbl_Time.AutoSize = true; this.lbl_Time.AutoSize = true;
@@ -507,42 +543,6 @@
this.btn_ToZero.UseVisualStyleBackColor = true; this.btn_ToZero.UseVisualStyleBackColor = true;
this.btn_ToZero.Click += new System.EventHandler(this.btn_ToZero_Click); this.btn_ToZero.Click += new System.EventHandler(this.btn_ToZero_Click);
// //
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(534, 22);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(55, 21);
this.textBox2.TabIndex = 33;
this.textBox2.Text = "82";
this.textBox2.TextChanged += new System.EventHandler(this.textBox2_TextChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(532, 7);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(53, 12);
this.label1.TabIndex = 34;
this.label1.Text = "相机计数";
//
// textBox3
//
this.textBox3.Location = new System.Drawing.Point(595, 22);
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(55, 21);
this.textBox3.TabIndex = 35;
this.textBox3.Text = "4096";
this.textBox3.TextChanged += new System.EventHandler(this.textBox3_TextChanged);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(593, 7);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 12);
this.label2.TabIndex = 36;
this.label2.Text = "总计数";
//
// Form1 // Form1
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);

View File

@@ -59,7 +59,6 @@ namespace WaferAlignment
FitCircleToolBlock FitCircleMachineToolBlock; FitCircleToolBlock FitCircleMachineToolBlock;
TranslateCirclePoint translateCirclePoint; TranslateCirclePoint translateCirclePoint;
CogGraphicCollection m_graphics; CogGraphicCollection m_graphics;
CogGraphicCollection m_graphics2;
//XML文件读取与写入 //XML文件读取与写入
ConfigStore _ConfigStore = new ConfigStore(); ConfigStore _ConfigStore = new ConfigStore();
@@ -153,7 +152,6 @@ namespace WaferAlignment
FitCircleMachineToolBlock.OnToolReady += FitCircleMachineToolBlock_OnToolReady; FitCircleMachineToolBlock.OnToolReady += FitCircleMachineToolBlock_OnToolReady;
FitCircleMachineToolBlock.Initialize("vpp\\FitCircleM.vpp"); FitCircleMachineToolBlock.Initialize("vpp\\FitCircleM.vpp");
translateCirclePoint = new TranslateCirclePoint(); translateCirclePoint = new TranslateCirclePoint();
m_graphics2 = new CogGraphicCollection();
} }
catch (Exception ex) catch (Exception ex)
{ {
@@ -190,17 +188,17 @@ namespace WaferAlignment
deviationX = Math.Round((x - translateCirclePoint.GetRotateX()), 3); deviationX = Math.Round((x - translateCirclePoint.GetRotateX()), 3);
deviationY = Math.Round((y - translateCirclePoint.GetRotateY()), 3); deviationY = Math.Round((y - translateCirclePoint.GetRotateY()), 3);
AddPointMarker(m_graphics2, x, y); AddPointMarker(m_graphics, x, y);
AddPointMarker(m_graphics2, translateCirclePoint.GetRotateX(), translateCirclePoint.GetRotateY(), CogColorConstants.Red); AddPointMarker(m_graphics, translateCirclePoint.GetRotateX(), translateCirclePoint.GetRotateY(), CogColorConstants.Red);
PointInfo nPoint = translateCirclePoint.GetNashPoint(); PointInfo nPoint = translateCirclePoint.GetNashPoint();
if (nPoint != null) if (nPoint != null)
{ {
AddPointMarker(m_graphics2, nPoint.X, nPoint.Y, CogColorConstants.Yellow); AddPointMarker(m_graphics, nPoint.X, nPoint.Y, CogColorConstants.Yellow);
AddLineMarker(m_graphics2, x, y, x, y - r); AddLineMarker(m_graphics, x, y, x, y - r);
AddLineMarker(m_graphics2, x, y, nPoint.X, nPoint.Y, CogColorConstants.Yellow); AddLineMarker(m_graphics, x, y, nPoint.X, nPoint.Y, CogColorConstants.Yellow);
angle = GetCounterClockwiseAngle360(x, y, x, y - r, nPoint.X, nPoint.Y); angle = GetCounterClockwiseAngle360(x, y, x, y - r, nPoint.X, nPoint.Y);
AddLabelMarker(m_graphics2, angle.ToString(), x, y, CogColorConstants.Yellow); AddLabelMarker(m_graphics, angle.ToString(), x, y, CogColorConstants.Yellow);
LogHelper.LogInfo($"nash degree:{angle}"); LogHelper.LogInfo($"nash degree:{angle}");
} }
@@ -208,7 +206,6 @@ namespace WaferAlignment
LogHelper.LogInfo($"DiffX:{deviationX}, DiffY:{deviationY}, RMS:{rms}{Environment.NewLine}"); LogHelper.LogInfo($"DiffX:{deviationX}, DiffY:{deviationY}, RMS:{rms}{Environment.NewLine}");
ImageDisplay(FitCircleMachineToolBlock.FitCircleImage); ImageDisplay(FitCircleMachineToolBlock.FitCircleImage);
ImageDisplay(m_graphics); ImageDisplay(m_graphics);
ImageDisplay(m_graphics2);
ImageDisplayFit(); ImageDisplayFit();
} }
private void AddPointMarker(CogGraphicCollection graphicCollection, double x, double y, CogColorConstants color = CogColorConstants.Green) private void AddPointMarker(CogGraphicCollection graphicCollection, double x, double y, CogColorConstants color = CogColorConstants.Green)
@@ -290,10 +287,10 @@ namespace WaferAlignment
/// <param name="e"></param> /// <param name="e"></param>
private void _tcp_DataReceived(object sender, DataReceivedEventArgs e) private void _tcp_DataReceived(object sender, DataReceivedEventArgs e)
{ {
if (this.InvokeRequired) if (InvokeRequired)
{ {
// 如果当前线程不是UI线程则使用Invoke在UI线程上执行 // 如果当前线程不是UI线程则使用Invoke在UI线程上执行
this.Invoke(new Action<object,DataReceivedEventArgs>(_tcp_DataReceived), sender, e); Invoke(new Action<object,DataReceivedEventArgs>(_tcp_DataReceived), sender, e);
} }
else else
{ {
@@ -388,12 +385,12 @@ namespace WaferAlignment
{ {
Task.Run(() => Task.Run(() =>
{ {
this.splitContainer1.Invoke(new Action(() => this.splitContainer1.Panel2.Enabled = false)); splitContainer1.Invoke(new Action(() => splitContainer1.Panel2.Enabled = false));
string str = ""; string str = "";
str = ToZero(); str = ToZero();
MessageBox.Show(str); MessageBox.Show(str);
this.splitContainer1.Invoke(new Action(() => this.splitContainer1.Panel2.Enabled = true)); splitContainer1.Invoke(new Action(() => splitContainer1.Panel2.Enabled = true));
}); });
} }
public string ToZero() public string ToZero()
@@ -437,12 +434,12 @@ namespace WaferAlignment
{ {
Task.Run(() => Task.Run(() =>
{ {
this.splitContainer1.Invoke(new Action(() => this.splitContainer1.Panel2.Enabled = false)); splitContainer1.Invoke(new Action(() => splitContainer1.Panel2.Enabled = false));
string str = ""; string str = "";
str = ToAction(); str = ToAction();
MessageBox.Show(str); MessageBox.Show(str);
this.splitContainer1.Invoke(new Action(() => this.splitContainer1.Panel2.Enabled = true)); splitContainer1.Invoke(new Action(() => splitContainer1.Panel2.Enabled = true));
}); });
} }
@@ -505,12 +502,12 @@ namespace WaferAlignment
ClearDisplay(); ClearDisplay();
Task.Run(() => Task.Run(() =>
{ {
this.splitContainer1.Invoke(new Action(() => this.splitContainer1.Panel2.Enabled = false)); splitContainer1.Invoke(new Action(() => splitContainer1.Panel2.Enabled = false));
string str = ""; string str = "";
str = RunTest(); str = RunTest();
MessageBox.Show(str); MessageBox.Show(str);
this.splitContainer1.Invoke(new Action(() => this.splitContainer1.Panel2.Enabled = true)); splitContainer1.Invoke(new Action(() => splitContainer1.Panel2.Enabled = true));
}); });
} }
@@ -759,7 +756,7 @@ namespace WaferAlignment
LogHelper.LogInfo("拟合机械坐标系下的圆中心:\n"); LogHelper.LogInfo("拟合机械坐标系下的圆中心:\n");
m_graphics = new CogGraphicCollection(); m_graphics = new CogGraphicCollection();
m_graphics2 = new CogGraphicCollection(); m_graphics = new CogGraphicCollection();
foreach (PointInfo pointInfo in points) foreach (PointInfo pointInfo in points)
{ {
AddPointMarker(m_graphics, pointInfo.X, pointInfo.Y); AddPointMarker(m_graphics, pointInfo.X, pointInfo.Y);
@@ -779,9 +776,9 @@ namespace WaferAlignment
private void ResultDisplay(double Times,double Time, string X, string Y, string R, string RMS, double dX, double dY, double dR) private void ResultDisplay(double Times,double Time, string X, string Y, string R, string RMS, double dX, double dY, double dR)
{ {
if (this.InvokeRequired) if (InvokeRequired)
{ {
this.BeginInvoke(new Action(() => ResultDisplay(Times,Time,X, Y, R, RMS, dX, dY, dR))); BeginInvoke(new Action(() => ResultDisplay(Times,Time,X, Y, R, RMS, dX, dY, dR)));
return; return;
} }
txt_Times.Text = Times.ToString(); txt_Times.Text = Times.ToString();
@@ -797,44 +794,33 @@ namespace WaferAlignment
} }
private void ClearDisplay() private void ClearDisplay()
{ {
if (this.InvokeRequired) if (InvokeRequired)
{ {
this.BeginInvoke(new Action(() => ClearDisplay())); BeginInvoke(new Action(() => ClearDisplay()));
return; return;
} }
this.cogRecordDisplay1.InteractiveGraphics.Clear(); cogRecordDisplay1.InteractiveGraphics.Clear();
this.cogRecordDisplay1.StaticGraphics.Clear(); cogRecordDisplay1.StaticGraphics.Clear();
this.cogRecordDisplay1.Image = null; cogRecordDisplay1.Image = null;
} }
private void ImageDisplay(CogImage8Grey img, CogGraphicCollection graphics)
{
if (this.InvokeRequired)
{
this.BeginInvoke(new Action(() => ImageDisplay(img, graphics)));
return;
}
this.cogRecordDisplay1.Image = img;
this.cogRecordDisplay1.StaticGraphics.AddList(graphics, "");
this.cogRecordDisplay1.Fit(true);
}
private void ImageDisplay(CogGraphicCollection graphics) private void ImageDisplay(CogGraphicCollection graphics)
{ {
if (this.InvokeRequired) if (InvokeRequired)
{ {
this.BeginInvoke(new Action(() => ImageDisplay(graphics))); BeginInvoke(new Action(() => ImageDisplay(graphics)));
return; return;
} }
this.cogRecordDisplay1.StaticGraphics.AddList(graphics, ""); cogRecordDisplay1.StaticGraphics.AddList(graphics, "");
} }
private void ImageDisplay(CogImage8Grey img) private void ImageDisplay(CogImage8Grey img)
{ {
if (this.InvokeRequired) if (InvokeRequired)
{ {
this.BeginInvoke(new Action(() => ImageDisplay(img))); BeginInvoke(new Action(() => ImageDisplay(img)));
return; return;
} }
this.cogRecordDisplay1.Image = img; cogRecordDisplay1.Image = img;
cogRecordDisplay1.StaticGraphics.Clear(); cogRecordDisplay1.StaticGraphics.Clear();
} }
private void ImageDisplayFit() private void ImageDisplayFit()
@@ -848,9 +834,9 @@ namespace WaferAlignment
} }
private void DataDisplay(double Rotation, double X, double Y, double Radius) private void DataDisplay(double Rotation, double X, double Y, double Radius)
{ {
if (this.InvokeRequired) if (InvokeRequired)
{ {
this.BeginInvoke(new Action(() => DataDisplay(Rotation, X, Y, Radius))); BeginInvoke(new Action(() => DataDisplay(Rotation, X, Y, Radius)));
return; return;
} }
int rowIndex = dataGridView1.Rows.Add(); int rowIndex = dataGridView1.Rows.Add();

View File

@@ -140,16 +140,4 @@
<metadata name="Column4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="Column4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root> </root>