using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.IO.Ports; using 智能仓储WCS管理系统.Views.Controls; namespace 智能仓储WCS管理系统 { public static class ScannerManager { public static List Scanners = new List(); public static void InitScanners() { //获取当前配置文件的串口号 var ScannerComList = LocalFile.Config.ScannerComList; //通过配置的串口号生成对象 ScannerComList.ForEach(COM => { try { var _serialPort = new SerialPort(); // 初始化串口配置 _serialPort = new SerialPort { PortName = COM, BaudRate = 9600, Parity = Parity.None, DataBits = 8, StopBits = StopBits.One, Handshake = Handshake.None, Encoding = Encoding.UTF8 // 根据设备要求选择编码 }; _serialPort.Open(); var Scanner = new Scanner() { SerialPort = _serialPort, //ScannerDisplayControl = new ScannerDisplayControl(client.MainSerialPort.PortName), COM = COM, TempCode = string.Empty, }; Scanners.Add(Scanner); } catch (Exception ex) { Logs.Write($"初始化扫码枪异常!{ex.Message}", LogsType.Scanner); } }); } } public class Scanner { public SerialPort SerialPort { get; set; } public ScannerDisplayControl ScannerDisplayControl { get; set; } /// /// 是否在入库模式中 /// public bool IsInstoreMode { get; set; } public DateTime IsInstoreModeTime { get; set; } = DateTime.MinValue; /// /// 串口号 /// public string COM { get; set; } /// /// 暂存的码 /// public string TempCode { get; set; } = string.Empty; public string ShelfCode { get; set; } = string.Empty; public string ModulesStr { get; set; } = string.Empty; public string MatSn { get; set; } = string.Empty; public string InstoreUser { get; set; } = string.Empty; } }