namespace HH.WCS.Mobox3.AnGang.ServiceCore { /// /// 定时轮询任务 /// public class Monitor { ///// ///// 空托堆叠入库 ///// //internal static void CheckEmptyCnt() //{ // var db = DbHelper.GetDbClient(); // try // { // var startLoc = db.Queryable(). // Where(a => a.S_AREA_CODE == Settings.Areas[3] && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y" && a.N_CURRENT_NUM == a.N_CAPACITY). // OrderBy(a => a.T_MODIFY, OrderByType.Desc). // First(); // if (startLoc == null) // { // LogHelper.Info($"空托堆叠区{Settings.Areas[3]}暂无堆满的空托"); // return; // } // var endLoc = db.Queryable(). // Where(a => a.S_AREA_CODE == Settings.Areas[4] && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y" && a.N_CURRENT_NUM == 0). // OrderBy(a => a.N_CURRENT_NUM, OrderByType.Asc). // First(); // if (endLoc == null) // { // LogHelper.Info($"未找到合适的终点货位,需满足{Settings.Areas[4]}里有未锁定且当前数量等于0的货位"); // return; // } // var cntrList = db.Queryable().Where(a => a.S_LOC_CODE == startLoc.S_CODE).OrderBy(a => a.T_CREATE, OrderByType.Asc).ToList(); // if (cntrList.Count < 1) // { // LogHelper.Info($"起点{startLoc.S_CODE}未找到货位容器关系信息"); // return; // } // string cntrString = ""; // for (int i = 0; i < cntrList.Count; i++) // { // if (i == cntrList.Count - 1)//最后一个字符串连接不加逗号 // { // cntrString += cntrList[i].S_CNTR_CODE; // } // else // { // cntrString += cntrList[i].S_CNTR_CODE + ","; // } // } // if (WCSHelper.CreateTask(startLoc.S_CODE, endLoc.S_CODE, "空托堆叠入库", 3, cntrString))//创建搬送任务,起点终点容器 // { // LocationHelper.LockLoc(startLoc.S_CODE, 2);//起点出库锁, // LocationHelper.LockLoc(endLoc.S_CODE, 1);//终点入库锁 // LogHelper.Info($"生成空托堆叠入库任务成功,容器:{cntrString},起点:{startLoc.S_CODE}"); // } // else // { // LogHelper.Info($"生成空托堆叠入库任务失败,容器:{cntrString},起点:{startLoc.S_CODE}"); // } // } // catch (Exception ex) // { // LogHelper.Info($"空托堆叠入库异常:{ex.Message}"); // } //} } /// /// 与S7设备交互时的model /// public class CheckDeciveModel { /// /// 心跳 /// public int Heart { set; get; } /// /// RFID,是容器是托盘 /// public string RfidData { set; get; } /// /// 允许上下料 0=无任务,11=上料,21=下料,(请求AGV工作) /// public int AgvAllow { set; get; } /// /// 任务属性 1 OK,2称重失败,3条码失败,4 RFID读取失败 /// public int TaskProperties { set; get; } /// /// 准备就绪 0=未准备好,1=准备好 /// public int Ready { set; get; } /// /// 载货状态 0=输送线无产品,1=输送线有产品 /// public int CargoStatus { set; get; } /// /// 工位状态 0待机中,1入库方向运行中,2出库方向运行中,3设备故障 /// public int StationStatus { set; get; } /// /// 去向请求 0待机中,1到位请求 /// public int DestinationRequests { set; get; } /// /// 扫码信息 扫码枪反馈信息 /// public string BarcodeCode { set; get; } /// /// 重量 /// public float Weight { set; get; } /// /// 产线地址 /// public string LineIP { set; get; } } }