杨前锦
2025-07-01 a93b0e99036c24b9bd58c79bf5e7364b1ba28bae
HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/process/DeviceProcess.cs
@@ -15,22 +15,30 @@
    internal class DeviceProcess
    {
        internal static void Analysis(string data, string ip) {
            if (data.Length >= 6) {
                //去掉消息头3F 00
                data = data.Substring(4);
                //Console.WriteLine($"{ip}-{data}");
                var plc = Settings.deviceInfos.Where(a => a.address == ip && a.enable == 1).FirstOrDefault();
            if (data.Length == 8) {
                var plc = Settings.carDeviceInfos.Where(a => a.address == ip && a.enable == 1).FirstOrDefault();
                if (plc != null) {
                    if (plc.deviceType == 1) {
                    WCSTask cst = WCSHelper.GetTaskByEq(plc.deviceNo);
                    if (cst != null)
                    {
                        string rfid = Convert.ToString(data);
                        LogHelper.Info($"扫描结束,RFID:{rfid}", "AGV");
                        if (rfid == cst.S_CNTR_CODE)
                        {
                            LogHelper.Info($"扫描RFID:{rfid}与任务RFID一致", "AGV");
                            // 修改1012的参数6为1
                            /* NDCApi.ChangeOrderParam(cst.S_CODE, 6, "1");*/
                        }
                        else
                        {
                            WMSHelper.addAlarmRecord("流程异常", "低", $"扫描RFID:{rfid}与任务RFID:{cst.S_CNTR_CODE}不一致", "AGV");
                            // 修改参数6为3
                            /* NDCApi.ChangeOrderParam(cst.S_CODE, 6, "3");*/
                            // 修改容器异常状态
                            ContainerHelper.UpdateCntrState(cst.S_CNTR_CODE, 1);
                            WMSHelper.addRfidAnomalyRecord(cst.S_CNTR_CODE, 2, cst.S_START_LOC, null);
                        }
                    }
                    else if (plc.deviceType == 2) {
                        //出库缓存位的光电信息
                        //如果有缓存位是空的状态,我们先判断有没有任务终点分配到这里,如果没有,就找一条出库任务,终点是虚拟点的任务,分配到这个空位
                        //修改任务终点
                    }
                }
                else {
                    Console.WriteLine($"TCP信号处理:未查询到IP为{ip}的数据,请检查deviceInfo配置中心是否存在该IP的数据!");