增加打印机断线重连功能,修改隔板标签打印功能
This commit is contained in:
parent
b7a60fde31
commit
e06cf5cba4
@ -106,29 +106,49 @@ public class HyosungPlcService(ILogger<HyosungPlcService> logger) : IHyosungPlcS
|
|||||||
await _writer.WriteShortsAsync(12120, ls.ToArray());
|
await _writer.WriteShortsAsync(12120, ls.ToArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task WritePrintLableOptionsAsync(int side)
|
public async Task WritePrintLableOptionsAsync(int side, int slave)
|
||||||
{
|
{
|
||||||
short data = 0;
|
short masterCount = 0;
|
||||||
switch (side)
|
switch (side)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
data = 1;
|
masterCount = 1;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
data = 2;
|
masterCount = 2;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
data = 6;
|
masterCount = 6;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
data = 14;
|
masterCount = 14;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
data = 30;
|
masterCount = 30;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
await _writer.WriteShortsAsync(13050, [1, 1, 1, 2]);
|
short slaveCount = 0;
|
||||||
|
switch (slave)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
masterCount = 1;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
masterCount = 2;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
masterCount = 6;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
masterCount = 14;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
masterCount = 30;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
await _writer.WriteShortsAsync(13050, [1, 1, slaveCount, masterCount]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task WritePrintLabelResultAsync(int index, bool result)
|
public async Task WritePrintLabelResultAsync(int index, bool result)
|
||||||
|
@ -58,7 +58,7 @@ public interface IHyosungPlcService
|
|||||||
|
|
||||||
Task WritePackLineOptionAsync(PackLineOption option);
|
Task WritePackLineOptionAsync(PackLineOption option);
|
||||||
|
|
||||||
Task WritePrintLableOptionsAsync(int side);
|
Task WritePrintLableOptionsAsync(int side,int slaveCount);
|
||||||
|
|
||||||
Task WritePrintLabelResultAsync(int index, bool result);
|
Task WritePrintLabelResultAsync(int index, bool result);
|
||||||
|
|
||||||
|
@ -7,18 +7,32 @@ public class AveryPrinter(string host, int port)
|
|||||||
{
|
{
|
||||||
public string Host => host;
|
public string Host => host;
|
||||||
public int Port => port;
|
public int Port => port;
|
||||||
private readonly 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)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await _socket.ConnectAsync(Host, Convert.ToInt32(port), token);
|
await _socket.ConnectAsync(Host, Convert.ToInt32(port), token);
|
||||||
}catch(Exception e)
|
}
|
||||||
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"Host[{Host}:{port}] error:{e.Message}");
|
Console.WriteLine($"Host[{Host}:{port}] error:{e.Message}");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task<bool> CheckConnectAsync()
|
||||||
|
{
|
||||||
|
byte[] arrMsg = [0xff];
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await _socket.SendAsync(arrMsg); //发送字节数组
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task CloseAsync(CancellationToken token)
|
public async Task CloseAsync(CancellationToken token)
|
||||||
@ -29,6 +43,12 @@ public class AveryPrinter(string host, int port)
|
|||||||
|
|
||||||
public async Task SendContentAsync(string context)
|
public async Task SendContentAsync(string context)
|
||||||
{
|
{
|
||||||
|
if (!await CheckConnectAsync())
|
||||||
|
{
|
||||||
|
_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
|
||||||
|
await ConnectAsync(CancellationToken.None);
|
||||||
|
}
|
||||||
|
|
||||||
await _socket.SendAsync(Encoding.UTF8.GetBytes(context));
|
await _socket.SendAsync(Encoding.UTF8.GetBytes(context));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,11 +57,23 @@ public class AveryPrinter(string host, int port)
|
|||||||
|
|
||||||
public async Task CleanContextAsync()
|
public async Task CleanContextAsync()
|
||||||
{
|
{
|
||||||
|
if (!await CheckConnectAsync())
|
||||||
|
{
|
||||||
|
_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
|
||||||
|
await ConnectAsync(CancellationToken.None);
|
||||||
|
}
|
||||||
|
|
||||||
await _socket.SendAsync(Encoding.UTF8.GetBytes(CleanCmd));
|
await _socket.SendAsync(Encoding.UTF8.GetBytes(CleanCmd));
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task PrintAsync()
|
public async Task PrintAsync()
|
||||||
{
|
{
|
||||||
|
if (!await CheckConnectAsync())
|
||||||
|
{
|
||||||
|
_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
|
||||||
|
await ConnectAsync(CancellationToken.None);
|
||||||
|
}
|
||||||
|
|
||||||
await _socket.SendAsync(Encoding.UTF8.GetBytes(PrintCmd));
|
await _socket.SendAsync(Encoding.UTF8.GetBytes(PrintCmd));
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -383,7 +383,7 @@ public class HyosungRuntime(
|
|||||||
// }
|
// }
|
||||||
tray = await trayService.PrintTrayAsync(arg, mod,variety);
|
tray = await trayService.PrintTrayAsync(arg, mod,variety);
|
||||||
await dictService.SetValue("System", "CurrentPackingTrayCode", arg);
|
await dictService.SetValue("System", "CurrentPackingTrayCode", arg);
|
||||||
await hyosungPlcService.WritePrintLableOptionsAsync(variety.MasterLabelCount);
|
await hyosungPlcService.WritePrintLableOptionsAsync(variety.MasterLabelCount,variety.SubLabelCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user