schangxiang@126.com
2024-08-22 96b262bf9aacdcf75ced36a55c4a9805474c2d9a
优化 OP70读取数据
已修改4个文件
104 ■■■■■ 文件已修改
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP7009.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare - 复制用.config 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare.config 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/Enums.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/Special/DataCaptureHandler_OP7009.cs
@@ -62,19 +62,19 @@
                }
                while (true)
                {
                    ThreadStatusMonitor threadStatusMonitor = new ThreadStatusMonitor();
                    threadStatusMonitor.Threadcode = DataCapturePointCode;
                    threadStatusMonitor.Threadcname = DataCapturePointCname;
                    threadStatusMonitor.Threadendtime = DateTime.Now;
                    //threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
                    threadStatusMonitor.Threadstatue = 0;
                    threadStatusMonitor.ThreadId = Thread.CurrentThread.ManagedThreadId.ToString();
                    //ThreadStatusMonitor threadStatusMonitor = new ThreadStatusMonitor();
                    //threadStatusMonitor.Threadcode = DataCapturePointCode;
                    //threadStatusMonitor.Threadcname = DataCapturePointCname;
                    //threadStatusMonitor.Threadendtime = DateTime.Now;
                    ////threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
                    //threadStatusMonitor.Threadstatue = 0;
                    //threadStatusMonitor.ThreadId = Thread.CurrentThread.ManagedThreadId.ToString();
                    try
                    {
                        //_dataCaptureConfig
                        if (plcService == null || !plcService.IsConnected)
                        {
                            threadStatusMonitor.ErrorMsg = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC连接已断开,正在尝试打开!";
                            // threadStatusMonitor.ErrorMsg = $" {RandomHelper.GenerateRandomCode(4)} {_dataCaptureConfig.WorkingProcedure} PLC连接已断开,正在尝试打开!";
                            SystemValue.lbl_Alert_OP1002 = $" {RandomHelper.GenerateRandomCode(4)} {WorkingProcedure} PLC连接已断开,正在尝试打开!";
                            SystemValue.PLCServiceReconnect(plcService);
@@ -85,12 +85,7 @@
                        }
                        else
                        {
                            Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}工序测标记读取{DateTime.Now} *****0***");
                            Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}工序测标记读取{DateTime.Now}***1****");
                            threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
                            // threadStatusMonitor.Threadlastmodifytime = DateTime.Now;
                            WorkPieceLogMiddle wplog = new WorkPieceLogMiddle();
                            wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                            wplog.WorkingProcedure = WorkingProcedure;
@@ -114,9 +109,9 @@
                                    var set = wplog.GetType().GetProperty(col.DataCaptureColumnTabelName);
                                    if (set == null)
                                    {
                                        Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {WorkingProcedure}工序监控读码标记 è¯»å–工件码动态由于字段名没找到,赋值【{WorkingProcedure ?? "空字符串"}】失败{wplog.Id}");
                                        Log4NetHelper.WriteErrorLog(LogType.OP7009, $" {WorkingProcedure}工序监控读码标记 è¯»å–工件码动态由于字段名没找到,赋值【{WorkingProcedure ?? "空字符串"}】失败{wplog.Id}");
                                    }
                                    Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}工序测标记读取{DateTime.Now}***2****{col.DataCaptureColumnTabelName} å€¼ {valuecol.ToString() ?? ""}");
                                    Log4NetHelper.WriteInfoLog(LogType.OP7009, $" {DataCapturePointCode}工序测标记读取{DateTime.Now}***2****{col.DataCaptureColumnTabelName} å€¼ {valuecol.ToString() ?? ""}");
                                    if (col.DataCaptureColumnTabelName.Contains("Quality"))
                                    {//字段名包含Quality是认为是质量数据,都是转换成string
@@ -129,15 +124,13 @@
                                }
                                catch (Exception setex)
                                {
                                    Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {WorkingProcedure}工序监控读码标记 è¯»å–工件码动态赋值【{WorkingProcedure ?? "空字符串"}】异常{wplog.Id}", setex);
                                    Log4NetHelper.WriteErrorLog(LogType.OP7009, $" {WorkingProcedure}工序监控读码标记 è¯»å–工件码动态赋值【{WorkingProcedure ?? "空字符串"}】异常{wplog.Id}", setex);
                                }
                            }
                            Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {DataCapturePointCode}工序测标记读取{DateTime.Now}***3****");
                            if (string.IsNullOrEmpty(wplog.QualityOP70To1) && string.IsNullOrEmpty(wplog.QualityOP70To2) && string.IsNullOrEmpty(wplog.QualityOP70To3))
                            {
                                Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"读取 {DataCapturePointCode}质量信息三个值都是空的:");
                                //Log4NetHelper.WriteInfoLog(LogType.OP7009, $"读取 {DataCapturePointCode}质量信息三个值都是空的:");
                                continue;
                            }
@@ -156,13 +149,13 @@
                                foreach (var item in noFinishWorkPieceProcessList)
                                {
                                    wplog.WorkPieceID = item.WorkPieceID;
                                    WorkPieceInfoManager.QualityInfoCompleteForOP70(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));
                                    threadStatusMonitor.Threadstatue = 1;
                                    WorkPieceInfoManager.QualityInfoCompleteForOP70(wplog, LogType.OP7009);
                                    // threadStatusMonitor.Threadstatue = 1;
                                }
                            }
                            else
                            {
                                Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"读取 {DataCapturePointCode}质量信息三个值有值,但是获取OP70未结束的工件列表为空:");
                                Log4NetHelper.WriteInfoLog(LogType.OP7009, $"读取 {DataCapturePointCode}质量信息三个值有值,但是获取OP70未结束的工件列表为空:");
                            }
                        }
@@ -181,18 +174,18 @@
                    catch (Exception ex)
                    {
                        SystemValue.lbl_Alert_OP1002 = $" {RandomHelper.GenerateRandomCode(4)} è¯»å–{DataCapturePointCode}质量信息 å‡ºçŽ°å¼‚å¸¸ï¼Œè¯·æŸ¥çœ‹æ—¥å¿—ï¼";
                        Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"读取 {DataCapturePointCode}质量信息时异常:", ex);
                        Log4NetHelper.WriteErrorLog(LogType.OP7009, $"读取 {DataCapturePointCode}质量信息时异常:", ex);
                    }
                    finally
                    {
                        WorkPieceInfoManager.ThreadMonitor(threadStatusMonitor);
                        //WorkPieceInfoManager.ThreadMonitor(threadStatusMonitor);
                    }
                }
            }
            else
            {
                SystemValue.lbl_Alert_OP1002 = $" {RandomHelper.GenerateRandomCode(4)} {DataCapturePointCode}质量信息 ä¸åšæ ¡éªŒï¼Œè¯·ç¡®è®¤é…ç½®ä¿¡æ¯ï¼";
                Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"{DataCapturePointCode}质量信息 ä¸åšæ ¡éªŒï¼Œè¯·ç¡®è®¤æ˜¯å¦é…ç½®å¼‚常");
                Log4NetHelper.WriteInfoLog(LogType.OP7009, $"{DataCapturePointCode}质量信息 ä¸åšæ ¡éªŒï¼Œè¯·ç¡®è®¤æ˜¯å¦é…ç½®å¼‚常");
            }
        }
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare - ¸´ÖÆÓÃ.config
@@ -5,9 +5,9 @@
  <appSettings>
  </appSettings>
  <log4net>
    <!--  å®šæœŸåˆ é™¤æ•°æ®çº¿ç¨‹ã€ä¿¡æ¯ã€‘日志-->
    <appender name="DeleteData_Info" type="log4net.Appender.RollingFileAppender">
      <file value="D:\\Log\\SCADALog\\DeleteData_Info\\" />
    <!--  æ¸…洗机采集数据线程【信息】日志-->
    <appender name="OP7009_Info" type="log4net.Appender.RollingFileAppender">
      <file value="D:\\Log\\SCADALog\\OP7009_Info\\" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <staticLogFileName value="false" />
@@ -17,13 +17,13 @@
        <param name="ConversionPattern" value="%n消息时间:%d [%t] %n消息级别:%-5p %n消 æ¯ ç±»ï¼š%c [%x] %n%m %n "/>
      </layout>
      <filter type="log4net.Filter.LoggerMatchFilter">
        <loggerToMatch value="DeleteData_Info" />
        <loggerToMatch value="OP7009_Info" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
    </appender>
    <!--定期删除数据线程【错误】日志-->
    <appender name="DeleteData_Error" type="log4net.Appender.RollingFileAppender">
      <file value="D:\\Log\\SCADALog\\DeleteData_Error\\" />
    <!--清洗机采集数据线程【错误】日志-->
    <appender name="OP7009_Error" type="log4net.Appender.RollingFileAppender">
      <file value="D:\\Log\\SCADALog\\OP7009_Error\\" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <staticLogFileName value="false" />
@@ -33,14 +33,14 @@
        <param name="ConversionPattern" value="%n异常时间:%d [%t] %n异常级别:%-5p %n异 å¸¸ ç±»ï¼š%c [%x] %n%m %n "/>
      </layout>
      <filter type="log4net.Filter.LoggerMatchFilter">
        <loggerToMatch value="DeleteData_Error" />
        <loggerToMatch value="OP7009_Error" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
    </appender>
    <root>
      <level value="ALL"/>
      <appender-ref ref="DeleteData_Info"/>
      <appender-ref ref="DeleteData_Error"/>
      <appender-ref ref="OP7009_Info"/>
      <appender-ref ref="OP7009_Error"/>
    </root>
  </log4net>
</configuration>
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/log4net_iWare.config
@@ -5,6 +5,38 @@
  <appSettings>
  </appSettings>
  <log4net>
    <!--  æ¸…洗机采集数据线程【信息】日志-->
    <appender name="OP7009_Info" type="log4net.Appender.RollingFileAppender">
      <file value="D:\\Log\\SCADALog\\OP7009_Info\\" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <staticLogFileName value="false" />
      <datePattern value="yyyy-MM-dd.LOG" />
      <layout type="log4net.Layout.PatternLayout">
        <!--输出格式-->
        <param name="ConversionPattern" value="%n消息时间:%d [%t] %n消息级别:%-5p %n消 æ¯ ç±»ï¼š%c [%x] %n%m %n "/>
      </layout>
      <filter type="log4net.Filter.LoggerMatchFilter">
        <loggerToMatch value="OP7009_Info" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
    </appender>
    <!--清洗机采集数据线程【错误】日志-->
    <appender name="OP7009_Error" type="log4net.Appender.RollingFileAppender">
      <file value="D:\\Log\\SCADALog\\OP7009_Error\\" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <staticLogFileName value="false" />
      <datePattern value="yyyy-MM-dd.LOG" />
      <layout type="log4net.Layout.PatternLayout">
        <!--输出格式-->
        <param name="ConversionPattern" value="%n异常时间:%d [%t] %n异常级别:%-5p %n异 å¸¸ ç±»ï¼š%c [%x] %n%m %n "/>
      </layout>
      <filter type="log4net.Filter.LoggerMatchFilter">
        <loggerToMatch value="OP7009_Error" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
    </appender>
    <!--  å®šæœŸåˆ é™¤æ•°æ®çº¿ç¨‹ã€ä¿¡æ¯ã€‘日志-->
    <appender name="DeleteData_Info" type="log4net.Appender.RollingFileAppender">
      <file value="D:\\Log\\SCADALog\\DeleteData_Info\\" />
@@ -525,6 +557,8 @@
    </appender>
    <root>
      <level value="ALL"/>
      <appender-ref ref="OP7009_Info"/>
      <appender-ref ref="OP7009_Error"/>
      <appender-ref ref="DeleteData_Info"/>
      <appender-ref ref="DeleteData_Error"/>
      <appender-ref ref="PLCOP80_QC_Info"/>
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Model/Enums.cs
@@ -217,6 +217,11 @@
        /// </summary>
        DeleteData = 500,
        /// <summary>
        /// æ¸…洗机采集数据
        /// </summary>
        OP7009 = 503,
    }