2
schangxiang@126.com
2024-06-26 3fc83007da4ba3442254bf36db0753514a0df1b0
2
已修改1个文件
36 ■■■■■ 文件已修改
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/HMI_WorkpieceReading.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/HMI_WorkpieceReading.cs
@@ -54,13 +54,13 @@
        /// <param name="dataCaptureConfig"></param>
        public override void RefreshDataList(List<DataCaptureConfig> dataCaptureConfig)
        {
        }
        /// <summary>
        /// 清除HMI上显示(二维码不能清)
        /// </summary>
        /// <param name="colConfig"></param>
        public void ClertHMI(PLCService plcService,List<DataCaptureColumnConfig> colConfig)
        public void ClertHMI(PLCService plcService, List<DataCaptureColumnConfig> colConfig)
        {
            foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode))
            {
@@ -76,6 +76,9 @@
                        plcService.WriteValuePointNew(col.DbNumber, col.Offset, 0);
                        break;
                    case "QualityState":
                        plcService.WriteValuePointNew(col.DbNumber, col.Offset, 0);
                        break;
                    case "NoOkReason"://不合格原因 【Editby shaocx,2024-06-23】
                        plcService.WriteValuePointNew(col.DbNumber, col.Offset, 0);
                        break;
                    case "QualityErrorInfo":
@@ -118,7 +121,7 @@
                    }
                    return;
                }
                if (plcService != null && !plcService.IsConnected)
@@ -175,11 +178,11 @@
                            object value1 = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, "88", 2, PLCManger.GetTypeForString("int"));
                            string value2 = value1 == null ? "" : value1.ToString().Trim();
                            if ("50" .Equals(value2))
                            if ("50".Equals(value2))
                            {
                                ClertHMI(plcService, colConfig);
                            }
                            else if ("21" .Equals(value2))
                            else if ("21".Equals(value2))
                            {
                                ClertHMI(plcService, colConfig);
                                //10:数采读取失败
@@ -187,13 +190,13 @@
                                //21:扫码成功标记
                                plcService.WriteValuePointNew(_dataCaptureConfig.DbNumber, "88", 11);
                                object value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, _dataCaptureConfig.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType));
                                if (value != null)
                                {
                                    string WorkPieceID = value.ToString().Trim();
                                    //if (WorkPieceID.Length == 22)
                                    if (WorkPieceID.Length>20)
                                    if (WorkPieceID.Length > 20)
                                    {
                                        // 根据工件号获取工件信息
                                        WorkPieceInfo info = null;
@@ -201,10 +204,10 @@
                                        using (DbModel db = new DbModel())
                                        {
                                            info = new WorkPieceInfo();
                                            info = db.WorkPieceInfo.Where(o => o.WorkPieceID == WorkPieceID&&o.IsDeleted==false).FirstOrDefault();
                                            info = db.WorkPieceInfo.Where(o => o.WorkPieceID == WorkPieceID && o.IsDeleted == false).FirstOrDefault();
                                            process = db.WorkPieceProcess.Where(o => o.WorkPieceID == WorkPieceID &&!o.OperationType.Equals("SPC")&& o.IsDeleted == false)
                                                .OrderByDescending(o=>o.CreatedTime).FirstOrDefault();
                                            process = db.WorkPieceProcess.Where(o => o.WorkPieceID == WorkPieceID && !o.OperationType.Equals("SPC") && o.IsDeleted == false)
                                                .OrderByDescending(o => o.CreatedTime).FirstOrDefault();
                                        }
                                        if (info != null && info.Id > 0)
@@ -227,13 +230,16 @@
                                                    case "QualityState":
                                                        plcService.WriteValuePointNew(col.DbNumber, col.Offset, info.QualityState);
                                                        break;
                                                    case "NoOkReason"://不合格原因 【Editby shaocx,2024-06-23】
                                                        plcService.WriteValuePointNew(col.DbNumber, col.Offset, info.QualityNoOk ?? 0);
                                                        break;
                                                    case "ReaderEndState":
                                                        plcService.WriteValuePointNew(col.DbNumber, col.Offset, 11);
                                                        break;
                                                    case "DataSource":
                                                        if(process!=null)
                                                        if (process != null)
                                                        {
                                                            plcService.WriteValuePointNew(col.DbNumber, col.Offset, process.CreatedUserName?? "Empty");
                                                            plcService.WriteValuePointNew(col.DbNumber, col.Offset, process.CreatedUserName ?? "Empty");
                                                        }
                                                        else
                                                        {
@@ -283,7 +289,7 @@
                                            Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"HMI读取监控 二维码值:【" + WorkPieceID + "】在数据库中不存在");
                                        }
                                    }
                                    else if(WorkPieceID.Length > 0)
                                    else if (WorkPieceID.Length > 0)
                                    {
                                        foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode))
                                        {
@@ -337,9 +343,9 @@
                                //}
                            }
                        }
                        if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10)
                        {
                            Thread.Sleep(1000);