using AUCMA.STORE.Entity.DAO; using AUCMA.STORE.Entity.DTO; using AUCMA.STORE.Entity.Enums; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace AUCMA.STORE.Business.Interface { public delegate void RecvIdentifyPilerDataSignal(object[] pLCAddressTypeDTO); public delegate void RecvIdentifyRGVDataSignal(object[] pLCAddressTypeDTO); public delegate void RecvIdentifyBarCodeSignal(string BarCode); public delegate void RecvIdentifyPilerAlarmSignal(object[] pLCAlarmInfoDTOs,string PLCName); public delegate void SignalReadRefresh(int state,int type); public delegate void TaskInfoInvoke(int TaskNo, TaskType taskType, LocationArea locationArea, string locationCode); public interface IPlcBusinessService { event TaskInfoInvoke TaskInfoRefreshEvent; event SignalReadRefresh SignalReadRefreshEvent; /// /// 上传箱体条码 /// event RecvIdentifyBarCodeSignal RecvIdentifyBarCodeEvent; /// /// 上传堆垛机PLC信号 /// event RecvIdentifyPilerDataSignal RecvIdentifyPilerDataEvent; /// /// 上传RGV信号 /// event RecvIdentifyRGVDataSignal RecvIdentifyRGVDataEvent; /// /// 上传PLC报警信息 /// event RecvIdentifyPilerAlarmSignal RecvIdentifyPilerAlarmEvent; /// /// 堆垛机设备急停 /// /// /// bool WritePilerStop(int num, string stopflag); /// /// 控制线体急停 /// /// 1停止;0启动 /// bool WriteRGVStop(string value); /// /// 程序启动时加载设备信息 /// void LoadDeviceInfo(); /// /// 读取输送线入库信号 /// bool ReadPilerInStoreSignal(int num); /// /// 写入堆垛机入库信号 /// bool WritePilerInStoreSinal(int num, PlcDirectiveDTO taskDTO); /// /// 读取入库完成信号 /// bool ReadInStoreCompleteSignal(int num); /// /// 读取RGV入库信号 /// /// 设备编号 /// 位置 /// bool ReadRGVInStoreSignal(int num, LocationArea locationArea); #region 出库业务接口 /// /// 判断堆垛机当前状态 /// /// List GetPilerWorkState(); bool WritePilerOutStoreSinal(int num, PlcDirectiveDTO taskDTO); void doWhileReadPlcPilerSignal(LocationArea locationArea); #endregion } }