kazelee
2025-05-14 cd92df8b7b383a6a3218f50b3b62264db8332899
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
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; }
    }
}