peizhiyong
2025-08-01 73d6d058983ff914e5092bba4b2c403eef2caec5
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()}");
                                    }
                                }