diff --git a/.vs/LL28在线/FileContentIndex/51b4ab8c-082e-4cb2-8e72-59a5da7187de.vsidx b/.vs/LL28在线/FileContentIndex/30923d75-e9fa-42ea-98a8-68c88329b72e.vsidx similarity index 99% rename from .vs/LL28在线/FileContentIndex/51b4ab8c-082e-4cb2-8e72-59a5da7187de.vsidx rename to .vs/LL28在线/FileContentIndex/30923d75-e9fa-42ea-98a8-68c88329b72e.vsidx index 32042d3..5eeea33 100644 Binary files a/.vs/LL28在线/FileContentIndex/51b4ab8c-082e-4cb2-8e72-59a5da7187de.vsidx and b/.vs/LL28在线/FileContentIndex/30923d75-e9fa-42ea-98a8-68c88329b72e.vsidx differ diff --git a/.vs/LL28在线/v17/.suo b/.vs/LL28在线/v17/.suo index c4f359d..e4aaa01 100644 Binary files a/.vs/LL28在线/v17/.suo and b/.vs/LL28在线/v17/.suo differ diff --git a/.vs/LL28在线/v17/DocumentLayout.json b/.vs/LL28在线/v17/DocumentLayout.json index a7d51b7..627e51b 100644 --- a/.vs/LL28在线/v17/DocumentLayout.json +++ b/.vs/LL28在线/v17/DocumentLayout.json @@ -3,12 +3,20 @@ "WorkspaceRootPath": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\slc1-n\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form", + "AbsoluteMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\slc1-n\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|solutionrelative:slc1-n\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|d:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1Dll-28\\huabei4tongdao\\slc1-n\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form", "RelativeMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|solutionrelative:slc1-n\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form" }, { - "AbsoluteMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|d:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1Dll-28\\huabei4tongdao\\slc1-n\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|solutionrelative:slc1-n\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\slc1-n\\electricity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|solutionrelative:slc1-n\\electricity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\slc1-n\\electricity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form", + "RelativeMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|solutionrelative:slc1-n\\electricity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form" }, { "AbsoluteMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\slc1-n\\form_saomaset.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", @@ -25,14 +33,6 @@ { "AbsoluteMoniker": "D:0:0:{00000000-0000-0000-0000-000000000000}|\u003CSolution\u003E|SLC1-N||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|" }, - { - "AbsoluteMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\slc1-n\\electricity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|solutionrelative:slc1-n\\electricity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\slc1-n\\electricity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form", - "RelativeMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|solutionrelative:slc1-n\\electricity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form" - }, { "AbsoluteMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\slc1-n\\form_hbmesset.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form", "RelativeMoniker": "D:0:0:{F7F71589-095A-45C2-975C-739BE2D1CE15}|SLC1-N\\SLC1-N.csproj|solutionrelative:slc1-n\\form_hbmesset.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form" @@ -177,7 +177,7 @@ "DocumentGroups": [ { "DockedWidth": 152, - "SelectedChildIndex": 12, + "SelectedChildIndex": 11, "Children": [ { "$type": "Bookmark", @@ -210,7 +210,7 @@ }, { "$type": "Document", - "DocumentIndex": 3, + "DocumentIndex": 5, "Title": "Form_SaomaSet.cs [\u8BBE\u8BA1]", "DocumentMoniker": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\Form_SaomaSet.cs", "RelativeDocumentMoniker": "SLC1-N\\Form_SaomaSet.cs", @@ -218,8 +218,7 @@ "RelativeToolTip": "SLC1-N\\Form_SaomaSet.cs [\u8BBE\u8BA1]", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-08-19T07:59:43.205Z", - "IsPinned": true, - "EditorCaption": " [\u8BBE\u8BA1]" + "IsPinned": true }, { "$type": "Bookmark", @@ -251,20 +250,32 @@ }, { "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 0, "Title": "Form1.cs", "DocumentMoniker": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\Form1.cs", "RelativeDocumentMoniker": "SLC1-N\\Form1.cs", "ToolTip": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\Form1.cs", "RelativeToolTip": "SLC1-N\\Form1.cs", - "ViewState": "AQIAAN0PAAAAAAAAAADwv+MPAAANAAAA", + "ViewState": "AQIAAMMNAAAAAAAAAAA0wNgNAAAwAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-10-18T01:41:29.412Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 0, + "DocumentIndex": 3, + "Title": "Electricity.cs [\u8BBE\u8BA1]", + "DocumentMoniker": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\Electricity.cs", + "RelativeDocumentMoniker": "SLC1-N\\Electricity.cs", + "ToolTip": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\Electricity.cs [\u8BBE\u8BA1]", + "RelativeToolTip": "SLC1-N\\Electricity.cs [\u8BBE\u8BA1]", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-08-18T01:03:21.678Z", + "EditorCaption": " [\u8BBE\u8BA1]" + }, + { + "$type": "Document", + "DocumentIndex": 1, "Title": "Form1.cs [\u8BBE\u8BA1]", "DocumentMoniker": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\Form1.cs", "RelativeDocumentMoniker": "SLC1-N\\Form1.cs", @@ -276,7 +287,32 @@ }, { "$type": "Document", - "DocumentIndex": 5, + "DocumentIndex": 4, + "Title": "Form_SaomaSet.cs", + "DocumentMoniker": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\Form_SaomaSet.cs", + "RelativeDocumentMoniker": "SLC1-N\\Form_SaomaSet.cs", + "ToolTip": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\Form_SaomaSet.cs", + "RelativeToolTip": "SLC1-N\\Form_SaomaSet.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAH0BAAAsAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-08-19T07:59:44.649Z" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "Electricity.cs", + "DocumentMoniker": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\Electricity.cs", + "RelativeDocumentMoniker": "SLC1-N\\Electricity.cs", + "ToolTip": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\Electricity.cs", + "RelativeToolTip": "SLC1-N\\Electricity.cs", + "ViewState": "AQIAAEYCAAAAAAAAAAAAAFkCAAAJAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-08-18T01:07:56.418Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 7, "Title": "SLC1-N", "DocumentMoniker": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\SLC1-N.csproj", "RelativeDocumentMoniker": "SLC1-N\\SLC1-N.csproj", @@ -287,31 +323,7 @@ }, { "$type": "Document", - "DocumentIndex": 2, - "Title": "Form_SaomaSet.cs", - "DocumentMoniker": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\Form_SaomaSet.cs", - "RelativeDocumentMoniker": "SLC1-N\\Form_SaomaSet.cs", - "ToolTip": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\Form_SaomaSet.cs", - "RelativeToolTip": "SLC1-N\\Form_SaomaSet.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAH0BAAAsAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-08-19T07:59:44.649Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 7, - "Title": "Electricity.cs [\u8BBE\u8BA1]", - "DocumentMoniker": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\Electricity.cs", - "RelativeDocumentMoniker": "SLC1-N\\Electricity.cs", - "ToolTip": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\LL-28_sitongdao\\SLC1-N\\Electricity.cs [\u8BBE\u8BA1]", - "RelativeToolTip": "..\\LL-28_sitongdao\\SLC1-N\\Electricity.cs [\u8BBE\u8BA1]", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-08-18T01:03:21.678Z" - }, - { - "$type": "Document", - "DocumentIndex": 4, + "DocumentIndex": 6, "Title": "ActivationManager.cs", "DocumentMoniker": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\ActivationManager.cs", "RelativeDocumentMoniker": "SLC1-N\\ActivationManager.cs", @@ -332,18 +344,6 @@ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-08-28T00:46:32.087Z" }, - { - "$type": "Document", - "DocumentIndex": 6, - "Title": "Electricity.cs", - "DocumentMoniker": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\Electricity.cs", - "RelativeDocumentMoniker": "SLC1-N\\Electricity.cs", - "ToolTip": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\Electricity.cs", - "RelativeToolTip": "SLC1-N\\Electricity.cs", - "ViewState": "AQIAAPIBAAAAAAAAAAAuwP8BAAAQAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-08-18T01:07:56.418Z" - }, { "$type": "Document", "DocumentIndex": 9, @@ -378,7 +378,8 @@ "RelativeToolTip": "SLC1-N\\ModbusTCP_28.cs", "ViewState": "AQIAAOsAAAAAAAAAAAAzwAIBAAA9AAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-08-18T03:38:22.768Z" + "WhenOpened": "2025-08-18T03:38:22.768Z", + "EditorCaption": "" }, { "$type": "Document", @@ -460,8 +461,7 @@ "RelativeToolTip": "SLC1-N\\Form1.resx", "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001005|", - "WhenOpened": "2025-12-06T07:26:27.479Z", - "EditorCaption": "" + "WhenOpened": "2025-12-06T07:26:27.479Z" }, { "$type": "Document", @@ -485,8 +485,7 @@ "RelativeToolTip": "SLC1-N\\Form1.Designer.cs", "ViewState": "AQIAAOcJAAAAAAAAAAAnwPUJAAAzAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-08-19T01:41:25.114Z", - "EditorCaption": "" + "WhenOpened": "2025-08-19T01:41:25.114Z" }, { "$type": "Document", @@ -682,8 +681,7 @@ "RelativeToolTip": "SLC1-N\\Form_SaomaSet.Designer.cs", "ViewState": "AQIAABMAAAAAAAAAAABXwBYAAAAIAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-08-19T09:03:05.271Z", - "EditorCaption": "" + "WhenOpened": "2025-08-19T09:03:05.271Z" }, { "$type": "Document", @@ -694,8 +692,7 @@ "ToolTip": "D:\\\u684C\u9762\\\u83AB\u79A7\u4EAE\\\u534E\u52E4\\\u534E\u8D1DLL-28\\huabei4tongdao\\SLC1-N\\Form1.resx", "RelativeToolTip": "SLC1-N\\Form1.resx", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001005|", - "WhenOpened": "2025-08-20T01:30:09.83Z", - "EditorCaption": "" + "WhenOpened": "2025-08-20T01:30:09.83Z" }, { "$type": "Document", diff --git a/SLC1-N/Electricity.Designer.cs b/SLC1-N/Electricity.Designer.cs index ac3c20b..692501b 100644 --- a/SLC1-N/Electricity.Designer.cs +++ b/SLC1-N/Electricity.Designer.cs @@ -30,6 +30,8 @@ { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Electricity)); this.tabPage3 = new System.Windows.Forms.TabPage(); + this.chk_ch4saoma = new System.Windows.Forms.CheckBox(); + this.chk_ch3saoma = new System.Windows.Forms.CheckBox(); this.chk_ch2saoma = new System.Windows.Forms.CheckBox(); this.chk_ch1saoma = new System.Windows.Forms.CheckBox(); this.radioButton2 = new System.Windows.Forms.RadioButton(); @@ -123,8 +125,9 @@ this.label89 = new System.Windows.Forms.Label(); this.SendText = new System.Windows.Forms.TextBox(); this.uiTabControlMenu1 = new Sunny.UI.UITabControlMenu(); - this.chk_ch4saoma = new System.Windows.Forms.CheckBox(); - this.chk_ch3saoma = new System.Windows.Forms.CheckBox(); + this.label17 = new System.Windows.Forms.Label(); + this.tb_ContinueTestCount = new Sunny.UI.UITextBox(); + this.chk_ContinueTest = new System.Windows.Forms.CheckBox(); this.tabPage3.SuspendLayout(); this.uiGroupBox2.SuspendLayout(); this.uiGroupBox1.SuspendLayout(); @@ -137,7 +140,10 @@ // tabPage3 // this.tabPage3.BackColor = System.Drawing.Color.LightBlue; + this.tabPage3.Controls.Add(this.label17); this.tabPage3.Controls.Add(this.chk_ch4saoma); + this.tabPage3.Controls.Add(this.tb_ContinueTestCount); + this.tabPage3.Controls.Add(this.chk_ContinueTest); this.tabPage3.Controls.Add(this.chk_ch3saoma); this.tabPage3.Controls.Add(this.chk_ch2saoma); this.tabPage3.Controls.Add(this.chk_ch1saoma); @@ -153,6 +159,32 @@ this.tabPage3.TabIndex = 2; this.tabPage3.Text = "仪器参数设置"; // + // chk_ch4saoma + // + this.chk_ch4saoma.AutoSize = true; + this.chk_ch4saoma.BackColor = System.Drawing.Color.LightBlue; + this.chk_ch4saoma.Font = new System.Drawing.Font("宋体", 18F); + this.chk_ch4saoma.Location = new System.Drawing.Point(803, 617); + this.chk_ch4saoma.Name = "chk_ch4saoma"; + this.chk_ch4saoma.Size = new System.Drawing.Size(137, 28); + this.chk_ch4saoma.TabIndex = 480; + this.chk_ch4saoma.Text = "通道4扫码"; + this.chk_ch4saoma.UseVisualStyleBackColor = false; + this.chk_ch4saoma.CheckedChanged += new System.EventHandler(this.chk_ch4saoma_CheckedChanged); + // + // chk_ch3saoma + // + this.chk_ch3saoma.AutoSize = true; + this.chk_ch3saoma.BackColor = System.Drawing.Color.LightBlue; + this.chk_ch3saoma.Font = new System.Drawing.Font("宋体", 18F); + this.chk_ch3saoma.Location = new System.Drawing.Point(803, 579); + this.chk_ch3saoma.Name = "chk_ch3saoma"; + this.chk_ch3saoma.Size = new System.Drawing.Size(137, 28); + this.chk_ch3saoma.TabIndex = 479; + this.chk_ch3saoma.Text = "通道3扫码"; + this.chk_ch3saoma.UseVisualStyleBackColor = false; + this.chk_ch3saoma.CheckedChanged += new System.EventHandler(this.chk_ch3saoma_CheckedChanged); + // // chk_ch2saoma // this.chk_ch2saoma.AutoSize = true; @@ -182,7 +214,7 @@ // radioButton2 // this.radioButton2.AutoSize = true; - this.radioButton2.Location = new System.Drawing.Point(646, 465); + this.radioButton2.Location = new System.Drawing.Point(646, 483); this.radioButton2.Name = "radioButton2"; this.radioButton2.Size = new System.Drawing.Size(89, 20); this.radioButton2.TabIndex = 250; @@ -195,7 +227,7 @@ // radioButton1 // this.radioButton1.AutoSize = true; - this.radioButton1.Location = new System.Drawing.Point(536, 465); + this.radioButton1.Location = new System.Drawing.Point(536, 483); this.radioButton1.Name = "radioButton1"; this.radioButton1.Size = new System.Drawing.Size(89, 20); this.radioButton1.TabIndex = 249; @@ -1499,31 +1531,46 @@ this.uiTabControlMenu1.TabSelectedForeColor = System.Drawing.Color.Black; this.uiTabControlMenu1.TabUnSelectedForeColor = System.Drawing.Color.Black; // - // chk_ch4saoma + // label17 // - this.chk_ch4saoma.AutoSize = true; - this.chk_ch4saoma.BackColor = System.Drawing.Color.LightBlue; - this.chk_ch4saoma.Font = new System.Drawing.Font("宋体", 18F); - this.chk_ch4saoma.Location = new System.Drawing.Point(803, 617); - this.chk_ch4saoma.Name = "chk_ch4saoma"; - this.chk_ch4saoma.Size = new System.Drawing.Size(137, 28); - this.chk_ch4saoma.TabIndex = 480; - this.chk_ch4saoma.Text = "通道4扫码"; - this.chk_ch4saoma.UseVisualStyleBackColor = false; - this.chk_ch4saoma.CheckedChanged += new System.EventHandler(this.chk_ch4saoma_CheckedChanged); + this.label17.AutoSize = true; + this.label17.Font = new System.Drawing.Font("宋体", 15F); + this.label17.Location = new System.Drawing.Point(584, 569); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(59, 20); + this.label17.TabIndex = 485; + this.label17.Text = "次数:"; // - // chk_ch3saoma + // tb_ContinueTestCount // - this.chk_ch3saoma.AutoSize = true; - this.chk_ch3saoma.BackColor = System.Drawing.Color.LightBlue; - this.chk_ch3saoma.Font = new System.Drawing.Font("宋体", 18F); - this.chk_ch3saoma.Location = new System.Drawing.Point(803, 579); - this.chk_ch3saoma.Name = "chk_ch3saoma"; - this.chk_ch3saoma.Size = new System.Drawing.Size(137, 28); - this.chk_ch3saoma.TabIndex = 479; - this.chk_ch3saoma.Text = "通道3扫码"; - this.chk_ch3saoma.UseVisualStyleBackColor = false; - this.chk_ch3saoma.CheckedChanged += new System.EventHandler(this.chk_ch3saoma_CheckedChanged); + this.tb_ContinueTestCount.ButtonSymbol = 61761; + this.tb_ContinueTestCount.Cursor = System.Windows.Forms.Cursors.IBeam; + this.tb_ContinueTestCount.FillColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255))))); + this.tb_ContinueTestCount.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.tb_ContinueTestCount.Location = new System.Drawing.Point(646, 565); + this.tb_ContinueTestCount.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.tb_ContinueTestCount.Maximum = 2147483647D; + this.tb_ContinueTestCount.Minimum = -2147483648D; + this.tb_ContinueTestCount.MinimumSize = new System.Drawing.Size(1, 16); + this.tb_ContinueTestCount.Name = "tb_ContinueTestCount"; + this.tb_ContinueTestCount.Size = new System.Drawing.Size(80, 29); + this.tb_ContinueTestCount.Style = Sunny.UI.UIStyle.Custom; + this.tb_ContinueTestCount.TabIndex = 483; + this.tb_ContinueTestCount.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft; + this.tb_ContinueTestCount.TextChanged += new System.EventHandler(this.tb_ContinueTestCount_TextChanged); + // + // chk_ContinueTest + // + this.chk_ContinueTest.AutoSize = true; + this.chk_ContinueTest.BackColor = System.Drawing.Color.LightBlue; + this.chk_ContinueTest.Font = new System.Drawing.Font("宋体", 15F); + this.chk_ContinueTest.Location = new System.Drawing.Point(586, 533); + this.chk_ContinueTest.Name = "chk_ContinueTest"; + this.chk_ContinueTest.Size = new System.Drawing.Size(108, 24); + this.chk_ContinueTest.TabIndex = 484; + this.chk_ContinueTest.Text = "连续测试"; + this.chk_ContinueTest.UseVisualStyleBackColor = false; + this.chk_ContinueTest.CheckedChanged += new System.EventHandler(this.chk_ContinueTest_CheckedChanged); // // Electricity // @@ -1650,5 +1697,8 @@ private System.Windows.Forms.Label label10; private System.Windows.Forms.CheckBox chk_ch4saoma; private System.Windows.Forms.CheckBox chk_ch3saoma; + private System.Windows.Forms.Label label17; + private Sunny.UI.UITextBox tb_ContinueTestCount; + private System.Windows.Forms.CheckBox chk_ContinueTest; } } \ No newline at end of file diff --git a/SLC1-N/Electricity.cs b/SLC1-N/Electricity.cs index bc72a92..a34a282 100644 --- a/SLC1-N/Electricity.cs +++ b/SLC1-N/Electricity.cs @@ -94,6 +94,11 @@ namespace SLC1_N chk_ch2saoma.Checked = config.GetValue("chk_ch2saoma", true); chk_ch3saoma.Checked = config.GetValue("chk_ch3saoma", true); chk_ch4saoma.Checked = config.GetValue("chk_ch4saoma", true); + + // 连续测试/次数 + chk_ContinueTest.Checked = config.GetValue("chk_ContinueTest", true); + tb_ContinueTestCount.Enabled = chk_ContinueTest.Checked; + tb_ContinueTestCount.Text = config.GetValue("tb_ContinueTestCount", 1).ToString(); } //上传参数 @@ -596,6 +601,27 @@ namespace SLC1_N } } + // 是否连续测试 + private void chk_ContinueTest_CheckedChanged(object sender, EventArgs e) + { + Form1.f1.m_ContinueTest = chk_ContinueTest.Checked; + tb_ContinueTestCount.Enabled = chk_ContinueTest.Checked; + + var config = new JsonConfig("config.json"); + config.SetValue("chk_ContinueTest", chk_ContinueTest.Checked); + } + + // 连续次数 + private void tb_ContinueTestCount_TextChanged(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(tb_ContinueTestCount.Text)) + return; + + Form1.f1.m_ContinueTestCount = Convert.ToInt32(tb_ContinueTestCount.Text); + + var config = new JsonConfig("config.json"); + config.SetValue("tb_ContinueTestCount", Convert.ToInt32(tb_ContinueTestCount.Text)); + } } } diff --git a/SLC1-N/Form1.cs b/SLC1-N/Form1.cs index 7286b7d..774e0ed 100644 --- a/SLC1-N/Form1.cs +++ b/SLC1-N/Form1.cs @@ -60,6 +60,15 @@ namespace SLC1_N ProductionRecord m_production = new ProductionRecord(); // 产能记录 + public bool m_ContinueTest; // 连续测试 + public int m_ContinueTestCount; // 连续次数 + + // 测试次数 + private int CH1testCount = 0; + private int CH2testCount = 0; + private int CH3testCount = 0; + private int CH4testCount = 0; + public FileSave filesave; // 保存文件设置 public static bool MESswitch = false; // MES开关 @@ -128,7 +137,7 @@ namespace SLC1_N // 发送扫码启动 timer_SaomaStart.Interval = 500; - timer_SaomaStart.Start(); + //timer_SaomaStart.Start(); // 间隔8S清除消息框 if (lb_User.Text == "操作员") @@ -265,6 +274,10 @@ namespace SLC1_N mxlLog.Instance.IsWarningEnabled = jsconfig.GetValue("IsWarningEnabled", false); mxlLog.Instance.IsXXXEnabled = jsconfig.GetValue("IsXXXEnabled", false); + // 连续测试/次数 + m_ContinueTest = jsconfig.GetValue("chk_ContinueTest", true); + m_ContinueTestCount = jsconfig.GetValue("tb_ContinueTestCount", 1); + // MES开关 MESswitch = jsconfig.GetValue("MESswitch", false); if (MESswitch) @@ -1187,8 +1200,9 @@ namespace SLC1_N case (int)yiqi.rst: { - pb_CH1progressBar.Value = 0; // 复位进度条置为0 + SetProgressBar(pb_CH1progressBar, 0); // 复位进度条置为0 SetLabelText(lb_CH1_Status, "复位"); + CH1testCount = 0; // 重置测试次数 LL28CH1client.writeCoil("1", true); ch1workstation = (int)yiqi.standby; } @@ -1206,9 +1220,9 @@ namespace SLC1_N + Convert.ToInt32(LL28CH1client.ArrRegister[9] / 10.0); // 排气时间 // 配置进度条 - pb_CH1progressBar.Value = 0; - pb_CH1progressBar.Maximum = (CH1progressbar + 1) * 10; // 补偿1秒 - + SetProgressBar(pb_CH1progressBar, 0); + SetProgressBarMax(pb_CH1progressBar, (CH1progressbar + 1) * 10); // 补偿1秒 + // 设备运行状态 //Console.WriteLine($"prepare-设备运行状态: {LL28CH1client.ArrCoil[2]}"); if (LL28CH1client.ArrCoil[2]) @@ -1285,12 +1299,12 @@ namespace SLC1_N // 进度条 int pb_value = pb_CH1progressBar.Value + 5; - pb_CH1progressBar.Value = pb_value; + SetProgressBar(pb_CH1progressBar, pb_value); if (pb_value >= pb_CH1progressBar.Maximum) { pb_value = pb_CH1progressBar.Maximum; - pb_CH1progressBar.Value = pb_value; + SetProgressBar(pb_CH1progressBar, pb_value); } // 设备运行状态 @@ -1321,7 +1335,7 @@ namespace SLC1_N } else { - pb_CH1progressBar.Value = 0; + SetProgressBar(pb_CH1progressBar, 0); ch1workstation = (int)yiqi.standby; } } @@ -1360,13 +1374,11 @@ namespace SLC1_N bool result = false; if (testresult == 1) { - m_production.AddOK(); SetLabelText(lb_CH1_Result, "OK", Color.Green); result = true; } else if (testresult == 2) { - m_production.AddNG(); SetLabelText(lb_CH1_Result, "NG", Color.Red); result = false; } @@ -1374,56 +1386,91 @@ namespace SLC1_N { SetLabelText(lb_CH1_Result, ""); } - UploadProductionData(m_production.GetTotal(), m_production.GetOK(), m_production.GetNG(), m_production.GetOKRate()); // 更新产能 - - //Console.WriteLine($"finish-结果: {testresult}"); // 设备运行状态-停止 - //Console.WriteLine($"finish-设备运行状态: {LL28CH1client.ArrCoil[2]}"); - if (!LL28CH1client.ArrCoil[2]) + if (LL28CH1client.ArrCoil[2] == false) { - pb_CH1progressBar.Value = pb_CH1progressBar.Maximum; - - // MES - if (MESswitch) - { - RtValue rdata = chuzhan(1, lb_CH1Code.Text, result); - if (rdata.result) - { - SetLabelText(lb_CH1MES_OUTstatus, "PASS", Color.Green); - } - else - { - SetLabelText(lb_CH1MES_OUTstatus, "NG", Color.Red); - SetUITextBox(tb_CH1MainMessage, $"CH1 出站NG:{rdata.data}"); - } - } + SetProgressBar(pb_CH1progressBar, pb_CH1progressBar.Maximum); // 表格 DataGridView1.Invoke(new System.Action(Display), 1, result, lb_CH1Code.Text); - // 文件 - CreateFile(1, result, lb_CH1Code.Text); + bool testfinish = false; // 测试结束标志位 - if (HCPLC_client.Connected) + // 连续测试 + if (result == false) // NG直接视为本次测试结束 { - lock (plcLock) // 加锁 + testfinish = true; + } + else if (m_ContinueTest) // 开了连续 + { + CH1testCount++; + if (CH1testCount >= m_ContinueTestCount) // 测试次数满足 { - try - { - HCPLC_client.WriteSingleRegister(10, 0); - mxlLog.Instance.Info($"CH1清除PLC信号"); - } - catch (Exception ex) - { - mxlLog.Instance.Error($"CH1清除PLC信号异常 ,行号{ex.StackTrace} ", ex); - } + testfinish = true; + } + else + { + Thread.Sleep(150); + ch1workstation = (int)yiqi.start; } } + else if (m_ContinueTest == false) // 没开连续测试直接视为本次测试结束 + { + testfinish = true; + } - lb_CH1Code.Text = ""; - ch1workstation = (int)yiqi.standby; + if(testfinish) // 该产品测试完成 + { + if(result) + { + m_production.AddOK(); + } + else + { + m_production.AddNG(); + } + UploadProductionData(m_production.GetTotal(), m_production.GetOK(), m_production.GetNG(), m_production.GetOKRate()); // 更新产能 + + // 文件 + CreateFile(1, result, lb_CH1Code.Text); + + // MES + if (MESswitch) + { + RtValue rdata = chuzhan(1, lb_CH1Code.Text, result); + if (rdata.result) + { + SetLabelText(lb_CH1MES_OUTstatus, "PASS", Color.Green); + } + else + { + SetLabelText(lb_CH1MES_OUTstatus, "NG", Color.Red); + SetUITextBox(tb_CH1MainMessage, $"CH1 出站NG:{rdata.data}"); + } + } + + if (HCPLC_client.Connected) + { + lock (plcLock) // 加锁 + { + try + { + HCPLC_client.WriteSingleRegister(10, 0); + mxlLog.Instance.Info($"CH1清除PLC信号"); + } + catch (Exception ex) + { + mxlLog.Instance.Error($"CH1清除PLC信号异常 ,行号{ex.StackTrace} ", ex); + } + } + } + + CH1testCount = 0; // 重置测试次数 + lb_CH1Code.Text = ""; + ch1workstation = (int)yiqi.standby; + } } } break; @@ -1451,8 +1498,9 @@ namespace SLC1_N case (int)yiqi.rst: { - pb_CH2progressBar.Value = 0; // 复位进度条置为0 + SetProgressBar(pb_CH2progressBar, 0); // 复位进度条置为0 SetLabelText(lb_CH2_Status, "复位"); + CH2testCount = 0; // 重置测试次数 LL28CH2client.writeCoil("1", true); ch2workstation = (int)yiqi.standby; } @@ -1470,8 +1518,8 @@ namespace SLC1_N + Convert.ToInt32(LL28CH2client.ArrRegister[9] / 10.0); // 排气时间 // 配置进度条 - pb_CH2progressBar.Value = 0; - pb_CH2progressBar.Maximum = (CH2progressbar + 1) * 10; // 补偿1秒 + SetProgressBar(pb_CH2progressBar, 0); + SetProgressBarMax(pb_CH2progressBar, (CH2progressbar + 1) * 10); // 补偿1秒 // 设备运行状态 //Console.WriteLine($"prepare-设备运行状态: {LL28CH2client.ArrCoil[2]}"); @@ -1549,12 +1597,12 @@ namespace SLC1_N // 进度条 int pb_value = pb_CH2progressBar.Value + 5; - pb_CH2progressBar.Value = pb_value; + SetProgressBar(pb_CH2progressBar, pb_value); if (pb_value >= pb_CH2progressBar.Maximum) { pb_value = pb_CH2progressBar.Maximum; - pb_CH2progressBar.Value = pb_value; + SetProgressBar(pb_CH2progressBar, pb_value); } // 设备运行状态 @@ -1585,7 +1633,7 @@ namespace SLC1_N } else { - pb_CH2progressBar.Value = 0; + SetProgressBar(pb_CH2progressBar, 0); ch2workstation = (int)yiqi.standby; } } @@ -1624,13 +1672,11 @@ namespace SLC1_N bool result = false; if (testresult == 1) { - m_production.AddOK(); SetLabelText(lb_CH2_Result, "OK", Color.Green); result = true; } else if (testresult == 2) { - m_production.AddNG(); SetLabelText(lb_CH2_Result, "NG", Color.Red); result = false; } @@ -1638,56 +1684,93 @@ namespace SLC1_N { SetLabelText(lb_CH2_Result, ""); } - UploadProductionData(m_production.GetTotal(), m_production.GetOK(), m_production.GetNG(), m_production.GetOKRate()); // 更新产能 - //Console.WriteLine($"finish-结果: {testresult}"); // 设备运行状态-停止 //Console.WriteLine($"finish-设备运行状态: {LL28CH2client.ArrCoil[2]}"); - if (!LL28CH2client.ArrCoil[2]) + if (LL28CH2client.ArrCoil[2] == false) { - pb_CH2progressBar.Value = pb_CH2progressBar.Maximum; - - // MES - if (MESswitch) - { - RtValue rdata = chuzhan(2, lb_CH2Code.Text, result); - if (rdata.result) - { - SetLabelText(lb_CH2MES_OUTstatus, "PASS", Color.Green); - } - else - { - SetLabelText(lb_CH2MES_OUTstatus, "NG", Color.Red); - SetUITextBox(tb_CH2MainMessage, $"CH2 出站NG:{rdata.data}"); - } - } + SetProgressBar(pb_CH2progressBar, pb_CH2progressBar.Maximum); // 表格 DataGridView2.Invoke(new System.Action(Display), 2, result, lb_CH2Code.Text); - // 文件 - CreateFile(2, result, lb_CH2Code.Text); + bool testfinish = false; // 测试结束标志位 - if (HCPLC_client.Connected) + // 连续测试 + if (result == false) // NG直接视为本次测试结束 { - lock (plcLock) // 加锁 + testfinish = true; + } + else if (m_ContinueTest) // 开了连续 + { + CH2testCount++; + if (CH2testCount >= m_ContinueTestCount) // 测试次数满足 { - try - { - HCPLC_client.WriteSingleRegister(11, 0); - mxlLog.Instance.Info($"CH2清除PLC信号"); - } - catch (Exception ex) - { - mxlLog.Instance.Error($"CH2清除PLC信号异常 ,行号{ex.StackTrace} ", ex); - } + testfinish = true; + } + else + { + Thread.Sleep(150); + ch2workstation = (int)yiqi.start; } } + else if (m_ContinueTest == false) // 没开连续测试直接视为本次测试结束 + { + testfinish = true; + } - lb_CH2Code.Text = ""; - ch2workstation = (int)yiqi.standby; + if(testfinish) + { + if(result) + { + m_production.AddOK(); + } + else + { + m_production.AddNG(); + } + UploadProductionData(m_production.GetTotal(), m_production.GetOK(), m_production.GetNG(), m_production.GetOKRate()); // 更新产能 + + // 文件 + CreateFile(2, result, lb_CH2Code.Text); + + // MES + if (MESswitch) + { + RtValue rdata = chuzhan(2, lb_CH2Code.Text, result); + if (rdata.result) + { + SetLabelText(lb_CH2MES_OUTstatus, "PASS", Color.Green); + } + else + { + SetLabelText(lb_CH2MES_OUTstatus, "NG", Color.Red); + SetUITextBox(tb_CH2MainMessage, $"CH2 出站NG:{rdata.data}"); + } + } + + if (HCPLC_client.Connected) + { + lock (plcLock) // 加锁 + { + try + { + HCPLC_client.WriteSingleRegister(11, 0); + mxlLog.Instance.Info($"CH2清除PLC信号"); + } + catch (Exception ex) + { + mxlLog.Instance.Error($"CH2清除PLC信号异常 ,行号{ex.StackTrace} ", ex); + } + } + } + + CH2testCount = 0; // 重置测试次数 + lb_CH2Code.Text = ""; + ch2workstation = (int)yiqi.standby; + } } } break; @@ -1715,8 +1798,9 @@ namespace SLC1_N case (int)yiqi.rst: { - pb_CH3progressBar.Value = 0; // 复位进度条置为0 + SetProgressBar(pb_CH3progressBar, 0); // 复位进度条置为0 SetLabelText(lb_CH3_Status, "复位"); + CH3testCount = 0; // 重置测试次数 LL28CH3client.writeCoil("1", true); ch3workstation = (int)yiqi.standby; } @@ -1734,8 +1818,8 @@ namespace SLC1_N + Convert.ToInt32(LL28CH3client.ArrRegister[9] / 10.0); // 排气时间 // 配置进度条 - pb_CH3progressBar.Value = 0; - pb_CH3progressBar.Maximum = (CH3progressbar + 1) * 10; // 补偿1秒 + SetProgressBar(pb_CH3progressBar, 0); + SetProgressBarMax(pb_CH3progressBar, (CH3progressbar + 1) * 10); // 补偿1秒 // 设备运行状态 //Console.WriteLine($"prepare-设备运行状态: {LL28CH3client.ArrCoil[2]}"); @@ -1813,12 +1897,12 @@ namespace SLC1_N // 进度条 int pb_value = pb_CH3progressBar.Value + 5; - pb_CH3progressBar.Value = pb_value; + SetProgressBar(pb_CH3progressBar, pb_value); if (pb_value >= pb_CH3progressBar.Maximum) { pb_value = pb_CH3progressBar.Maximum; - pb_CH3progressBar.Value = pb_value; + SetProgressBar(pb_CH3progressBar, pb_value); } // 设备运行状态 @@ -1849,7 +1933,7 @@ namespace SLC1_N } else { - pb_CH3progressBar.Value = 0; + SetProgressBar(pb_CH3progressBar, 0); ch3workstation = (int)yiqi.standby; } } @@ -1888,13 +1972,11 @@ namespace SLC1_N bool result = false; if (testresult == 1) { - m_production.AddOK(); SetLabelText(lb_CH3_Result, "OK", Color.Green); result = true; } else if (testresult == 2) { - m_production.AddNG(); SetLabelText(lb_CH3_Result, "NG", Color.Red); result = false; } @@ -1902,56 +1984,92 @@ namespace SLC1_N { SetLabelText(lb_CH3_Result, ""); } - UploadProductionData(m_production.GetTotal(), m_production.GetOK(), m_production.GetNG(), m_production.GetOKRate()); // 更新产能 - - //Console.WriteLine($"finish-结果: {testresult}"); // 设备运行状态-停止 //Console.WriteLine($"finish-设备运行状态: {LL28CH3client.ArrCoil[2]}"); - if (!LL28CH3client.ArrCoil[2]) + if (LL28CH3client.ArrCoil[2] == false) { - pb_CH3progressBar.Value = pb_CH3progressBar.Maximum; - - // MES - if (MESswitch) - { - RtValue rdata = chuzhan(3, lb_CH3Code.Text, result); - if (rdata.result) - { - SetLabelText(lb_CH3MES_OUTstatus, "PASS", Color.Green); - } - else - { - SetLabelText(lb_CH3MES_OUTstatus, "NG", Color.Red); - SetUITextBox(tb_CH1MainMessage, $"CH3 出站NG:{rdata.data}"); - } - } + SetProgressBar(pb_CH3progressBar, pb_CH3progressBar.Maximum); // 表格 DataGridView1.Invoke(new System.Action(Display), 3, result, lb_CH3Code.Text); - // 文件 - CreateFile(3, result, lb_CH3Code.Text); + bool testfinish = false; // 测试结束标志位 - if (HCPLC_client.Connected) + // 连续测试 + if (result == false) // NG直接视为本次测试结束 { - lock (plcLock) // 加锁 + testfinish = true; + } + else if (m_ContinueTest) // 开了连续 + { + CH3testCount++; + if (CH3testCount >= m_ContinueTestCount) // 测试次数满足 { - try - { - HCPLC_client.WriteSingleRegister(12, 0); - mxlLog.Instance.Info($"CH3清除PLC信号"); - } - catch (Exception ex) - { - mxlLog.Instance.Error($"CH3清除PLC信号异常 ,行号{ex.StackTrace} ", ex); - } + testfinish = true; + } + else + { + Thread.Sleep(150); + ch3workstation = (int)yiqi.start; } } + else if (m_ContinueTest == false) // 没开连续测试直接视为本次测试结束 + { + testfinish = true; + } - lb_CH3Code.Text = ""; - ch3workstation = (int)yiqi.standby; + if(testfinish) + { + if(result) + { + m_production.AddOK(); + } + else + { + m_production.AddNG(); + } + UploadProductionData(m_production.GetTotal(), m_production.GetOK(), m_production.GetNG(), m_production.GetOKRate()); // 更新产能 + + // 文件 + CreateFile(3, result, lb_CH3Code.Text); + + // MES + if (MESswitch) + { + RtValue rdata = chuzhan(3, lb_CH3Code.Text, result); + if (rdata.result) + { + SetLabelText(lb_CH3MES_OUTstatus, "PASS", Color.Green); + } + else + { + SetLabelText(lb_CH3MES_OUTstatus, "NG", Color.Red); + SetUITextBox(tb_CH1MainMessage, $"CH3 出站NG:{rdata.data}"); + } + } + + if (HCPLC_client.Connected) + { + lock (plcLock) // 加锁 + { + try + { + HCPLC_client.WriteSingleRegister(12, 0); + mxlLog.Instance.Info($"CH3清除PLC信号"); + } + catch (Exception ex) + { + mxlLog.Instance.Error($"CH3清除PLC信号异常 ,行号{ex.StackTrace} ", ex); + } + } + } + + CH3testCount = 0; // 重置测试次数 + lb_CH3Code.Text = ""; + ch3workstation = (int)yiqi.standby; + } } } break; @@ -1979,8 +2097,9 @@ namespace SLC1_N case (int)yiqi.rst: { - pb_CH4progressBar.Value = 0; // 复位进度条置为0 + SetProgressBar(pb_CH4progressBar, 0); // 复位进度条置为0 SetLabelText(lb_CH4_Status, "复位"); + CH4testCount = 0; // 重置测试次数 LL28CH4client.writeCoil("1", true); ch4workstation = (int)yiqi.standby; } @@ -1998,8 +2117,8 @@ namespace SLC1_N + Convert.ToInt32(LL28CH4client.ArrRegister[9] / 10.0); // 排气时间 // 配置进度条 - pb_CH4progressBar.Value = 0; - pb_CH4progressBar.Maximum = (CH4progressbar + 1) * 10; // 补偿1秒 + SetProgressBar(pb_CH4progressBar, 0); + SetProgressBarMax(pb_CH4progressBar, (CH4progressbar + 1) * 10); // 补偿1秒 // 设备运行状态 //Console.WriteLine($"prepare-设备运行状态: {LL28CH4client.ArrCoil[2]}"); @@ -2077,12 +2196,13 @@ namespace SLC1_N // 进度条 int pb_value = pb_CH4progressBar.Value + 5; - pb_CH4progressBar.Value = pb_value; + SetProgressBar(pb_CH4progressBar, pb_value); if (pb_value >= pb_CH4progressBar.Maximum) { pb_value = pb_CH4progressBar.Maximum; - pb_CH4progressBar.Value = pb_value; + SetProgressBar(pb_CH4progressBar, pb_value); + } // 设备运行状态 @@ -2113,7 +2233,7 @@ namespace SLC1_N } else { - pb_CH4progressBar.Value = 0; + SetProgressBar(pb_CH4progressBar, 0); ch4workstation = (int)yiqi.standby; } } @@ -2152,13 +2272,11 @@ namespace SLC1_N bool result = false; if (testresult == 1) { - m_production.AddOK(); SetLabelText(lb_CH4_Result, "OK", Color.Green); result = true; } else if (testresult == 2) { - m_production.AddNG(); SetLabelText(lb_CH4_Result, "NG", Color.Red); result = false; } @@ -2166,56 +2284,93 @@ namespace SLC1_N { SetLabelText(lb_CH4_Result, ""); } - UploadProductionData(m_production.GetTotal(), m_production.GetOK(), m_production.GetNG(), m_production.GetOKRate()); // 更新产能 - //Console.WriteLine($"finish-结果: {testresult}"); // 设备运行状态-停止 //Console.WriteLine($"finish-设备运行状态: {LL28CH4client.ArrCoil[2]}"); - if (!LL28CH4client.ArrCoil[2]) + if (LL28CH4client.ArrCoil[2] == false) { - pb_CH4progressBar.Value = pb_CH4progressBar.Maximum; - - // MES - if (MESswitch) - { - RtValue rdata = chuzhan(4, lb_CH4Code.Text, result); - if (rdata.result) - { - SetLabelText(lb_CH4MES_OUTstatus, "PASS", Color.Green); - } - else - { - SetLabelText(lb_CH4MES_OUTstatus, "NG", Color.Red); - SetUITextBox(tb_CH2MainMessage, $"CH4 出站NG:{rdata.data}"); - } - } + SetProgressBar(pb_CH4progressBar, pb_CH4progressBar.Maximum); // 表格 DataGridView2.Invoke(new System.Action(Display), 4, result, lb_CH4Code.Text); - // 文件 - CreateFile(4, result, lb_CH4Code.Text); + bool testfinish = false; // 测试结束标志位 - if (HCPLC_client.Connected) + // 连续测试 + if (result == false) // NG直接视为本次测试结束 { - lock (plcLock) // 加锁 + testfinish = true; + } + else if (m_ContinueTest) // 开了连续 + { + CH4testCount++; + if (CH4testCount >= m_ContinueTestCount) // 测试次数满足 { - try - { - HCPLC_client.WriteSingleRegister(13, 0); - mxlLog.Instance.Info($"CH4清除PLC信号"); - } - catch (Exception ex) - { - mxlLog.Instance.Error($"CH4清除PLC信号异常 ,行号{ex.StackTrace} ", ex); - } + testfinish = true; + } + else + { + Thread.Sleep(150); + ch4workstation = (int)yiqi.start; } } + else if (m_ContinueTest == false) // 没开连续测试直接视为本次测试结束 + { + testfinish = true; + } - lb_CH4Code.Text = ""; - ch4workstation = (int)yiqi.standby; + if(testfinish) + { + if(result) + { + m_production.AddOK(); + } + else + { + m_production.AddNG(); + } + UploadProductionData(m_production.GetTotal(), m_production.GetOK(), m_production.GetNG(), m_production.GetOKRate()); // 更新产能 + + // 文件 + CreateFile(4, result, lb_CH4Code.Text); + + // MES + if (MESswitch) + { + RtValue rdata = chuzhan(4, lb_CH4Code.Text, result); + if (rdata.result) + { + SetLabelText(lb_CH4MES_OUTstatus, "PASS", Color.Green); + } + else + { + SetLabelText(lb_CH4MES_OUTstatus, "NG", Color.Red); + SetUITextBox(tb_CH2MainMessage, $"CH4 出站NG:{rdata.data}"); + } + } + + if (HCPLC_client.Connected) + { + lock (plcLock) // 加锁 + { + try + { + HCPLC_client.WriteSingleRegister(13, 0); + mxlLog.Instance.Info($"CH4清除PLC信号"); + } + catch (Exception ex) + { + mxlLog.Instance.Error($"CH4清除PLC信号异常 ,行号{ex.StackTrace} ", ex); + } + } + } + + CH4testCount = 0; // 重置测试次数 + lb_CH4Code.Text = ""; + ch4workstation = (int)yiqi.standby; + } } } break; @@ -3235,6 +3390,75 @@ namespace SLC1_N } } + // 更新进度条值 + private void SetProgressBar(Sunny.UI.UIProcessBar progressBar, int value) + { + try + { + if (progressBar.IsDisposed || cts?.IsCancellationRequested == true) + return; + + if (progressBar.InvokeRequired) + { + progressBar.BeginInvoke((MethodInvoker)delegate + { + if (!progressBar.IsDisposed) + { + progressBar.Value = Math.Min(value, progressBar.Maximum); + } + }); + } + else + { + if (!progressBar.IsDisposed) + { + progressBar.Value = Math.Min(value, progressBar.Maximum); + } + } + } + catch (ObjectDisposedException) + { + // + } + } + + // 设置进度条最大值 + private void SetProgressBarMax(Sunny.UI.UIProcessBar progressBar, int maximum) + { + try + { + if (progressBar.IsDisposed || cts?.IsCancellationRequested == true) + return; + + if (progressBar.InvokeRequired) + { + progressBar.BeginInvoke((MethodInvoker)delegate + { + if (!progressBar.IsDisposed) + { + progressBar.Maximum = maximum; + // 确保当前值不超过新的最大值 + if (progressBar.Value > maximum) + progressBar.Value = maximum; + } + }); + } + else + { + if (!progressBar.IsDisposed) + { + progressBar.Maximum = maximum; + if (progressBar.Value > maximum) + progressBar.Value = maximum; + } + } + } + catch (ObjectDisposedException) + { + // + } + } + // 串口1接收函数(扫码枪1) //private void CodePort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) @@ -3315,8 +3539,18 @@ namespace SLC1_N } if (itemText == "产能清零") { - m_production.Clear(); - UploadProductionData(m_production.GetTotal(), m_production.GetOK(), m_production.GetNG(), m_production.GetOKRate()); // 更新产能 + DialogResult result = MessageBox.Show( + "确定要清零吗?", + "确认", + MessageBoxButtons.YesNo, + MessageBoxIcon.Question + ); + + if (result == DialogResult.Yes) + { + m_production.Clear(); + UploadProductionData(m_production.GetTotal(), m_production.GetOK(), m_production.GetNG(), m_production.GetOKRate()); // 更新产能 + } } //if (itemText == "LIN设置") //{ @@ -4633,7 +4867,9 @@ namespace SLC1_N private void timer_SaomaStart_Tick(object sender, EventArgs e) { Slot_SaomaStart(1); - //Slot_SaomaStart(2); + Slot_SaomaStart(2); + Slot_SaomaStart(3); + Slot_SaomaStart(4); } // 显示时间 diff --git a/SLC1-N/bin/Debug/LL28-V25102401.exe b/SLC1-N/bin/Debug/LL28-V25102401.exe index 5554432..5545d99 100644 Binary files a/SLC1-N/bin/Debug/LL28-V25102401.exe and b/SLC1-N/bin/Debug/LL28-V25102401.exe differ diff --git a/SLC1-N/bin/Debug/LL28-V25102401.pdb b/SLC1-N/bin/Debug/LL28-V25102401.pdb index 40cad5f..a6d1bcf 100644 Binary files a/SLC1-N/bin/Debug/LL28-V25102401.pdb and b/SLC1-N/bin/Debug/LL28-V25102401.pdb differ diff --git a/SLC1-N/bin/Debug/Logs/log_20251031.log b/SLC1-N/bin/Debug/Logs/log_20251031.log new file mode 100644 index 0000000..f0969ba --- /dev/null +++ b/SLC1-N/bin/Debug/Logs/log_20251031.log @@ -0,0 +1,10 @@ +2025-10-31 13:37:42.851 [ERROR] 串口扫码枪初始化 异常 ,行号 在 System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str) + 在 System.IO.Ports.SerialStream..ctor(String portName, Int32 baudRate, Parity parity, Int32 dataBits, StopBits stopBits, Int32 readTimeout, Int32 writeTimeout, Handshake handshake, Boolean dtrEnable, Boolean rtsEnable, Boolean discardNull, Byte parityReplace) + 在 System.IO.Ports.SerialPort.Open() + 在 SLC1_N.Form1.SerialPort_Saoma_Init() 位置 D:\桌面\莫禧亮\华勤\华贝LL-28\huabei4tongdao\SLC1-N\Form1.cs:行号 506 +Exception: UnauthorizedAccessException +Message: 对端口“COM11”的访问被拒绝。 +Stack Trace: 在 System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str) + 在 System.IO.Ports.SerialStream..ctor(String portName, Int32 baudRate, Parity parity, Int32 dataBits, StopBits stopBits, Int32 readTimeout, Int32 writeTimeout, Handshake handshake, Boolean dtrEnable, Boolean rtsEnable, Boolean discardNull, Byte parityReplace) + 在 System.IO.Ports.SerialPort.Open() + 在 SLC1_N.Form1.SerialPort_Saoma_Init() 位置 D:\桌面\莫禧亮\华勤\华贝LL-28\huabei4tongdao\SLC1-N\Form1.cs:行号 506 diff --git a/SLC1-N/bin/Debug/NetWorkHelper.dll b/SLC1-N/bin/Debug/NetWorkHelper.dll index adddcb8..7f5499b 100644 Binary files a/SLC1-N/bin/Debug/NetWorkHelper.dll and b/SLC1-N/bin/Debug/NetWorkHelper.dll differ diff --git a/SLC1-N/bin/Debug/NetWorkHelper.pdb b/SLC1-N/bin/Debug/NetWorkHelper.pdb index dad2f57..0d57bfb 100644 Binary files a/SLC1-N/bin/Debug/NetWorkHelper.pdb and b/SLC1-N/bin/Debug/NetWorkHelper.pdb differ diff --git a/SLC1-N/bin/Debug/config.json b/SLC1-N/bin/Debug/config.json index de4aeb4..99a0a38 100644 --- a/SLC1-N/bin/Debug/config.json +++ b/SLC1-N/bin/Debug/config.json @@ -1,18 +1,18 @@ { "ch1AutoConnect": false, "ch2AutoConnect": false, - "ch1ipaddress": "", + "ch1ipaddress": "192.168.1.131", "SerialPort_CH1BaudRate": "9600", "SerialPort_CH1PortName": "COM21", "SerialPort_CH2BaudRate": "9600", - "SerialPort_CH2PortName": "COM11", + "SerialPort_CH2PortName": "COM31", "Saoma_IP1": "127.0.0.1", "Saoma_Port1": "51111", "Saoma_IP2": "127.0.0.1", "Saoma_Port2": "52222", - "IsDebugEnabled": true, - "IsErrorEnabled": true, - "IsInfoEnabled": true, + "IsDebugEnabled": false, + "IsErrorEnabled": false, + "IsInfoEnabled": false, "IsWarningEnabled": false, "IsXXXEnabled": false, "CodeScanner": "SerialPort", @@ -104,8 +104,8 @@ "CodeLength4": "10", "ch3AutoConnect": false, "ch4AutoConnect": false, - "ch3ipaddress": "", - "ch4ipaddress": "", + "ch3ipaddress": "192.168.1.131", + "ch4ipaddress": "192.168.1.131", "mes_urlip": "localhost", "mes_urlport": "43120", "mes_partno": "1", @@ -138,5 +138,11 @@ "chk_ch1saoma": true, "chk_ch2saoma": true, "chk_ch3saoma": true, - "chk_ch4saoma": true + "chk_ch4saoma": true, + "SerialPort_CH3BaudRate": "9600", + "SerialPort_CH3PortName": "COM41", + "SerialPort_CH4BaudRate": "9600", + "SerialPort_CH4PortName": "COM51", + "chk_ContinueTest": true, + "tb_ContinueTestCount": 4 } \ No newline at end of file diff --git a/SLC1-N/bin/Debug/productiondata.json b/SLC1-N/bin/Debug/productiondata.json index 9c36c03..ebcb644 100644 --- a/SLC1-N/bin/Debug/productiondata.json +++ b/SLC1-N/bin/Debug/productiondata.json @@ -1,10 +1,10 @@ { "ProductionData": { - "Total": 0, - "OK": 0, + "Total": 5, + "OK": 5, "NG": 0, - "LastUpdate": "2025-10-16T14:23:26.633967+08:00", - "OKRate": 0.0, + "LastUpdate": "2025-10-31T16:59:54.9456812+08:00", + "OKRate": 100.0, "NGRate": 0.0 } } \ No newline at end of file diff --git a/SLC1-N/obj/Debug/Interop.ADOX.dll b/SLC1-N/obj/Debug/Interop.ADOX.dll index 4eac5c0..47e3cb5 100644 Binary files a/SLC1-N/obj/Debug/Interop.ADOX.dll and b/SLC1-N/obj/Debug/Interop.ADOX.dll differ diff --git a/SLC1-N/obj/Debug/LL28-V25102401.exe b/SLC1-N/obj/Debug/LL28-V25102401.exe index 5554432..5545d99 100644 Binary files a/SLC1-N/obj/Debug/LL28-V25102401.exe and b/SLC1-N/obj/Debug/LL28-V25102401.exe differ diff --git a/SLC1-N/obj/Debug/LL28-V25102401.pdb b/SLC1-N/obj/Debug/LL28-V25102401.pdb index 40cad5f..a6d1bcf 100644 Binary files a/SLC1-N/obj/Debug/LL28-V25102401.pdb and b/SLC1-N/obj/Debug/LL28-V25102401.pdb differ diff --git a/SLC1-N/obj/Debug/SLC1-N.csproj.AssemblyReference.cache b/SLC1-N/obj/Debug/SLC1-N.csproj.AssemblyReference.cache index 214e147..53fff7a 100644 Binary files a/SLC1-N/obj/Debug/SLC1-N.csproj.AssemblyReference.cache and b/SLC1-N/obj/Debug/SLC1-N.csproj.AssemblyReference.cache differ diff --git a/SLC1-N/obj/Debug/SLC1-N.csproj.GenerateResource.cache b/SLC1-N/obj/Debug/SLC1-N.csproj.GenerateResource.cache index 94f52d3..41b957f 100644 Binary files a/SLC1-N/obj/Debug/SLC1-N.csproj.GenerateResource.cache and b/SLC1-N/obj/Debug/SLC1-N.csproj.GenerateResource.cache differ diff --git a/tongxin/NetWorkHelper/bin/Debug/NetWorkHelper.dll b/tongxin/NetWorkHelper/bin/Debug/NetWorkHelper.dll index adddcb8..7f5499b 100644 Binary files a/tongxin/NetWorkHelper/bin/Debug/NetWorkHelper.dll and b/tongxin/NetWorkHelper/bin/Debug/NetWorkHelper.dll differ diff --git a/tongxin/NetWorkHelper/bin/Debug/NetWorkHelper.pdb b/tongxin/NetWorkHelper/bin/Debug/NetWorkHelper.pdb index dad2f57..0d57bfb 100644 Binary files a/tongxin/NetWorkHelper/bin/Debug/NetWorkHelper.pdb and b/tongxin/NetWorkHelper/bin/Debug/NetWorkHelper.pdb differ diff --git a/tongxin/NetWorkHelper/obj/Debug/NetWorkHelper.csproj.AssemblyReference.cache b/tongxin/NetWorkHelper/obj/Debug/NetWorkHelper.csproj.AssemblyReference.cache index d0caf19..f049f89 100644 Binary files a/tongxin/NetWorkHelper/obj/Debug/NetWorkHelper.csproj.AssemblyReference.cache and b/tongxin/NetWorkHelper/obj/Debug/NetWorkHelper.csproj.AssemblyReference.cache differ diff --git a/tongxin/NetWorkHelper/obj/Debug/NetWorkHelper.dll b/tongxin/NetWorkHelper/obj/Debug/NetWorkHelper.dll index adddcb8..7f5499b 100644 Binary files a/tongxin/NetWorkHelper/obj/Debug/NetWorkHelper.dll and b/tongxin/NetWorkHelper/obj/Debug/NetWorkHelper.dll differ diff --git a/tongxin/NetWorkHelper/obj/Debug/NetWorkHelper.pdb b/tongxin/NetWorkHelper/obj/Debug/NetWorkHelper.pdb index dad2f57..0d57bfb 100644 Binary files a/tongxin/NetWorkHelper/obj/Debug/NetWorkHelper.pdb and b/tongxin/NetWorkHelper/obj/Debug/NetWorkHelper.pdb differ