Files
wcs/货架标准上位机/ScannerManager.cs
hehaibing-1996 c88a8122cc 修改串口
2025-03-21 18:55:17 +08:00

88 lines
2.7 KiB
C#

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<Scanner> Scanners = new List<Scanner>();
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; }
/// <summary>
/// 是否在入库模式中
/// </summary>
public bool IsInstoreMode { get; set; }
public DateTime IsInstoreModeTime { get; set; } = DateTime.MinValue;
/// <summary>
/// 串口号
/// </summary>
public string COM { get; set; }
/// <summary>
/// 暂存的码
/// </summary>
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;
}
}