diff --git a/DH.Commons/Base/DetectionConfig.cs b/DH.Commons/Base/DetectionConfig.cs index 4fdf1d8..6740b6a 100644 --- a/DH.Commons/Base/DetectionConfig.cs +++ b/DH.Commons/Base/DetectionConfig.cs @@ -509,7 +509,7 @@ namespace DH.Commons.Base private AntList _sizeTreatParamList = new AntList(); private CustomizedPoint _showLocation = new CustomizedPoint(); - private string _imageSaveDirectory="D://Images"; + private string _imageSaveDirectory= "D://PROJECTS//Images"; private bool _saveOKOriginal = false; private bool _saveNGOriginal = false; private bool _saveOKDetect = false; diff --git a/DH.Commons/Base/DeviceBase.cs b/DH.Commons/Base/DeviceBase.cs index c764613..d1b3b92 100644 --- a/DH.Commons/Base/DeviceBase.cs +++ b/DH.Commons/Base/DeviceBase.cs @@ -305,7 +305,7 @@ namespace DH.Commons.Base //if (InitialConfig.IsEnableLog) //{ - // LoggerHelper.LogAsync(msg); + LoggerHelper.LogAsync(msg); //} } diff --git a/DH.Devices.PLC/XinJEPLCTcpNet.cs b/DH.Devices.PLC/XinJEPLCTcpNet.cs index 6167f82..6d7634f 100644 --- a/DH.Devices.PLC/XinJEPLCTcpNet.cs +++ b/DH.Devices.PLC/XinJEPLCTcpNet.cs @@ -41,7 +41,7 @@ namespace DH.Devices.PLC { try { - LoggerHelper.LogPath = "D://"; + LoggerHelper.LogPath = "D://PROJECTS//Logs//"; LoggerHelper.LogPrefix = "PLC"; TcpNet.IpAddress = IP; diff --git a/DHSoftware/MainWindow.Designer.cs b/DHSoftware/MainWindow.Designer.cs index 4cb3012..acab9e5 100644 --- a/DHSoftware/MainWindow.Designer.cs +++ b/DHSoftware/MainWindow.Designer.cs @@ -28,14 +28,14 @@ /// private void InitializeComponent() { - AntdUI.Tabs.StyleLine styleLine2 = new AntdUI.Tabs.StyleLine(); - AntdUI.Tabs.StyleCard styleCard2 = new AntdUI.Tabs.StyleCard(); - AntdUI.SegmentedItem segmentedItem6 = new AntdUI.SegmentedItem(); + AntdUI.Tabs.StyleLine styleLine1 = new AntdUI.Tabs.StyleLine(); + AntdUI.Tabs.StyleCard styleCard1 = new AntdUI.Tabs.StyleCard(); + AntdUI.SegmentedItem segmentedItem1 = new AntdUI.SegmentedItem(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainWindow)); - AntdUI.SegmentedItem segmentedItem7 = new AntdUI.SegmentedItem(); - AntdUI.SegmentedItem segmentedItem8 = new AntdUI.SegmentedItem(); - AntdUI.SegmentedItem segmentedItem9 = new AntdUI.SegmentedItem(); - AntdUI.SegmentedItem segmentedItem10 = new AntdUI.SegmentedItem(); + AntdUI.SegmentedItem segmentedItem2 = new AntdUI.SegmentedItem(); + AntdUI.SegmentedItem segmentedItem3 = new AntdUI.SegmentedItem(); + AntdUI.SegmentedItem segmentedItem4 = new AntdUI.SegmentedItem(); + AntdUI.SegmentedItem segmentedItem5 = new AntdUI.SegmentedItem(); titlebar = new AntdUI.PageHeader(); lbName = new AntdUI.Label(); tabsStas = new AntdUI.Tabs(); @@ -54,12 +54,12 @@ tableLayoutNums = new TableLayoutPanel(); dgvProductNums = new DataGridView(); tableLayoutPanel3 = new TableLayoutPanel(); - lblNum = new Label(); + lblTotalTime = new Label(); label1 = new Label(); label12 = new Label(); lblUPH = new Label(); - lblstarttime = new Label(); - lblNowtime = new Label(); + lblStartTime = new Label(); + lblOEE_Total = new Label(); label10 = new Label(); label7 = new Label(); panel2 = new AntdUI.Panel(); @@ -130,7 +130,7 @@ tabsStas.Name = "tabsStas"; tabsStas.Pages.Add(tabPage3); tabsStas.Size = new Size(580, 176); - tabsStas.Style = styleLine2; + tabsStas.Style = styleLine1; tabsStas.TabIndex = 3; tabsStas.Text = "tabs3"; // @@ -195,7 +195,7 @@ tabImgDisplay.Location = new Point(0, 0); tabImgDisplay.Name = "tabImgDisplay"; tabImgDisplay.Size = new Size(1024, 442); - tabImgDisplay.Style = styleCard2; + tabImgDisplay.Style = styleCard1; tabImgDisplay.TabIndex = 3; tabImgDisplay.Text = "tabs1"; // @@ -261,17 +261,17 @@ dgvCamreaNums.BackgroundColor = SystemColors.Control; dgvCamreaNums.BorderStyle = BorderStyle.None; dgvCamreaNums.CellBorderStyle = DataGridViewCellBorderStyle.SunkenHorizontal; - dgvCamreaNums.ColumnHeadersHeight = 4; + dgvCamreaNums.ColumnHeadersHeight = 25; dgvCamreaNums.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; - dgvCamreaNums.ColumnHeadersVisible = false; dgvCamreaNums.Dock = DockStyle.Fill; - dgvCamreaNums.Location = new Point(3, 3); + dgvCamreaNums.Location = new Point(3, 15); + dgvCamreaNums.Margin = new Padding(3, 15, 3, 0); dgvCamreaNums.MultiSelect = false; dgvCamreaNums.Name = "dgvCamreaNums"; dgvCamreaNums.ReadOnly = true; dgvCamreaNums.RowHeadersVisible = false; dgvCamreaNums.SelectionMode = DataGridViewSelectionMode.FullRowSelect; - dgvCamreaNums.Size = new Size(338, 111); + dgvCamreaNums.Size = new Size(338, 102); dgvCamreaNums.TabIndex = 9; // // panelNums @@ -296,6 +296,7 @@ tableLayoutNums.RowCount = 2; tableLayoutNums.RowStyles.Add(new RowStyle(SizeType.Percent, 50F)); tableLayoutNums.RowStyles.Add(new RowStyle(SizeType.Percent, 50F)); + tableLayoutNums.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F)); tableLayoutNums.Size = new Size(338, 111); tableLayoutNums.TabIndex = 8; // @@ -303,39 +304,40 @@ // dgvProductNums.AllowUserToAddRows = false; dgvProductNums.AllowUserToDeleteRows = false; - dgvProductNums.AllowUserToResizeColumns = false; - dgvProductNums.AllowUserToResizeRows = false; dgvProductNums.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; dgvProductNums.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; dgvProductNums.BackgroundColor = SystemColors.Control; dgvProductNums.BorderStyle = BorderStyle.None; dgvProductNums.CellBorderStyle = DataGridViewCellBorderStyle.SunkenHorizontal; + dgvProductNums.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.None; dgvProductNums.ColumnHeadersHeight = 4; dgvProductNums.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; dgvProductNums.ColumnHeadersVisible = false; dgvProductNums.Dock = DockStyle.Fill; - dgvProductNums.Location = new Point(3, 3); + dgvProductNums.Location = new Point(3, 10); + dgvProductNums.Margin = new Padding(3, 10, 3, 0); dgvProductNums.MultiSelect = false; dgvProductNums.Name = "dgvProductNums"; dgvProductNums.ReadOnly = true; + dgvProductNums.RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.None; dgvProductNums.RowHeadersVisible = false; dgvProductNums.SelectionMode = DataGridViewSelectionMode.FullRowSelect; - dgvProductNums.Size = new Size(332, 49); + dgvProductNums.Size = new Size(332, 45); dgvProductNums.TabIndex = 10; // // tableLayoutPanel3 // tableLayoutPanel3.ColumnCount = 4; - tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); - tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); - tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 81F)); - tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 75F)); - tableLayoutPanel3.Controls.Add(lblNum, 1, 1); + tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F)); + tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F)); + tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F)); + tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F)); + tableLayoutPanel3.Controls.Add(lblTotalTime, 1, 1); tableLayoutPanel3.Controls.Add(label1, 2, 1); tableLayoutPanel3.Controls.Add(label12, 0, 1); tableLayoutPanel3.Controls.Add(lblUPH, 3, 1); - tableLayoutPanel3.Controls.Add(lblstarttime, 1, 0); - tableLayoutPanel3.Controls.Add(lblNowtime, 3, 0); + tableLayoutPanel3.Controls.Add(lblStartTime, 1, 0); + tableLayoutPanel3.Controls.Add(lblOEE_Total, 3, 0); tableLayoutPanel3.Controls.Add(label10, 0, 0); tableLayoutPanel3.Controls.Add(label7, 2, 0); tableLayoutPanel3.Dock = DockStyle.Fill; @@ -347,24 +349,24 @@ tableLayoutPanel3.Size = new Size(332, 50); tableLayoutPanel3.TabIndex = 11; // - // lblNum + // lblTotalTime // - lblNum.AutoSize = true; - lblNum.Dock = DockStyle.Fill; - lblNum.Location = new Point(91, 25); - lblNum.Name = "lblNum"; - lblNum.Size = new Size(82, 25); - lblNum.TabIndex = 15; - lblNum.Text = "0"; - lblNum.TextAlign = ContentAlignment.MiddleCenter; + lblTotalTime.AutoSize = true; + lblTotalTime.Dock = DockStyle.Fill; + lblTotalTime.Location = new Point(86, 25); + lblTotalTime.Name = "lblTotalTime"; + lblTotalTime.Size = new Size(77, 25); + lblTotalTime.TabIndex = 15; + lblTotalTime.Text = "0"; + lblTotalTime.TextAlign = ContentAlignment.MiddleCenter; // // label1 // label1.AutoSize = true; label1.Dock = DockStyle.Fill; - label1.Location = new Point(179, 25); + label1.Location = new Point(169, 25); label1.Name = "label1"; - label1.Size = new Size(75, 25); + label1.Size = new Size(77, 25); label1.TabIndex = 8; label1.Text = "UPH"; label1.TextAlign = ContentAlignment.MiddleCenter; @@ -375,43 +377,43 @@ label12.Dock = DockStyle.Fill; label12.Location = new Point(3, 25); label12.Name = "label12"; - label12.Size = new Size(82, 25); + label12.Size = new Size(77, 25); label12.TabIndex = 14; - label12.Text = "总计数"; + label12.Text = "运行时间"; label12.TextAlign = ContentAlignment.MiddleCenter; // // lblUPH // lblUPH.AutoSize = true; lblUPH.Dock = DockStyle.Fill; - lblUPH.Location = new Point(260, 25); + lblUPH.Location = new Point(252, 25); lblUPH.Name = "lblUPH"; - lblUPH.Size = new Size(69, 25); + lblUPH.Size = new Size(77, 25); lblUPH.TabIndex = 9; lblUPH.Text = "0"; lblUPH.TextAlign = ContentAlignment.MiddleCenter; // - // lblstarttime + // lblStartTime // - lblstarttime.AutoSize = true; - lblstarttime.Dock = DockStyle.Fill; - lblstarttime.Location = new Point(91, 0); - lblstarttime.Name = "lblstarttime"; - lblstarttime.Size = new Size(82, 25); - lblstarttime.TabIndex = 11; - lblstarttime.Text = "0"; - lblstarttime.TextAlign = ContentAlignment.MiddleCenter; + lblStartTime.AutoSize = true; + lblStartTime.Dock = DockStyle.Fill; + lblStartTime.Location = new Point(86, 0); + lblStartTime.Name = "lblStartTime"; + lblStartTime.Size = new Size(77, 25); + lblStartTime.TabIndex = 11; + lblStartTime.Text = "0"; + lblStartTime.TextAlign = ContentAlignment.MiddleCenter; // - // lblNowtime + // lblOEE_Total // - lblNowtime.AutoSize = true; - lblNowtime.Dock = DockStyle.Fill; - lblNowtime.Location = new Point(260, 0); - lblNowtime.Name = "lblNowtime"; - lblNowtime.Size = new Size(69, 25); - lblNowtime.TabIndex = 13; - lblNowtime.Text = "0"; - lblNowtime.TextAlign = ContentAlignment.MiddleCenter; + lblOEE_Total.AutoSize = true; + lblOEE_Total.Dock = DockStyle.Fill; + lblOEE_Total.Location = new Point(252, 0); + lblOEE_Total.Name = "lblOEE_Total"; + lblOEE_Total.Size = new Size(77, 25); + lblOEE_Total.TabIndex = 13; + lblOEE_Total.Text = "0"; + lblOEE_Total.TextAlign = ContentAlignment.MiddleCenter; // // label10 // @@ -419,20 +421,20 @@ label10.Dock = DockStyle.Fill; label10.Location = new Point(3, 0); label10.Name = "label10"; - label10.Size = new Size(82, 25); + label10.Size = new Size(77, 25); label10.TabIndex = 12; - label10.Text = "运行时间"; + label10.Text = "开始时间"; label10.TextAlign = ContentAlignment.MiddleCenter; // // label7 // label7.AutoSize = true; label7.Dock = DockStyle.Fill; - label7.Location = new Point(179, 0); + label7.Location = new Point(169, 0); label7.Name = "label7"; - label7.Size = new Size(75, 25); + label7.Size = new Size(77, 25); label7.TabIndex = 10; - label7.Text = "开始时间"; + label7.Text = "总计数"; label7.TextAlign = ContentAlignment.MiddleCenter; // // panel2 @@ -520,66 +522,66 @@ segmented1.Font = new Font("Microsoft YaHei UI", 9F); segmented1.ForeColor = Color.White; segmented1.Full = true; - segmentedItem6.Badge = null; - segmentedItem6.BadgeAlign = AntdUI.TAlignFrom.TR; - segmentedItem6.BadgeBack = null; - segmentedItem6.BadgeMode = false; - segmentedItem6.BadgeOffsetX = 0; - segmentedItem6.BadgeOffsetY = 0; - segmentedItem6.BadgeSize = 0.6F; - segmentedItem6.BadgeSvg = null; - segmentedItem6.IconActiveSvg = resources.GetString("segmentedItem6.IconActiveSvg"); - segmentedItem6.IconSvg = resources.GetString("segmentedItem6.IconSvg"); - segmentedItem6.Text = "启动"; - segmentedItem7.Badge = null; - segmentedItem7.BadgeAlign = AntdUI.TAlignFrom.TR; - segmentedItem7.BadgeBack = null; - segmentedItem7.BadgeMode = false; - segmentedItem7.BadgeOffsetX = 0; - segmentedItem7.BadgeOffsetY = 0; - segmentedItem7.BadgeSize = 0.6F; - segmentedItem7.BadgeSvg = null; - segmentedItem7.IconActiveSvg = resources.GetString("segmentedItem7.IconActiveSvg"); - segmentedItem7.IconSvg = resources.GetString("segmentedItem7.IconSvg"); - segmentedItem7.Text = "停止"; - segmentedItem8.Badge = null; - segmentedItem8.BadgeAlign = AntdUI.TAlignFrom.TR; - segmentedItem8.BadgeBack = null; - segmentedItem8.BadgeMode = false; - segmentedItem8.BadgeOffsetX = 0; - segmentedItem8.BadgeOffsetY = 0; - segmentedItem8.BadgeSize = 0.6F; - segmentedItem8.BadgeSvg = null; - segmentedItem8.IconActiveSvg = resources.GetString("segmentedItem8.IconActiveSvg"); - segmentedItem8.IconSvg = resources.GetString("segmentedItem8.IconSvg"); - segmentedItem8.Text = "复位"; - segmentedItem9.Badge = null; - segmentedItem9.BadgeAlign = AntdUI.TAlignFrom.TR; - segmentedItem9.BadgeBack = null; - segmentedItem9.BadgeMode = false; - segmentedItem9.BadgeOffsetX = 0; - segmentedItem9.BadgeOffsetY = 0; - segmentedItem9.BadgeSize = 0.6F; - segmentedItem9.BadgeSvg = null; - segmentedItem9.IconActiveSvg = resources.GetString("segmentedItem9.IconActiveSvg"); - segmentedItem9.IconSvg = resources.GetString("segmentedItem9.IconSvg"); - segmentedItem9.Text = "登录"; - segmentedItem10.Badge = null; - segmentedItem10.BadgeAlign = AntdUI.TAlignFrom.TR; - segmentedItem10.BadgeBack = null; - segmentedItem10.BadgeMode = false; - segmentedItem10.BadgeOffsetX = 0; - segmentedItem10.BadgeOffsetY = 0; - segmentedItem10.BadgeSize = 0.6F; - segmentedItem10.BadgeSvg = null; - segmentedItem10.IconActiveSvg = resources.GetString("segmentedItem10.IconActiveSvg"); - segmentedItem10.IconSvg = resources.GetString("segmentedItem10.IconSvg"); - segmentedItem10.Text = "设置"; - segmented1.Items.Add(segmentedItem6); - segmented1.Items.Add(segmentedItem7); - segmented1.Items.Add(segmentedItem8); - segmented1.Items.Add(segmentedItem9); - segmented1.Items.Add(segmentedItem10); + segmentedItem1.Badge = null; + segmentedItem1.BadgeAlign = AntdUI.TAlignFrom.TR; + segmentedItem1.BadgeBack = null; + segmentedItem1.BadgeMode = false; + segmentedItem1.BadgeOffsetX = 0; + segmentedItem1.BadgeOffsetY = 0; + segmentedItem1.BadgeSize = 0.6F; + segmentedItem1.BadgeSvg = null; + segmentedItem1.IconActiveSvg = resources.GetString("segmentedItem1.IconActiveSvg"); + segmentedItem1.IconSvg = resources.GetString("segmentedItem1.IconSvg"); + segmentedItem1.Text = "启动"; + segmentedItem2.Badge = null; + segmentedItem2.BadgeAlign = AntdUI.TAlignFrom.TR; + segmentedItem2.BadgeBack = null; + segmentedItem2.BadgeMode = false; + segmentedItem2.BadgeOffsetX = 0; + segmentedItem2.BadgeOffsetY = 0; + segmentedItem2.BadgeSize = 0.6F; + segmentedItem2.BadgeSvg = null; + segmentedItem2.IconActiveSvg = resources.GetString("segmentedItem2.IconActiveSvg"); + segmentedItem2.IconSvg = resources.GetString("segmentedItem2.IconSvg"); + segmentedItem2.Text = "停止"; + segmentedItem3.Badge = null; + segmentedItem3.BadgeAlign = AntdUI.TAlignFrom.TR; + segmentedItem3.BadgeBack = null; + segmentedItem3.BadgeMode = false; + segmentedItem3.BadgeOffsetX = 0; + segmentedItem3.BadgeOffsetY = 0; + segmentedItem3.BadgeSize = 0.6F; + segmentedItem3.BadgeSvg = null; + segmentedItem3.IconActiveSvg = resources.GetString("segmentedItem3.IconActiveSvg"); + segmentedItem3.IconSvg = resources.GetString("segmentedItem3.IconSvg"); + segmentedItem3.Text = "复位"; + segmentedItem4.Badge = null; + segmentedItem4.BadgeAlign = AntdUI.TAlignFrom.TR; + segmentedItem4.BadgeBack = null; + segmentedItem4.BadgeMode = false; + segmentedItem4.BadgeOffsetX = 0; + segmentedItem4.BadgeOffsetY = 0; + segmentedItem4.BadgeSize = 0.6F; + segmentedItem4.BadgeSvg = null; + segmentedItem4.IconActiveSvg = resources.GetString("segmentedItem4.IconActiveSvg"); + segmentedItem4.IconSvg = resources.GetString("segmentedItem4.IconSvg"); + segmentedItem4.Text = "登录"; + segmentedItem5.Badge = null; + segmentedItem5.BadgeAlign = AntdUI.TAlignFrom.TR; + segmentedItem5.BadgeBack = null; + segmentedItem5.BadgeMode = false; + segmentedItem5.BadgeOffsetX = 0; + segmentedItem5.BadgeOffsetY = 0; + segmentedItem5.BadgeSize = 0.6F; + segmentedItem5.BadgeSvg = null; + segmentedItem5.IconActiveSvg = resources.GetString("segmentedItem5.IconActiveSvg"); + segmentedItem5.IconSvg = resources.GetString("segmentedItem5.IconSvg"); + segmentedItem5.Text = "设置"; + segmented1.Items.Add(segmentedItem1); + segmented1.Items.Add(segmentedItem2); + segmented1.Items.Add(segmentedItem3); + segmented1.Items.Add(segmentedItem4); + segmented1.Items.Add(segmentedItem5); segmented1.Location = new Point(0, 0); segmented1.Name = "segmented1"; segmented1.Size = new Size(491, 68); @@ -663,12 +665,12 @@ private DataGridView dgvCamreaNums; private TableLayoutPanel tableLayoutNums; private Label label1; - private Label lblNum; + private Label lblTotalTime; private Label lblUPH; private Label label12; private Label label7; - private Label lblNowtime; - private Label lblstarttime; + private Label lblOEE_Total; + private Label lblStartTime; private Label label10; private DataGridView dgvProductNums; private TableLayoutPanel tableLayoutPanel3; diff --git a/DHSoftware/MainWindow.cs b/DHSoftware/MainWindow.cs index d8f151c..fabae99 100644 --- a/DHSoftware/MainWindow.cs +++ b/DHSoftware/MainWindow.cs @@ -183,7 +183,7 @@ namespace DHSoftware public MainWindow() { InitializeComponent(); - InitialCameraSumsView(); //refreshTimer.Start(); + //refreshTimer.Start(); //初始化数据 InitData(); //绑定事件 @@ -591,7 +591,7 @@ namespace DHSoftware cam.CameraName = cameraBase.CameraName; cam.CameraIP = cameraBase.CameraIP; cam.IsEnabled = cameraBase.IsEnabled; - cam.ImageSaveDirectory = "D://Cam1//"; + cam.ImageSaveDirectory = Path.Combine("D://Projects", cameraBase.CameraName); Cameras.Add(cam); if(cameraBase.IsEnabled) { @@ -691,6 +691,8 @@ namespace DHSoftware // _visionEngine = new SimboVisionDriver(); _visionEngine.DetectionConfigs = DetectionConfigs; + _visionEngine.LoggerHelper .LogPath = "D://PROJECTS//Logs//"; + _visionEngine.LoggerHelper.LogPrefix = "Vision"; _visionEngine.OnLog += _visionEngine_OnLog; //初始化模型 加载模型 _visionEngine.Init(); @@ -703,7 +705,7 @@ namespace DHSoftware private void _visionEngine_OnLog(LogMsg msg) { - OnLog?.Invoke(msg); + //OnLog?.Invoke(msg); LogDisplay(msg); } private void LogDisplay(LogMsg msg) @@ -736,12 +738,13 @@ namespace DHSoftware LogAsync(new LogMsg(dt, logLevel, msg)); } + System.Windows.Forms.Timer _refreshUITimer = new System.Windows.Forms.Timer(); private void BindEventHandler() { btnAddProject.Click += BtnAddProject_Click; btnDeleteProject.Click += BtnDeleteProject_Click; btnLoadProject.Click += BtnLoadProject_Click; - LoggerHelper.LogPath = "D://"; + LoggerHelper.LogPath = "D://PROJECTS//Logs//"; LoggerHelper.LogPrefix = "Process"; OnLog -= LogDisplay; OnLog += LogDisplay; @@ -751,6 +754,30 @@ namespace DHSoftware OnUpdateCamResult += UpdateCamResult; OnUpdateResult -= UpdateResult; OnUpdateResult += UpdateResult; + Load += (s, e) => + { + _refreshUITimer.Interval = 1000; + _refreshUITimer.Tick += _refreshUITimer_Tick; + _refreshUITimer.Enabled = true; + }; + } + private void _refreshUITimer_Tick(object sender, EventArgs e) + { + _refreshUITimer.Enabled = false; + + if (this != null) + { + lblStartTime.Text = StartTime == null ? "" : StartTime.Value.ToString("yyyy/MM/dd HH:mm:ss"); + lblTotalTime.Text = TotalTime.ToString(); // 运行时间 + // lblRunTime.Text = RunTime.ToString(); // 有效时间 + // lblIdleTime.Text = ProcessControl.IdleTime.ToString(); // 空闲时间 + // lblDownTime.Text = ProcessControl.DownTime.ToString(); // 宕机时间 + + lblOEE_Total.Text = ProductNum_Total.ToString(); + // lblOEE_OK.Text = ProcessControl.ProductNum_OK.ToString(); + } + + _refreshUITimer.Enabled = true; } private void UpdateCamResult(DateTime updateTime, object objData, string customMessage) { @@ -767,17 +794,17 @@ namespace DHSoftware { this.Invoke(new Action(() => { - dgvProductNums.DataSource = null; - dgvProductNums.DataSource = ProductSummaries; + + dgvProductNums.DataSource = new BindingList(ProductSummaries); - if (dgvProductNums.Rows.Count > 0) - { - dgvProductNums.Height = dgvProductNums.Rows[0].Height * dgvProductNums.Rows.Count + 15; - } - else - { - dgvProductNums.Height = 15; - } + //if (dgvProductNums.Rows.Count > 0) + //{ + // dgvProductNums.Height = dgvProductNums.Rows[0].Height * dgvProductNums.Rows.Count + 15; + //} + //else + //{ + // dgvProductNums.Height = 35; + //} //lblOEE_Rate.Text = ProcessControl.OEE.ToString("f2") + " %"; lblUPH.Text = UPH.ToString(); @@ -994,6 +1021,7 @@ namespace DHSoftware private void HandleStartButton() { + InitialCameraSumsView(); LogAsync(DateTime.Now, LogLevel.Information, "流程启动中,请稍候..."); StartProcess(); LogAsync(DateTime.Now, LogLevel.Action, "流程启动完成!"); @@ -1004,7 +1032,7 @@ namespace DHSoftware private void StartProcess() { ProcessstartTime = DateTime.Now; - lblstarttime.Text = ProcessstartTime.ToString("yyyy-MM-dd HH:mm:ss"); + lblStartTime.Text = ProcessstartTime.ToString("yyyy-MM-dd HH:mm:ss"); //计数清零 PieceCount = 0; @@ -1110,7 +1138,7 @@ namespace DHSoftware //流程执行时PLC PLC.StartProcess(); - + InitialOEEStatistic(); @@ -1231,7 +1259,7 @@ namespace DHSoftware return; } - // LogAsync(DateTime.Now, LogLevel.Information, $"{camera.Name} 找到产品{productNumber},队列{index}数量:{tmpDic.Count}"); + LogAsync(DateTime.Now, LogLevel.Information, $"{camera.CameraName} 找到产品{productNumber},队列{index}数量:{tmpDic.Count}"); if (!_cameraRelatedDetectionDict.ContainsKey(camera.CameraName)) { @@ -1275,24 +1303,32 @@ namespace DHSoftware { return; } - UpdateResultPro(DateTime.Now, null, product.ProductResult.GetEnumDescription()); - - + #region 6. 统计产品结果 product.ProductResult = product.ResultCollection.Any(u => u.ResultState != ResultState.OK) ? ResultState.B_NG : ResultState.OK; - //if (product.ProductResult == ResultState.OK) - //{ - // PLC.Blowing(productNumber, 1); - //} - //else - //{ - // PLC.Blowing(productNumber, 2); - //} product.ProductLabelCategory = product.ProductResult.GetEnumDescription(); product.ProductLabel = product.ProductResult.GetEnumDescription(); + UpdateResultPro(DateTime.Now, null, product.ProductResult.GetEnumDescription()); + + LogAsync(DateTime.Now, LogLevel.Information, $"产品{product.PieceNumber}获取结果:{product.ProductResult} {(product.IsA2B ? "产品IsA2B" : "")}"); + + + + if (product.ProductResult == ResultState.OK) + { + PLC.Blowing(productNumber, 1); + LogAsync(DateTime.Now, LogLevel.Action, $"产品{product.PieceNumber}PLC,OK吹气"); + + } + else + { + PLC.Blowing(productNumber, 2); + LogAsync(DateTime.Now, LogLevel.Action, $"产品{product.PieceNumber}PLC,NG吹气"); + } + #endregion 6. 统计产品结果 @@ -1344,10 +1380,7 @@ namespace DHSoftware })); //重新生成实例 销毁之前的实例 var saveData = temp.GetProductData(); - using (StreamWriter sw = new StreamWriter("D://123log.txt", true, Encoding.UTF8)) - { - sw.WriteLine(logStr); - } + } catch (Exception) { } finally diff --git a/DHSoftware/MainWindow.resx b/DHSoftware/MainWindow.resx index 8bed97b..8a0b8d7 100644 --- a/DHSoftware/MainWindow.resx +++ b/DHSoftware/MainWindow.resx @@ -1,7 +1,7 @@