1
czw
2025-07-08 03746e288fc02c6d2780aeac4cab42299e6b27c4
1
9个文件已修改
729 ■■■■■ 已修改文件
2025年6月12日/AuxAllWCS/Build/Project/Static/config.json 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Build/Project/代码/VS自定义类/AutoThread.cs 297 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Build/Project/代码/界面事件.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Build/Project/代码/自定义类.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Devices/PlcConfig 82 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Devices/设备通信.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Net/Conn.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/RunTime/Code/设备通信.cs 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025年6月12日/AuxAllWCS/Variable/变量数据库.json 242 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Build/Project/Static/config.json
@@ -1,15 +1,15 @@
{
  "HostToAgvServerUrl": "vvvvvvvvvvvv",
  "HKbaseUrl": "http://10.221.55.249:8181/",
  "MESbaseUrl":  "https://ktapiwh.mom.aux-home.com/",
  "MESbaseUrl": "https://ktapiwh.mom.aux-home.com/",
  "WMSbaseUrl": "https://ktapiwh.mom.aux-home.com/",
  "RunProc":["1"],
  "RunProc": [ "1" ],
  "deviceInfo": [
    {
      "address": "0",
      "deviceName": "维希尔抓臂1",
      "FuLeLineNo":"",
      "deviceNo": ["10.221.55.147","10.221.55.146"],
      "FuLeLineNo": "",
      "deviceNo": [ "10.221.55.147", "10.221.55.146" ],
      "location": [ "VXR1-01", "VXR1-02" ],
      "deviceType": 1,
      "enable": 1
@@ -17,50 +17,82 @@
    {
      "address": "0",
      "deviceName": "维希尔抓臂2",
      "deviceNo": ["10.221.55.149","10.221.55.148"],
      "location": [ "VXR2-01","VXR2-02" ],
      "deviceNo": [ "10.221.55.149", "10.221.55.148" ],
      "location": [ "VXR2-01", "VXR2-02" ],
      "deviceType": 1,
      "enable": 1
    },
    {
      "address": "0",
      "deviceName": "Js捷顺1",
      "deviceNo": ["JSKS1-101","JSKS1-201"],
      "location": [ "JSKS1-01","JSKS1-02" ],
      "deviceNo": [ "JSKS1-101", "JSKS1-201" ],
      "location": [ "JSKS1-01", "JSKS1-02" ],
      "deviceType": 2,
      "enable": 1
    },
    },
    {
      "address": "0",
      "deviceName": "Js捷顺2",
      "deviceNo": ["JSKS2-101","JSKS2-201"],
      "location": [ "JSKS2-01","JSKS2-02" ],
      "deviceNo": [ "JSKS2-101", "JSKS2-201" ],
      "location": [ "JSKS2-01", "JSKS2-02" ],
      "deviceType": 2,
      "enable": 1
    },
    },
    {
      "address": "0",
      "deviceName": "p发那科1下线",
      "deviceNo": [],
      "location": [ "1005","1003" ],
      "location": [ "1005", "1003" ],
      "deviceType": 3,
      "enable": 1
    },
    },
    {
      "address": "0",
      "deviceName": "p发那科2下线",
      "deviceNo": [],
      "location": [ "1013","1011" ],
      "location": [ "1013", "1011" ],
      "deviceType": 3,
      "enable": 1
    },
    },
    {
      "address": "0",
      "deviceName": "SSX&AGV",
      "deviceNo": [""],
      "location": [ "1019","1022" ,"1025","1030","2001","2030"],
      "deviceName": "SSXaAGV äº¤äº’",
      "deviceNo": [ "" ],
      "location": [ "1019", "1022", "1025", "1030", "2001", "2030", "3001", "3005", "3006", "3010" ],
      "deviceType": 4,
      "enable": 1
    },
    {
      "address": "0",
      "deviceName": "D定子1号机械手",
      "deviceNo": [],
      "location": [ "DDX-01", "DDX-02" ],
      "deviceType": 5,
      "enable": 1
    },
    {
      "address": "0",
      "deviceName": "D定子2号机械手",
      "deviceNo": [],
      "location": [ "DDX-03", "DDX-04" ],
      "deviceType": 5,
      "enable": 1
    },
    {
      "address": "0",
      "deviceName": "Z转子1号机械手",
      "deviceNo": [],
      "location": [ "", "" ],
      "deviceType": 6,
      "enable": 1
    },
    {
      "address": "0",
      "deviceName": "Z转子2号机械手",
      "deviceNo": [],
      "location": [ "1005", "1003" ],
      "deviceType": 6,
      "enable": 1
    }
  ]
}
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Build/Project/´úÂë/VS×Ô¶¨ÒåÀà/AutoThread.cs
@@ -78,8 +78,8 @@
            }
            // æ‰§è¡Œå§”托
            if (methodName != "TaskEverythingRun")
                return null;
            //if (methodName != "TaskEverythingRun")
            //    return null;
            return methodDelegate.DynamicInvoke(args);
        }
@@ -126,6 +126,41 @@
            }
        }
        public void ThreaTotal(Tag tag)
        {
            List<Task> tasks = new List<Task>();
            tasks.Add(GetTask(ThreadMXC3, tag, 3000));
            tasks.Add(GetTask(ThreadMXC4, tag, 3000));
            tasks.Add(GetTask(ResetGats, tag, 3000));
            Task.WaitAll(tasks.ToArray());
        }
        private Task GetTask(Action<Tag> action, Tag tag, int i = 2500)
        {
            var task = Task.Run(() =>
            {
                while (true)
                {
                    try
                    {
                        action(tag);
                    }
                    catch (Exception ex)
                    {
                        LogHelper.Error(ex.Message, ex);
                    }
                    Thread.Sleep(i);
                }
            });
            return task;
        }
        public string WriteLine(string value = "")
        {
@@ -167,6 +202,7 @@
                {
                    //tag.Js1.D1212_LAST = 0; 
                    RedisHelper.Add($"Js捷顺1.D1202_LAST", "0", out string msg);
                    //Conn.默认Redis.SetValue(VERX.deviceName + ".D1224", "0", VERX.deviceName + "Queue");
                }
                if (tag.Js1.D1213_LAST == 0 && TcpServer.GetBitdata(tag.Js1.D1212, 3) == 1)
@@ -188,6 +224,7 @@
                {
                    //tag.Js1.D1213_LAST = 0;
                    RedisHelper.Add($"Js捷顺1.D1203_LAST", "0", out string msg);
                    //Conn.默认Redis.SetValue(VERX.deviceName + ".D1225", "0", VERX.deviceName + "Queue");
                }
            }
        }
@@ -650,7 +687,7 @@
                {
                    LogHelper.Info($"RGV æœ‰125命令未执行。 ");
                    LogHelper.Info($"RGV125命令未执行 ä»»åŠ¡æ•°æ® workmode:{tag.RGV.workMod}\n taskmod{tag.RGV.taskmod} \n t1No:{tag.RGV.taskno1}\n t1do:{tag.RGV.task1do} \n t2No:{tag.RGV.taskno2}\n t2do:{tag.RGV.task2do}\n taskend:{tag.RGV.taskend} ");
                    if (tag.RGV.workMod == 0 && tag.RGV.taskmod == 0 && tag.RGV.taskno1 == tag.RGV.ReadTask1No && tag.RGV.taskno2 == tag.RGV.ReadTask2No)
                    {
                        LogHelper.Info($"RGV125命令未执行 tag.RGV.workMod == 0 && tag.RGV.taskmod == 0 && tag.RGV.taskno1 == tag.RGV.ReadTask1No && tag.RGV.taskno2 == tag.RGV.ReadTask2No  è‡ªåŠ¨æ¸…é™¤125");
@@ -1069,6 +1106,12 @@
                            Conn.默认Redis.SetValue(dev.deviceName + "." + (V ? "D1220" : "D1221"), "0", dev.deviceName + "Queue");
                            Conn.默认Redis.SetValue(dev.deviceName + "." + (V ? "D1222" : "D1223"), "1", dev.deviceName + "Queue");
                        }
                        else if (dev.deviceType == 5)
                        {
                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤‡æ˜¯{dev.deviceName} å¼€å¯å…‰æ …处理 =================> ");
                            Conn.默认Redis.SetValue(dev.deviceName + "." + (V ? "D2211" : "D2216"), "1", dev.deviceName + "Queue");
                            Conn.默认Redis.SetValue(dev.deviceName + "." + (V ? "D2212" : "D2217"), "0", dev.deviceName + "Queue");
                        }
                        LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤‡æ˜¯{dev.deviceName} å¼€å¯å…‰æ …处理完成 =================> ");
                        item.N_CREATEMETHOD = 1;
@@ -1078,49 +1121,70 @@
                    //车要进入交互。
                    else
                    {
                        if (dev.deviceType == 1)
                        if (dev.deviceType == 4)
                        {
                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤‡æ˜¯{dev.deviceName} å…³é—­å…‰æ …处理 =================> ");
                            var tf = Conn.默认Redis.GetValue(dev.deviceName + "." + (V ? "R50" : "R52"));//读关闭状态
                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤‡æ˜¯{dev.deviceName} å…‰æ …关闭信号{tf}");
                            if (tf?.ToLower() == "true")
                            {
                                LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "右")} å…‰æ …{(goin ? "关闭" : "开启")} ç”³è¯·ã€‚ å·²ç»å…³é—­ï¼");
                                continuuuuu = true;
                            }
                            else
                            {
                                LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "右")} å…‰æ …{(goin ? "关闭" : "开启")} ç”³è¯·ã€‚" + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "R01" : "R03"), "true", dev.deviceName + "Queue"));
                                Conn.默认Redis.SetValue(dev.deviceName + "." + (V ? "R01" : "R03"), "true", dev.deviceName + "Queue", false);
                            }
                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤‡æ˜¯{dev.deviceName} å…³é—­å…‰æ …处理完成 =================> ");
                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤‡æ˜¯{dev.deviceName} SSX AGV äº¤äº’。。。");
                            //tag.SA1019.Sagverr
                        }
                        else if (dev.deviceType == 2)
                        else
                        {
                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤‡æ˜¯{dev.deviceName} å…³é—­å…‰æ …处理 =================> ");
                            var tf = Conn.默认Redis.GetValue(dev.deviceName + ".D1202");
                            int numm = int.Parse(string.IsNullOrEmpty(tf) ? "0" : tf);
                            int close = TcpServer.GetBitdata(numm, (V ? 0 : 1));
                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤‡æ˜¯{dev.deviceName} å…‰æ …关闭信号{close}");
                            if (close == 1)
                            if (dev.deviceType == 1)
                            {
                                LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "右")} å…‰æ …{(goin ? "关闭" : "开启")} ç”³è¯·ã€‚ å·²ç»å…³é—­ï¼");
                                continuuuuu = true;
                                var tf = Conn.默认Redis.GetValue(dev.deviceName + "." + (V ? "R50" : "R52"));//读关闭状态
                                LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤‡æ˜¯{dev.deviceName} å…‰æ …关闭信号{tf}");
                                if (tf?.ToLower() == "true")
                                {
                                    LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "右")} å…‰æ …{(goin ? "关闭" : "开启")} ç”³è¯·ã€‚ å·²ç»å…³é—­ï¼");
                                    continuuuuu = true;
                                }
                                else
                                {
                                    LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "右")} å…‰æ …{(goin ? "关闭" : "开启")} ç”³è¯·ã€‚" + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "R01" : "R03"), "true", dev.deviceName + "Queue"));
                                    Conn.默认Redis.SetValue(dev.deviceName + "." + (V ? "R01" : "R03"), "true", dev.deviceName + "Queue", false);
                                }
                            }
                            else
                            else if (dev.deviceType == 2)
                            {
                                LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "右")} å…‰æ …{(goin ? "关闭" : "开启")} ç”³è¯·ã€‚" + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "D1220" : "D1221"), "1", dev.deviceName + "Queue"));
                                Conn.默认Redis.SetValue(dev.deviceName + "." + (V ? "D1222" : "D1223"), "0", dev.deviceName + "Queue");
                                Conn.默认Redis.SetValue(dev.deviceName + "." + (V ? "D1220" : "D1221"), "1", dev.deviceName + "Queue");
                                var tf = Conn.默认Redis.GetValue(dev.deviceName + ".D1202");
                                int numm = int.Parse(string.IsNullOrEmpty(tf) ? "0" : tf);
                                int close = TcpServer.GetBitdata(numm, (V ? 0 : 1));
                                LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤‡æ˜¯{dev.deviceName} å…‰æ …关闭信号{close}");
                                if (close == 1)
                                {
                                    LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "右")} å…‰æ …{(goin ? "关闭" : "开启")} ç”³è¯·ã€‚ å·²ç»å…³é—­ï¼");
                                    continuuuuu = true;
                                }
                                else
                                {
                                    LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "右")} å…‰æ …{(goin ? "关闭" : "开启")} ç”³è¯·ã€‚" + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "D1220" : "D1221"), "1", dev.deviceName + "Queue"));
                                    Conn.默认Redis.SetValue(dev.deviceName + "." + (V ? "D1222" : "D1223"), "0", dev.deviceName + "Queue");
                                    Conn.默认Redis.SetValue(dev.deviceName + "." + (V ? "D1220" : "D1221"), "1", dev.deviceName + "Queue");
                                string d12201 = RedisHelper.Get<string>(dev.deviceName + "." + (V ? "D1220" : "D1221"), out string msg);
                                LogHelper.Info($"ThreadGrats å†™{(dev.deviceName + "." + (V ? "D1220" : "D1221"))}为 1 ï¼Œ åŽè¯»{d12201}");
                                    string d12201 = RedisHelper.Get<string>(dev.deviceName + "." + (V ? "D1220" : "D1221"), out string msg);
                                    LogHelper.Info($"ThreadGrats å†™{(dev.deviceName + "." + (V ? "D1220" : "D1221"))}为 1 ï¼Œ åŽè¯»{d12201}");
                                }
                            }
                            else if (dev.deviceType == 3)
                            {
                                var close = (System.UInt16)System.Convert.ChangeType(Conn.默认Redis.GetValue(dev.deviceName + "." + (V ? "D2220" : "D2225")), typeof(System.UInt16));
                                if (close == 1)
                                {
                                    LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "右")} å…‰æ …{(goin ? "关闭" : "开启")} ç”³è¯·ã€‚ å·²ç»å…³é—­ï¼");
                                    continuuuuu = true;
                                }
                                else
                                {
                                    Conn.默认Redis.SetValue(dev.deviceName + "." + (V ? "D2212" : "D2217"), "1", dev.deviceName + "Queue");
                                    Conn.默认Redis.SetValue(dev.deviceName + "." + (V ? "D2211" : "D2216"), "0", dev.deviceName + "Queue");
                                }
                            }
                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤‡æ˜¯{dev.deviceName} å…³é—­å…‰æ …处理完成 =================> ");
                        }
                    }
                }
                if (continuuuuu)
                {
                    LogHelper.Info($"{item.S_TASK_NO}{item.S_ACTION_CODE} è½¦è¾†å‘送继续任务!");
@@ -1135,6 +1199,9 @@
                }
            }
            System.Threading.Thread.Sleep(3000);
        }
        public void ResetGats(Tag tag)
        {
            LogHelper.Info($"ThreadGrats deviceType2光栅写入位重置 =================> ");
            //重置信号
            foreach (var dev in Settings.deviceInfos.FindAll(x => x.deviceType == 2))
@@ -1164,6 +1231,20 @@
                }
            }
            LogHelper.Info($"ThreadGrats deviceType2光栅写入位重置完成。 =================> ");
            LogHelper.Info($"ThreadGrats deviceType5光栅写入位重置 =================> ");
            //重置信号
            //foreach (var dev in Settings.deviceInfos.FindAll(x => x.deviceType == 5))
            {
                if (tag.DZ1.D2211 == 1 && tag.DZ1.D2220 == 1)
                    tag.DZ1.D2211 = 0;
                if (tag.DZ1.D2216 == 1 && tag.DZ1.D2225 == 1)
                    tag.DZ1.D2216 = 0;
                if (tag.DZ2.D2211 == 1 && tag.DZ2.D2220 == 1)
                    tag.DZ2.D2211 = 0;
                if (tag.DZ2.D2216 == 1 && tag.DZ2.D2225 == 1)
                    tag.DZ2.D2216 = 0;
            }
            LogHelper.Info($"ThreadGrats deviceType5光栅写入位重置完成。 =================> ");
        }
        /// <summary>
        /// 1020  1023空框下线
@@ -1994,12 +2075,12 @@
                                {
                                    if (device2.deviceName.Contains("Js捷顺"))
                                    {
                                        Task.Run(() =>
                                        {
                                            var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0;
                                            string V = inde ? "D1224" : "D1225";
                                            Conn.默认Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue");
                                        });
                                        //Task.Run(() =>
                                        //{
                                        var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0;
                                        string V = inde ? "D1224" : "D1225";
                                        Conn.默认Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue");
                                        //});
                                        var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/202", JsonConvert.SerializeObject(new
                                        {
@@ -2028,6 +2109,31 @@
                                        }));
                                        LogHelper.Info($"{ssloc}申请mes任务结果{str}");
                                    }
                                }
                                switch (device2.deviceType)
                                {
                                    case 4:
                                        {
                                            if (wcsTask.S_END_LOC == "2001")
                                            {
                                            }
                                        }
                                        break;
                                    case 5:
                                        {
                                            var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0;
                                            string V = inde ? "D2210" : "D2215";
                                            Conn.默认Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue");
                                        }
                                        break;
                                    case 6:
                                        {
                                            //var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0;
                                            //string V = inde ? "D2210" : "D2215";
                                            //Conn.默认Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue");
                                        }
                                        break;
                                }
                            }
@@ -2151,18 +2257,129 @@
            }
        }
        /// <summary>
        /// å®šå­1号线。
        /// 1.增加下线逻辑。   2. æœ‰å–筐信号就写,没信号嫑写
        /// </summary>
        /// <param name="tag"></param>
        public void ThreadMXC3(Tag tag)
        {
            var VERX = Settings.deviceInfos.Find(x => x.deviceType == 5 && x.deviceName.Contains("1号"));
            if (VERX == null)
            {
                LogHelper.Info("定子1号线 deviceType 5 æ²¡æœ‰é…ç½®ã€‚");
                return;
            }
            LogHelper.Info($" {VERX.deviceName} D2221>{tag.DZ1.D2221} D2221_LAST>{tag.DZ1.D2221_LAST}  D2226>{tag.DZ1.D2226}  D2226_LAST>{tag.DZ1.D2226_LAST}");
            if (tag.DZ1.D2221 == 1 && tag.DZ1.D2221_LAST == 0)
            {
                var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new
                {
                    requestType = 7,
                    startBit = VERX.location[0],
                    unLockStartBitOutbin = true
                }));
                LogHelper.Info($"{VERX.location[0]}申请mes任务结果{str}");
                var strr = JsonConvert.DeserializeObject<Messss>(str);
                if (strr != null && strr.success && strr.data?.state == 0)
                    RedisHelper.Add($"D定子1号机械手.D2221_LAST", "1", out string msg);
            }
            else if (tag.DZ1.D2221 == 0 && tag.DZ1.D2221_LAST == 1)
            {
                LogHelper.Info($"重置 D定子1号机械手.D2221_LAST > 0");
                RedisHelper.Add($"D定子1号机械手.D2221_LAST", "0", out string msg);
                string V = 0 == 0 ? "D2210" : "D2215";
                Conn.默认Redis.SetValue(VERX.deviceName + "." + V, "0", VERX.deviceName + "Queue");
            }
            if (tag.DZ1.D2226 == 1 && tag.DZ1.D2226_LAST == 0)
            {
                var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new
                {
                    requestType = 7,
                    startBit = VERX.location[1],
                    unLockStartBitOutbin = true
                }));
                LogHelper.Info($"{VERX.location[0]}申请mes任务结果{str}");
                var strr = JsonConvert.DeserializeObject<Messss>(str);
                if (strr != null && strr.success && strr.data?.state == 0)
                    RedisHelper.Add($"D定子1号机械手.D2226_LAST", "1", out string msg);
            }
            else if (tag.DZ1.D2226 == 0 && tag.DZ1.D2226_LAST == 1)
            {
                LogHelper.Info($"重置 D定子1号机械手.D2226_LAST > 0");
                RedisHelper.Add($"D定子1号机械手.D2226_LAST", "0", out string msg);
                string V = 1 == 0 ? "D2210" : "D2215";
                Conn.默认Redis.SetValue(VERX.deviceName + "." + V, "0", VERX.deviceName + "Queue");
            }
        }
        /// <summary>
        /// å®šå­2号线。
        /// </summary>
        /// <param name="tag"></param>
        public void ThreadMXC4(Tag tag)
        {
            var VERX = Settings.deviceInfos.Find(x => x.deviceType == 5 && x.deviceName.Contains("2号"));
            if (VERX == null)
            {
                LogHelper.Info("定子2号线 deviceType 5 æ²¡æœ‰é…ç½®ã€‚");
                return;
            }
            LogHelper.Info($" {VERX.deviceName} D2221>{tag.DZ1.D2221} D2221_LAST>{tag.DZ1.D2221_LAST}  D2226>{tag.DZ1.D2226}  D2226_LAST>{tag.DZ1.D2226_LAST}");
            if (tag.DZ2.D2221 == 1 && tag.DZ2.D2221_LAST == 0)
            {
                var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new
                {
                    requestType = 7,
                    startBit = VERX.location[0],
                    unLockStartBitOutbin = true
                }));
                LogHelper.Info($"{VERX.location[0]}申请mes任务结果{str}");
                var strr = JsonConvert.DeserializeObject<Messss>(str);
                if (strr != null && strr.success && strr.data?.state == 0)
                    RedisHelper.Add($"D定子2号机械手.D2221_LAST", "1", out string msg);
            }
            else if (tag.DZ2.D2221 == 0 && tag.DZ2.D2221_LAST == 1)
            {
                LogHelper.Info($"重置 D定子2号机械手.D2221_LAST > 0");
                RedisHelper.Add($"D定子2号机械手.D2221_LAST", "0", out string msg);
                string V = 0 == 0 ? "D2210" : "D2215";
                Conn.默认Redis.SetValue(VERX.deviceName + "." + V, "0", VERX.deviceName + "Queue");
            }
            if (tag.DZ2.D2226 == 1 && tag.DZ2.D2226_LAST == 0)
            {
                var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new
                {
                    requestType = 7,
                    startBit = VERX.location[1],
                    unLockStartBitOutbin = true
                }));
                LogHelper.Info($"{VERX.location[0]}申请mes任务结果{str}");
                var strr = JsonConvert.DeserializeObject<Messss>(str);
                if (strr != null && strr.success && strr.data?.state == 0)
                    RedisHelper.Add($"D定子2号机械手.D2226_LAST", "1", out string msg);
            }
            else if (tag.DZ2.D2226 == 0 && tag.DZ2.D2226_LAST == 1)
            {
                LogHelper.Info($"重置 D定子2号机械手.D2226_LAST > 0");
                RedisHelper.Add($"D定子2号机械手.D2226_LAST", "0", out string msg);
                string V = 1 == 0 ? "D2210" : "D2215";
                Conn.默认Redis.SetValue(VERX.deviceName + "." + V, "0", VERX.deviceName + "Queue");
            }
        }
    }
    public class HttpServer
    {
        System.Net.HttpListener HttpSvcHost = null;
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Build/Project/´úÂë/½çÃæÊ¼þ.cs
@@ -55,6 +55,7 @@
                //HttpSvcHost.Prefixes.Add("http://10.221.55.117:8808/");
                //HttpSvcHost.Start();
                //HttpSvcHost.BeginGetContext(HttpSvcListenerCallback, null);
                LogHelper.Info("<<<<<<<<<<<Runnnnnnnnnnnnninggggg>>>>>>>>>>");
            }
            catch (Exception ex)
            {
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Build/Project/´úÂë/×Ô¶¨ÒåÀà.cs
@@ -430,7 +430,10 @@
        /// <summary>
        ///  1 ç»´å¸Œå°”机械臂
        ///  2 æ·çž¬æœºæ¢°è‡‚臂
        ///  3 æ·çž¬è¾“送线
        ///  3 é«˜å†²æœºæ¢°æ‰‹
        ///  4 SSXaAGV  äº¤äº’的输送线 çº¤ä½“编号
        ///  5 å®šå­ä¸Šæ–™æœºæ¢°æ‰‹
        ///  6 è½¬å­ä¸Šæ–™æœºæ¢°æ‰‹
        /// </summary>
        public int deviceType { get; set; }
        public int enable { get; set; }
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Devices/PlcConfig
@@ -6603,7 +6603,7 @@
          "Id": "20250615152454900",
          "Order": 1,
          "Name": "D2210",
          "FullName": "p发那科3上线.D2210",
          "FullName": "D定子1号机械手.D2210",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6620,7 +6620,7 @@
          "Id": "20250615152454916",
          "Order": 2,
          "Name": "D2211",
          "FullName": "p发那科3上线.D2211",
          "FullName": "D定子1号机械手.D2211",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6637,7 +6637,7 @@
          "Id": "20250615152454932",
          "Order": 3,
          "Name": "D2212",
          "FullName": "p发那科3上线.D2212",
          "FullName": "D定子1号机械手.D2212",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6654,7 +6654,7 @@
          "Id": "20250615152454979",
          "Order": 4,
          "Name": "D2215",
          "FullName": "p发那科3上线.D2215",
          "FullName": "D定子1号机械手.D2215",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6671,7 +6671,7 @@
          "Id": "20250615152454994",
          "Order": 5,
          "Name": "D2216",
          "FullName": "p发那科3上线.D2216",
          "FullName": "D定子1号机械手.D2216",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6688,7 +6688,7 @@
          "Id": "20250615152455010",
          "Order": 6,
          "Name": "D2217",
          "FullName": "p发那科3上线.D2217",
          "FullName": "D定子1号机械手.D2217",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6705,7 +6705,7 @@
          "Id": "20250615152455025",
          "Order": 7,
          "Name": "D2218",
          "FullName": "p发那科3上线.D2218",
          "FullName": "D定子1号机械手.D2218",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6722,7 +6722,7 @@
          "Id": "20250615152455041",
          "Order": 8,
          "Name": "D2219",
          "FullName": "p发那科3上线.D2219",
          "FullName": "D定子1号机械手.D2219",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6739,7 +6739,7 @@
          "Id": "20250615152455057",
          "Order": 9,
          "Name": "D2220",
          "FullName": "p发那科3上线.D2220",
          "FullName": "D定子1号机械手.D2220",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6756,7 +6756,7 @@
          "Id": "20250615152455073",
          "Order": 10,
          "Name": "D2221",
          "FullName": "p发那科3上线.D2221",
          "FullName": "D定子1号机械手.D2221",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6773,7 +6773,7 @@
          "Id": "20250615152455088",
          "Order": 11,
          "Name": "D2222",
          "FullName": "p发那科3上线.D2222",
          "FullName": "D定子1号机械手.D2222",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6790,7 +6790,7 @@
          "Id": "20250615152455104",
          "Order": 12,
          "Name": "D2223",
          "FullName": "p发那科3上线.D2223",
          "FullName": "D定子1号机械手.D2223",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6807,7 +6807,7 @@
          "Id": "20250615152455119",
          "Order": 13,
          "Name": "D2224",
          "FullName": "p发那科3上线.D2224",
          "FullName": "D定子1号机械手.D2224",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6824,7 +6824,7 @@
          "Id": "20250615152455135",
          "Order": 14,
          "Name": "D2225",
          "FullName": "p发那科3上线.D2225",
          "FullName": "D定子1号机械手.D2225",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6841,7 +6841,7 @@
          "Id": "20250615152455150",
          "Order": 15,
          "Name": "D2226",
          "FullName": "p发那科3上线.D2226",
          "FullName": "D定子1号机械手.D2226",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6858,7 +6858,7 @@
          "Id": "20250615152455165",
          "Order": 16,
          "Name": "D2227",
          "FullName": "p发那科3上线.D2227",
          "FullName": "D定子1号机械手.D2227",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6875,7 +6875,7 @@
          "Id": "20250615152455181",
          "Order": 17,
          "Name": "D2228",
          "FullName": "p发那科3上线.D2228",
          "FullName": "D定子1号机械手.D2228",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6892,7 +6892,7 @@
          "Id": "20250615152455197",
          "Order": 18,
          "Name": "D2229",
          "FullName": "p发那科3上线.D2229",
          "FullName": "D定子1号机械手.D2229",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6908,13 +6908,13 @@
      ],
      "GroupList": [],
      "Id": "1000032",
      "Name": "p发那科3上线",
      "Name": "D定子1号机械手",
      "Desc": "一线地址:10.221.55.181     ç«¯å£ï¼š6000",
      "Brand": "Melsec",
      "Model": "Q10UDEH",
      "Comm": "MXComponent",
      "IP": "3",
      "RedisQueueName": "p发那科3上线Queue",
      "RedisQueueName": "D定子1号机械手Queue",
      "IsSimulate": true,
      "Reserve1": "",
      "Reserve2": "",
@@ -6926,7 +6926,7 @@
          "Id": "20250708093329612",
          "Order": 1,
          "Name": "D2210",
          "FullName": "p发那科4上线.D2210",
          "FullName": "D定子2号机械手.D2210",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6943,7 +6943,7 @@
          "Id": "20250708093329627",
          "Order": 2,
          "Name": "D2211",
          "FullName": "p发那科4上线.D2211",
          "FullName": "D定子2号机械手.D2211",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6960,7 +6960,7 @@
          "Id": "20250708093329642",
          "Order": 3,
          "Name": "D2212",
          "FullName": "p发那科4上线.D2212",
          "FullName": "D定子2号机械手.D2212",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6977,7 +6977,7 @@
          "Id": "20250708093329658",
          "Order": 4,
          "Name": "D2215",
          "FullName": "p发那科4上线.D2215",
          "FullName": "D定子2号机械手.D2215",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -6994,7 +6994,7 @@
          "Id": "20250708093329674",
          "Order": 5,
          "Name": "D2216",
          "FullName": "p发那科4上线.D2216",
          "FullName": "D定子2号机械手.D2216",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -7011,7 +7011,7 @@
          "Id": "20250708093329689",
          "Order": 6,
          "Name": "D2217",
          "FullName": "p发那科4上线.D2217",
          "FullName": "D定子2号机械手.D2217",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -7028,7 +7028,7 @@
          "Id": "20250708093329705",
          "Order": 7,
          "Name": "D2218",
          "FullName": "p发那科4上线.D2218",
          "FullName": "D定子2号机械手.D2218",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -7045,7 +7045,7 @@
          "Id": "20250708093329720",
          "Order": 8,
          "Name": "D2219",
          "FullName": "p发那科4上线.D2219",
          "FullName": "D定子2号机械手.D2219",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -7062,7 +7062,7 @@
          "Id": "20250708093329736",
          "Order": 9,
          "Name": "D2220",
          "FullName": "p发那科4上线.D2220",
          "FullName": "D定子2号机械手.D2220",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -7079,7 +7079,7 @@
          "Id": "20250708093329751",
          "Order": 10,
          "Name": "D2221",
          "FullName": "p发那科4上线.D2221",
          "FullName": "D定子2号机械手.D2221",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -7096,7 +7096,7 @@
          "Id": "20250708093329767",
          "Order": 11,
          "Name": "D2222",
          "FullName": "p发那科4上线.D2222",
          "FullName": "D定子2号机械手.D2222",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -7113,7 +7113,7 @@
          "Id": "20250708093329782",
          "Order": 12,
          "Name": "D2223",
          "FullName": "p发那科4上线.D2223",
          "FullName": "D定子2号机械手.D2223",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -7130,7 +7130,7 @@
          "Id": "20250708093329797",
          "Order": 13,
          "Name": "D2224",
          "FullName": "p发那科4上线.D2224",
          "FullName": "D定子2号机械手.D2224",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -7147,7 +7147,7 @@
          "Id": "20250708093329813",
          "Order": 14,
          "Name": "D2225",
          "FullName": "p发那科4上线.D2225",
          "FullName": "D定子2号机械手.D2225",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -7164,7 +7164,7 @@
          "Id": "20250708093329829",
          "Order": 15,
          "Name": "D2226",
          "FullName": "p发那科4上线.D2226",
          "FullName": "D定子2号机械手.D2226",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -7181,7 +7181,7 @@
          "Id": "20250708093329844",
          "Order": 16,
          "Name": "D2227",
          "FullName": "p发那科4上线.D2227",
          "FullName": "D定子2号机械手.D2227",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -7198,7 +7198,7 @@
          "Id": "20250708093329860",
          "Order": 17,
          "Name": "D2228",
          "FullName": "p发那科4上线.D2228",
          "FullName": "D定子2号机械手.D2228",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -7215,7 +7215,7 @@
          "Id": "20250708093329876",
          "Order": 18,
          "Name": "D2229",
          "FullName": "p发那科4上线.D2229",
          "FullName": "D定子2号机械手.D2229",
          "DataType": "System.UInt16",
          "DataValue": "",
          "SetValue": "",
@@ -7231,13 +7231,13 @@
      ],
      "GroupList": [],
      "Id": "1000033",
      "Name": "p发那科4上线",
      "Name": "D定子2号机械手",
      "Desc": "二线地址:10.221.55.179     ç«¯å£ï¼š6000",
      "Brand": "Melsec",
      "Model": "Q10UDEH",
      "Comm": "MXComponent",
      "IP": "4",
      "RedisQueueName": "p发那科4上线Queue",
      "RedisQueueName": "D定子2号机械手Queue",
      "IsSimulate": true,
      "Reserve1": "",
      "Reserve2": "",
@@ -7245,5 +7245,5 @@
    }
  ],
  "CreationTime": "2025-02-26 15:31:23",
  "LastWriteTime": "2025-07-08 09:48:45"
  "LastWriteTime": "2025-07-08 14:12:07"
}
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Devices/É豸ͨÐÅ.json
@@ -2,5 +2,5 @@
  "ProjectSn": "1",
  "DeviceList": [],
  "CreationTime": "2025-02-26 15:31:23",
  "LastWriteTime": "2025-07-08 09:48:47"
  "LastWriteTime": "2025-07-08 14:12:20"
}
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Net/Conn.json
@@ -340,5 +340,5 @@
    }
  ],
  "CreationTime": "2025-02-26 15:31:23",
  "LastWriteTime": "2025-07-08 09:56:59"
  "LastWriteTime": "2025-07-08 10:35:41"
}
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/RunTime/Code/É豸ͨÐÅ.cs
@@ -70,8 +70,8 @@
        public GZ.Device.PLC.PlcBase A2030取货交互=null;
        public GZ.Device.PLC.PlcBase RGV=null;
        public GZ.Device.PLC.PlcBase p发那科2下线=null;
        public GZ.Device.PLC.PlcBase p发那科3上线=null;
        public GZ.Device.PLC.PlcBase p发那科4上线=null;
        public GZ.Device.PLC.PlcBase D定子1号机械手=null;
        public GZ.Device.PLC.PlcBase D定子2号机械手=null;
        public Device()
        {
            ç»´å¸Œå°”抓臂1 = GZ.Device.PLC.PlcFactory.CreateInstanceByFile
@@ -244,14 +244,14 @@
                System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Configs", "p发那科2下线"),
                null
            );
            p发那科3上线 = GZ.Device.PLC.PlcFactory.CreateInstanceByFile
            D定子1号机械手 = GZ.Device.PLC.PlcFactory.CreateInstanceByFile
            (
                System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Configs", "p发那科3上线"),
                System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Configs", "D定子1号机械手"),
                null
            );
            p发那科4上线 = GZ.Device.PLC.PlcFactory.CreateInstanceByFile
            D定子2号机械手 = GZ.Device.PLC.PlcFactory.CreateInstanceByFile
            (
                System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Configs", "p发那科4上线"),
                System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Configs", "D定子2号机械手"),
                null
            );
            if(System.Configuration.ConfigurationManager.AppSettings["AutoRunPLC"]=="1")
@@ -290,8 +290,8 @@
                if(A2030取货交互!=null){A2030取货交互.Run();}
                if(RGV!=null){RGV.Run();}
                if(p发那科2下线!=null){p发那科2下线.Run();}
                if(p发那科3上线!=null){p发那科3上线.Run();}
                if(p发那科4上线!=null){p发那科4上线.Run();}
                if(D定子1号机械手!=null){D定子1号机械手.Run();}
                if(D定子2号机械手!=null){D定子2号机械手.Run();}
            }
        }
    }
@@ -644,22 +644,22 @@
        }
        #endregion
        
        #region p发那科3上线
        public _p发那科3上线 p发那科3上线 = new _p发那科3上线();
        #region D定子1号机械手
        public _D定子1号机械手 D定子1号机械手 = new _D定子1号机械手();
        /// <summary>
        /// ä¸€çº¿åœ°å€ï¼š10.221.55.181     ç«¯å£ï¼š6000
        /// </summary>        
        public class _p发那科3上线
        public class _D定子1号机械手
        {
        }
        #endregion
        
        #region p发那科4上线
        public _p发那科4上线 p发那科4上线 = new _p发那科4上线();
        #region D定子2号机械手
        public _D定子2号机械手 D定子2号机械手 = new _D定子2号机械手();
        /// <summary>
        /// äºŒçº¿åœ°å€ï¼š10.221.55.179     ç«¯å£ï¼š6000
        /// </summary>        
        public class _p发那科4上线
        public class _D定子2号机械手
        {
        }
        #endregion
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Variable/±äÁ¿Êý¾Ý¿â.json
@@ -7653,10 +7653,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2223",
            "Map": "p发那科3上线.D2223",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2223",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7671,10 +7671,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2210",
            "Map": "p发那科3上线.D2210",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2210",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7689,10 +7689,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2211",
            "Map": "p发那科3上线.D2211",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2211",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7707,10 +7707,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2212",
            "Map": "p发那科3上线.D2212",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2212",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7725,10 +7725,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2215",
            "Map": "p发那科3上线.D2215",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2215",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7743,10 +7743,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2216",
            "Map": "p发那科3上线.D2216",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2216",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7761,10 +7761,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2217",
            "Map": "p发那科3上线.D2217",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2217",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7779,10 +7779,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2218",
            "Map": "p发那科3上线.D2218",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2218",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7797,10 +7797,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2219",
            "Map": "p发那科3上线.D2219",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2219",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7815,10 +7815,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2220",
            "Map": "p发那科3上线.D2220",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2220",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7833,10 +7833,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2221",
            "Map": "p发那科3上线.D2221",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2221",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7851,10 +7851,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2221_LAST",
            "Map": "p发那科3上线.D2221_LAST",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2221_LAST",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7869,10 +7869,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2222",
            "Map": "p发那科3上线.D2222",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2222",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7887,10 +7887,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2224",
            "Map": "p发那科3上线.D2224",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2224",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7905,10 +7905,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2225",
            "Map": "p发那科3上线.D2225",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2225",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7923,10 +7923,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2226",
            "Map": "p发那科3上线.D2226",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2226",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7941,10 +7941,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2226_LAST",
            "Map": "p发那科3上线.D2226_LAST",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2226_LAST",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7959,10 +7959,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2227",
            "Map": "p发那科3上线.D2227",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2227",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7977,10 +7977,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2228",
            "Map": "p发那科3上线.D2228",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2228",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -7995,10 +7995,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科3上线",
            "MapDevice": "D定子1号机械手",
            "MapParam": "D2229",
            "Map": "p发那科3上线.D2229",
            "Queue": "p发那科3上线Queue",
            "Map": "D定子1号机械手.D2229",
            "Queue": "D定子1号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094856987",
            "GroupFullName": "Tag.DZ1",
@@ -8024,10 +8024,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2223",
            "Map": "p发那科4上线.D2223",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2223",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8042,10 +8042,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2210",
            "Map": "p发那科4上线.D2210",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2210",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8060,10 +8060,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2211",
            "Map": "p发那科4上线.D2211",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2211",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8078,10 +8078,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2212",
            "Map": "p发那科4上线.D2212",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2212",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8096,10 +8096,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2215",
            "Map": "p发那科4上线.D2215",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2215",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8114,10 +8114,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2216",
            "Map": "p发那科4上线.D2216",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2216",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8132,10 +8132,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2217",
            "Map": "p发那科4上线.D2217",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2217",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8150,10 +8150,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2218",
            "Map": "p发那科4上线.D2218",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2218",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8168,10 +8168,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2219",
            "Map": "p发那科4上线.D2219",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2219",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8186,10 +8186,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2220",
            "Map": "p发那科4上线.D2220",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2220",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8204,10 +8204,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2221",
            "Map": "p发那科4上线.D2221",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2221",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8222,10 +8222,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2221_LAST",
            "Map": "p发那科4上线.D2221_LAST",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2221_LAST",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8240,10 +8240,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2222",
            "Map": "p发那科4上线.D2222",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2222",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8258,10 +8258,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2224",
            "Map": "p发那科4上线.D2224",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2224",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8276,10 +8276,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2225",
            "Map": "p发那科4上线.D2225",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2225",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8294,10 +8294,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2226",
            "Map": "p发那科4上线.D2226",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2226",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8312,10 +8312,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2226_LAST",
            "Map": "p发那科4上线.D2226_LAST",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2226_LAST",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8330,10 +8330,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2227",
            "Map": "p发那科4上线.D2227",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2227",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8348,10 +8348,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2228",
            "Map": "p发那科4上线.D2228",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2228",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8366,10 +8366,10 @@
            "MinVal": "",
            "MaxVal": "",
            "DefaultVal": "",
            "MapDevice": "p发那科4上线",
            "MapDevice": "D定子2号机械手",
            "MapParam": "D2229",
            "Map": "p发那科4上线.D2229",
            "Queue": "p发那科4上线Queue",
            "Map": "D定子2号机械手.D2229",
            "Queue": "D定子2号机械手Queue",
            "Converter": "",
            "GroupID": "20250708094929744",
            "GroupFullName": "Tag.DZ2",
@@ -8381,7 +8381,7 @@
    ]
  },
  "CreationTime": "2025-02-26 15:31:23",
  "LastWriteTime": "2025-07-08 09:49:43",
  "LastWriteTime": "2025-07-08 14:11:39",
  "Sample": {
    "ID": "",
    "Name": "Tag",