25103101 加了连续测试及次数,验证ok。

This commit is contained in:
moxiliang
2025-10-31 17:03:15 +08:00
parent deecfd3acb
commit 465daa14c4
23 changed files with 604 additions and 279 deletions

Binary file not shown.

View File

@@ -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",

View File

@@ -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;
}
}

View File

@@ -94,6 +94,11 @@ namespace SLC1_N
chk_ch2saoma.Checked = config.GetValue<bool>("chk_ch2saoma", true);
chk_ch3saoma.Checked = config.GetValue<bool>("chk_ch3saoma", true);
chk_ch4saoma.Checked = config.GetValue<bool>("chk_ch4saoma", true);
// 连续测试/次数
chk_ContinueTest.Checked = config.GetValue<bool>("chk_ContinueTest", true);
tb_ContinueTestCount.Enabled = chk_ContinueTest.Checked;
tb_ContinueTestCount.Text = config.GetValue<int>("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));
}
}
}

View File

@@ -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<bool>("IsWarningEnabled", false);
mxlLog.Instance.IsXXXEnabled = jsconfig.GetValue<bool>("IsXXXEnabled", false);
// 连续测试/次数
m_ContinueTest = jsconfig.GetValue<bool>("chk_ContinueTest", true);
m_ContinueTestCount = jsconfig.GetValue<int>("tb_ContinueTestCount", 1);
// MES开关
MESswitch = jsconfig.GetValue<bool>("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,8 +1220,8 @@ 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]}");
@@ -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<int, bool, string>(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<int, bool, string>(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<int, bool, string>(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<int, bool, string>(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);
}
// 显示时间

Binary file not shown.

Binary file not shown.

View File

@@ -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

Binary file not shown.

Binary file not shown.

View File

@@ -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
}

View File

@@ -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
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.