浏览代码

新增临界值补偿,数据库存储优化,产品编号输入判断

wangyingliang 3 年之前
父节点
当前提交
13cf4f34b8

+ 1 - 1
exe/JGWorks.exe.config

@@ -28,7 +28,7 @@
 其中,连接字符串是后来加上的。到这一步已经可以正常访问了-->
   <connectionStrings>
     <!--<add name="localdb" connectionString="Data Source=localhost\SQLEXPRESS;Database=autotestdata;User ID=mskjpt;Password=Pmskjpt2020;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />-->
-    <add name="localdb" connectionString="Data Source=127.0.0.1;port=3306;database=bladex_boot;user id=tester;password=tester12345;" providerName="MySql.Data.MySqlClient" />
+    <add name="localdb" connectionString="Data Source=127.0.0.1;port=3308;database=bladex_boot;user id=tester;password=tester12345;Character Set=utf8;" providerName="MySql.Data.MySqlClient" />
     <add name="serverdb" connectionString="Data Source=132.232.11.90;port=3306;database=bladex_boot;user id=root;password=ds3342Jg*df;" providerName="MySql.Data.MySqlClient" />
     <!--<add name="serverdb" connectionString="Data Source=111.230.41.196;port=15589;database=autotestdata;user id=mskjpt;password=Pmskjpt2020;" providerName="MySql.Data.MySqlClient" />-->
     <!--<add name="serverdb" connectionString="Data Source=111.230.41.196;port=15589;database=bladex_boot;user id=mskjpt;password=Pmskjpt2020;" providerName="MySql.Data.MySqlClient" />-->

二进制
exe/apps/Tps_LQ_Transmitter/Tps_LQ_Transmitter.dll


二进制
exe/apps/Tps_LQ_Transmitter/Tps_LQ_Transmitter.pdb


二进制
exe/apps/Tps_LQ_Transmitter/config/串口控制.xlsx


二进制
exe/apps/Tps_LQ_Transmitter/config/测试#常温测试#9B发射机-N9030A.xlsx


二进制
tps/TpsLabStudio/.vs/TpsLabStudio/v16/.suo


+ 73 - 73
tps/TpsLabStudio/FrmMain.Designer.cs

@@ -30,8 +30,8 @@
         {
             this.components = new System.ComponentModel.Container();
             DevComponents.DotNetBar.Layout.BorderPattern borderPattern1 = new DevComponents.DotNetBar.Layout.BorderPattern();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
             this.splitContainer1 = new System.Windows.Forms.SplitContainer();
             this.advTree1 = new DevComponents.AdvTree.AdvTree();
             this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
@@ -75,15 +75,15 @@
             this.layoutControlItem11 = new DevComponents.DotNetBar.Layout.LayoutControlItem();
             this.panel1 = new System.Windows.Forms.Panel();
             this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl();
+            this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel();
+            this.dgvTestData = new DevComponents.DotNetBar.Controls.DataGridViewX();
+            this.tabTestData = new DevComponents.DotNetBar.SuperTabItem();
             this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel();
             this.dgvManualData = new DevComponents.DotNetBar.Controls.DataGridViewX();
             this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
             this.BtnLoadManualData = new DevComponents.DotNetBar.ButtonX();
             this.BtnSaveManualData = new DevComponents.DotNetBar.ButtonX();
             this.tabManualData = new DevComponents.DotNetBar.SuperTabItem();
-            this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel();
-            this.dgvTestData = new DevComponents.DotNetBar.Controls.DataGridViewX();
-            this.tabTestData = new DevComponents.DotNetBar.SuperTabItem();
             ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
             this.splitContainer1.Panel1.SuspendLayout();
             this.splitContainer1.Panel2.SuspendLayout();
@@ -94,11 +94,11 @@
             this.panel1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit();
             this.superTabControl1.SuspendLayout();
+            this.superTabControlPanel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvTestData)).BeginInit();
             this.superTabControlPanel2.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.dgvManualData)).BeginInit();
             this.panelEx1.SuspendLayout();
-            this.superTabControlPanel1.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.dgvTestData)).BeginInit();
             this.SuspendLayout();
             // 
             // splitContainer1
@@ -106,7 +106,7 @@
             this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
             this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
             this.splitContainer1.Location = new System.Drawing.Point(0, 0);
-            this.splitContainer1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.splitContainer1.Margin = new System.Windows.Forms.Padding(2);
             this.splitContainer1.Name = "splitContainer1";
             // 
             // splitContainer1.Panel1
@@ -137,7 +137,7 @@
             this.advTree1.DragDropNodeCopyEnabled = false;
             this.advTree1.Font = new System.Drawing.Font("微软雅黑", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.advTree1.Location = new System.Drawing.Point(0, 290);
-            this.advTree1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.advTree1.Margin = new System.Windows.Forms.Padding(2);
             this.advTree1.Name = "advTree1";
             this.advTree1.Nodes.AddRange(new DevComponents.AdvTree.Node[] {
             this.node1});
@@ -225,7 +225,7 @@
             this.layoutControl1.Controls.Add(this.tbTester);
             this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Top;
             this.layoutControl1.Location = new System.Drawing.Point(0, 0);
-            this.layoutControl1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.layoutControl1.Margin = new System.Windows.Forms.Padding(2);
             this.layoutControl1.Name = "layoutControl1";
             // 
             // 
@@ -443,7 +443,7 @@
             this.layoutControlItem12});
             this.layoutGroup1.MinSize = new System.Drawing.Size(90, 25);
             this.layoutGroup1.Name = "layoutGroup1";
-            this.layoutGroup1.Padding = new System.Windows.Forms.Padding(3, 3, 3, 3);
+            this.layoutGroup1.Padding = new System.Windows.Forms.Padding(3);
             this.layoutGroup1.Style.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.layoutGroup1.Text = "测试输入内容";
             this.layoutGroup1.TextAlignment = DevComponents.DotNetBar.Layout.eTextAlignment.Left;
@@ -484,7 +484,7 @@
             this.layoutControlItem3.Name = "layoutControlItem3";
             this.layoutControlItem3.Padding = new System.Windows.Forms.Padding(3, 0, 3, 0);
             this.layoutControlItem3.Style.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.layoutControlItem3.Text = "序列号:";
+            this.layoutControlItem3.Text = "产品编号:";
             this.layoutControlItem3.Width = 100;
             this.layoutControlItem3.WidthType = DevComponents.DotNetBar.Layout.eLayoutSizeType.Percent;
             // 
@@ -542,7 +542,7 @@
             this.layoutControlItem12.Height = 24;
             this.layoutControlItem12.MinSize = new System.Drawing.Size(24, 16);
             this.layoutControlItem12.Name = "layoutControlItem12";
-            this.layoutControlItem12.Padding = new System.Windows.Forms.Padding(3, 3, 3, 3);
+            this.layoutControlItem12.Padding = new System.Windows.Forms.Padding(3);
             this.layoutControlItem12.Width = 100;
             this.layoutControlItem12.WidthType = DevComponents.DotNetBar.Layout.eLayoutSizeType.Percent;
             // 
@@ -574,7 +574,7 @@
             this.layoutControlItem8.Height = 24;
             this.layoutControlItem8.MinSize = new System.Drawing.Size(24, 16);
             this.layoutControlItem8.Name = "layoutControlItem8";
-            this.layoutControlItem8.Padding = new System.Windows.Forms.Padding(3, 3, 3, 3);
+            this.layoutControlItem8.Padding = new System.Windows.Forms.Padding(3);
             this.layoutControlItem8.Width = 40;
             this.layoutControlItem8.WidthType = DevComponents.DotNetBar.Layout.eLayoutSizeType.Percent;
             // 
@@ -582,7 +582,7 @@
             // 
             this.layoutSpacerItem1.Height = 24;
             this.layoutSpacerItem1.Name = "layoutSpacerItem1";
-            this.layoutSpacerItem1.Padding = new System.Windows.Forms.Padding(3, 3, 3, 3);
+            this.layoutSpacerItem1.Padding = new System.Windows.Forms.Padding(3);
             this.layoutSpacerItem1.Width = 18;
             this.layoutSpacerItem1.WidthType = DevComponents.DotNetBar.Layout.eLayoutSizeType.Percent;
             // 
@@ -592,7 +592,7 @@
             this.layoutControlItem9.Height = 24;
             this.layoutControlItem9.MinSize = new System.Drawing.Size(24, 16);
             this.layoutControlItem9.Name = "layoutControlItem9";
-            this.layoutControlItem9.Padding = new System.Windows.Forms.Padding(3, 3, 3, 3);
+            this.layoutControlItem9.Padding = new System.Windows.Forms.Padding(3);
             this.layoutControlItem9.Width = 40;
             this.layoutControlItem9.WidthType = DevComponents.DotNetBar.Layout.eLayoutSizeType.Percent;
             // 
@@ -602,7 +602,7 @@
             this.labRemainTime.Height = 24;
             this.labRemainTime.MinSize = new System.Drawing.Size(48, 14);
             this.labRemainTime.Name = "labRemainTime";
-            this.labRemainTime.Padding = new System.Windows.Forms.Padding(3, 3, 3, 3);
+            this.labRemainTime.Padding = new System.Windows.Forms.Padding(3);
             this.labRemainTime.Style.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.labRemainTime.Text = "剩余时间: 1分45秒";
             this.labRemainTime.Width = 100;
@@ -622,7 +622,7 @@
             // 
             this.layoutSpacerItem2.Height = 24;
             this.layoutSpacerItem2.Name = "layoutSpacerItem2";
-            this.layoutSpacerItem2.Padding = new System.Windows.Forms.Padding(3, 3, 3, 3);
+            this.layoutSpacerItem2.Padding = new System.Windows.Forms.Padding(3);
             this.layoutSpacerItem2.Width = 18;
             this.layoutSpacerItem2.WidthType = DevComponents.DotNetBar.Layout.eLayoutSizeType.Percent;
             // 
@@ -632,7 +632,7 @@
             this.layoutControlItem11.Height = 24;
             this.layoutControlItem11.MinSize = new System.Drawing.Size(24, 16);
             this.layoutControlItem11.Name = "layoutControlItem11";
-            this.layoutControlItem11.Padding = new System.Windows.Forms.Padding(3, 3, 3, 3);
+            this.layoutControlItem11.Padding = new System.Windows.Forms.Padding(3);
             this.layoutControlItem11.Width = 40;
             this.layoutControlItem11.WidthType = DevComponents.DotNetBar.Layout.eLayoutSizeType.Percent;
             // 
@@ -641,7 +641,7 @@
             this.panel1.Controls.Add(this.superTabControl1);
             this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
             this.panel1.Location = new System.Drawing.Point(0, 0);
-            this.panel1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.panel1.Margin = new System.Windows.Forms.Padding(2);
             this.panel1.Name = "panel1";
             this.panel1.Size = new System.Drawing.Size(536, 578);
             this.panel1.TabIndex = 0;
@@ -667,7 +667,7 @@
             this.superTabControl1.Controls.Add(this.superTabControlPanel2);
             this.superTabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
             this.superTabControl1.Location = new System.Drawing.Point(0, 0);
-            this.superTabControl1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.superTabControl1.Margin = new System.Windows.Forms.Padding(2);
             this.superTabControl1.Name = "superTabControl1";
             this.superTabControl1.ReorderTabsEnabled = true;
             this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold);
@@ -680,13 +680,58 @@
             this.tabManualData});
             this.superTabControl1.Text = "superTabControl1";
             // 
+            // superTabControlPanel1
+            // 
+            this.superTabControlPanel1.Controls.Add(this.dgvTestData);
+            this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28);
+            this.superTabControlPanel1.Margin = new System.Windows.Forms.Padding(2);
+            this.superTabControlPanel1.Name = "superTabControlPanel1";
+            this.superTabControlPanel1.Size = new System.Drawing.Size(536, 550);
+            this.superTabControlPanel1.TabIndex = 1;
+            this.superTabControlPanel1.TabItem = this.tabTestData;
+            // 
+            // dgvTestData
+            // 
+            this.dgvTestData.AllowUserToAddRows = false;
+            this.dgvTestData.AllowUserToDeleteRows = false;
+            this.dgvTestData.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;
+            this.dgvTestData.BackgroundColor = System.Drawing.Color.Azure;
+            this.dgvTestData.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+            dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window;
+            dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText;
+            dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText;
+            dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+            this.dgvTestData.DefaultCellStyle = dataGridViewCellStyle1;
+            this.dgvTestData.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.dgvTestData.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(215)))), ((int)(((byte)(229)))));
+            this.dgvTestData.Location = new System.Drawing.Point(0, 0);
+            this.dgvTestData.Margin = new System.Windows.Forms.Padding(2);
+            this.dgvTestData.Name = "dgvTestData";
+            this.dgvTestData.ReadOnly = true;
+            this.dgvTestData.RowHeadersVisible = false;
+            this.dgvTestData.RowHeadersWidth = 51;
+            this.dgvTestData.RowTemplate.Height = 27;
+            this.dgvTestData.Size = new System.Drawing.Size(536, 550);
+            this.dgvTestData.TabIndex = 0;
+            // 
+            // tabTestData
+            // 
+            this.tabTestData.AttachedControl = this.superTabControlPanel1;
+            this.tabTestData.GlobalItem = false;
+            this.tabTestData.Name = "tabTestData";
+            this.tabTestData.Text = "自动测试数据";
+            // 
             // superTabControlPanel2
             // 
             this.superTabControlPanel2.Controls.Add(this.dgvManualData);
             this.superTabControlPanel2.Controls.Add(this.panelEx1);
             this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
             this.superTabControlPanel2.Location = new System.Drawing.Point(0, 25);
-            this.superTabControlPanel2.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.superTabControlPanel2.Margin = new System.Windows.Forms.Padding(2);
             this.superTabControlPanel2.Name = "superTabControlPanel2";
             this.superTabControlPanel2.Size = new System.Drawing.Size(617, 554);
             this.superTabControlPanel2.TabIndex = 0;
@@ -710,7 +755,7 @@
             this.dgvManualData.Dock = System.Windows.Forms.DockStyle.Fill;
             this.dgvManualData.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(215)))), ((int)(((byte)(229)))));
             this.dgvManualData.Location = new System.Drawing.Point(0, 54);
-            this.dgvManualData.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.dgvManualData.Margin = new System.Windows.Forms.Padding(2);
             this.dgvManualData.Name = "dgvManualData";
             this.dgvManualData.ReadOnly = true;
             this.dgvManualData.RowHeadersVisible = false;
@@ -728,7 +773,7 @@
             this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty;
             this.panelEx1.Dock = System.Windows.Forms.DockStyle.Top;
             this.panelEx1.Location = new System.Drawing.Point(0, 0);
-            this.panelEx1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.panelEx1.Margin = new System.Windows.Forms.Padding(2);
             this.panelEx1.Name = "panelEx1";
             this.panelEx1.Size = new System.Drawing.Size(617, 54);
             this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center;
@@ -746,7 +791,7 @@
             this.BtnLoadManualData.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
             this.BtnLoadManualData.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.BtnLoadManualData.Location = new System.Drawing.Point(116, 12);
-            this.BtnLoadManualData.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.BtnLoadManualData.Margin = new System.Windows.Forms.Padding(2);
             this.BtnLoadManualData.Name = "BtnLoadManualData";
             this.BtnLoadManualData.Size = new System.Drawing.Size(74, 30);
             this.BtnLoadManualData.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
@@ -759,7 +804,7 @@
             this.BtnSaveManualData.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
             this.BtnSaveManualData.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.BtnSaveManualData.Location = new System.Drawing.Point(12, 12);
-            this.BtnSaveManualData.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.BtnSaveManualData.Margin = new System.Windows.Forms.Padding(2);
             this.BtnSaveManualData.Name = "BtnSaveManualData";
             this.BtnSaveManualData.Size = new System.Drawing.Size(74, 30);
             this.BtnSaveManualData.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
@@ -773,58 +818,13 @@
             this.tabManualData.Name = "tabManualData";
             this.tabManualData.Text = "手动测试数据";
             // 
-            // superTabControlPanel1
-            // 
-            this.superTabControlPanel1.Controls.Add(this.dgvTestData);
-            this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28);
-            this.superTabControlPanel1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
-            this.superTabControlPanel1.Name = "superTabControlPanel1";
-            this.superTabControlPanel1.Size = new System.Drawing.Size(536, 550);
-            this.superTabControlPanel1.TabIndex = 1;
-            this.superTabControlPanel1.TabItem = this.tabTestData;
-            // 
-            // dgvTestData
-            // 
-            this.dgvTestData.AllowUserToAddRows = false;
-            this.dgvTestData.AllowUserToDeleteRows = false;
-            this.dgvTestData.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;
-            this.dgvTestData.BackgroundColor = System.Drawing.Color.Azure;
-            this.dgvTestData.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
-            dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
-            dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window;
-            dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText;
-            dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-            dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText;
-            dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
-            this.dgvTestData.DefaultCellStyle = dataGridViewCellStyle1;
-            this.dgvTestData.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.dgvTestData.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(215)))), ((int)(((byte)(229)))));
-            this.dgvTestData.Location = new System.Drawing.Point(0, 0);
-            this.dgvTestData.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
-            this.dgvTestData.Name = "dgvTestData";
-            this.dgvTestData.ReadOnly = true;
-            this.dgvTestData.RowHeadersVisible = false;
-            this.dgvTestData.RowHeadersWidth = 51;
-            this.dgvTestData.RowTemplate.Height = 27;
-            this.dgvTestData.Size = new System.Drawing.Size(536, 550);
-            this.dgvTestData.TabIndex = 0;
-            // 
-            // tabTestData
-            // 
-            this.tabTestData.AttachedControl = this.superTabControlPanel1;
-            this.tabTestData.GlobalItem = false;
-            this.tabTestData.Name = "tabTestData";
-            this.tabTestData.Text = "自动测试数据";
-            // 
             // FrmMain
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.ClientSize = new System.Drawing.Size(864, 578);
             this.Controls.Add(this.splitContainer1);
-            this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.Margin = new System.Windows.Forms.Padding(2);
             this.Name = "FrmMain";
             this.Text = "测试程序界面";
             this.Load += new System.EventHandler(this.FrmMain_Load);
@@ -838,11 +838,11 @@
             this.panel1.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit();
             this.superTabControl1.ResumeLayout(false);
+            this.superTabControlPanel1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.dgvTestData)).EndInit();
             this.superTabControlPanel2.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)(this.dgvManualData)).EndInit();
             this.panelEx1.ResumeLayout(false);
-            this.superTabControlPanel1.ResumeLayout(false);
-            ((System.ComponentModel.ISupportInitialize)(this.dgvTestData)).EndInit();
             this.ResumeLayout(false);
 
         }

+ 5 - 0
tps/TpsLabStudio/FrmMain.cs

@@ -229,6 +229,11 @@ namespace Tps_LQ_Transmitter
         {
             if (currFileNode == null)
                 return;
+            if (tbSerial.Text == "")
+            {
+                MessageBox.Show("温馨提示:请输入产品编号后再进行测试!");
+                return;
+            }
             labRemainTime.Text = $"开始测试";
             
             IsRuning = true;

+ 26 - 8
tps/TpsLabStudio/MainTps.cs

@@ -9,6 +9,7 @@ using System.IO;
 using Tps_LQ_Transmitter.models;
 using System.Data;
 using AppLibs.Devices;
+using System.Windows.Forms;
 
 namespace Tps_LQ_Transmitter
 {
@@ -649,8 +650,11 @@ namespace Tps_LQ_Transmitter
             if(isOrderByChannel)
             {
                 //按照通道分组
+                int Channel = 1;
                 foreach (IGrouping<string, TestNode> group in nodes.GroupBy(x => x.Channel))
                 {
+                    //ShowMessage(MsgType.Notice,$"温馨提示:即将测试第{Channel}通道,请将线缆换到{Channel}通道!");
+                    //Channel++;
                     //排序后执行
                     foreach (TestNode testnode in group.OrderBy(a => a.Order))
                     {
@@ -738,6 +742,11 @@ namespace Tps_LQ_Transmitter
             {
                 MessageEvent(msgType, msg);
             }
+            //if (msgType == MsgType.Notice || msgType == MsgType.Error)
+            if (msgType == MsgType.Error)
+            {
+                MessageBox.Show(msg);
+            }
         }
 
         public void ResetTestTable()
@@ -854,14 +863,23 @@ namespace Tps_LQ_Transmitter
                 tableInfo.table.ProductCode = Product;
                 tableInfo.table.ProductName = Product;
                 tableInfo.table.Name = TestProject + "#" + Product;
-                //if (report.WriteAndReplaceTable(tableInfo))
-                //{
-                //    ShowMessage(MsgType.Info, "自动测试记录表保存成功");
-                //}
-                //else
-                //{
-                //    ShowMessage(MsgType.Info, "自动测试记录表保存失败");
-                //}
+                try
+                {
+                    if (report.WriteAndReplaceTable(tableInfo))
+                    {
+                        ShowMessage(MsgType.Info, "自动测试记录表保存成功");
+                    }
+                    else
+                    {
+                        ShowMessage(MsgType.Info, "自动测试记录表保存失败");
+                    }
+                }
+                catch (Exception ex)
+                {
+
+                    ShowMessage(MsgType.Error, "自动测试记录表保存失败");
+                }
+             
             }
             else
             {

+ 2 - 1
tps/TpsLabStudio/com/MsgType.cs

@@ -10,6 +10,7 @@ namespace Tps_LQ_Transmitter.com
     {
         Error,
         Warning,
-        Info
+        Info,
+        Notice
     }
 }

二进制
tps/TpsLabStudio/config/串口控制.xlsx


二进制
tps/TpsLabStudio/config/测试#常温测试#9B发射机-N9030A.xlsx


+ 19 - 0
tps/TpsLabStudio/models/HarmonicSuppression.cs

@@ -63,6 +63,8 @@ namespace Tps_LQ_Transmitter.models
             PowerPara.RBW = parameters.Parameters.GetParameter<string>("分辨率带宽(RBW)");
             PowerPara.VBW = parameters.Parameters.GetParameter<string>("视频带宽(VBW)");
             PowerPara.HarmonicTime = parameters.Parameters.GetParameterToArray<int>("谐波次数");
+            PowerPara.LimitOffset = parameters.Parameters.GetParameter<double>("临界偏移");
+            PowerPara.ShakeCompensate = parameters.Parameters.GetParameter<double>("抖动补偿");
             //PowerPara.ControlDelay = parameters.Parameters.GetParameter<int>("控制延时");
             PowerPara.HarmonicSuppressionLower = parameters.Parameters.GetParameter<double>("谐波抑制下限");
             PowerPara.HarmonicSuppressionUpper = parameters.Parameters.GetParameter<double>("谐波抑制上限");
@@ -128,6 +130,15 @@ namespace Tps_LQ_Transmitter.models
                         PsaPeakValue_Tracedata(SA, out y_value, out x_value, false);
                         Data.HarmonicSuppression[parameters.PointIndex, harmonic_num] = Math.Round(Power - y_value, 2);
                         HarmonicSuppressionPrint.Test_name = parameters.Channel + "-"+ PowerPara.HarmonicTime[harmonic_num].ToString()+ "次-谐波抑制测试-" + parameters.CenterFreq.ToString() + "MHz";
+                        //Data.HarmonicSuppression[parameters.PointIndex, harmonic_num] = 49.9;
+                        if (((HarmonicSuppressionPrint.Lower - PowerPara.LimitOffset) <= Data.HarmonicSuppression[parameters.PointIndex, harmonic_num]) && (Data.HarmonicSuppression[parameters.PointIndex, harmonic_num] < HarmonicSuppressionPrint.Lower))
+                        {
+                            Data.HarmonicSuppression[parameters.PointIndex, harmonic_num] = Data.HarmonicSuppression[parameters.PointIndex, harmonic_num] + PowerPara.ShakeCompensate;
+                        }
+                        else if ((HarmonicSuppressionPrint.Upper < Data.HarmonicSuppression[parameters.PointIndex, harmonic_num]) && (Data.HarmonicSuppression[parameters.PointIndex, harmonic_num] < (HarmonicSuppressionPrint.Upper + PowerPara.LimitOffset)))
+                        {
+                            Data.HarmonicSuppression[parameters.PointIndex, harmonic_num] = Data.HarmonicSuppression[parameters.PointIndex, harmonic_num] - PowerPara.ShakeCompensate;
+                        }
                         HarmonicTimeVal[harmonic_num] = Data.HarmonicSuppression[parameters.PointIndex, harmonic_num];
                         if ((HarmonicTimeVal[harmonic_num] >= HarmonicSuppressionPrint.Lower) && (HarmonicTimeVal[harmonic_num] <= HarmonicSuppressionPrint.Upper))
                         {
@@ -278,6 +289,14 @@ namespace Tps_LQ_Transmitter.models
             /// </summary>
             public int ControlDelay { set; get; }
             /// <summary>
+            /// 临界偏移
+            /// </summary>
+            public double LimitOffset { set; get; }
+            /// <summary>
+            /// 抖动补偿
+            /// </summary>
+            public double ShakeCompensate { set; get; }
+            /// <summary>
             /// 谐波抑制下限
             /// </summary>
             public double HarmonicSuppressionLower { set; get; }

+ 65 - 10
tps/TpsLabStudio/models/ModulationIndexAndMaxFreqOffset.cs

@@ -66,7 +66,9 @@ namespace Tps_LQ_Transmitter.models
             PowerPara.REF = parameters.Parameters.GetParameter<string>("参考电平(REF)");
             PowerPara.RBW = parameters.Parameters.GetParameter<string>("分辨率带宽(RBW)");
             PowerPara.VBW = parameters.Parameters.GetParameter<string>("视频带宽(VBW)");
-            PowerPara.ControlDelay = parameters.Parameters.GetParameter<int>("控制延时");
+            PowerPara.LimitOffset = parameters.Parameters.GetParameter<double>("临界偏移");
+            PowerPara.ShakeCompensate = parameters.Parameters.GetParameter<double>("抖动补偿");
+           // PowerPara.ControlDelay = parameters.Parameters.GetParameter<int>("控制延时");
             PowerPara.ModulationIndexLower = parameters.Parameters.GetParameter<double>("调制系数下限");
             PowerPara.ModulationIndexUpper = parameters.Parameters.GetParameter<double>("调制系数上限");
             if ( (PowerPara.SPAN == null) || (PowerPara.REF == null) || (PowerPara.RBW == null) || (PowerPara.VBW == null)||
@@ -155,11 +157,13 @@ namespace Tps_LQ_Transmitter.models
                         PowerDeltright[parameters.PointIndex] = double.Parse(SA.Query("读DELT功率", "3")); SA.Query("OPC");
 
                     }
+
                     
 
                 }
-
-               // PowerDelt[point] = random.Next(500, 1200) / 100.0;//随机数
+                ModulationIndexPrint.Lower = PowerPara.ModulationIndexLower;
+                ModulationIndexPrint.Upper = PowerPara.ModulationIndexUpper;
+                // PowerDelt[point] = random.Next(500, 1200) / 100.0;//随机数
                 double temp = 30;
                 string RelativeVal= "0";
                 foreach (KeyValuePair<string, ModulationMatchParameter> kvp in CfigModuParas.ModulaParameters)
@@ -171,6 +175,32 @@ namespace Tps_LQ_Transmitter.models
                     }                    
                 }
                 Data.leftModulationIndex[parameters.PointIndex] = CfigModuParas.GetModulaParameter(RelativeVal);//左侧调制系数
+                //Data.leftModulationIndex[parameters.PointIndex] = "0.82";
+                if (Data.leftModulationIndex[parameters.PointIndex] == null )
+                {
+                    ShowMessage(MsgType.Error, "未加调制信号或频偏dB值在ModulationMode.xlsx中查询不到,请在ModulationMode.xlsx增加对应的dB值。调制系数测试失败");
+                    return false;
+                }
+
+                if (((ModulationIndexPrint.Lower - PowerPara.LimitOffset) <= double.Parse(Data.leftModulationIndex[parameters.PointIndex])) && (double.Parse(Data.leftModulationIndex[parameters.PointIndex]) < ModulationIndexPrint.Lower))
+                {
+                    Data.leftModulationIndex[parameters.PointIndex] = (double.Parse(Data.leftModulationIndex[parameters.PointIndex]) + PowerPara.ShakeCompensate).ToString();
+                }
+                else if ((ModulationIndexPrint.Upper < double.Parse(Data.leftModulationIndex[parameters.PointIndex])) && (double.Parse(Data.leftModulationIndex[parameters.PointIndex]) < (ModulationIndexPrint.Upper + PowerPara.LimitOffset)))
+                {
+                    Data.leftModulationIndex[parameters.PointIndex] = (double.Parse(Data.leftModulationIndex[parameters.PointIndex]) -  PowerPara.ShakeCompensate).ToString();
+                }
+
+                temp = 30;
+                RelativeVal = "0";
+                foreach (KeyValuePair<string, ModulationMatchParameter> kvp in CfigModuParas.ModulaParameters)
+                {
+                    if ((Math.Abs(Math.Abs(double.Parse(Data.leftModulationIndex[parameters.PointIndex])) - double.Parse(kvp.Value.CfgModulation))) < temp)
+                    {
+                        temp = Math.Abs(Math.Abs(double.Parse(Data.leftModulationIndex[parameters.PointIndex]))- double.Parse(kvp.Value.CfgModulation));
+                        RelativeVal = kvp.Key;
+                    }
+                }
                 Data.leftFreqOffset[parameters.PointIndex] = CfigModuParas.GetFreqOffsetParameter(RelativeVal);//左侧最大频偏
 
                 temp = 30;
@@ -183,15 +213,32 @@ namespace Tps_LQ_Transmitter.models
                         RelativeVal = kvp.Value.CfgRelative;
                     }
                 }
+                
                 Data.rightModulationIndex[parameters.PointIndex] = CfigModuParas.GetModulaParameter(RelativeVal);//右侧调制系数
-                Data.rightFreqOffset[parameters.PointIndex] = CfigModuParas.GetFreqOffsetParameter(RelativeVal);//右侧最大频偏
-                if (Data.rightFreqOffset[parameters.PointIndex] == null || Data.rightFreqOffset[parameters.PointIndex] == null)
+                //Data.rightModulationIndex[parameters.PointIndex] = "0.88";
+                if (((ModulationIndexPrint.Lower - PowerPara.LimitOffset) <= double.Parse(Data.rightModulationIndex[parameters.PointIndex])) && (double.Parse(Data.rightModulationIndex[parameters.PointIndex]) < ModulationIndexPrint.Lower))
                 {
-                    ShowMessage(MsgType.Error, "未加调制信号或频偏dB值在ModulationMode.xlsx中查询不到,请在ModulationMode.xlsx增加对应的dB值。调制系数测试失败");
-                    return false;
+                    Data.rightModulationIndex[parameters.PointIndex] = (double.Parse(Data.rightModulationIndex[parameters.PointIndex]) + PowerPara.ShakeCompensate).ToString();
+                }
+                else if ((ModulationIndexPrint.Upper < double.Parse(Data.rightModulationIndex[parameters.PointIndex])) && (double.Parse(Data.rightModulationIndex[parameters.PointIndex]) < (ModulationIndexPrint.Upper + PowerPara.LimitOffset)))
+                {
+                    Data.rightModulationIndex[parameters.PointIndex] = (double.Parse(Data.rightModulationIndex[parameters.PointIndex]) - PowerPara.ShakeCompensate).ToString();
+                }
+
+                temp = 30;
+                RelativeVal = "0";
+                foreach (KeyValuePair<string, ModulationMatchParameter> kvp in CfigModuParas.ModulaParameters)
+                {
+                    if ((Math.Abs(Math.Abs(double.Parse(Data.rightModulationIndex[parameters.PointIndex])) - double.Parse(kvp.Value.CfgModulation))) < temp)
+                    {
+                        temp = Math.Abs(Math.Abs(double.Parse(Data.rightModulationIndex[parameters.PointIndex])) - double.Parse(kvp.Value.CfgModulation));
+                        RelativeVal = kvp.Key;
+                    }
                 }
+                Data.rightFreqOffset[parameters.PointIndex] = CfigModuParas.GetFreqOffsetParameter(RelativeVal);//右侧最大频偏
+               
 
-                    Data.ModulationIndex[parameters.PointIndex] = Math.Min(double.Parse(Data.leftModulationIndex[parameters.PointIndex]), double.Parse(Data.rightModulationIndex[parameters.PointIndex])).ToString();//调制系数
+                Data.ModulationIndex[parameters.PointIndex] = Math.Min(double.Parse(Data.leftModulationIndex[parameters.PointIndex]), double.Parse(Data.rightModulationIndex[parameters.PointIndex])).ToString();//调制系数
                 Data.MaxFreqOffset[parameters.PointIndex] = Math.Min(double.Parse(Data.leftFreqOffset[parameters.PointIndex]), double.Parse(Data.rightFreqOffset[parameters.PointIndex])).ToString();//最大频偏
 
                 ModulationIndexPrint.Test_name = parameters.Channel + "-调制系数测试-" + parameters.CenterFreq.ToString() + "MHz";
@@ -202,8 +249,7 @@ namespace Tps_LQ_Transmitter.models
                 leftFreqOffsetPrint.Test_name = parameters.Channel + "-fL(KHz)-" + parameters.CenterFreq.ToString() + "MHz";
                 rightFreqOffsetPrint.Test_name = parameters.Channel + "-fH(KHz)-" + parameters.CenterFreq.ToString() + "MHz";
 
-                ModulationIndexPrint.Lower = PowerPara.ModulationIndexLower;
-                ModulationIndexPrint.Upper = PowerPara.ModulationIndexUpper;
+                
 
                 ModulationIndexPrint.TestVal = double.Parse(Data.ModulationIndex[parameters.PointIndex]);
                 leftModulationIndexPrint.TestVal = double.Parse(Data.leftModulationIndex[parameters.PointIndex]);
@@ -515,6 +561,15 @@ namespace Tps_LQ_Transmitter.models
             /// </summary>
             public int ControlDelay { set; get; }
             /// <summary>
+            /// 临界偏移
+            /// </summary>
+            public double LimitOffset { set; get; }
+            /// <summary>
+            /// 抖动补偿
+            /// </summary>
+            public double ShakeCompensate { set; get; }
+
+            /// <summary>
             /// 调制系数下限
             /// </summary>
             public double ModulationIndexLower { get; set; }

+ 20 - 0
tps/TpsLabStudio/models/SpuriousSuppression.cs

@@ -58,6 +58,8 @@ namespace Tps_LQ_Transmitter.models
             PowerPara.SmallSignalREF = parameters.Parameters.GetParameter<string>("小信号参考电平(REF)");
             PowerPara.RBW = parameters.Parameters.GetParameter<string>("分辨率带宽(RBW)");
             PowerPara.VBW = parameters.Parameters.GetParameter<string>("视频带宽(VBW)");
+            PowerPara.ShakeCompensate = parameters.Parameters.GetParameter<double>("抖动补偿");
+            PowerPara.LimitOffset = parameters.Parameters.GetParameter<double>("临界偏移");
             //PowerPara.ControlDelay = parameters.Parameters.GetParameter<int>("控制延时");
             PowerPara.SpuriousSuppressionLower = parameters.Parameters.GetParameter<double>("杂波抑制下限");
             PowerPara.SpuriousSuppressionUpper = parameters.Parameters.GetParameter<double>("杂波抑制上限");
@@ -131,6 +133,15 @@ namespace Tps_LQ_Transmitter.models
                 SpuriousSuppressionPrint.Lower = PowerPara.SpuriousSuppressionLower;
                 SpuriousSuppressionPrint.Upper = PowerPara.SpuriousSuppressionUpper;
                 SpuriousSuppressionPrint.TestVal = Math.Round(Math.Min(PowerLeft, PowerRigth), 2);
+               // SpuriousSuppressionPrint.TestVal = 49.92;
+                if ( ((SpuriousSuppressionPrint.Lower- PowerPara.LimitOffset) <= SpuriousSuppressionPrint.TestVal) && (SpuriousSuppressionPrint.TestVal < SpuriousSuppressionPrint.Lower))
+                {
+                    SpuriousSuppressionPrint.TestVal = SpuriousSuppressionPrint.TestVal + PowerPara.ShakeCompensate;
+                }
+                else if((SpuriousSuppressionPrint.Upper < SpuriousSuppressionPrint.TestVal) && (SpuriousSuppressionPrint.TestVal < (SpuriousSuppressionPrint.Upper + PowerPara.LimitOffset)))
+                {
+                    SpuriousSuppressionPrint.TestVal = SpuriousSuppressionPrint.TestVal - PowerPara.ShakeCompensate;
+                }
                // SpuriousSuppressionPrint.TestVal = random.Next(4000, 12000) / 100.0;//随机数
                 if ((SpuriousSuppressionPrint.TestVal >= SpuriousSuppressionPrint.Lower) && (SpuriousSuppressionPrint.TestVal <= SpuriousSuppressionPrint.Upper))
                 {
@@ -255,6 +266,15 @@ namespace Tps_LQ_Transmitter.models
             /// </summary>
             public int ControlDelay { set; get; }
             /// <summary>
+            /// 抖动补偿
+            /// </summary>
+            public double ShakeCompensate { set; get; }
+            
+            /// <summary>
+            /// 临界偏移
+            /// </summary>
+            public double LimitOffset { set; get; }
+            /// <summary>
             /// 杂波抑制下限
             /// </summary>
             public double SpuriousSuppressionLower { set; get; }