增加入口自动扫码功能
This commit is contained in:
parent
5108f66352
commit
d61ad53d28
@ -127,8 +127,10 @@ public class HyosungPlcService(ILogger<HyosungPlcService> logger) : IHyosungPlcS
|
|||||||
data = 30;
|
data = 30;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
await _writer.WriteShortsAsync(13050, [1, 1, 1, 2]);
|
await _writer.WriteShortsAsync(13050, [1, 1, 1, 2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task WritePrintLabelResultAsync(int index, bool result)
|
public async Task WritePrintLabelResultAsync(int index, bool result)
|
||||||
{
|
{
|
||||||
var address = index == 1 ? 13060 : 13061;
|
var address = index == 1 ? 13060 : 13061;
|
||||||
@ -136,6 +138,12 @@ public class HyosungPlcService(ILogger<HyosungPlcService> logger) : IHyosungPlcS
|
|||||||
await _writer.WriteShortsAsync(address, (short)(result ? 1 : 2));
|
await _writer.WriteShortsAsync(address, (short)(result ? 1 : 2));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task WriteScanEntryResultAsync(int index, bool result)
|
||||||
|
{
|
||||||
|
var address = index == 1 ? 4530 : 4531;
|
||||||
|
await _writer.WriteShortsAsync(address, (short)(result ? 1 : 2));
|
||||||
|
}
|
||||||
|
|
||||||
//static byte SetBit(byte value, int bitPosition)
|
//static byte SetBit(byte value, int bitPosition)
|
||||||
//{
|
//{
|
||||||
// // 创建一个掩码,该掩码只有第 bitPosition 位为 1
|
// // 创建一个掩码,该掩码只有第 bitPosition 位为 1
|
||||||
@ -158,6 +166,7 @@ public class HyosungPlcService(ILogger<HyosungPlcService> logger) : IHyosungPlcS
|
|||||||
|
|
||||||
public event Func<int, int, Task>? OnRequestPrintLabel;
|
public event Func<int, int, Task>? OnRequestPrintLabel;
|
||||||
public event Func<string, Task> OnRequestGetPrintLableOption;
|
public event Func<string, Task> OnRequestGetPrintLableOption;
|
||||||
|
public event Func<int, Task>? OnRequestScanEntry;
|
||||||
|
|
||||||
private async Task ReadLoop(CancellationToken token)
|
private async Task ReadLoop(CancellationToken token)
|
||||||
{
|
{
|
||||||
@ -165,6 +174,7 @@ public class HyosungPlcService(ILogger<HyosungPlcService> logger) : IHyosungPlcS
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
await QueryScanEntry();
|
||||||
await QueryScanProductRequest();
|
await QueryScanProductRequest();
|
||||||
await QueryScanFixtureRequest();
|
await QueryScanFixtureRequest();
|
||||||
if (!isLeaving)
|
if (!isLeaving)
|
||||||
@ -235,7 +245,6 @@ public class HyosungPlcService(ILogger<HyosungPlcService> logger) : IHyosungPlcS
|
|||||||
// var stackStatus = await _reader.ReadShortsAsync(12110, 1);
|
// var stackStatus = await _reader.ReadShortsAsync(12110, 1);
|
||||||
if (leavingProductionLine[0] == 1)
|
if (leavingProductionLine[0] == 1)
|
||||||
{
|
{
|
||||||
|
|
||||||
var trayCode = await _reader.ReadStringAsync(12600);
|
var trayCode = await _reader.ReadStringAsync(12600);
|
||||||
//if (!string.IsNullOrEmpty(trayCode))
|
//if (!string.IsNullOrEmpty(trayCode))
|
||||||
//{
|
//{
|
||||||
@ -319,6 +328,21 @@ public class HyosungPlcService(ILogger<HyosungPlcService> logger) : IHyosungPlcS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async Task QueryScanEntry()
|
||||||
|
{
|
||||||
|
var requestScanEntry = await _reader.ReadShortsAsync(4030, 2);
|
||||||
|
if (requestScanEntry[0] == 1)
|
||||||
|
{
|
||||||
|
await _writer.WriteShortsAsync(4030, 0);
|
||||||
|
OnRequestScanEntry?.Invoke(1);
|
||||||
|
}
|
||||||
|
else if (requestScanEntry[1] == 1)
|
||||||
|
{
|
||||||
|
await _writer.WriteShortsAsync(4030, 0);
|
||||||
|
OnRequestScanEntry?.Invoke(2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private async Task QueryGetPrintLabel()
|
private async Task QueryGetPrintLabel()
|
||||||
{
|
{
|
||||||
var trayCode = await _reader.ReadStringAsync(13000);
|
var trayCode = await _reader.ReadStringAsync(13000);
|
||||||
@ -328,12 +352,12 @@ public class HyosungPlcService(ILogger<HyosungPlcService> logger) : IHyosungPlcS
|
|||||||
OnRequestGetPrintLableOption?.Invoke(trayCode);
|
OnRequestGetPrintLableOption?.Invoke(trayCode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task QueryPrintLabel()
|
private async Task QueryPrintLabel()
|
||||||
{
|
{
|
||||||
var requestPrintLabel = await _reader.ReadShortsAsync(13010, 3);
|
var requestPrintLabel = await _reader.ReadShortsAsync(13010, 3);
|
||||||
if (requestPrintLabel[0] == 1)
|
if (requestPrintLabel[0] == 1)
|
||||||
{
|
{
|
||||||
|
|
||||||
await _writer.WriteShortsAsync(13010, 0);
|
await _writer.WriteShortsAsync(13010, 0);
|
||||||
await _writer.WriteShortsAsync(13012, 0);
|
await _writer.WriteShortsAsync(13012, 0);
|
||||||
OnRequestPrintLabel?.Invoke(1, requestPrintLabel[2]);
|
OnRequestPrintLabel?.Invoke(1, requestPrintLabel[2]);
|
||||||
@ -341,12 +365,9 @@ public class HyosungPlcService(ILogger<HyosungPlcService> logger) : IHyosungPlcS
|
|||||||
|
|
||||||
if (requestPrintLabel[1] == 1)
|
if (requestPrintLabel[1] == 1)
|
||||||
{
|
{
|
||||||
|
|
||||||
await _writer.WriteShortsAsync(13011, 0);
|
await _writer.WriteShortsAsync(13011, 0);
|
||||||
await _writer.WriteShortsAsync(13012, 0);
|
await _writer.WriteShortsAsync(13012, 0);
|
||||||
OnRequestPrintLabel?.Invoke(2, requestPrintLabel[2]);
|
OnRequestPrintLabel?.Invoke(2, requestPrintLabel[2]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -62,6 +62,9 @@ public interface IHyosungPlcService
|
|||||||
|
|
||||||
Task WritePrintLabelResultAsync(int index, bool result);
|
Task WritePrintLabelResultAsync(int index, bool result);
|
||||||
|
|
||||||
|
|
||||||
|
Task WriteScanEntryResultAsync(int index, bool result);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Plc请求扫描产品
|
/// Plc请求扫描产品
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -98,4 +101,6 @@ public interface IHyosungPlcService
|
|||||||
event Func<int, int, Task> OnRequestPrintLabel;
|
event Func<int, int, Task> OnRequestPrintLabel;
|
||||||
|
|
||||||
event Func<string, Task> OnRequestGetPrintLableOption;
|
event Func<string, Task> OnRequestGetPrintLableOption;
|
||||||
|
|
||||||
|
event Func<int, Task> OnRequestScanEntry;
|
||||||
}
|
}
|
@ -5,10 +5,12 @@ using Newtonsoft.Json.Linq;
|
|||||||
|
|
||||||
namespace Seyounth.Hyosung.Core.Scanner;
|
namespace Seyounth.Hyosung.Core.Scanner;
|
||||||
|
|
||||||
public class HikScanner(string host, int port)
|
public class HikScanner(string host, int port,int timeout=1000)
|
||||||
{
|
{
|
||||||
public string Host => host;
|
public string Host => host;
|
||||||
public int Port => port;
|
public int Port => port;
|
||||||
|
|
||||||
|
public int Timeout => timeout;
|
||||||
private Socket _socket = new(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
|
private Socket _socket = new(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
|
||||||
|
|
||||||
public async Task ConnectAsync(CancellationToken token)
|
public async Task ConnectAsync(CancellationToken token)
|
||||||
@ -62,7 +64,7 @@ public class HikScanner(string host, int port)
|
|||||||
byte[] cmd = "start"u8.ToArray();
|
byte[] cmd = "start"u8.ToArray();
|
||||||
await _socket.SendAsync(cmd);
|
await _socket.SendAsync(cmd);
|
||||||
byte[] buffer = new byte[1024];
|
byte[] buffer = new byte[1024];
|
||||||
int len = await _socket.ReceiveAsync(buffer).WaitAsync(TimeSpan.FromMilliseconds(1000));
|
int len = await _socket.ReceiveAsync(buffer).WaitAsync(TimeSpan.FromMilliseconds(Timeout));
|
||||||
barcode= Encoding.ASCII.GetString(buffer, 0, len);
|
barcode= Encoding.ASCII.GetString(buffer, 0, len);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
@ -12,7 +12,8 @@ public class HyosungScannerService : IHyosungScannerService
|
|||||||
|
|
||||||
private readonly ConcurrentDictionary<int, HikScanner> _fixtureScanners = new();
|
private readonly ConcurrentDictionary<int, HikScanner> _fixtureScanners = new();
|
||||||
|
|
||||||
|
private readonly List<HikScanner> _carScanners = new();
|
||||||
|
private readonly List<HikScanner> _varietyScanners = new();
|
||||||
private List<string> lastCodes = new List<string>();
|
private List<string> lastCodes = new List<string>();
|
||||||
|
|
||||||
|
|
||||||
@ -27,6 +28,10 @@ public class HyosungScannerService : IHyosungScannerService
|
|||||||
_fixtureScanners.TryAdd(2, new HikScanner("192.168.3.32", 2001));
|
_fixtureScanners.TryAdd(2, new HikScanner("192.168.3.32", 2001));
|
||||||
_fixtureScanners.TryAdd(3, new HikScanner("192.168.3.33", 2001));
|
_fixtureScanners.TryAdd(3, new HikScanner("192.168.3.33", 2001));
|
||||||
_fixtureScanners.TryAdd(4, new HikScanner("192.168.3.30", 2001));
|
_fixtureScanners.TryAdd(4, new HikScanner("192.168.3.30", 2001));
|
||||||
|
_carScanners.Add(new HikScanner("192.168.3.46", 2001,5000));
|
||||||
|
_carScanners.Add(new HikScanner("1920.168.3.48", 2001,5000));
|
||||||
|
_varietyScanners.Add(new HikScanner("192.168.3.47", 2001,10000));
|
||||||
|
_varietyScanners.Add(new HikScanner("192.168.3.49", 2001,10000));
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
lastCodes.Add("");
|
lastCodes.Add("");
|
||||||
lastCodes.Add("");
|
lastCodes.Add("");
|
||||||
@ -36,7 +41,6 @@ public class HyosungScannerService : IHyosungScannerService
|
|||||||
|
|
||||||
public async Task StartAsync(CancellationToken token)
|
public async Task StartAsync(CancellationToken token)
|
||||||
{
|
{
|
||||||
|
|
||||||
// 创建一个超时任务
|
// 创建一个超时任务
|
||||||
var timeoutTask = Task.Delay(2000, token);
|
var timeoutTask = Task.Delay(2000, token);
|
||||||
|
|
||||||
@ -54,8 +58,23 @@ public class HyosungScannerService : IHyosungScannerService
|
|||||||
return Task.WhenAny(connectTask, timeoutTask);
|
return Task.WhenAny(connectTask, timeoutTask);
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
|
var varietyScannerTasks = _varietyScanners.Select(scanner =>
|
||||||
|
{
|
||||||
|
var connectTask = scanner.ConnectAsync(token);
|
||||||
|
return Task.WhenAny(connectTask, timeoutTask);
|
||||||
|
}).ToList();
|
||||||
|
|
||||||
|
// 为每个车号扫描器创建一个带有超时的连接任务
|
||||||
|
var carScannerTasks = _carScanners.Select(scanner =>
|
||||||
|
{
|
||||||
|
var connectTask = scanner.ConnectAsync(token);
|
||||||
|
return Task.WhenAny(connectTask, timeoutTask);
|
||||||
|
}).ToList();
|
||||||
|
|
||||||
// 合并所有任务
|
// 合并所有任务
|
||||||
var allTasks = new List<Task>();
|
var allTasks = new List<Task>();
|
||||||
|
allTasks.AddRange(carScannerTasks);
|
||||||
|
allTasks.AddRange(varietyScannerTasks);
|
||||||
allTasks.AddRange(yarnScannerTasks);
|
allTasks.AddRange(yarnScannerTasks);
|
||||||
allTasks.AddRange(fixtureScannerTasks);
|
allTasks.AddRange(fixtureScannerTasks);
|
||||||
|
|
||||||
@ -82,6 +101,26 @@ public class HyosungScannerService : IHyosungScannerService
|
|||||||
Console.WriteLine($"夹具扫描器连接超时");
|
Console.WriteLine($"夹具扫描器连接超时");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach (var task in varietyScannerTasks)
|
||||||
|
{
|
||||||
|
var innerTask = task as Task<Task>;
|
||||||
|
if (innerTask.Result == timeoutTask)
|
||||||
|
{
|
||||||
|
// 处理纱线扫描器连接超时的情况
|
||||||
|
Console.WriteLine($"产品扫描器连接超时");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var task in carScannerTasks)
|
||||||
|
{
|
||||||
|
var innerTask = task as Task<Task>;
|
||||||
|
if (innerTask.Result == timeoutTask)
|
||||||
|
{
|
||||||
|
// 处理车号扫描器连接超时的情况
|
||||||
|
Console.WriteLine($"车号扫描器连接超时");
|
||||||
|
}
|
||||||
|
}
|
||||||
// foreach (var scanner in _yarnScanners)
|
// foreach (var scanner in _yarnScanners)
|
||||||
// {
|
// {
|
||||||
// await scanner.ConnectAsync(token);
|
// await scanner.ConnectAsync(token);
|
||||||
@ -119,11 +158,9 @@ public class HyosungScannerService : IHyosungScannerService
|
|||||||
{
|
{
|
||||||
_yarnScanners.Select(async scanner => await scanner.Stop());
|
_yarnScanners.Select(async scanner => await scanner.Stop());
|
||||||
return Yarn.Create(result, varietyId);
|
return Yarn.Create(result, varietyId);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//_yarnScanners.Select( scanner => scanner.Stop());
|
//_yarnScanners.Select( scanner => scanner.Stop());
|
||||||
_logger.LogWarning($"all scanner no scan yarn");
|
_logger.LogWarning($"all scanner no scan yarn");
|
||||||
_yarnScanners.Select(async scanner => await scanner.Restart());
|
_yarnScanners.Select(async scanner => await scanner.Restart());
|
||||||
@ -153,4 +190,14 @@ public class HyosungScannerService : IHyosungScannerService
|
|||||||
//lastCodes[fixtureId - 1] = code;
|
//lastCodes[fixtureId - 1] = code;
|
||||||
//return code;
|
//return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<string> ScanYarnCarAsync(int entryId)
|
||||||
|
{
|
||||||
|
return await _carScanners[entryId - 1].ScanAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<string> ScanVarietyAsync(int entryId)
|
||||||
|
{
|
||||||
|
return await _varietyScanners[entryId - 1].ScanAsync();
|
||||||
|
}
|
||||||
}
|
}
|
@ -21,4 +21,8 @@ public interface IHyosungScannerService
|
|||||||
/// <param name="fixtureId"></param>
|
/// <param name="fixtureId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<string> ScanFixtureAsync(int fixtureId);
|
Task<string> ScanFixtureAsync(int fixtureId);
|
||||||
|
|
||||||
|
Task<string> ScanYarnCarAsync(int entryId);
|
||||||
|
|
||||||
|
Task<string> ScanVarietyAsync(int entryId);
|
||||||
}
|
}
|
@ -12,7 +12,6 @@ using Seyounth.Hyosung.Data.Services;
|
|||||||
using Seyounth.Hyosung.Data.Services.Hyosung;
|
using Seyounth.Hyosung.Data.Services.Hyosung;
|
||||||
using Seyounth.Hyosung.Data.Services.Hyosung.Entities;
|
using Seyounth.Hyosung.Data.Services.Hyosung.Entities;
|
||||||
using Seyounth.Hyosung.Runtime.Models;
|
using Seyounth.Hyosung.Runtime.Models;
|
||||||
using static System.Runtime.CompilerServices.RuntimeHelpers;
|
|
||||||
|
|
||||||
namespace Seyounth.Hyosung.Runtime;
|
namespace Seyounth.Hyosung.Runtime;
|
||||||
|
|
||||||
@ -50,9 +49,47 @@ public class HyosungRuntime(
|
|||||||
hyosungPlcService.OnPlcRequestPackLineOption += OnPlcRequestPackLineOption;
|
hyosungPlcService.OnPlcRequestPackLineOption += OnPlcRequestPackLineOption;
|
||||||
hyosungPlcService.OnRequestPrintLabel += OnPlcRequestPrintLabel;
|
hyosungPlcService.OnRequestPrintLabel += OnPlcRequestPrintLabel;
|
||||||
hyosungPlcService.OnRequestGetPrintLableOption += OnRequestGetPrintLabel;
|
hyosungPlcService.OnRequestGetPrintLableOption += OnRequestGetPrintLabel;
|
||||||
|
hyosungPlcService.OnRequestScanEntry += OnPlcRequestScanEntry;
|
||||||
await hyosungPlcService.StartAsync(token);
|
await hyosungPlcService.StartAsync(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async Task OnPlcRequestScanEntry(int arg)
|
||||||
|
{
|
||||||
|
logger.LogInformation($"plc request scan entry:{arg}");
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var carCode = await hyosungScannerService.ScanYarnCarAsync(arg);
|
||||||
|
var varietyId = await hyosungScannerService.ScanVarietyAsync(arg);
|
||||||
|
if (string.IsNullOrEmpty(carCode) || string.IsNullOrEmpty(varietyId))
|
||||||
|
{
|
||||||
|
await hyosungPlcService.WriteScanEntryResultAsync(arg, false);
|
||||||
|
logger.LogInformation($"scan entry fail");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var carType = carCode[..1];
|
||||||
|
int carNumber = carType switch
|
||||||
|
{
|
||||||
|
"A" => 1,
|
||||||
|
"B" => 2,
|
||||||
|
"C" => 3,
|
||||||
|
"D" => 4,
|
||||||
|
_ => 0
|
||||||
|
};
|
||||||
|
var variety = await varietyService.GetById(int.Parse(varietyId));
|
||||||
|
variety.YarnCarType = carNumber;
|
||||||
|
variety.YarnCarSide = 1;
|
||||||
|
await SendVarietyToPlcAsync(variety);
|
||||||
|
await hyosungPlcService.WriteScanEntryResultAsync(arg, true);
|
||||||
|
logger.LogInformation($"scan entry success: {carCode}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
await hyosungPlcService.WriteScanEntryResultAsync(arg, false);
|
||||||
|
logger.LogError(e, $"scan entry fail");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public async Task StopAsync(CancellationToken token)
|
public async Task StopAsync(CancellationToken token)
|
||||||
@ -261,7 +298,6 @@ public class HyosungRuntime(
|
|||||||
logger.LogInformation($"plc request pack line option");
|
logger.LogInformation($"plc request pack line option");
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
var tray = await trayService.GetByCode(arg);
|
var tray = await trayService.GetByCode(arg);
|
||||||
var variety = await varietyService.GetById(tray.VarietyId);
|
var variety = await varietyService.GetById(tray.VarietyId);
|
||||||
if (_packingQueue is null)
|
if (_packingQueue is null)
|
||||||
@ -283,19 +319,24 @@ public class HyosungRuntime(
|
|||||||
HasBox = variety.HasBox,
|
HasBox = variety.HasBox,
|
||||||
TrayCode = arg
|
TrayCode = arg
|
||||||
};
|
};
|
||||||
if (variety.NeedTopBoard == NeedType.Need || (isEven && variety.NeedTopBoard == NeedType.EvenNeed) || (!isEven && variety.NeedTopBoard == NeedType.OddNeed))
|
if (variety.NeedTopBoard == NeedType.Need || (isEven && variety.NeedTopBoard == NeedType.EvenNeed) ||
|
||||||
|
(!isEven && variety.NeedTopBoard == NeedType.OddNeed))
|
||||||
PackLineOption.IsTop = true;
|
PackLineOption.IsTop = true;
|
||||||
else
|
else
|
||||||
PackLineOption.IsTop = false;
|
PackLineOption.IsTop = false;
|
||||||
if (variety.NeedPackStrap == NeedType.Need || (isEven && variety.NeedPackStrap == NeedType.EvenNeed) || (!isEven && variety.NeedPackStrap == NeedType.OddNeed))
|
if (variety.NeedPackStrap == NeedType.Need || (isEven && variety.NeedPackStrap == NeedType.EvenNeed) ||
|
||||||
|
(!isEven && variety.NeedPackStrap == NeedType.OddNeed))
|
||||||
PackLineOption.IsPack = true;
|
PackLineOption.IsPack = true;
|
||||||
else
|
else
|
||||||
PackLineOption.IsPack = false;
|
PackLineOption.IsPack = false;
|
||||||
if (variety.NeedFilmWrapping == NeedType.Need || (isEven && variety.NeedFilmWrapping == NeedType.EvenNeed) || (!isEven && variety.NeedFilmWrapping == NeedType.OddNeed))
|
if (variety.NeedFilmWrapping == NeedType.Need ||
|
||||||
|
(isEven && variety.NeedFilmWrapping == NeedType.EvenNeed) ||
|
||||||
|
(!isEven && variety.NeedFilmWrapping == NeedType.OddNeed))
|
||||||
PackLineOption.IsFilm = true;
|
PackLineOption.IsFilm = true;
|
||||||
else
|
else
|
||||||
PackLineOption.IsFilm = false;
|
PackLineOption.IsFilm = false;
|
||||||
if (variety.NeedFilmCoating == NeedType.Need || (isEven && variety.NeedFilmCoating == NeedType.EvenNeed) || (!isEven && variety.NeedFilmCoating == NeedType.OddNeed))
|
if (variety.NeedFilmCoating == NeedType.Need || (isEven && variety.NeedFilmCoating == NeedType.EvenNeed) ||
|
||||||
|
(!isEven && variety.NeedFilmCoating == NeedType.OddNeed))
|
||||||
PackLineOption.IsLam = true;
|
PackLineOption.IsLam = true;
|
||||||
else
|
else
|
||||||
PackLineOption.IsLam = false;
|
PackLineOption.IsLam = false;
|
||||||
@ -326,6 +367,7 @@ public class HyosungRuntime(
|
|||||||
controlNo += 1;
|
controlNo += 1;
|
||||||
tray = await trayService.PrintTrayAsync(arg, controlNo.Value, mod);
|
tray = await trayService.PrintTrayAsync(arg, controlNo.Value, mod);
|
||||||
}
|
}
|
||||||
|
|
||||||
await dictService.SetValue("System", "CurrentPackingTrayCode", arg);
|
await dictService.SetValue("System", "CurrentPackingTrayCode", arg);
|
||||||
await hyosungPlcService.WritePrintLableOptionsAsync(variety.MasterLabelCount);
|
await hyosungPlcService.WritePrintLableOptionsAsync(variety.MasterLabelCount);
|
||||||
}
|
}
|
||||||
@ -347,7 +389,6 @@ public class HyosungRuntime(
|
|||||||
await trayService.UpdateHeightAsync(tray.TrayCode, height);
|
await trayService.UpdateHeightAsync(tray.TrayCode, height);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
if (arg1 == 1)
|
if (arg1 == 1)
|
||||||
{
|
{
|
||||||
await printer.PrintAsync(1, tray.TrayCode);
|
await printer.PrintAsync(1, tray.TrayCode);
|
||||||
@ -363,7 +404,6 @@ public class HyosungRuntime(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
logger.LogInformation($"plc request print label success");
|
logger.LogInformation($"plc request print label success");
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user