using HH.WCS.Mobox3.FJJT.device; using HH.WCS.Mobox3.FJJT.dispatch; using HH.WCS.Mobox3.FJJT.util; using HH.WCS.Mobox3.FJJT.wms; using System; using System.Collections.Generic; using System.Linq; using System.Threading; namespace HH.WCS.Mobox3.FJJT.process { /// /// 设备信号处理,主要是tcp信号,我们做server被动接收信号来处理,根据项目定制的 /// internal class DeviceProcess { internal static void Analysis(string data, string ip) { if (data.Length == 8) { var plc = Settings.carDeviceInfos.Where(a => a.address == ip && a.enable == 1).FirstOrDefault(); if (plc != null) { 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 { Console.WriteLine($"TCP信号处理:未查询到IP为{ip}的数据,请检查deviceInfo配置中心是否存在该IP的数据!"); } } } internal static void Traffic(string forkliftNo, string lockNo, bool v) { } } }