| | |
| | | opc.Write(OPCOutputTag.DetectResult_NG, false); |
| | | CommonUtil.WriteLog(LogType.Inf, "初始化下料NA"); |
| | | |
| | | //250表示启动时需要大复位报警 |
| | | opc.Write(OPCOutputTag.Alarm, 250); |
| | | CommonUtil.WriteLog(LogType.Inf, "软件启动大复位"); |
| | | |
| | | string continuousNGStr = ConfigurationManager.AppSettings["ContinuousNGThreshold"]; |
| | | if (int.TryParse(continuousNGStr, out int temp)) |
| | | { |
| | |
| | | opc.Write(OPCOutputTag.DetectResult_OK, true); |
| | | opc.Write(OPCOutputTag.DetectResult_NG, false); |
| | | |
| | | CommonUtil.WriteLog(LogType.Inf, $"{x.DetectID}|{x.ProductNo}产品应放入OK Tray"); |
| | | CommonUtil.WriteLog(LogType.Inf, $"{x?.DetectID}|{x?.ProductNo}产品应放入OK Tray"); |
| | | |
| | | _continuousNG = 0; |
| | | break; |
| | |
| | | opc.Write(OPCOutputTag.DetectResult_OK, false); |
| | | opc.Write(OPCOutputTag.DetectResult_NG, true); |
| | | |
| | | CommonUtil.WriteLog(LogType.Inf, $"{x.DetectID}|{x.ProductNo}产品应放入NG Tray"); |
| | | CommonUtil.WriteLog(LogType.Inf, $"{x?.DetectID}|{x?.ProductNo}产品应放入NG Tray"); |
| | | CommonUtil.StepControl.RemoveById(detectID); |
| | | |
| | | _continuousNG++; |
| | |
| | | opc.Write(OPCOutputTag.DetectResult_OK, false); |
| | | opc.Write(OPCOutputTag.DetectResult_NG, false); |
| | | |
| | | CommonUtil.WriteLog(LogType.Inf, $"{x.DetectID}|{x.ProductNo}产品应放入NA Tray"); |
| | | CommonUtil.WriteLog(LogType.Inf, $"{x?.DetectID}|{x?.ProductNo}产品应放入NA Tray"); |
| | | CommonUtil.StepControl.RemoveById(detectID); |
| | | |
| | | _continuousNG = 0; |
| | |
| | | if (_continuousNG >= _continuousNGThreshold) |
| | | { |
| | | //脚本中设置报警码2000表示连续NG次数到达设定报警上限 |
| | | opc.Write(OPCInputTag.Alarm, 2000); |
| | | opc.Write(OPCOutputTag.Alarm, 2000); |
| | | |
| | | CommonUtil.WriteLog(LogType.Inf, $"产品连续NG{_continuousNG}次,报警提示"); |
| | | _continuousNG = 0; |
| | |
| | | #region 事件 |
| | | private void MainForm_FormClosing(object sender, FormClosingEventArgs e) |
| | | { |
| | | Stop(); |
| | | SaveMeasureTTL(); |
| | | Task.Factory.StartNew(() => |
| | | try |
| | | { |
| | | Stop(); |
| | | SaveMeasureTTL(); |
| | | //Task.Factory.StartNew(() => |
| | | //{ |
| | | SpotCheckData data = new SpotCheckData(); |
| | | data.UpdateLastBreakProductQty(measureResultTTL.ProductQuntity); |
| | | DownTimeData downTimeData = new DownTimeData(); |
| | | DownTime downTime = new DownTime() { BeginTime = DateTime.Now, Type = DownTimeType.Closed }; |
| | | downTimeData.SaveDownTime(downTime); |
| | | }); |
| | | //}); |
| | | |
| | | MessageHandler.MessageHandlerInstance.Close(); |
| | | MessageHandler.MessageHandlerInstance.Close(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Trace.TraceError($"界面关闭异常:{ex.Message}"); |
| | | } |
| | | finally |
| | | { |
| | | lock (CommonUtil.UploadDataLock) |
| | | { |
| | | //CommonUtil.UploadDoneHandle.WaitOne(); |
| | | CommonUtil.UploadDataEnable = false; |
| | | System.Environment.Exit(0); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private void btnConfig_Click(object sender, EventArgs e) |
| | |
| | | |
| | | private void btnPlcOperation_Click(object sender, EventArgs e) |
| | | { |
| | | FormPlcOperation frm = new FormPlcOperation(opc); |
| | | frm.ShowDialog(); |
| | | //if (new ConfigPassword("").ShowDialog() == DialogResult.OK) |
| | | { |
| | | FormPlcOperation frm = new FormPlcOperation(opc); |
| | | frm.ShowDialog(); |
| | | } |
| | | } |
| | | |
| | | private void btnCheck_Click(object sender, EventArgs e) |