杨前锦
2025-06-11 e0d89637030791ce1e7dd46ca5fdec9979977960
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
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
{
    /// <summary>
    /// 设备信号处理,主要是tcp信号,我们做server被动接收信号来处理,根据项目定制的
    /// </summary>
    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) {
        }
    }
}