From 1aeb0f7e2d9f69614a8158a7992b854bedc5cdf7 Mon Sep 17 00:00:00 2001
From: zhouquan <zhouquan@LAPTOP-J27PNMJT>
Date: 星期三, 23 七月 2025 16:07:33 +0800
Subject: [PATCH] 合并
---
src/Bro.M141_AOI1.Process/AOI1Process.cs | 293 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 291 insertions(+), 2 deletions(-)
diff --git a/src/Bro.M141_AOI1.Process/AOI1Process.cs b/src/Bro.M141_AOI1.Process/AOI1Process.cs
index 9b8a134..5e34210 100644
--- a/src/Bro.M141_AOI1.Process/AOI1Process.cs
+++ b/src/Bro.M141_AOI1.Process/AOI1Process.cs
@@ -1,4 +1,5 @@
锘縰sing Bro.Common.Base;
+using Bro.Common.Factory;
using Bro.Common.Helper;
using Bro.Common.Interface;
using Bro.Common.Model;
@@ -7,6 +8,7 @@
using Bro.UI.Model.Winform;
using HalconDotNet;
using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
using NPOI.POIFS.Crypt.Dsig;
using NPOI.SS.Formula.Functions;
using NPOI.XSSF.Streaming.Values;
@@ -195,15 +197,71 @@
}
else
{
- Plc1.WriteSingleAddress(1524, 1, out _);
- Plc1.WriteSingleAddress(1514, 1, out _);
ConfigAOI1.basketcode = barcode;
+ int num = Plc1.Read(1577, 1, out _)[0];
+
+ if (ConfigAOI1.PlcAndBasketcodes.Count > 10)
+ {
+ ConfigAOI1.PlcAndBasketcodes.RemoveAt(0);
+ }
+
+ if (ConfigAOI1.PlcAndBasketcodes.Any(u => u.id == num))
+ {
+ ConfigAOI1.PlcAndBasketcodes.FirstOrDefault(u => u.id == num).code = barcode;
+ }
+ else
+ {
+ ConfigAOI1.PlcAndBasketcodes.Add(new PlcAndBasketcode
+ {
+ code = barcode,
+ id = num,
+ });
+ }
+
LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"鑾峰彇鍒版爮鍏风爜涓簕barcode}");
mysqlhelper.NewBasketcode(barcode);
RerefreshBasketcode();
+ if (ConfigAOI1.ISupMES)
+ {
+ //string zword = mqtt.MESForBasketAsync("2", "DS02217", barcode, "1", num.ToString()).Result;
+ string zwordstr = Task.Run(() => mqtt.MESForBasketAsync("2", "DS02217", barcode, "1", ConfigAOI1.mesnum2.ToString())).Result;
+
+ ConfigAOI1.mesnum2++;
+
+ try
+ {
+ var obj = JsonConvert.DeserializeObject<AutoLineMacQueueBak>(zwordstr);
+ ConfigAOI1.zwoid = obj.zwoid;
+ if (!string.IsNullOrEmpty(obj.zwoid) && obj.zstatus == "200")
+ {
+ Plc1.WriteSingleAddress(1524, 1, out _);
+ Plc1.WriteSingleAddress(1514, 1, out _);
+ LogAsync(DateTime.Now, EnumHelper.LogLevel.Information, $"RabbitMQ zwoid鑾峰彇鎴愬姛 {obj.zstatus} {obj.zwoid} ");
+ }
+ else
+ {
+ Plc1.WriteSingleAddress(1524, 2, out _);
+ Plc1.WriteSingleAddress(1514, 1, out _);
+ LogAsync(DateTime.Now, EnumHelper.LogLevel.Information, $"RabbitMQ zwoid鑾峰彇澶辫触 {zwordstr} ");
+ }
+ }
+ catch
+ {
+ Plc1.WriteSingleAddress(1524, 2, out _);
+ Plc1.WriteSingleAddress(1514, 1, out _);
+ LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"RabbitMQ zwoid鑾峰彇寮傚父 杩斿洖鏁版嵁涓� {zwordstr} ");
+ }
+ }
+ else
+ {
+ Plc1.WriteSingleAddress(1524, 1, out _);
+ Plc1.WriteSingleAddress(1514, 1, out _);
+ }
+ SaveProcessConfig(ConfigAOI1);
}
+
}
return msg;
@@ -424,5 +482,236 @@
}
+
+
+
+
+
+ [ProcessMethod("", "MESup1", "MES涓婁紶杩涙枡鍙g┖绡�", InvokeType.TestInvoke)]
+ public ResponseMessage MESup1(IOperationConfig config, IDevice invokeDevice, IDevice sourceDevice)
+ {
+ ResponseMessage msg = new ResponseMessage();
+
+ //int num = Plc1.Read(1575, 1, out _)[0];
+ //mqtt.Send("1", "DS02216", "", "0", num.ToString());
+ //Plc1.WriteSingleAddress(1590, 1, out _);
+ if (ConfigAOI1.ISupMES)
+ {
+ string Msg = Task.Run(() => mqtt.MESForBasketAsync("1", "DS02216", "", "0", ConfigAOI1.mesnum1.ToString())).Result;
+ if (Msg != null)
+ {
+ try
+ {
+ var obj = JsonConvert.DeserializeObject<AutoLineMacQueueBak>(Msg);
+ if (obj?.zstatus == "200")
+ {
+ ConfigAOI1.mesnum1++;
+ Plc1.WriteSingleAddress(1590, 1, out _);
+ }
+ else
+ {
+ Plc1.WriteSingleAddress(1590, 2, out _);
+ }
+ LogAsync(DateTime.Now, obj?.zstatus == "200" ? EnumHelper.LogLevel.Information : EnumHelper.LogLevel.Exception, $"RabbitMQ 绡叿 杩涙枡鍙g┖绡� 涓婁紶{(obj?.zstatus == "200" ? "鎴愬姛" : "澶辫触")} {obj?.zstatus}");
+
+ }
+ catch
+ {
+ LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"RabbitMQ 绡叿 杩涙枡鍙g┖绡� 鑾峰彇杩斿洖鍊艰В鏋愬紓甯� 杩斿洖鏁版嵁{Msg} ");
+ Plc1.WriteSingleAddress(1590, 2, out _);
+ }
+ }
+ else
+ {
+ Plc1.WriteSingleAddress(1590, 2, out _);
+ LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"RabbitMQ 绡叿 杩涙枡鍙g┖绡� 鑾峰彇杩斿洖鍊煎け璐� 杩斿洖鏁版嵁null ");
+ }
+ }
+ else
+ {
+ Plc1.WriteSingleAddress(1590, 1, out _);
+
+ }
+
+ return msg;
+ }
+
+
+ [ProcessMethod("", "MESup2", "MES涓婁紶杩涙枡鍙f弧杞�", InvokeType.TestInvoke)]
+ public ResponseMessage MESup2(IOperationConfig config, IDevice invokeDevice, IDevice sourceDevice)
+ {
+ ResponseMessage msg = new ResponseMessage();
+ //int num = Plc1.Read(1575, 1, out _)[0];
+
+ //mqtt.Send("1", "DS02216", "", "1", num.ToString());
+ //Plc1.WriteSingleAddress(1590, 1, out _);
+
+ if (ConfigAOI1.ISupMES)
+ {
+ string Msg = Task.Run(() => mqtt.MESForBasketAsync("1", "DS02216", "", "1", ConfigAOI1.mesnum1.ToString())).Result;
+ if (Msg != null)
+ {
+
+ try
+ {
+ var obj = JsonConvert.DeserializeObject<AutoLineMacQueueBak>(Msg);
+ if (obj?.zstatus == "200")
+ {
+ ConfigAOI1.mesnum1++;
+ Plc1.WriteSingleAddress(1590, 1, out _);
+ }
+ else
+ {
+ Plc1.WriteSingleAddress(1590, 2, out _);
+ }
+
+ LogAsync(DateTime.Now, obj?.zstatus == "200" ? EnumHelper.LogLevel.Information : EnumHelper.LogLevel.Exception, $"RabbitMQ 绡叿 杩涙枡鍙f弧杞� 涓婁紶{(obj?.zstatus == "200" ? "鎴愬姛" : "澶辫触")} {obj?.zstatus}");
+ }
+ catch
+ {
+ Plc1.WriteSingleAddress(1590, 2, out _);
+ LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"RabbitMQ 绡叿 杩涙枡鍙f弧杞� 鑾峰彇杩斿洖鍊艰В鏋愬紓甯� 杩斿洖鏁版嵁{Msg} ");
+ }
+ }
+ else
+ {
+ LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"RabbitMQ 绡叿 杩涙枡鍙f弧杞� 鑾峰彇杩斿洖鍊艰В鏋愬紓甯� 杩斿洖鏁版嵁null ");
+ Plc1.WriteSingleAddress(1590, 2, out _);
+ }
+ }
+ else
+ {
+ Plc1.WriteSingleAddress(1590, 1, out _);
+ }
+
+
+ return msg;
+ }
+
+ [ProcessMethod("", "MESup3", "MES涓婁紶涓嬫枡鍙g┖绡�", InvokeType.TestInvoke)]
+ public ResponseMessage MESup3(IOperationConfig config, IDevice invokeDevice, IDevice sourceDevice)
+ {
+ ResponseMessage msg = new ResponseMessage();
+
+
+
+ if (ConfigAOI1.ISupMES)
+ {
+ int num = Plc1.Read(1578, 1, out _)[0];
+
+ string Msg = Task.Run(() => mqtt.MESForBasketAsync("3", "DS02217", ConfigAOI1.PlcAndBasketcodes.Any(u => u.id == num) ? ConfigAOI1.PlcAndBasketcodes.FirstOrDefault(u => u.id == num).code : "NoRead", "0", ConfigAOI1.mesnum3.ToString())).Result;
+ if (Msg != null)
+ {
+
+ try
+ {
+ var obj = JsonConvert.DeserializeObject<AutoLineMacQueueBak>(Msg);
+ if (obj?.zstatus == "200")
+ {
+ ConfigAOI1.mesnum3++;
+ Plc1.WriteSingleAddress(1591, 1, out _);
+ }
+ else
+ {
+ Plc1.WriteSingleAddress(1591, 2, out _);
+ }
+ LogAsync(DateTime.Now, obj?.zstatus == "200" ? EnumHelper.LogLevel.Information : EnumHelper.LogLevel.Exception, $"RabbitMQ 绡叿 涓嬫枡鍙g┖绡� 涓婁紶{(obj?.zstatus == "200" ? "鎴愬姛" : "澶辫触")} {obj?.zstatus}");
+
+ }
+ catch
+ {
+ LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"RabbitMQ 绡叿 涓嬫枡鍙g┖绡� 鑾峰彇杩斿洖鍊艰В鏋愬紓甯� 杩斿洖鏁版嵁{Msg} ");
+ Plc1.WriteSingleAddress(1591, 2, out _);
+ }
+ }
+ else
+ {
+ LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"RabbitMQ 绡叿 杩涙枡鍙d笅鏂欏彛绌虹绌虹 鑾峰彇杩斿洖鍊艰В鏋愬紓甯� 杩斿洖鏁版嵁null ");
+ Plc1.WriteSingleAddress(1591, 2, out _);
+ }
+ }
+ else
+ {
+ Plc1.WriteSingleAddress(1591, 1, out _);
+ }
+
+ return msg;
+ }
+
+ [ProcessMethod("", "MESup4", "MES涓婁紶涓嬫枡鍙f弧杞�", InvokeType.TestInvoke)]
+ public ResponseMessage MESup4(IOperationConfig config, IDevice invokeDevice, IDevice sourceDevice)
+ {
+ ResponseMessage msg = new ResponseMessage();
+
+ if (ConfigAOI1.ISupMES)
+ {
+ int num = Plc1.Read(1578, 1, out _)[0];
+ //mqtt.Send("3", "DS02217", ConfigAOI1.Dicbasketcode.ContainsKey(num) ? ConfigAOI1.Dicbasketcode[num] : ConfigAOI1.basketcode, "2", num.ToString());
+
+ string Msg = Task.Run(() => mqtt.MESForBasketAsync("3", "DS02217", ConfigAOI1.PlcAndBasketcodes.Any(u => u.id == num) ? ConfigAOI1.PlcAndBasketcodes.FirstOrDefault(u => u.id == num).code : "NoRead", "2", ConfigAOI1.mesnum3.ToString())).Result;
+ if (Msg != null)
+ {
+ try
+ {
+ var obj = JsonConvert.DeserializeObject<AutoLineMacQueueBak>(Msg);
+ if (obj?.zstatus == "200")
+ {
+ ConfigAOI1.mesnum3++;
+ }
+ LogAsync(DateTime.Now, obj?.zstatus == "200" ? EnumHelper.LogLevel.Information : EnumHelper.LogLevel.Exception, $"RabbitMQ 绡叿 涓嬫枡鍙f弧杞�1 涓婁紶{(obj?.zstatus == "200" ? "鎴愬姛" : "澶辫触")} {obj?.zstatus}");
+ }
+ catch
+ {
+ LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"RabbitMQ 绡叿 涓嬫枡鍙f弧杞�1 鑾峰彇杩斿洖鍊艰В鏋愬紓甯� 杩斿洖鏁版嵁{Msg} ");
+ }
+ }
+ else
+ {
+ LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"RabbitMQ 绡叿 涓嬫枡鍙f弧杞�1 鑾峰彇杩斿洖鍊艰В鏋愬紓甯� 杩斿洖鏁版嵁null ");
+ }
+
+
+ Thread.Sleep(1000);
+ //mqtt.Send("4", "DS02217", ConfigAOI1.Dicbasketcode.ContainsKey(num) ? ConfigAOI1.Dicbasketcode[num] : ConfigAOI1.basketcode, "1", num.ToString());
+ Msg = Task.Run(() => mqtt.MESForBasketAsync("4", "DS02217", ConfigAOI1.PlcAndBasketcodes.Any(u => u.id == num) ? ConfigAOI1.PlcAndBasketcodes.FirstOrDefault(u => u.id == num).code : "NoRead", "1", ConfigAOI1.mesnum4.ToString())).Result;
+ if (Msg != null)
+ {
+ try
+ {
+ var obj = JsonConvert.DeserializeObject<AutoLineMacQueueBak>(Msg);
+ if (obj?.zstatus == "200")
+ {
+ ConfigAOI1.mesnum4++;
+ Plc1.WriteSingleAddress(1591, 1, out _);
+ }
+ else
+ {
+ Plc1.WriteSingleAddress(1591, 2, out _);
+ }
+ LogAsync(DateTime.Now, obj?.zstatus == "200" ? EnumHelper.LogLevel.Information : EnumHelper.LogLevel.Exception, $"RabbitMQ 绡叿 涓嬫枡鍙f弧杞� 涓婁紶{(obj?.zstatus == "200" ? "鎴愬姛" : "澶辫触")} {obj?.zstatus}");
+ }
+ catch
+ {
+ LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"RabbitMQ 绡叿 涓嬫枡鍙f弧杞� 鑾峰彇杩斿洖鍊艰В鏋愬紓甯� 杩斿洖鏁版嵁{Msg} ");
+ Plc1.WriteSingleAddress(1591, 2, out _);
+ }
+ }
+ else
+ {
+ LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"RabbitMQ 绡叿 涓嬫枡鍙f弧杞� 鑾峰彇杩斿洖鍊艰В鏋愬紓甯� 杩斿洖鏁版嵁null ");
+ Plc1.WriteSingleAddress(1591, 2, out _);
+ }
+ }
+ else
+ {
+ Plc1.WriteSingleAddress(1591, 1, out _);
+ }
+ return msg;
+ }
+
+
+
+
+
}
}
--
Gitblit v1.8.0