106 lines
2.7 KiB
C#
Raw Permalink Normal View History

2025-03-16 03:17:36 +08:00
using Seyounth.Hyosung.Data.Models;
using Seyounth.Hyosung.Data.Models.Plc;
namespace Seyounth.Hyosung.Core.Plc;
public interface IHyosungPlcService
{
Task StartAsync(CancellationToken token);
Task StopAsync();
/// <summary>
/// 写入品种到PLC
/// </summary>
/// <param name="variety"></param>
/// <returns></returns>
Task WriteVarietyAsync(Variety variety);
/// <summary>
/// 写入扫码结果
/// </summary>
/// <param name="result">结果</param>
/// <param name="varietyId">品类ID</param>
/// <param name="yarnCode">纱码</param>
/// <returns></returns>
2025-03-20 19:32:49 +08:00
Task WriteScanYarnResultAsync(bool result, short? varietyId = null, string? yarnCode = null);
2025-03-16 03:17:36 +08:00
/// <summary>
/// 写入治具扫码结果
/// </summary>
/// <param name="fixtureId"></param>
/// <param name="result"></param>
/// <param name="fixtureCode"></param>
/// <returns></returns>
Task WriteScanFixtureResultAsync(int fixtureId, bool result, short? fixtureCode = null);
/// <summary>
/// 下线完成
/// </summary>
/// <returns></returns>
Task LeaveCompletedAsync();
/// <summary>
/// 写入托盘号
/// </summary>
/// <param name="index"></param>
/// <param name="trayCode"></param>
/// <returns></returns>
2025-03-20 19:32:49 +08:00
Task WriteTrayCodeAsync(int index, string trayCode);
2025-03-16 03:17:36 +08:00
/// <summary>
/// 写入收到的纱数量
/// </summary>
/// <param name="count"></param>
/// <returns></returns>
Task WriteReceivedYarnCountAsync(int count);
Task WritePackLineOptionAsync(PackLineOption option);
Task WritePrintLableOptionsAsync(bool isBlack,int slaveCount);
2025-03-23 13:09:36 +08:00
Task WritePrintLabelResultAsync(int index, bool result);
2025-03-23 15:26:01 +08:00
Task WriteScanEntryResultAsync(int index, bool result);
2025-03-16 03:17:36 +08:00
/// <summary>
/// Plc请求扫描产品
/// </summary>
event Func<int, Task> OnPlcRequestScanProduct;
/// <summary>
/// Plc请求扫描治具
/// </summary>
event Func<int, Task> OnPlcRequestScanFixture;
/// <summary>
/// Plc请求下线
/// </summary>
event Func<PlcStackInfo, Task> OnPlcRequestLeavingProductionLine;
/// <summary>
/// Plc需要新的托盘号
/// </summary>
event Func<int, int, Task> OnPlcNeedNewTrayCode;
/// <summary>
/// Plc放入一次完成
/// </summary>
event Func<PlcStackingInfo, Task> OnPlcPutCompleted;
/// <summary>
/// Plc请求打包线选项
/// </summary>
2025-03-20 19:32:49 +08:00
event Func<string, Task> OnPlcRequestPackLineOption;
2025-03-16 03:17:36 +08:00
/// <summary>
/// 贴标站请求贴标
/// </summary>
2025-03-21 10:19:10 +08:00
event Func<int, int, Task> OnRequestPrintLabel;
event Func<string, Task> OnRequestGetPrintLableOption;
2025-03-23 15:26:01 +08:00
event Func<int, Task> OnRequestScanEntry;
2025-03-16 03:17:36 +08:00
}