领胜LDS 键盘AOI检测项目
patrick.xu
2021-01-11 f06ae0e33e33f1ed5f198827b9b5a53e765b3eee
1. 来料检测添加线体代码
2. 添加检测数据区间压缩配置和功能
3个文件已修改
46 ■■■■■ 已修改文件
src/Bro.M071.Process/M071Process.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.M071.Process/M071Process_MES.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.M071.Process/Properties/AssemblyInfo.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.M071.Process/M071Process.cs
@@ -14,6 +14,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
@@ -49,6 +50,7 @@
        #endregion
        string _precision = "f3";
        double _allowedShift = 0;
        public override void Open()
        {
@@ -73,6 +75,12 @@
            IncomingCheckMethod = InitialMESWebServiceMethod(IncomingCheckMethodName, out IncomingCheckObj);
            DataUploadMethod = InitialMESWebServiceMethod(DataUploadMethodName, out DataUploadObj);
            var allowedShiftStr = ConfigurationManager.AppSettings["DataShift"];
            if (!double.TryParse(allowedShiftStr, out _allowedShift))
            {
                _allowedShift = 0;
            }
        }
        private void InitialMotionCardBaseAxisAlarm()
@@ -486,17 +494,20 @@
                                            }
                                            else
                                            {
                                                m.Spec.ActualValue = double.Parse(_halconToolDict[toolKey].GetResultTuple("OUTPUT_Result").D.ToString(_precision));
                                                //LogAsync(DateTime.Now, $"{m.GetDisplayText()}数据{m.Spec.ActualValue},结果{(m.Spec.MeasureResult == null ? "TBD" : (m.Spec.MeasureResult == true ? "OK" : "NG"))}", "");
                                            }
                                        }
                                    }
                                }
                                                double actualValue = double.Parse(_halconToolDict[toolKey].GetResultTuple("OUTPUT_Result").D.ToString(_precision));
                                                m.Spec.ActualValue = actualValue;
                                //LogAsync(DateTime.Now, $"{m.GetDisplayText()}检测结果", $"{((m.Spec.MeasureResult ?? false) ? "OK" : "NG")}");
                                                //M071要求超限数据在允许范围内压缩到合格范围内
                                                if (_allowedShift > 0 && m.Spec.MeasureResult != null && m.Spec.MeasureResult.Value == false)
                                                {
                                                    m.Spec.ActualValue = m.Spec.StandardValue + (actualValue - m.Spec.StandardValue) * (m.Spec.Tolrenance_Positive - m.Spec.StandardValue) / (m.Spec.Tolrenance_Positive - m.Spec.StandardValue + _allowedShift);
                                                }
                                            }
                                        }
                                    }
                                }
                                KeyIndicator indicator = new KeyIndicator(m.Id, m.DisplayLocation);
                                //indicator.Text = (m.Spec.ActualValue == null || m.Spec.ActualValue == -999) ? "NA" : m.Spec.ActualValue.Value.ToString(_precision);
                                indicator.Text = m.Spec.ActualValue == null ? "NA" : m.Spec.ActualValue.Value.ToString(_precision);
                                indicator.ResultState = m.Spec.MeasureResult;
                                pMeasure.ElementList.Add(indicator);
@@ -638,12 +649,12 @@
                    measurementUnitResult.ProductionBarcode = productionMeasurementRecords.ProductionBarcode;
                    measurementUnitResult.MeasurementName = measurementUnit.GetDisplayText();
                    if (measurementUnit.MeasureType == "Alignment" || measurementUnit.MeasureType == "Slant")
                    if (measurementUnit.MeasureType.StartsWith("Alignment") || measurementUnit.MeasureType.StartsWith("Slant"))
                    {
                        measurementUnitResult.Keys = string.Join("-", measurementUnit.KeyUnitCollection.Select(u => u.Key));
                        measurementUnitResult.Positions = string.Join("-", measurementUnit.KeyUnitCollection.Select(u => u.KeyResultId));
                    }
                    else if (measurementUnit.MeasureType == "RowAlignment")
                    else if (measurementUnit.MeasureType.StartsWith("RowAlignment"))
                    {
                        measurementUnitResult.Keys = measurementUnit.KeyUnitCollection[0].Key + "~" + measurementUnit.KeyUnitCollection[measurementUnit.KeyUnitCollection.Count() - 1].Key;
                        measurementUnitResult.Keys = measurementUnit.KeyUnitCollection[0].KeyResultId + "~" + measurementUnit.KeyUnitCollection[measurementUnit.KeyUnitCollection.Count() - 1].KeyResultId;
@@ -799,7 +810,7 @@
                            positionCell.Value = "Positions";
                            SetTitleCell(positionCell);
                            var alignmentMeasures = exportData.MeasurementUnitResultList.Where(u => u.MeasurementType == "Alignment").ToList();
                            var alignmentMeasures = exportData.MeasurementUnitResultList.Where(u => u.MeasurementType.StartsWith("Alignment")).ToList();
                            for (int i = 0; i < alignmentMeasures.Count(); i++)
                            {
                                var cellKeys = alignmentSheet.Cells[i + 3, 1];
@@ -826,7 +837,7 @@
                            positionCell.Value = "Positions";
                            SetTitleCell(positionCell);
                            var rowAlignmentMeasures = exportData.MeasurementUnitResultList.Where(u => u.MeasurementType == "RowAlignment").ToList();
                            var rowAlignmentMeasures = exportData.MeasurementUnitResultList.Where(u => u.MeasurementType.StartsWith("RowAlignment")).ToList();
                            for (int i = 0; i < rowAlignmentMeasures.Count(); i++)
                            {
                                var cellKeys = rowAlignmentSheet.Cells[i + 3, 1];
@@ -1173,7 +1184,6 @@
                var keyBindCollection = measureList.SelectMany(u => u.KeyUnitCollection).Where(u => keys.Any(k => k.Key == u.Key)).ToList();
                string toolKey = (opConfig as CameraOprerationConfigBase).AlgorithemPath;
                //HObject images = imgSet.HImage;
                HObject images = new HObject();
                LaserScanParam scanParam = JsonConvert.DeserializeObject<LaserScanParam>(imgSet.ImageData);
src/Bro.M071.Process/M071Process_MES.cs
@@ -138,13 +138,13 @@
            //string paraStr = JsonConvert.SerializeObject(paras);
            //LogAsync(DateTime.Now, $"MES入料检测 {url}", paraStr);
            IncomingCheckMethod = InitialMESWebServiceMethod(IncomingCheckMethodName, out IncomingCheckObj);
            //IncomingCheckMethod = InitialMESWebServiceMethod(IncomingCheckMethodName, out IncomingCheckObj);
            Stopwatch sw = new Stopwatch();
            sw.Start();
            //var result = _webApiHelper.dooPost(url, paraStr);
            object[] paras = new object[] { barcode, Config.StationCode };
            object[] paras = new object[] { barcode, Config.StationCode, Config.ProjectCode };
            if (Config.IsEnableMESLog)
            {
@@ -184,7 +184,7 @@
            //string paraStr = JsonConvert.SerializeObject(paras);
            //LogAsync(DateTime.Now, $"MES数据上传 {url}", paraStr);
            DataUploadMethod = InitialMESWebServiceMethod(DataUploadMethodName, out DataUploadObj);
            //DataUploadMethod = InitialMESWebServiceMethod(DataUploadMethodName, out DataUploadObj);
            Stopwatch sw = new Stopwatch();
            sw.Start();
src/Bro.M071.Process/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.2.0")]
[assembly: AssemblyFileVersion("1.0.2.0")]
[assembly: AssemblyVersion("1.0.3.0")]
[assembly: AssemblyFileVersion("1.0.3.0")]