From 17db44bdab7772f465969bf778d417e08bf8a5f0 Mon Sep 17 00:00:00 2001 From: xcd <834800634@qq.com> Date: 星期六, 04 七月 2020 17:58:34 +0800 Subject: [PATCH] 1. 大/小复位,机台状态 2. 板卡操作配置复数化 3. 界面日志输出机制修改 4. M071主界面CT,测量结果,测量状态,机台状态输出 --- src/Bro.M071.Process/UI/M071_MainForm.cs | 183 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 180 insertions(+), 3 deletions(-) diff --git a/src/Bro.M071.Process/UI/M071_MainForm.cs b/src/Bro.M071.Process/UI/M071_MainForm.cs index 97904b6..63f429e 100644 --- a/src/Bro.M071.Process/UI/M071_MainForm.cs +++ b/src/Bro.M071.Process/UI/M071_MainForm.cs @@ -9,6 +9,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using static Bro.Common.Helper.EnumHelper; namespace Bro.M071.Process.UI { @@ -17,6 +18,7 @@ { Canvas cvImage = new Canvas(); M071Config Config => Process?.IConfig as M071Config; + M071Process Process_M071 => Process as M071Process; public M071_MainForm() { @@ -69,8 +71,21 @@ txtBarcode.ReadOnly = Config.IsBarcodeManulInputBlocked; - (Process as M071Process).OnClearBarcode -= M071_MainForm_OnClearBarcode; - (Process as M071Process).OnClearBarcode += M071_MainForm_OnClearBarcode; + Process_M071.OnClearBarcode -= M071_MainForm_OnClearBarcode; + Process_M071.OnClearBarcode += M071_MainForm_OnClearBarcode; + Process_M071.OnUpdateResult -= M071_MainForm_UpdateResult; + Process_M071.OnUpdateResult += M071_MainForm_UpdateResult; + Process_M071.OnUpdateCT -= M071_MainForm_UpdateCT; + Process_M071.OnUpdateCT += M071_MainForm_UpdateCT; + + Process_M071.OnMeasureStart -= M071_MainForm_MeasureStart; + Process_M071.OnMeasureStart += M071_MainForm_MeasureStart; + + Process_M071.OnMachineStateChanged -= M071_MainForm_MachineStateChanged; + Process_M071.OnMachineStateChanged += M071_MainForm_MachineStateChanged; + + Process_M071.OnFullResetDone -= Process_M071_FullResetDone; + Process_M071.OnFullResetDone += Process_M071_FullResetDone; } #region 鍥剧墖鍖哄彸閿彍鍗� @@ -157,7 +172,7 @@ private void txtBarcode_TextChanged(object sender, EventArgs e) { - (Process as M071Process).BarCode = txtBarcode.Text.Trim(); + Process_M071.BarCode = txtBarcode.Text.Trim(); } private void M071_MainForm_OnClearBarcode() @@ -166,7 +181,169 @@ } #endregion + #region 鏈哄彴鐘舵�� + private async void M071_MainForm_MachineStateChanged(MachineState state) + { + lblMachineState.BeginInvoke(new Action(() => + { + switch (state) + { + case MachineState.Alarm: + btnStartMeasure.BackColor = lblMachineState.BackColor = Color.Red; + btnStartMeasure.ForeColor = lblMachineState.ForeColor = Color.White; + lblMachineState.Text = "璀︽姤"; + + btnStartMeasure.Enabled = false; + break; + case MachineState.Pause: + btnStartMeasure.BackColor = lblMachineState.BackColor = Color.Yellow; + btnStartMeasure.ForeColor = lblMachineState.ForeColor = Color.Black; + lblMachineState.Text = "鏆傚仠"; + + //btnStartMeasure.Text = "鏆傚仠娴嬮噺"; + btnStartMeasure.Enabled = true; + break; + case MachineState.Ready: + btnStartMeasure.BackColor = lblMachineState.BackColor = Color.Lime; + btnStartMeasure.ForeColor = lblMachineState.ForeColor = Color.White; + lblMachineState.Text = "灏辩华"; + + btnStartMeasure.Enabled = true; + break; + case MachineState.Running: + btnStartMeasure.BackColor = lblMachineState.BackColor = Color.Lime; + btnStartMeasure.ForeColor = lblMachineState.ForeColor = Color.DarkGreen; + lblMachineState.Text = "杩愯"; + + btnStartMeasure.Enabled = true; + break; + case MachineState.Unknown: + btnStartMeasure.BackColor = lblMachineState.BackColor = SystemColors.Control; + btnStartMeasure.ForeColor = lblMachineState.ForeColor = SystemColors.ControlText; + lblMachineState.Text = "鏈煡"; + break; + } + })); + + await Task.Delay(100); + } #endregion + #region 浜у搧缁撴灉 + private async void M071_MainForm_UpdateCT(float ct) + { + lblCT.BeginInvoke(new Action(() => + { + lblCT.Text = ct.ToString("f2") + " 绉�"; + })); + await Task.Delay(100); + } + + private async void M071_MainForm_UpdateResult(DateTime arg1, int result) + { + this.BeginInvoke(new Action(() => + { + if (result == 1) + { + lblProductionState.BackColor = Color.Green; + lblProductionState.ForeColor = Color.White; + lblProductionState.Text = "OK"; + } + else + { + lblProductionState.BackColor = Color.Red; + lblProductionState.ForeColor = Color.White; + lblProductionState.Text = "NG"; + } + + btnStartMeasure.Text = "寮�濮嬫祴閲�"; + })); + await Task.Delay(100); + } + + private async void M071_MainForm_MeasureStart() + { + this.BeginInvoke(new Action(() => + { + lblProductionState.BackColor = SystemColors.Control; + lblProductionState.ForeColor = SystemColors.ControlText; + lblProductionState.Text = "娴嬭瘯涓�"; + + lblCT.Text = ""; + })); + await Task.Delay(100); + } + #endregion + + #endregion + + private async void btnStartMeasure_Click(object sender, EventArgs e) + { + btnStartMeasure.Enabled = false; + bool isBreak = false; + + if (btnStartMeasure.Text == "寮�濮嬫祴閲�") + { + await Task.Run(() => + { + try + { + Process_M071.StartJob(null, null, null); + } + catch (Exception ex) + { + isBreak = true; + + LogAsync(DateTime.Now, "娴佺▼寮傚父", ex.Message); + Process_M071.ExceptionRaisedInMonitor(ex); + + btnStartMeasure.Text = "寮�濮嬫祴閲�"; + + } + }); + + if (!isBreak) + btnStartMeasure.Text = "鏆傚仠娴嬮噺"; + } + else if (btnStartMeasure.Text == "缁х画娴嬮噺") + { + Process_M071.ResumeJob(null, null, null); + btnStartMeasure.Text = "鏆傚仠娴嬮噺"; + } + else + { + Process_M071.PauseJob(null, null, null); + btnStartMeasure.Text = "缁х画娴嬮噺"; + } + + btnStartMeasure.Enabled = true; + } + + #region 澶嶄綅鎿嶄綔 + private async void Process_M071_FullResetDone() + { + btnStartMeasure.BeginInvoke(new Action(() => + { + btnStartMeasure.Enabled = true; + btnStartMeasure.Text = "寮�濮嬫祴閲�"; + })); + await Task.Delay(100); + } + + private void btnReset_MouseDown(object sender, MouseEventArgs e) + { + if (Process_M071.MachineState != MachineState.Running) + { + Process_M071.Reset(null, null, null); + } + + Process_M071.ResetTimer.Change(-1, 1000 * 5); + } + + private void btnReset_MouseUp(object sender, MouseEventArgs e) + { + Process_M071.ResetTimer.Change(-1, -1); + } + #endregion } } -- Gitblit v1.8.0