From 46431fb658701489f8d5de4475b02df728c51f36 Mon Sep 17 00:00:00 2001
From: chunxiaqiu <1057644574@qq.com>
Date: 星期三, 18 三月 2026 15:48:26 +0800
Subject: [PATCH] 新增:读码器功能模块,集成华睿读码器并初步实现读码功能
---
LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 118 insertions(+), 0 deletions(-)
diff --git a/LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs b/LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs
new file mode 100644
index 0000000..e9875c6
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs
@@ -0,0 +1,118 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+
+namespace LB_VisionProcesses.BarcodeReaders
+{
+ /// <summary>
+ /// 璇荤爜鍣ㄥ搧鐗屾灇涓�
+ /// </summary>
+ public enum BarcodeReaderBrand
+ {
+ Huayray, // 鍗庣澘
+ Unsupported
+ }
+
+ /// <summary>
+ /// 璇荤爜缁撴灉鍙傛暟绫�
+ /// </summary>
+ public class BarcodeEventArgs : EventArgs
+ {
+ /// <summary>
+ /// 璁惧搴忓垪鍙�
+ /// </summary>
+ public string SN { get; set; }
+
+ /// <summary>
+ /// 璇荤爜缁撴灉鍐呭
+ /// </summary>
+ public List<string> Barcodes { get; set; } = new List<string>();
+
+ /// <summary>
+ /// 鍏宠仈鍥惧儚 (鍙��)
+ /// </summary>
+ public Bitmap Image { get; set; }
+
+ /// <summary>
+ /// 鏄惁璇诲彇鎴愬姛
+ /// </summary>
+ public bool IsSuccess => Barcodes.Count > 0;
+
+ public BarcodeEventArgs(string sn, List<string> barcodes, Bitmap image = null)
+ {
+ SN = sn;
+ Barcodes = barcodes;
+ Image = image;
+ }
+ }
+
+ /// <summary>
+ /// 璇荤爜鍣ㄦ娊璞℃帴鍙�
+ /// </summary>
+ public interface IBarcodeReader : IDisposable
+ {
+ /// <summary>
+ /// 璇荤爜缁撴灉鍥炶皟浜嬩欢
+ /// </summary>
+ event EventHandler<BarcodeEventArgs> BarcodeRead;
+
+ /// <summary>
+ /// 鑾峰彇璁惧鍒楄〃鏋氫妇
+ /// </summary>
+ /// <returns>SN鍒楄〃</returns>
+ List<string> GetDeviceList();
+
+ /// <summary>
+ /// 鍒濆鍖栧苟鎵撳紑璇荤爜鍣�
+ /// </summary>
+ /// <param name="sn">搴忓垪鍙�</param>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool Open(string sn);
+
+ /// <summary>
+ /// 鍏抽棴璇荤爜鍣�
+ /// </summary>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool Close();
+
+ /// <summary>
+ /// 寮�濮嬮噰闆�/鐩戝惉
+ /// </summary>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool StartGrabbing();
+
+ /// <summary>
+ /// 鍋滄閲囬泦/鐩戝惉
+ /// </summary>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool StopGrabbing();
+
+ /// <summary>
+ /// 鎵ц杞Е鍙戜竴娆�
+ /// </summary>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool SoftTrigger();
+
+ /// <summary>
+ /// 璁剧疆瑙﹀彂妯″紡
+ /// </summary>
+ /// <param name="isSoftware">true涓鸿蒋瑙﹀彂, false涓虹‖瑙﹀彂鎴栬嚜鍔ㄧ洃鍚�</param>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool SetTriggerMode(bool isSoftware);
+
+ /// <summary>
+ /// 璁惧鏄惁鍦ㄧ嚎
+ /// </summary>
+ bool IsConnected { get; }
+
+ /// <summary>
+ /// 璁惧鏄惁姝e湪閲囬泦
+ /// </summary>
+ bool IsGrabbing { get; }
+
+ /// <summary>
+ /// 璁惧鍝佺墝
+ /// </summary>
+ BarcodeReaderBrand Brand { get; }
+ }
+}
--
Gitblit v1.9.3