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(); /// /// 写入品种到PLC /// /// /// Task WriteVarietyAsync(Variety variety); /// /// 写入扫码结果 /// /// 结果 /// 品类ID /// 纱码 /// Task WriteScanYarnResultAsync(bool result, short? varietyId = null, string? yarnCode = null); /// /// 写入治具扫码结果 /// /// /// /// /// Task WriteScanFixtureResultAsync(int fixtureId, bool result, short? fixtureCode = null); /// /// 下线完成 /// /// Task LeaveCompletedAsync(); /// /// 写入托盘号 /// /// /// /// Task WriteTrayCodeAsync(int index, string trayCode); /// /// 写入收到的纱数量 /// /// /// Task WriteReceivedYarnCountAsync(int count); Task WritePackLineOptionAsync(PackLineOption option); Task WritePrintLableOptionsAsync(int side); Task WritePrintLabelResultAsync(int index, bool result); /// /// Plc请求扫描产品 /// event Func OnPlcRequestScanProduct; /// /// Plc请求扫描治具 /// event Func OnPlcRequestScanFixture; /// /// Plc请求下线 /// event Func OnPlcRequestLeavingProductionLine; /// /// Plc需要新的托盘号 /// event Func OnPlcNeedNewTrayCode; /// /// Plc放入一次完成 /// event Func OnPlcPutCompleted; /// /// Plc请求打包线选项 /// event Func OnPlcRequestPackLineOption; /// /// 贴标站请求贴标 /// event Func OnRequestPrintLabel; event Func OnRequestGetPrintLableOption; }