| | |
| | | { |
| | | if (SystemValue.isStartedImitateModel) |
| | | { |
| | | var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); |
| | | //var plcService = PLCManger.GetSinglePLCService(_dataCaptureConfig); |
| | | |
| | | |
| | | WorkPieceLog wplog = new WorkPieceLog(); |
| | | wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | wplog.WorkingProcedure = WorkingProcedure; |
| | | wplog.EquipmentID = WorkingProcedure; |
| | | wplog.Remarks = WorkingProcedure; |
| | | wplog.MonitoringPoint = DataCapturePointCode; |
| | | wplog.CreatedTime = DateTimeHelper.GetDateTime(); |
| | | wplog.CreatedUserName = DataCapturePointCode; |
| | | wplog.IsDeleted = false; |
| | | //var valuecol = plcService.ReadValuePoint("2050", "28", 25, typeof(string)); |
| | | //WorkPieceLog wplog = new WorkPieceLog(); |
| | | //wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | //wplog.WorkingProcedure = WorkingProcedure; |
| | | //wplog.EquipmentID = WorkingProcedure; |
| | | //wplog.Remarks = WorkingProcedure; |
| | | //wplog.MonitoringPoint = DataCapturePointCode; |
| | | //wplog.CreatedTime = DateTimeHelper.GetDateTime(); |
| | | //wplog.CreatedUserName = DataCapturePointCode; |
| | | //wplog.IsDeleted = false; |
| | | ////var valuecol = plcService.ReadValuePoint("2050", "28", 25, typeof(string)); |
| | | |
| | | wplog.EquipmentID = _dataCaptureConfig.EquipmentID; |
| | | wplog.WorkPieceID = WorkPieceID; |
| | | wplog.UpdatedTime = DateTimeHelper.GetDateTime(); |
| | | wplog.UpdatedUserName = DataCapturePointCode; |
| | | wplog.OnlineTime = DateTimeHelper.GetDateTime();//给上线时间用 |
| | | //wplog.EquipmentID = _dataCaptureConfig.EquipmentID; |
| | | //wplog.WorkPieceID = WorkPieceID; |
| | | //wplog.UpdatedTime = DateTimeHelper.GetDateTime(); |
| | | //wplog.UpdatedUserName = DataCapturePointCode; |
| | | //wplog.OnlineTime = DateTimeHelper.GetDateTime();//给上线时间用 |
| | | |
| | | //var valueid = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, _dataCaptureConfig.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); |
| | | //wplog.WorkPieceID = PLCManger.GetWorkPieceIDForPLC(_dataCaptureConfig, plcService); |
| | | if (wplog.WorkPieceID.Length != 22) |
| | | {//获取到的工件号异常 |
| | | return; |
| | | } |
| | | else |
| | | {//获取其他配置的待采集项 |
| | | ////var valueid = plcService.ReadValuePoint(_dataCaptureConfig.DbNumber, _dataCaptureConfig.Offset, _dataCaptureConfig.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(_dataCaptureConfig.DataCaptureColumnType)); |
| | | ////wplog.WorkPieceID = PLCManger.GetWorkPieceIDForPLC(_dataCaptureConfig, plcService); |
| | | //if (wplog.WorkPieceID.Length != 22) |
| | | //{//获取到的工件号异常 |
| | | // return; |
| | | //} |
| | | //else |
| | | //{//获取其他配置的待采集项 |
| | | |
| | | //foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) |
| | | //{ |
| | | // var valuecol = plcService.ReadValuePoint(col.DbNumber, col.Offset, col.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(col.DataCaptureColumnType)); |
| | | // wplog.GetType().GetProperty(col.DataCaptureColumnTabelName).SetValue(wplog, valuecol);//给动态字段赋值 |
| | | // //foreach (var col in colConfig.Where(o => o.DataCapturePointCode == DataCapturePointCode)) |
| | | // //{ |
| | | // // var valuecol = plcService.ReadValuePoint(col.DbNumber, col.Offset, col.DataCaptureColumnLength.Value, PLCManger.GetTypeForString(col.DataCaptureColumnType)); |
| | | // // wplog.GetType().GetProperty(col.DataCaptureColumnTabelName).SetValue(wplog, valuecol);//给动态字段赋值 |
| | | |
| | | //} |
| | | } |
| | | //读取二维码后更新数据库 |
| | | WorkPieceInfoManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), plcService, _dataCaptureConfig.IsFeedback); |
| | | // //} |
| | | //} |
| | | ////读取二维码后更新数据库 |
| | | //WorkPieceInfoManager.ReadQRcode(wplog, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), plcService, _dataCaptureConfig.IsFeedback); |
| | | |
| | | |
| | | return; |
| | |
| | | //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; |
| | | if (value.ToString().ToUpper().Equals("TRUE")) |
| | | { |
| | | 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(); |
| | |
| | | |
| | | //监控测试数据,模拟,测试 |
| | | MonitorHelper.MonitorTestForOP3501(_dataCaptureConfig, value, colConfig, wplog); |
| | | //监控上线 |
| | | MonitorHelper.MonitorTestForLine(_dataCaptureConfig, value, colConfig, wplog.WorkPieceID); |
| | | } |
| | | |
| | | 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); |
| | |
| | | threadStatusMonitor.Remarks = $"abcdefg:{RandomHelper.GenerateRandomCode(4)}"; |
| | | if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10) |
| | | { |
| | | threadStatusMonitor.ThreadFrequency = 5000; |
| | | Thread.Sleep(5000); |
| | | threadStatusMonitor.ThreadFrequency = 1000; |
| | | Thread.Sleep(1000); |
| | | } |
| | | else |
| | | { |
| | |
| | | { |
| | | try |
| | | { |
| | | if (!(DataCapturePointCode.Contains("OP5001A") || DataCapturePointCode.Contains("OP5001B"))) |
| | | { |
| | | return ""; |
| | | } |
| | | |
| | | object value_M88 = plcService.ReadValuePointV2("M88", PLCManger.GetTypeForString("int")); |
| | | int i_value_M88 = 0; |
| | | var isRight = int.TryParse(value_M88.ToString(), out i_value_M88); |
| | | Log4NetHelper.WriteInfoLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"读取 {DataCapturePointCode}工序监控测量标记数据,获取OP50的哪个面,i_value_M88:{i_value_M88},工件号:{wplog.WorkPieceID}"); |
| | | Log4NetHelper.WriteInfoLog(LogType.MonitorOP50Side, $"读取 {DataCapturePointCode}工序监控测量标记数据,获取OP50的哪个面,i_value_M88:{i_value_M88},工件号:{wplog.WorkPieceID}"); |
| | | if (isRight) |
| | | { |
| | | if (i_value_M88 == 64) |
| | |
| | | return "4"; |
| | | } |
| | | } |
| | | Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"读取 {DataCapturePointCode}工序监控测量标记数据时,无效数值,获取OP50的哪个面,,i_value_M88:{i_value_M88},工件号:{wplog.WorkPieceID}", null); |
| | | Log4NetHelper.WriteErrorLog(LogType.MonitorOP50Side, $"读取 {DataCapturePointCode}工序监控测量标记数据时,无效数值,获取OP50的哪个面,,i_value_M88:{i_value_M88},工件号:{wplog.WorkPieceID}", null); |
| | | return ""; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Log4NetHelper.WriteErrorLog(PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure), $"读取 {DataCapturePointCode}工序监控测量标记数据时异常,获取OP50的哪个面,工件号:{wplog.WorkPieceID}", ex); |
| | | Log4NetHelper.WriteErrorLog(LogType.MonitorOP50Side, $"读取 {DataCapturePointCode}工序监控测量标记数据时异常,获取OP50的哪个面,工件号:{wplog.WorkPieceID}", ex); |
| | | return ""; |
| | | } |
| | | } |