领胜LDS 键盘AOI检测项目
patrick.xu
2021-08-02 a383b2288dcfb90e9aa1dcf796e41d9c6be1e429
src/Bro.M071.Process/M071Process_MES.cs
@@ -7,7 +7,9 @@
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Bro.M071.Process
{
@@ -151,7 +153,25 @@
                LogAsync(DateTime.Now, $"MES入料检测", JsonConvert.SerializeObject(paras));
            }
            var result = IncomingCheckMethod?.Invoke(IncomingCheckObj, paras).ToString();
            string result = "-3";
            int repeatTime = 3;
            do
            {
                try
                {
                    result = IncomingCheckMethod?.Invoke(IncomingCheckObj, paras).ToString();
                }
                catch (Exception ex)
                {
                    LogAsync(DateTime.Now, $"{barcode}产品条码检测异常", ex.GetExceptionMessage());
                    repeatTime--;
                    Thread.Sleep(100);
                    result = "-3";
                }
            } while (repeatTime > 0);
            var mesReturn = (MESIncomingCheckReturn)int.Parse(result);
            sw.Stop();
            LogAsync(DateTime.Now, $"{barcode}产品条码检测,{result}|{mesReturn.ToString()}", $"耗时:{sw.ElapsedMilliseconds}ms");
@@ -207,15 +227,39 @@
            if (Config.IsEnableMESLog)
            {
                LogAsync(DateTime.Now, $"{barcode}产品检测数据上传", JsonConvert.SerializeObject(paras));
                LogAsync(DateTime.Now, $"{pMeasure.Barcode}产品检测数据上传", JsonConvert.SerializeObject(paras));
            }
            var result = DataUploadMethod?.Invoke(DataUploadObj, paras).ToString();
            string result = "-1";
            int repeatTime = 3;
            do
            {
                try
                {
                    result = DataUploadMethod?.Invoke(DataUploadObj, paras).ToString();
                    repeatTime = -1;
                }
                catch (Exception ex)
                {
                    LogAsync(DateTime.Now, $"{barcode}产品检测数据上传异常", ex.GetExceptionMessage());
                    repeatTime--;
                    Thread.Sleep(100);
                    result = "-1";
                }
            } while (repeatTime > 0);
            var mesReturn = (MESUploadReturn)int.Parse(result);
            sw.Stop();
            LogAsync(DateTime.Now, $"{barcode}产品检测数据上传,{result}|{mesReturn.ToString()}", $"耗时:{sw.ElapsedMilliseconds}ms");
            OnCheckHintUpload?.Invoke("检测数据" + mesReturn.ToString(), mesReturn != MESUploadReturn.上传成功);
            if (mesReturn != MESUploadReturn.上传成功)
            {
                MessageBox.Show($"{barcode}产品数据上传失败,{mesReturn.ToString()}\r\n请检查网络连接或确认问题后重新检测", "上传异常", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        private string GetMESAlignmentData(ProductionMeasurement pMeasure)