schangxiang@126.com
2024-09-05 09a12e1094e90fe83c5578de64b56e9237c60507
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_01.cs
@@ -106,7 +106,7 @@
                    //plcService.Close();
                    //plcService.OpenService();
                }
                string value_01 = "";
                string value_01 = "";//注意:默认是FALSE 【Editby shaocx,2024-09-05】
                while (true)
                {
                    threadStatusMonitor.ErrorMsg = "";
@@ -134,19 +134,20 @@
                            //string hostname = Environment.MachineName;
                            object value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType));
                            if (value_01.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
                            {//当上一标记位0,当前获取标记为1时,
                             //触发操作,  并给静态变量赋值为1
                             //业务代码
                                threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
                                WorkPieceLog wplog = new WorkPieceLog();
                            WorkPieceLog wplog = null;
                            var value_bool = value.ToString().ToUpper().Equals("TRUE");
                            if (value_bool)
                            {
                                wplog = new WorkPieceLog();
                                wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                                wplog.WorkingProcedure = WorkingProcedure;
                                wplog.EquipmentID = _dataCaptureConfig.EquipmentID; ;
                                wplog.Remarks = WorkingProcedure;
                                wplog.MonitoringPoint = DataCapturePointCode;
                                //wplog.CreatedUserName = DataCapturePointCode;
                                SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref wplog, DataCapturePointCode, DataCapturePointCname);
                                wplog.CreatedTime = DateTimeHelper.GetDateTime();
                                wplog.CreatedUserName = DataCapturePointCode;
                                wplog.UpdatedTime = DateTimeHelper.GetDateTime();
                                wplog.UpdatedUserName = Environment.MachineName + "自动" + Thread.CurrentThread.ManagedThreadId.ToString();
                                wplog.OnlineTime = DateTimeHelper.GetDateTime();
@@ -175,11 +176,25 @@
                                MonitorHelper.MonitorTestForOP3501(_dataCaptureConfig, value, colConfig, wplog);
                                //监控上线
                                MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID);
                            }
                            //if (wplog != null)
                            //{
                            //    var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID);
                            //    if (isRight)
                            //    {
                            #region 处理业务
                            if (value_01.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE"))
                            {//当上一标记位0,当前获取标记为1时,
                             //触发操作,  并给静态变量赋值为1
                             //业务代码
                                threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
                                //特殊处理OP50 【Editby shaocx,2024-08-16】
                                string sideValue = GetSideForOP50(plcService, wplog);
                                wplog.MonitoringPoint += sideValue;
                                wplog.CreatedUserName = wplog.MonitoringPoint;
                                //wplog.CreatedUserName = wplog.MonitoringPoint;
                                SystemBussinessHelper.SetWorkPieceLogMiddleForCreatedUserName(ref wplog, wplog.MonitoringPoint, DataCapturePointCname);
                                //读取二维码后更新数据库
                                WorkPieceInfoManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), plcService, _dataCaptureConfig.IsFeedback);
@@ -189,12 +204,15 @@
                            }
                            value_01 = value.ToString();
                            #endregion
                            //    }
                            //}
                        }
                        threadStatusMonitor.Remarks = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}";
                        if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10)
                        {
                            threadStatusMonitor.ThreadFrequency = 1000;
                            Thread.Sleep(1000);
                            threadStatusMonitor.ThreadFrequency = 700;
                            Thread.Sleep(700);
                        }
                        else
                        {