namespace HH.WCS.Mobox3.AnGang.ServiceCore {
|
/// <summary>
|
/// 定时轮询任务
|
/// </summary>
|
public class Monitor
|
{
|
|
|
|
|
///// <summary>
|
///// 空托堆叠入库
|
///// </summary>
|
//internal static void CheckEmptyCnt()
|
//{
|
// var db = DbHelper.GetDbClient();
|
|
// try
|
// {
|
// var startLoc = db.Queryable<TN_Location>().
|
// 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<TN_Location>().
|
// 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<TN_Loc_Container>().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}");
|
// }
|
|
//}
|
}
|
|
/// <summary>
|
/// 与S7设备交互时的model
|
/// </summary>
|
public class CheckDeciveModel
|
{
|
/// <summary>
|
/// 心跳
|
/// </summary>
|
public int Heart { set; get; }
|
|
/// <summary>
|
/// RFID,是容器是托盘
|
/// </summary>
|
public string RfidData { set; get; }
|
|
/// <summary>
|
/// 允许上下料 0=无任务,11=上料,21=下料,(请求AGV工作)
|
/// </summary>
|
public int AgvAllow { set; get; }
|
|
/// <summary>
|
/// 任务属性 1 OK,2称重失败,3条码失败,4 RFID读取失败
|
/// </summary>
|
public int TaskProperties { set; get; }
|
|
/// <summary>
|
/// 准备就绪 0=未准备好,1=准备好
|
/// </summary>
|
public int Ready { set; get; }
|
|
/// <summary>
|
/// 载货状态 0=输送线无产品,1=输送线有产品
|
/// </summary>
|
public int CargoStatus { set; get; }
|
|
/// <summary>
|
/// 工位状态 0待机中,1入库方向运行中,2出库方向运行中,3设备故障
|
/// </summary>
|
public int StationStatus { set; get; }
|
|
/// <summary>
|
/// 去向请求 0待机中,1到位请求
|
/// </summary>
|
public int DestinationRequests { set; get; }
|
|
/// <summary>
|
/// 扫码信息 扫码枪反馈信息
|
/// </summary>
|
public string BarcodeCode { set; get; }
|
|
/// <summary>
|
/// 重量
|
/// </summary>
|
public float Weight { set; get; }
|
|
/// <summary>
|
/// 产线地址
|
/// </summary>
|
public string LineIP { set; get; }
|
}
|
}
|