| | |
| | | /// <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)) |
| | | { |
| | |
| | | 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": |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | return; |
| | | } |
| | | if (plcService != null && !plcService.IsConnected) |
| | |
| | | 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:数采读取失败 |
| | |
| | | //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; |
| | |
| | | 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) |
| | |
| | | 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 |
| | | { |
| | |
| | | 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)) |
| | | { |
| | |
| | | //} |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | if (!_dataCaptureConfig.DataCaptureFrequency.HasValue || _dataCaptureConfig.DataCaptureFrequency < 10) |
| | | { |
| | | Thread.Sleep(1000); |