2个文件已修改
62 ■■■■ 已修改文件
src/Bro.M141.Process/M141Process.cs 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.M141_AOI1.Process/AOI1Process.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.M141.Process/M141Process.cs
@@ -589,7 +589,8 @@
                                {
                                    item1.IsAbandoned = false;
                                    item1.FinalResult = ResultState.NG;
                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"产品{products[0].PID}_{products[0].SEQUENCE}工位{measureBind.WorkPosition}   S3S5组合检测检出缺陷:{item1.NetName}");
                                    //products[0].Result = M141Config.defectname;
                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"产品{products[0].PID}_{products[0].SEQUENCE}工位{measureBind.WorkPosition}   S3S5组合检测检出缺陷:{item1.NetName},产品结果为{products[0].Result}");
                                    break;
                                }
                            }
@@ -695,10 +696,19 @@
                                    }
                                    string ngImageFile = Path.Combine(folder, $"{id}.{post}");
                                    var bitmap = imgSet.HImage.ConvertHImageToBitmap();
                                    bitmap.Save(ngImageFile, M141Config.ImageFormatNG);
                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}NG图片已保存");
                                    bitmap.Dispose();
                                    //var bitmap = imgSet.HImage.ConvertHImageToBitmap();
                                    //bitmap.Save(ngImageFile, M141Config.ImageFormatNG);
                                    //LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}NG图片已保存");
                                    //bitmap.Dispose();
                                    try
                                    {
                                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}NG图片测试转存{ngImageFile}");
                                        imgSet.HImage.WriteImage(M141Config.ImageFormatOK.ToString().ToLower(), 0, ngImageFile);
                                    }
                                    catch (Exception)
                                    {
                                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"{id}NG图片保存失败");
                                    }
                                }
                            }
                        }
@@ -731,11 +741,20 @@
                                        post = M141Config.ImageFormatOK.ToString().ToLower();
                                    }
                                    string ngImageFile = Path.Combine(folder, $"{id}.{post}");
                                    var bitmap = imgSet.HImage.ConvertHImageToBitmap();
                                    bitmap.Save(ngImageFile, M141Config.ImageFormatOK);
                                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}OK图片已保存");
                                    bitmap.Dispose();
                                    string ngImageFile = Path.Combine(folder, $"{id}.{post}");
                                    //var bitmap = imgSet.HImage.ConvertHImageToBitmap();
                                    //bitmap.Save(ngImageFile, M141Config.ImageFormatOK);
                                    //LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}OK图片已保存");
                                    //bitmap.Dispose();
                                    try
                                    {
                                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Assist, $"{id}OK图片测试转存{ngImageFile}");
                                        imgSet.HImage.WriteImage(M141Config.ImageFormatOK.ToString().ToLower(), 0, ngImageFile);
                                    }
                                    catch (Exception)
                                    {
                                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"{id}OK图片保存失败");
                                    }
                                }
                            }
                        }
src/Bro.M141_AOI1.Process/AOI1Process.cs
@@ -348,8 +348,7 @@
                    LogAsync(DateTime.Now, EnumHelper.LogLevel.Detail, $"检测产品线轮廓度输入点数据  {string.Join(',', pointdataF)}");
                    var tool = GetHalconTool(null, "", opConfig.AlgorithemPath);
                    var ret = tool.RunProcedure(new Dictionary<string, HalconDotNet.HTuple>() { { "INPUT_Points", pointdataF.ToArray() } }, new Dictionary<string, HalconDotNet.HObject>() { { "INPUT_Image", opConfig.ImageSet.HImage } }, new List<string>() { "OUTPUT_Results", "OUTPUT_PointZ" }, null);
                    var ret = tool.RunProcedure(new Dictionary<string, HalconDotNet.HTuple>() { { "INPUT_Points", pointdataF.ToArray() } }, new Dictionary<string, HalconDotNet.HObject>() { { "INPUT_Image", opConfig.ImageSet.HImage } }, new List<string>() { "OUTPUT_Results", "OUTPUT_PointZ" }, null);
                    if (ret == null)
                    {
                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"脚本{opConfig.AlgorithemPath}运行异常,返回值为null");
@@ -436,6 +435,26 @@
                                    else
                                    {
                                        item.ActualValue = retcal.Item2["OUTPUT_Results"].HTupleToDouble()[0];
                                        if (item.IsEnableCompensation && item.CompensationValue.Count > 1)
                                        {
                                            string index = opConfig.TriggerStr.Split('#')[0];
                                            LogAsync(DateTime.Now, EnumHelper.LogLevel.Detail, $"{item.Code}进入双重补偿{index},初始值为{item.ActualValue}");
                                            if (index=="1")
                                            {
                                                item.ActualValue += item.CompensationValue[0];
                                                LogAsync(DateTime.Now, EnumHelper.LogLevel.Detail, $"{item.Code}进入双重补偿,补偿值为{item.CompensationValue[0]},最终结果为{item.ActualValue}");
                                            }
                                            else
                                            {
                                                item.ActualValue += item.CompensationValue[1];
                                                LogAsync(DateTime.Now, EnumHelper.LogLevel.Detail, $"{item.Code}进入双重补偿,补偿值为{item.CompensationValue[1]},最终结果为{item.ActualValue}");
                                            }
                                        }
                                        LogAsync(DateTime.Now, EnumHelper.LogLevel.Detail, $"{results[0].PID}获取计算公式数据{item.Code}  {item.GetMeasureValueStr()}");
                                    }
                                }