From 848ae3a7841a16322c23f9c0d10b2fab83a97c2c Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期三, 15 四月 2026 14:25:36 +0800
Subject: [PATCH] 修改LB&HR相机外触发获取图像原。
---
LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs | 65 ++++++++++++++++++++++++++------
1 files changed, 53 insertions(+), 12 deletions(-)
diff --git a/LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs b/LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs
index 0ed792b..a459879 100644
--- a/LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs
+++ b/LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs
@@ -324,16 +324,16 @@
{
if (!_isConnected) return false;
- if (triggerEnum == TriggerSource.Software)
- {
- _sensorConfig.LineScanTriggerSource = EnumLineScanTriggerSource.鍥哄畾棰戠巼;
- _sensorConfig.DataAcquisitionTriggerSource = EnumDataAcquisitionTriggerSource.杞Е鍙�;
- }
- else
- {
- _sensorConfig.LineScanTriggerSource = EnumLineScanTriggerSource.缂栫爜鍣�;
- _sensorConfig.DataAcquisitionTriggerSource = EnumDataAcquisitionTriggerSource.澶栭儴瑙﹀彂;
- }
+ //if (triggerEnum == TriggerSource.Software)
+ //{
+ // _sensorConfig.LineScanTriggerSource = EnumLineScanTriggerSource.鍥哄畾棰戠巼;
+ // _sensorConfig.DataAcquisitionTriggerSource = EnumDataAcquisitionTriggerSource.杞Е鍙�;
+ //}
+ //else
+ //{
+ // _sensorConfig.LineScanTriggerSource = EnumLineScanTriggerSource.缂栫爜鍣�;
+ // _sensorConfig.DataAcquisitionTriggerSource = EnumDataAcquisitionTriggerSource.澶栭儴瑙﹀彂;
+ //}
UpdateSensorConfig(_sensorConfig);
return true;
}
@@ -355,8 +355,40 @@
public override bool GetLineStatus(IOLines line, out LineStatus lineStatus) { lineStatus = LineStatus.Low; return true; }
public override bool AutoBalanceWhite() => true;
public override void SetCamConfig(CameraConfig config) { }
- public override void GetCamConfig(out CameraConfig config) { config = new CameraConfig(null); }
- public override bool GetImage(out Bitmap bitmap, int outtime = 3000) { bitmap = null; return false; }
+ public override void GetCamConfig(out CameraConfig config)
+ {
+ config = new CameraConfig(null);
+ //UpdateSensorConfig(config);
+ }
+ public override bool GetImage(out Bitmap bitmap, int outtime = 14500)
+ {
+ bitmap = null;
+ try
+ {
+ // 璁剧疆瓒呮椂鏃堕棿
+ DateTime lastTime = DateTime.Now.AddMilliseconds(outtime);
+ // 鍒ゆ柇鏄惁瓒呮椂
+ while (lastTime > DateTime.Now)// 璁剧疆瓒呮椂鏃堕棿涓� 3 绉�
+ {
+ if (CallBackImg != null)
+ {
+ lock (CallBackImg)
+ {
+ // 淇濆瓨鏃� Bitmap 骞堕噴鏀�
+ bitmap = CallBackImg; // 鍒涘缓鍓湰
+ }
+
+ //// 閲婃斁鏃ц祫婧�
+ //CallBackImg.Dispose();
+ //CallBackImg = null;
+ return true;
+ }
+ }
+
+ return false;
+ }
+ catch { return bitmap == null ? false : true; }
+ }
public override bool GetImageWithSoftTrigger(out Bitmap bitmap, int outtime = 3000)
{
// 绠�鍗曞疄鐜帮細杞Е鍙戠瓑寰�
@@ -593,6 +625,10 @@
}
}
}
+ else if (nOption == 2)
+ {
+
+ }
}
private void CreateAndFireBitmap()
@@ -739,6 +775,11 @@
TriggerRunMessageReceived?.Invoke(SN, source.ToString());
AsyncLogHelper.Info($"LBCamera[{SN}]: 纭Е鍙戜簨浠� - {source}");
}
+ else
+ {
+ TriggerRunMessageReceived?.Invoke(SN, source.ToString());
+ AsyncLogHelper.Info($"LBCamera[{SN}]: 纭Е鍙戜簨浠� - {source}");
+ }
}
}
catch (Exception ex)
--
Gitblit v1.9.3