增加工位号兼容功能 不依赖固定的 OP10 OP20做硬编码判定 通过App.config作为工位依据

This commit is contained in:
XingCheng3
2026-05-13 01:01:09 +08:00
parent 0ca8274260
commit 69b69af17f
6 changed files with 244 additions and 191 deletions

View File

@@ -10,7 +10,7 @@ namespace MesWork
public static class BarcodeManager
{
/// <summary>
/// 扫码枪实例字典key = opNameOP10/OP20
/// 扫码枪实例字典key = opName
/// </summary>
public static Dictionary<string, BarcodeScanner> Scanners { get; } = new Dictionary<string, BarcodeScanner>(StringComparer.OrdinalIgnoreCase);
@@ -33,27 +33,24 @@ namespace MesWork
int baudRate = MesWorkForm.BarcodeBaudRate;
// OP10
string op10Com = MesWorkForm.OP10BarCOM?.Trim();
if (!string.IsNullOrEmpty(op10Com))
InitScanner(MesWorkForm.Station1OpName, MesWorkForm.Station1BarCOM, baudRate);
InitScanner(MesWorkForm.Station2OpName, MesWorkForm.Station2BarCOM, baudRate);
}
private static void InitScanner(string opName, string comPort, int baudRate)
{
opName = opName?.Trim();
comPort = comPort?.Trim();
if (string.IsNullOrEmpty(opName) || string.IsNullOrEmpty(comPort))
{
var scanner = new BarcodeScanner("OP10", baudRate);
scanner.BarcodeReceived += HandleBarcodeReceived;
scanner.Log += HandleLog;
Scanners["OP10"] = scanner;
scanner.Connect(op10Com);
return;
}
// OP20
string op20Com = MesWorkForm.OP20BarCOM?.Trim();
if (!string.IsNullOrEmpty(op20Com))
{
var scanner = new BarcodeScanner("OP20", baudRate);
scanner.BarcodeReceived += HandleBarcodeReceived;
scanner.Log += HandleLog;
Scanners["OP20"] = scanner;
scanner.Connect(op20Com);
}
var scanner = new BarcodeScanner(opName, baudRate);
scanner.BarcodeReceived += HandleBarcodeReceived;
scanner.Log += HandleLog;
Scanners[opName] = scanner;
scanner.Connect(comPort);
}
/// <summary>