101 lines
2.6 KiB
C#
101 lines
2.6 KiB
C#
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>
|
|
Task WriteScanYarnResultAsync(bool result, short? varietyId = null, string? yarnCode = null);
|
|
|
|
/// <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>
|
|
Task WriteTrayCodeAsync(int index, string trayCode);
|
|
|
|
/// <summary>
|
|
/// 写入收到的纱数量
|
|
/// </summary>
|
|
/// <param name="count"></param>
|
|
/// <returns></returns>
|
|
Task WriteReceivedYarnCountAsync(int count);
|
|
|
|
Task WritePackLineOptionAsync(PackLineOption option);
|
|
|
|
Task WritePrintLableOptionsAsync(int side);
|
|
|
|
Task WritePrintLabelResultAsync(int index, bool result);
|
|
|
|
/// <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>
|
|
event Func<string, Task> OnPlcRequestPackLineOption;
|
|
|
|
/// <summary>
|
|
/// 贴标站请求贴标
|
|
/// </summary>
|
|
event Func<int, int, Task> OnRequestPrintLabel;
|
|
|
|
event Func<string, Task> OnRequestGetPrintLableOption;
|
|
} |