From 66d995d55f9c122328b4eceb99bc20aca3a42c10 Mon Sep 17 00:00:00 2001
From: wells <123>
Date: 星期日, 12 七月 2020 21:04:16 +0800
Subject: [PATCH] debug
---
src/Bro.M071.Process/UI/M071_MainForm.cs | 13 ++----
src/Bro.M071.Process/M071Process.cs | 39 +++++++++++++++----
src/Bro.M071.Process/M071Process_MotionCard.cs | 14 +++++-
src/Bro.UI.Config/MenuForms/FrmOperation.resx | 4 +-
src/Bro.Common.Device/DeviceBase/HDevEngineTool.cs | 11 +++++
src/Bro.M071.Process/UI/KeyIndicator.cs | 10 +++--
6 files changed, 64 insertions(+), 27 deletions(-)
diff --git a/src/Bro.Common.Device/DeviceBase/HDevEngineTool.cs b/src/Bro.Common.Device/DeviceBase/HDevEngineTool.cs
index c235581..80164bd 100644
--- a/src/Bro.Common.Device/DeviceBase/HDevEngineTool.cs
+++ b/src/Bro.Common.Device/DeviceBase/HDevEngineTool.cs
@@ -255,5 +255,16 @@
return list;
}
+
+ public static HImage ConvertHObjectToHImage(this HObject obj)
+ {
+ HTuple pointer, type, width, heght;
+ HOperatorSet.GetImagePointer1(obj, out pointer, out type, out width, out heght);
+
+ HImage img = new HImage();
+ img.GenImage1(type, width, heght, pointer);
+
+ return img;
+ }
}
}
diff --git a/src/Bro.M071.Process/M071Process.cs b/src/Bro.M071.Process/M071Process.cs
index 300a146..a0e47ae 100644
--- a/src/Bro.M071.Process/M071Process.cs
+++ b/src/Bro.M071.Process/M071Process.cs
@@ -647,8 +647,16 @@
int i = 0;
u.KeyImages?.ForEach(image =>
{
- string fileName = Path.Combine(dir, $"{measureName}_{u.Key}{(i == 0 ? "" : $"-{i}")}_{DateTime.Now.ToString("HHmmss")}.tiff");
- image.WriteImage("tiff", 0, fileName);
+ string fileName = "";
+ try
+ {
+ fileName = Path.Combine(dir, $"{measureName}_{u.Key}{(i == 0 ? "" : $"-{i}")}_{DateTime.Now.ToString("HHmmss")}.tiff");
+ image.WriteImage("tiff", 0, fileName);
+ }
+ catch (Exception)
+ {
+ LogAsync(DateTime.Now, "鍒囧浘淇濆瓨澶辫触", fileName);
+ }
i++;
});
@@ -668,6 +676,7 @@
string toolKey = (opConfig as CameraOprerationConfigBase).AlgorithemPath;
HObject images = imgSet.HImage;
LaserScanParam scanParam = JsonConvert.DeserializeObject<LaserScanParam>(imgSet.ImageData);
+ LogAsync(DateTime.Now, $"鎵弿鍙傛暟:{imgSet.ImageData}", "");
if (!string.IsNullOrWhiteSpace(toolKey))
{
@@ -691,6 +700,7 @@
}
HOperatorSet.CountObj(images, out HTuple count);
+ LogAsync(DateTime.Now, $"{snapshotName}鍒囧浘{count.I}寮�", "");
if (count == 0)
{
@@ -699,7 +709,7 @@
return;
}
- var excludeKeys = keys.Where(u => u.ImageSeq > count).ToList();
+ var excludeKeys = keys.Where(u => u.ImageSeq > count.I).ToList();
if (excludeKeys.Count > 0)
{
LogAsync(DateTime.Now, $"{string.Join(" ", excludeKeys.Select(u => u.AliasName))}鏈湪鍥剧墖鑾峰彇搴忓垪涓�", "");
@@ -709,9 +719,19 @@
});
}
- Parallel.For(1, count.I, (i) =>
+ string dir = Path.Combine(Config.ImageSaveFolder, "Clips", $"{snapshotName}_{DateTime.Now.ToString("HHmmss")}");
+ if (!Directory.Exists(dir))
+ {
+ Directory.CreateDirectory(dir);
+ }
+
+ Parallel.For(1, count.I + 1, (i) =>
+ //for (int i = 1; i <= count.I; i++)
{
HOperatorSet.SelectObj(images, out HObject image, i);
+
+ string fileName = Path.Combine(dir, $"{i}.tif");
+ image.ConvertHObjectToHImage().WriteImage("tiff", 0, fileName);
keys.Where(u => u.ImageSeq == i).ToList().ForEach(k =>
{
@@ -727,8 +747,8 @@
else
{
_halconToolDict[keyToolKey].InputImageDic["INPUT_Image"] = image;
- _halconToolDict[keyToolKey].InputTupleDic["INPUT_Resolution_X"] = scanParam.Resolution_X;
- //_halconToolDict[keyToolKey].InputTupleDic["INPUT_Resolution_Z"] = scanParam.Resolution_Z;
+ _halconToolDict[keyToolKey].InputTupleDic["INPUT_Resolution_X"] = scanParam.Resolution_X / 1000000.0;
+ _halconToolDict[keyToolKey].InputTupleDic["INPUT_Resolution_Z"] = scanParam.Resolution_Z / 1000000.0;
if (!_halconToolDict[keyToolKey].RunProcedure(out string error))
{
LogAsync(DateTime.Now, $"{k.AliasName}妫�娴嬬畻娉曞紓甯革紝{error}", "");
@@ -753,13 +773,14 @@
keyBindList.ForEach(kb =>
{
- kb.KeyImages.Add(image.Clone() as HImage);
+ kb.KeyImages.Add(image.ConvertHObjectToHImage());
kb.FillKeyValues(resultDict);
});
});
- image.Dispose();
- });
+ //image.Dispose();
+ }
+ );
//if (count.I != 1)
//{
diff --git a/src/Bro.M071.Process/M071Process_MotionCard.cs b/src/Bro.M071.Process/M071Process_MotionCard.cs
index 7a91ce4..2821708 100644
--- a/src/Bro.M071.Process/M071Process_MotionCard.cs
+++ b/src/Bro.M071.Process/M071Process_MotionCard.cs
@@ -358,9 +358,17 @@
throw new ProcessException("鏈幏鍙栨澘鍗¤澶�");
bool? isToPause = null; //true 鏆傚仠 false 缁х画
- if (opConfig.InputPara != null && opConfig.InputPara.Count > 0)
+ //if (opConfig.InputPara != null && opConfig.InputPara.Count > 0)
+ //{
+ // isToPause = opConfig.InputPara[0] == 1;
+ //}
+ if (opConfig.InputPara[0] == 10)
{
- isToPause = opConfig.InputPara[0] == 1;
+ isToPause = false;
+ }
+ else if (opConfig.InputPara[0] == 11)
+ {
+ isToPause = true;
}
if (isToPause == null)
@@ -665,7 +673,7 @@
[ProcessMethod("", "SafetyBeamSignal", "瀹夊叏鍏夊箷淇″彿鐩戞帶锛屾甯窸N锛孫FF鏃舵姤璀�", InvokeType.TestInvoke)]
public ProcessResponse SafetyBeamSignal(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice)
{
- if (MachineState != MachineState.Running || MachineState != MachineState.Alarm)
+ if (MachineState != MachineState.Running && MachineState != MachineState.Alarm)
return new ProcessResponse(true);
if (opConfig.InputPara == null || opConfig.InputPara.Count == 0)
diff --git a/src/Bro.M071.Process/UI/KeyIndicator.cs b/src/Bro.M071.Process/UI/KeyIndicator.cs
index 2565ee3..24967a5 100644
--- a/src/Bro.M071.Process/UI/KeyIndicator.cs
+++ b/src/Bro.M071.Process/UI/KeyIndicator.cs
@@ -63,7 +63,10 @@
public override void Draw(Graphics g)
{
- g.DrawRectangle(Pen, DisplayRect);
+ if (ResultState == null)
+ {
+ g.DrawRectangle(Pen, DisplayRect);
+ }
RectangleF rectFill = new RectangleF(DisplayRect.X + 1, DisplayRect.Y + 1, DisplayRect.Width - 2, DisplayRect.Height - 2);
if (ResultState != null)
{
@@ -74,12 +77,11 @@
if (!ResultState.Value)
{
backColor = Color.Red;
- foreColor = Color.White;
+ //foreColor = Color.White;
}
g.FillRectangle(new SolidBrush(Color.FromArgb(85, backColor)), rectFill);
- g.DrawString(Text, Font, new SolidBrush(foreColor), (float)(DisplayRect.X + DisplayRect.Width / 2.0 - txtSize.Width / 2.0), (float)(DisplayRect.Y + DisplayRect.Height / 2.0 - txtSize.Height / 2.0));
-
+ g.DrawString(Text, Font, new SolidBrush(foreColor), (float)(DisplayRect.X + DisplayRect.Width / 2.0 - txtSize.Width / 2.0), (float)(DisplayRect.Y + DisplayRect.Height));
}
}
diff --git a/src/Bro.M071.Process/UI/M071_MainForm.cs b/src/Bro.M071.Process/UI/M071_MainForm.cs
index e875fd6..6aa59b8 100644
--- a/src/Bro.M071.Process/UI/M071_MainForm.cs
+++ b/src/Bro.M071.Process/UI/M071_MainForm.cs
@@ -303,7 +303,6 @@
btnStartMeasure.Text = "寮�濮嬫祴閲�";
btnStartMeasure.Enabled = false;
- btnStartMeasure.BackColor = Color.Red;
break;
case MachineState.Pause:
btnStartMeasure.BackColor = lblMachineState.BackColor = Color.Yellow;
@@ -312,25 +311,22 @@
btnStartMeasure.Text = "缁х画娴嬮噺";
btnStartMeasure.Enabled = true;
- btnStartMeasure.BackColor = Color.Lime;
break;
case MachineState.Ready:
btnStartMeasure.BackColor = lblMachineState.BackColor = Color.Lime;
- btnStartMeasure.ForeColor = lblMachineState.ForeColor = Color.White;
+ btnStartMeasure.ForeColor = lblMachineState.ForeColor = Color.Black;
lblMachineState.Text = "灏辩华";
btnStartMeasure.Text = "寮�濮嬫祴閲�";
btnStartMeasure.Enabled = true;
- btnStartMeasure.BackColor = Color.Lime;
break;
case MachineState.Running:
- btnStartMeasure.BackColor = lblMachineState.BackColor = Color.Lime;
+ btnStartMeasure.BackColor = lblMachineState.BackColor = Color.Transparent;
btnStartMeasure.ForeColor = lblMachineState.ForeColor = Color.DarkGreen;
lblMachineState.Text = "杩愯";
btnStartMeasure.Text = "鏆傚仠娴嬮噺";
btnStartMeasure.Enabled = true;
- btnStartMeasure.BackColor = Color.Lime;
break;
case MachineState.Unknown:
btnStartMeasure.BackColor = lblMachineState.BackColor = SystemColors.Control;
@@ -338,7 +334,6 @@
lblMachineState.Text = "鏈煡";
btnStartMeasure.Enabled = false;
- btnStartMeasure.BackColor = Color.Red;
break;
}
}));
@@ -424,11 +419,11 @@
}
else if (btnStartMeasure.Text == "缁х画娴嬮噺")
{
- Process_M071.SwitchJobStatus(new OperationConfigBase() { InputPara = new List<int>() { 0 } }, null, null);
+ Process_M071.SwitchJobStatus(new OperationConfigBase() { InputPara = new List<int>() { 10 } }, null, null);
}
else
{
- Process_M071.SwitchJobStatus(new OperationConfigBase() { InputPara = new List<int>() { 1 } }, null, null);
+ Process_M071.SwitchJobStatus(new OperationConfigBase() { InputPara = new List<int>() { 11 } }, null, null);
}
}
diff --git a/src/Bro.UI.Config/MenuForms/FrmOperation.resx b/src/Bro.UI.Config/MenuForms/FrmOperation.resx
index 1420a0e..d3a1d92 100644
--- a/src/Bro.UI.Config/MenuForms/FrmOperation.resx
+++ b/src/Bro.UI.Config/MenuForms/FrmOperation.resx
@@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADm
- CgAAAk1TRnQBSQFMAgEBAgEAAfABAAHwAQABGAEAARgBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+ CgAAAk1TRnQBSQFMAgEBAgEAAfgBAAH4AQABGAEAARgBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABYAMAARgDAAEBAQABCAYAAQkYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -182,7 +182,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD4
- CAAAAk1TRnQBSQFMAwEBAAHwAQAB8AEAARgBAAEYAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
+ CAAAAk1TRnQBSQFMAwEBAAH4AQAB+AEAARgBAAEYAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
AWADAAEYAwABAQEAAQgGAAEJGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA
AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA
AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm
--
Gitblit v1.8.0