| | |
| | | { |
| | | if (SystemValue.isStartedImitateModel) |
| | | { |
| | | /* |
| | | var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); |
| | | WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); |
| | | wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | |
| | | wplog.UpdatedUserName = DataCapturePointCode; |
| | | //更新WorkPieceInfo表以及插入WorkPieceLog表和WorkPieceInfoLog表 |
| | | WorkPiecePushOffManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); |
| | | |
| | | //*/ |
| | | return; |
| | | } |
| | | ThreadStatusMonitorMiddle threadStatusMonitor = new ThreadStatusMonitorMiddle(); |
| | |
| | | //plcService.Close(); |
| | | //plcService.OpenService(); |
| | | } |
| | | string value_03 = ""; |
| | | string value_03 = "FALSE";//默认 |
| | | while (true) |
| | | { |
| | | threadStatusMonitor.ErrorMsg = ""; |
| | |
| | | else |
| | | { |
| | | var value = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); |
| | | if (value_03.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE")) |
| | | {//当上一标记位0,当前获取标记为1时, |
| | | //触发操作, 并给静态变量赋值为1 |
| | | //业务代码 |
| | | threadStatusMonitor.Threadlastmodifytime = DateTime.Now; |
| | | WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); |
| | | WorkPieceLogMiddle wplog = null; |
| | | var value_bool = value.ToString().ToUpper().Equals("TRUE"); |
| | | if (value_bool) |
| | | { |
| | | wplog = new WorkPieceLogMiddle(); |
| | | wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | wplog.WorkingProcedure = WorkingProcedure; |
| | | wplog.EquipmentID = _dataCaptureConfig.EquipmentID; ; |
| | |
| | | Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $" {WorkingProcedure}工序监控NOOK标记 读取工件码动态赋值【{WorkingProcedure ?? "空字符串"}】异常{wplog.Id}", setex); |
| | | } |
| | | } |
| | | if (_dataCaptureConfig.WorkingProcedure.Equals("OP20") |
| | | //||_dataCaptureConfig.WorkingProcedure.Equals("OP60") |
| | | ) |
| | | {//op20会同时推出多件,所以特殊处理 |
| | | |
| | | //监控上线 |
| | | if (!_dataCaptureConfig.WorkingProcedure.Equals("OP20")) |
| | | { |
| | | MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID); |
| | | } |
| | | else |
| | | { |
| | | MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceIDA); |
| | | MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceIDB); |
| | | MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceIDC); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | value_03 = value.ToString(); |
| | | } |
| | | |
| | | if (wplog != null) |
| | | { |
| | | if (_dataCaptureConfig.WorkingProcedure.Equals("OP20")) |
| | | {//特殊处理OP20 |
| | | if (value_03.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE")) |
| | | {//当上一标记位0,当前获取标记为1时, |
| | | //触发操作, 并给静态变量赋值为1 |
| | | //业务代码 |
| | | threadStatusMonitor.Threadlastmodifytime = DateTime.Now; |
| | | |
| | | //op20会同时推出多件,所以特殊处理 |
| | | wplog.WorkPieceID = wplog.WorkPieceIDA; |
| | | wplog.Remarks = "NOOK推出工件A"; |
| | | WorkPiecePushOffManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); |
| | |
| | | //wplog.WorkPieceID = wplog.WorkPieceIDD; |
| | | //wplog.Remarks = "NOOK推出工件D"; |
| | | //WorkPieceInfoManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); |
| | | |
| | | threadStatusMonitor.Threadstatue = 1; |
| | | } |
| | | value_03 = value.ToString(); |
| | | } |
| | | else |
| | | { |
| | | var isRight = SystemBussinessHelper.ValidateIsRightWorkPieceID(wplog.WorkPieceID); |
| | | if (isRight) |
| | | { |
| | | #region 处理业务 |
| | | |
| | | if (value_03.ToUpper().Equals("FALSE") && value.ToString().ToUpper().Equals("TRUE")) |
| | | {//当上一标记位0,当前获取标记为1时, |
| | | //触发操作, 并给静态变量赋值为1 |
| | | //业务代码 |
| | | threadStatusMonitor.Threadlastmodifytime = DateTime.Now; |
| | | |
| | | //更新WorkPieceInfo表以及插入WorkPieceLog表和WorkPieceInfoLog表 |
| | | WorkPiecePushOffManager.WorkPiecePushOff(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); |
| | | } |
| | | |
| | | threadStatusMonitor.Threadstatue = 1; |
| | | |
| | | |
| | |
| | | } |
| | | value_03 = value.ToString(); |
| | | |
| | | #endregion |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | threadStatusMonitor.Remarks = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}"; |
| | | |
| | | if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10) |