浏览代码

1、增加力矩传感器零点检测
2、增加串口号保存功能

Dail 1 年之前
父节点
当前提交
5120d2f9ec

二进制
.vs/MOTINOVA_Motor_Factory_Set/v17/.suo


+ 14 - 1
CheckForm.Designer.cs

@@ -90,6 +90,7 @@
             this.label31 = new System.Windows.Forms.Label();
             this.label7 = new System.Windows.Forms.Label();
             this.label_OK_Count = new System.Windows.Forms.Label();
+            this.label_Ver = new System.Windows.Forms.Label();
             this.menuStrip1.SuspendLayout();
             this.groupBox4.SuspendLayout();
             this.groupBox2.SuspendLayout();
@@ -343,7 +344,7 @@
             this.label2.Name = "label2";
             this.label2.Size = new System.Drawing.Size(423, 21);
             this.label2.TabIndex = 13;
-            this.label2.Text = "Copyright © 2023 MOTINOVA Inc. All Rights Reserved";
+            this.label2.Text = "Copyright © 2024 MOTINOVA Inc. All Rights Reserved";
             // 
             // label6
             // 
@@ -759,12 +760,23 @@
             this.label_OK_Count.Text = "0";
             this.label_OK_Count.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
             // 
+            // label_Ver
+            // 
+            this.label_Ver.AutoSize = true;
+            this.label_Ver.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
+            this.label_Ver.Location = new System.Drawing.Point(439, 787);
+            this.label_Ver.Name = "label_Ver";
+            this.label_Ver.Size = new System.Drawing.Size(91, 21);
+            this.label_Ver.TabIndex = 40;
+            this.label_Ver.Text = "Ver: V1.8.0";
+            // 
             // CheckForm
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.BackColor = System.Drawing.Color.White;
             this.ClientSize = new System.Drawing.Size(1234, 817);
+            this.Controls.Add(this.label_Ver);
             this.Controls.Add(this.label7);
             this.Controls.Add(this.label_OK_Count);
             this.Controls.Add(this.label32);
@@ -883,5 +895,6 @@
         private System.Windows.Forms.Label label8;
         private System.Windows.Forms.TextBox textBox_TQ_K_Sqrd;
         private System.Windows.Forms.ToolStripMenuItem 备忘录ToolStripMenuItem;
+        private System.Windows.Forms.Label label_Ver;
     }
 }

+ 3 - 3
ExportForm.cs

@@ -76,8 +76,8 @@ namespace MOTINOVA_Motor_Factory_Set
             Params1.Add("停机时间", 100);
             Params1.Add("限速值", 25);
             Params1.Add("下降速度", 3);
-            Params1.Add("前飞", 14);
-            Params1.Add("后飞", 9);
+            Params1.Add("前飞", 16);
+            Params1.Add("后飞", 16);
             Params1.Add("限流", 15);
             Params1.Add("温度预警", 95);
             Params1.Add("温度保护", 125);
@@ -141,7 +141,7 @@ namespace MOTINOVA_Motor_Factory_Set
             //其它信息
             Otherinfo.Clear();
             Otherinfo.Add("生产商", "TTIUM");
-            Otherinfo.Add("生产地", "Wuhan");
+            Otherinfo.Add("生产地", "WUHAN");
             Otherinfo.Add("生产日期", DateTime.Now.ToString("yyyyMMdd"));
             Otherinfo.Add("校验密钥", "AVONITOM");
             Otherinfo.Add("信息1", "");

+ 65 - 15
ImportForm.Designer.cs

@@ -61,13 +61,16 @@
             this.comboBox_cfgFileDate = new System.Windows.Forms.ComboBox();
             this.comboBox_File = new System.Windows.Forms.ComboBox();
             this.groupBox1 = new System.Windows.Forms.GroupBox();
+            this.label32 = new System.Windows.Forms.Label();
             this.label30 = new System.Windows.Forms.Label();
             this.label_Boot_Version = new System.Windows.Forms.Label();
             this.label29 = new System.Windows.Forms.Label();
+            this.label_sensor_tor = new System.Windows.Forms.Label();
             this.label_Sensor_Break2 = new System.Windows.Forms.Label();
             this.label_ErrorInfo = new System.Windows.Forms.Label();
             this.label26 = new System.Windows.Forms.Label();
             this.label24 = new System.Windows.Forms.Label();
+            this.label10 = new System.Windows.Forms.Label();
             this.label36 = new System.Windows.Forms.Label();
             this.label20 = new System.Windows.Forms.Label();
             this.label18 = new System.Windows.Forms.Label();
@@ -162,6 +165,7 @@
             this.label_TestFun = new System.Windows.Forms.Label();
             this.label_TestUser = new System.Windows.Forms.Label();
             this.label31 = new System.Windows.Forms.Label();
+            this.label_Ver = new System.Windows.Forms.Label();
             this.menuStrip1.SuspendLayout();
             this.groupBox4.SuspendLayout();
             this.groupBox1.SuspendLayout();
@@ -183,7 +187,7 @@
             this.label2.Name = "label2";
             this.label2.Size = new System.Drawing.Size(423, 21);
             this.label2.TabIndex = 3;
-            this.label2.Text = "Copyright © 2023 MOTINOVA Inc. All Rights Reserved";
+            this.label2.Text = "Copyright © 2024 MOTINOVA Inc. All Rights Reserved";
             // 
             // label_SystemTime
             // 
@@ -226,7 +230,7 @@
             // 
             this.端口选择ToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
             this.端口选择ToolStripMenuItem.Name = "端口选择ToolStripMenuItem";
-            this.端口选择ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.端口选择ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
             this.端口选择ToolStripMenuItem.Text = "端口设置";
             this.端口选择ToolStripMenuItem.Click += new System.EventHandler(this.端口选择ToolStripMenuItem_Click);
             // 
@@ -237,14 +241,14 @@
             this.关ToolStripMenuItem});
             this.系统开关ToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
             this.系统开关ToolStripMenuItem.Name = "系统开关ToolStripMenuItem";
-            this.系统开关ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.系统开关ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
             this.系统开关ToolStripMenuItem.Text = "系统开关";
             // 
             // 开ToolStripMenuItem
             // 
             this.开ToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
             this.开ToolStripMenuItem.Name = "开ToolStripMenuItem";
-            this.开ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.开ToolStripMenuItem.Size = new System.Drawing.Size(96, 26);
             this.开ToolStripMenuItem.Text = "开";
             this.开ToolStripMenuItem.Click += new System.EventHandler(this.开ToolStripMenuItem_Click);
             // 
@@ -254,7 +258,7 @@
             this.关ToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
             this.关ToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
             this.关ToolStripMenuItem.Name = "关ToolStripMenuItem";
-            this.关ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.关ToolStripMenuItem.Size = new System.Drawing.Size(96, 26);
             this.关ToolStripMenuItem.Text = "关";
             this.关ToolStripMenuItem.Click += new System.EventHandler(this.关ToolStripMenuItem_Click);
             // 
@@ -278,7 +282,7 @@
             this.推行测试不执行ToolStripMenuItem});
             this.推行测试ToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
             this.推行测试ToolStripMenuItem.Name = "推行测试ToolStripMenuItem";
-            this.推行测试ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.推行测试ToolStripMenuItem.Size = new System.Drawing.Size(179, 26);
             this.推行测试ToolStripMenuItem.Text = "推行测试";
             // 
             // 推行测试执行ToolStripMenuItem
@@ -306,7 +310,7 @@
             this.系统清除不执行ToolStripMenuItem});
             this.系统清除ToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
             this.系统清除ToolStripMenuItem.Name = "系统清除ToolStripMenuItem";
-            this.系统清除ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.系统清除ToolStripMenuItem.Size = new System.Drawing.Size(179, 26);
             this.系统清除ToolStripMenuItem.Text = "系统清除";
             // 
             // 系统清除执行ToolStripMenuItem
@@ -334,7 +338,7 @@
             this.BMS检测不执行ToolStripMenuItem1});
             this.bMS通信检测ToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
             this.bMS通信检测ToolStripMenuItem.Name = "bMS通信检测ToolStripMenuItem";
-            this.bMS通信检测ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.bMS通信检测ToolStripMenuItem.Size = new System.Drawing.Size(179, 26);
             this.bMS通信检测ToolStripMenuItem.Text = "BMS通信检测";
             // 
             // BMS检测执行ToolStripMenuItem1
@@ -358,13 +362,13 @@
             // toolStripSeparator1
             // 
             this.toolStripSeparator1.Name = "toolStripSeparator1";
-            this.toolStripSeparator1.Size = new System.Drawing.Size(177, 6);
+            this.toolStripSeparator1.Size = new System.Drawing.Size(176, 6);
             // 
             // 只写入参数ToolStripMenuItem
             // 
             this.只写入参数ToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
             this.只写入参数ToolStripMenuItem.Name = "只写入参数ToolStripMenuItem";
-            this.只写入参数ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.只写入参数ToolStripMenuItem.Size = new System.Drawing.Size(179, 26);
             this.只写入参数ToolStripMenuItem.Text = "仅写入参数";
             this.只写入参数ToolStripMenuItem.Click += new System.EventHandler(this.只写入参数ToolStripMenuItem_Click);
             // 
@@ -382,7 +386,7 @@
             // 
             this.屏幕键盘ToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
             this.屏幕键盘ToolStripMenuItem.Name = "屏幕键盘ToolStripMenuItem";
-            this.屏幕键盘ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.屏幕键盘ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
             this.屏幕键盘ToolStripMenuItem.Text = "屏幕键盘";
             this.屏幕键盘ToolStripMenuItem.Click += new System.EventHandler(this.屏幕键盘ToolStripMenuItem_Click);
             // 
@@ -390,7 +394,7 @@
             // 
             this.备忘录ToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
             this.备忘录ToolStripMenuItem.Name = "备忘录ToolStripMenuItem";
-            this.备忘录ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.备忘录ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
             this.备忘录ToolStripMenuItem.Text = "备忘录";
             this.备忘录ToolStripMenuItem.Click += new System.EventHandler(this.备忘录ToolStripMenuItem_Click);
             // 
@@ -408,7 +412,7 @@
             // 
             this.合格ToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
             this.合格ToolStripMenuItem.Name = "合格ToolStripMenuItem";
-            this.合格ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.合格ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
             this.合格ToolStripMenuItem.Text = "合格记录";
             this.合格ToolStripMenuItem.Click += new System.EventHandler(this.合格ToolStripMenuItem_Click);
             // 
@@ -416,7 +420,7 @@
             // 
             this.不合格ToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
             this.不合格ToolStripMenuItem.Name = "不合格ToolStripMenuItem";
-            this.不合格ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
+            this.不合格ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
             this.不合格ToolStripMenuItem.Text = "不合格记录";
             this.不合格ToolStripMenuItem.Click += new System.EventHandler(this.不合格ToolStripMenuItem_Click);
             // 
@@ -476,13 +480,16 @@
             // 
             // groupBox1
             // 
+            this.groupBox1.Controls.Add(this.label32);
             this.groupBox1.Controls.Add(this.label30);
             this.groupBox1.Controls.Add(this.label_Boot_Version);
             this.groupBox1.Controls.Add(this.label29);
+            this.groupBox1.Controls.Add(this.label_sensor_tor);
             this.groupBox1.Controls.Add(this.label_Sensor_Break2);
             this.groupBox1.Controls.Add(this.label_ErrorInfo);
             this.groupBox1.Controls.Add(this.label26);
             this.groupBox1.Controls.Add(this.label24);
+            this.groupBox1.Controls.Add(this.label10);
             this.groupBox1.Controls.Add(this.label36);
             this.groupBox1.Controls.Add(this.label20);
             this.groupBox1.Controls.Add(this.label18);
@@ -524,6 +531,14 @@
             this.groupBox1.TabStop = false;
             this.groupBox1.Text = "测试状态";
             // 
+            // label32
+            // 
+            this.label32.BackColor = System.Drawing.Color.Silver;
+            this.label32.Location = new System.Drawing.Point(262, 142);
+            this.label32.Name = "label32";
+            this.label32.Size = new System.Drawing.Size(1, 20);
+            this.label32.TabIndex = 37;
+            // 
             // label30
             // 
             this.label30.AutoSize = true;
@@ -553,6 +568,17 @@
             this.label29.TabIndex = 4;
             this.label29.Text = "Application";
             // 
+            // label_sensor_tor
+            // 
+            this.label_sensor_tor.BackColor = System.Drawing.Color.Red;
+            this.label_sensor_tor.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
+            this.label_sensor_tor.Location = new System.Drawing.Point(419, 142);
+            this.label_sensor_tor.Name = "label_sensor_tor";
+            this.label_sensor_tor.Size = new System.Drawing.Size(42, 21);
+            this.label_sensor_tor.TabIndex = 3;
+            this.label_sensor_tor.Text = "NG";
+            this.label_sensor_tor.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+            // 
             // label_Sensor_Break2
             // 
             this.label_Sensor_Break2.BackColor = System.Drawing.Color.Red;
@@ -568,7 +594,7 @@
             // 
             this.label_ErrorInfo.Location = new System.Drawing.Point(262, 28);
             this.label_ErrorInfo.Name = "label_ErrorInfo";
-            this.label_ErrorInfo.Size = new System.Drawing.Size(197, 135);
+            this.label_ErrorInfo.Size = new System.Drawing.Size(197, 97);
             this.label_ErrorInfo.TabIndex = 2;
             this.label_ErrorInfo.Text = "无故障";
             // 
@@ -590,6 +616,15 @@
             this.label24.TabIndex = 0;
             this.label24.Text = "电池通讯";
             // 
+            // label10
+            // 
+            this.label10.AutoSize = true;
+            this.label10.Location = new System.Drawing.Point(307, 142);
+            this.label10.Name = "label10";
+            this.label10.Size = new System.Drawing.Size(74, 21);
+            this.label10.TabIndex = 0;
+            this.label10.Text = "力矩零点";
+            // 
             // label36
             // 
             this.label36.AutoSize = true;
@@ -1582,12 +1617,23 @@
             this.label31.Size = new System.Drawing.Size(1, 20);
             this.label31.TabIndex = 36;
             // 
+            // label_Ver
+            // 
+            this.label_Ver.AutoSize = true;
+            this.label_Ver.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
+            this.label_Ver.Location = new System.Drawing.Point(439, 791);
+            this.label_Ver.Name = "label_Ver";
+            this.label_Ver.Size = new System.Drawing.Size(91, 21);
+            this.label_Ver.TabIndex = 37;
+            this.label_Ver.Text = "Ver: V1.8.0";
+            // 
             // ImportForm
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.BackColor = System.Drawing.Color.White;
             this.ClientSize = new System.Drawing.Size(1230, 813);
+            this.Controls.Add(this.label_Ver);
             this.Controls.Add(this.label31);
             this.Controls.Add(this.label_TestUser);
             this.Controls.Add(this.label_TestFun);
@@ -1769,5 +1815,9 @@
         private System.Windows.Forms.Label label_OK_Count;
         private System.Windows.Forms.Label label5;
         private System.Windows.Forms.ToolStripMenuItem 备忘录ToolStripMenuItem;
+        private System.Windows.Forms.Label label_sensor_tor;
+        private System.Windows.Forms.Label label10;
+        private System.Windows.Forms.Label label32;
+        private System.Windows.Forms.Label label_Ver;
     }
 }

+ 186 - 3
ImportForm.cs

@@ -32,6 +32,8 @@ namespace MOTINOVA_Motor_Factory_Set
         ushort SpeedSensorThData = 60; //车速传感器判断阈值
         ushort RateCadence = 120;      //踏频
         ushort GasModeSpeed = 1200;    //指拨模式测试转速
+        ushort TorSensorZeroMin = 100; //力矩零点下限
+        ushort TorSensorZeroMax = 2000;//力矩零点上限
         #endregion
 
         #region 配置文件信息
@@ -93,6 +95,8 @@ namespace MOTINOVA_Motor_Factory_Set
         ushort OK_cnt = 0;
         #endregion
 
+        int TorqueSensorZero = -1, TorqueSensorZero1 = -1, TorqueSensorZero2 = -1, TorqueSensorZero3 = -1;
+
         public ImportForm()
         {
             InitializeComponent();
@@ -234,6 +238,8 @@ namespace MOTINOVA_Motor_Factory_Set
                 SpeedSensorThData = Convert.ToUInt16(array_CfgInfo[76].ToString().Split(',')[1]);
                 RateCadence = Convert.ToUInt16(array_CfgInfo[77].ToString().Split(',')[1]);
                 GasModeSpeed = Convert.ToUInt16(array_CfgInfo[78].ToString().Split(',')[1]);
+                TorSensorZeroMin = Convert.ToUInt16(array_CfgInfo[79].ToString().Split(',')[1]);
+                TorSensorZeroMax = Convert.ToUInt16(array_CfgInfo[80].ToString().Split(',')[1]);
             }
         }
         #endregion
@@ -729,6 +735,14 @@ namespace MOTINOVA_Motor_Factory_Set
                             }
                             break;
                         }
+                    case 0xA318://单传感器零点值
+                        {
+                            unchecked
+                            {
+                                TorqueSensorZero = (ushort)((binary_data_1[3] << 8) + binary_data_1[2]);
+                            }
+                            break;
+                        }
                     case 0xA903://反馈指令
                         {
                             unchecked
@@ -741,6 +755,19 @@ namespace MOTINOVA_Motor_Factory_Set
                             }
                             break;
                         }
+                    case 0xAE1A://三传感器零点
+                        {
+                            unchecked
+                            {
+                                if (binary_data_1[2] == 1)
+                                    TorqueSensorZero1 = (ushort)((binary_data_1[4] << 8) + binary_data_1[3]);
+                                else if (binary_data_1[2] == 2)
+                                    TorqueSensorZero2 = (ushort)((binary_data_1[4] << 8) + binary_data_1[3]);
+                                else if (binary_data_1[2] == 3)
+                                    TorqueSensorZero3 = (ushort)((binary_data_1[4] << 8) + binary_data_1[3]);
+                            }
+                            break;
+                        }
                     default: break;
                 }
             }
@@ -979,6 +1006,8 @@ namespace MOTINOVA_Motor_Factory_Set
             label_Sensor_Break1.Text = "NG";
             label_Sensor_Break2.BackColor = Color.Red;//断电刹把
             label_Sensor_Break2.Text = "NG";
+            label_sensor_tor.BackColor = Color.Red;//力矩零点
+            label_sensor_tor.Text = "NG";
 
             label_Sensor_Gas.BackColor = Color.Red;//转把
             label_Sensor_Gas.Text = "NG";
@@ -1084,14 +1113,14 @@ namespace MOTINOVA_Motor_Factory_Set
                 while (StepTestFlag == StepTestResult_Enum.StepTestResult_Testing) ;//等待测试结束
                 if (StepTestFlag == StepTestResult_Enum.StepTestResult_OK)//成功
                 {
-                    richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "系统清除成功" + "\r\n";
+                    richTextBox_TestRecord.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "系统清除成功" + "\r\n");
                     label_Sta_Clear.BackColor = Color.Green;
                     label_Sta_Clear.Text = "OK";
                 }
                 else//失败
                 {
                     label_Step.Text = "系统清除失败,测试结束!";
-                    richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "系统清除失败,测试结束" + "\r\n";
+                    richTextBox_TestRecord.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "系统清除失败,测试结束" + "\r\n");
                     button_Start.Enabled = true;
                     textBox_PDinfo.Enabled = true;
                     //关机
@@ -1190,7 +1219,159 @@ namespace MOTINOVA_Motor_Factory_Set
                 }
 
 
-            } while (false);            
+            } while (false);
+
+            //读力矩传感器零点
+            do
+            {
+                //发送读取指令
+                TorqueSensorZero = -1;
+                TorqueSensorZero1 = -1;
+                TorqueSensorZero2 = -1;
+                TorqueSensorZero3 = -1;
+                SendCmd((ushort)0x751, (byte)0x11, (ushort)0x2000, null);//单传感器零点
+                Delay_ms(200);
+                Code[0] = 1;
+                SendCmd((ushort)0x751, (byte)0x11, (ushort)0x3201, Code);//传感器1零点
+                Delay_ms(200);
+                Code[0] = 2;
+                SendCmd((ushort)0x751, (byte)0x11, (ushort)0x3201, Code);//传感器2零点
+                Delay_ms(200);
+                Code[0] = 3;
+                SendCmd((ushort)0x751, (byte)0x11, (ushort)0x3201, Code);//传感器3零点
+                Delay_ms(200);
+                //比较
+                if (TorqueSensorZero != -1)
+                {
+                    if ((TorqueSensorZero >= TorSensorZeroMin) && (TorqueSensorZero <= TorSensorZeroMax))
+                    {
+                        richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "力矩传感器零点正常" + "," + TorqueSensorZero.ToString() + "\r\n";
+                        label_sensor_tor.BackColor = Color.Green;
+                        label_sensor_tor.Text = "OK";
+                    }
+                    else
+                    {
+                        label_Step.Text = "力矩传感器零点超范围";
+                        richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "力矩传感器零点超范围" + "," + TorqueSensorZero.ToString() + "\r\n";
+                        button_Start.Enabled = true;
+                        textBox_PDinfo.Enabled = true;
+                        //关机
+                        Code[0] = 0xF0;
+                        SendCmd(0x7FF, 0x16, 0x2201, Code);
+                        开ToolStripMenuItem.Checked = false;
+                        关ToolStripMenuItem.Checked = true;
+                        Delay_ms(500);
+                        //关闭串口
+                        portsettings_form.closePort();
+                        //存储测试数据
+                        ErrorSaveLog();
+                        return;
+                    }
+                }
+                else if ((TorqueSensorZero1 != -1) && (TorqueSensorZero2 != -1) && (TorqueSensorZero3 != -1))
+                {
+                    if (TorqueSensorZero1 != -1)
+                    {
+                        if ((TorqueSensorZero1 >= TorSensorZeroMin) && (TorqueSensorZero1 <= TorSensorZeroMax))
+                        {
+                            richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "力矩传感器1零点正常" + "," + TorqueSensorZero1.ToString() + "\r\n";
+                            label_sensor_tor.BackColor = Color.Green;
+                            label_sensor_tor.Text = "OK";
+                        }
+                        else
+                        {
+                            label_Step.Text = "力矩传感器1零点超范围";
+                            richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "力矩传感器1零点超范围" + "," + TorqueSensorZero1.ToString() + "\r\n";
+                            button_Start.Enabled = true;
+                            textBox_PDinfo.Enabled = true;
+                            //关机
+                            Code[0] = 0xF0;
+                            SendCmd(0x7FF, 0x16, 0x2201, Code);
+                            开ToolStripMenuItem.Checked = false;
+                            关ToolStripMenuItem.Checked = true;
+                            Delay_ms(500);
+                            //关闭串口
+                            portsettings_form.closePort();
+                            //存储测试数据
+                            ErrorSaveLog();
+                            return;
+                        }
+                    }
+                    if (TorqueSensorZero2 != -1)
+                    {
+                        if ((TorqueSensorZero2 >= TorSensorZeroMin) && (TorqueSensorZero2 <= TorSensorZeroMax))
+                        {
+                            richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "力矩传感器2零点正常" + "," + TorqueSensorZero2.ToString() + "\r\n";
+                            label_sensor_tor.BackColor = Color.Green;
+                            label_sensor_tor.Text = "OK";
+                        }
+                        else
+                        {
+                            label_Step.Text = "力矩传感器2零点超范围";
+                            richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "力矩传感器零点2超范围" + "," + TorqueSensorZero2.ToString() + "\r\n";
+                            button_Start.Enabled = true;
+                            textBox_PDinfo.Enabled = true;
+                            //关机
+                            Code[0] = 0xF0;
+                            SendCmd(0x7FF, 0x16, 0x2201, Code);
+                            开ToolStripMenuItem.Checked = false;
+                            关ToolStripMenuItem.Checked = true;
+                            Delay_ms(500);
+                            //关闭串口
+                            portsettings_form.closePort();
+                            //存储测试数据
+                            ErrorSaveLog();
+                            return;
+                        }
+                    }
+                    if (TorqueSensorZero3 != -1)
+                    {
+                        if ((TorqueSensorZero3 >= TorSensorZeroMin) && (TorqueSensorZero3 <= TorSensorZeroMax))
+                        {
+                            richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "力矩传感器3零点正常" + "," + TorqueSensorZero3.ToString() + "\r\n";
+                            label_sensor_tor.BackColor = Color.Green;
+                            label_sensor_tor.Text = "OK";
+                        }
+                        else
+                        {
+                            label_Step.Text = "力矩传感器3零点超范围";
+                            richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "力矩传感器3零点超范围" + "," + TorqueSensorZero3.ToString() + "\r\n";
+                            button_Start.Enabled = true;
+                            textBox_PDinfo.Enabled = true;
+                            //关机
+                            Code[0] = 0xF0;
+                            SendCmd(0x7FF, 0x16, 0x2201, Code);
+                            开ToolStripMenuItem.Checked = false;
+                            关ToolStripMenuItem.Checked = true;
+                            Delay_ms(500);
+                            //关闭串口
+                            portsettings_form.closePort();
+                            //存储测试数据
+                            ErrorSaveLog();
+                            return;
+                        }
+                    }
+                }
+                else
+                {
+                    label_Step.Text = "力矩传感器零点读取失败";
+                    richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "力矩传感器零点读取失败" + "\r\n";
+                    button_Start.Enabled = true;
+                    textBox_PDinfo.Enabled = true;
+                    //关机
+                    Code[0] = 0xF0;
+                    SendCmd(0x7FF, 0x16, 0x2201, Code);
+                    开ToolStripMenuItem.Checked = false;
+                    关ToolStripMenuItem.Checked = true;
+                    Delay_ms(500);
+                    //关闭串口
+                    portsettings_form.closePort();
+                    //存储测试数据
+                    ErrorSaveLog();
+                    return;
+                }
+                
+            } while (false);
 
 #region Step2:发送指令,依次写入参数
             TestStep = TestStep_Enum.Step_Write;
@@ -2450,6 +2631,8 @@ namespace MOTINOVA_Motor_Factory_Set
                 label_Sensor_Break2.Text = "N/A";
                 label_BMS_COM.BackColor = Color.Yellow;
                 label_BMS_COM.Text = "N/A";
+                label_sensor_tor.BackColor = Color.Yellow;
+                label_sensor_tor.Text = "N/A";
             }
 
 #region Step6:版本查询和确认

+ 1 - 0
PortSettings.Designer.cs

@@ -58,6 +58,7 @@
             this.comboBox_ComIndex.Name = "comboBox_ComIndex";
             this.comboBox_ComIndex.Size = new System.Drawing.Size(121, 29);
             this.comboBox_ComIndex.TabIndex = 1;
+            this.comboBox_ComIndex.SelectedIndexChanged += new System.EventHandler(this.comboBox_ComIndex_SelectedIndexChanged);
             // 
             // button_Enter
             // 

+ 43 - 5
PortSettings.cs

@@ -6,6 +6,8 @@ using System.Drawing;
 using System.Text;
 using System.Windows.Forms;
 using System.IO.Ports;
+using System.Collections;
+using System.IO;
 
 namespace MOTINOVA_Motor_Factory_Set
 {
@@ -24,17 +26,41 @@ namespace MOTINOVA_Motor_Factory_Set
         public PortSettings()
         {
             InitializeComponent();
-        }
-
-        private void PortSettings_Load(object sender, EventArgs e)
-        {
             #region 端口刷新
             string[] ports = SerialPort.GetPortNames();
+            string SavePort = "";
             Array.Sort(ports);
             comboBox_ComIndex.Items.AddRange(ports);
-            comboBox_ComIndex.SelectedIndex = comboBox_ComIndex.Items.Count > 0 ? 0 : -1;
+
+            //打开文件
+            StreamReader objReader = new StreamReader(Directory.GetCurrentDirectory() + "\\Port");
+            string sLine = "";
+            ArrayList array_CfgInfo = new ArrayList();
+            array_CfgInfo.Clear();
+            while (sLine != null)
+            {
+                sLine = objReader.ReadLine();
+                array_CfgInfo.Add(sLine);
+            }
+            objReader.Close();
+            try
+            {
+                SavePort = array_CfgInfo[0].ToString().Split('=')[1];
+                m_strBaudrate = array_CfgInfo[1].ToString().Split('=')[1];
+                comboBox_ComIndex.SelectedIndex = comboBox_ComIndex.Items.IndexOf(SavePort);
+            }
+            catch (Exception)
+            {
+                comboBox_ComIndex.SelectedIndex = -1;
+            }
             #endregion
         }
+
+        private void PortSettings_Load(object sender, EventArgs e)
+        {
+            
+        }
+
         #region 打开或关闭串口
         public bool openPort()
         {
@@ -151,5 +177,17 @@ namespace MOTINOVA_Motor_Factory_Set
             }
             this.Hide();
         }
+
+        private void comboBox_ComIndex_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            //删除原文件
+            if (File.Exists(Directory.GetCurrentDirectory()+"\\Port"))
+                File.Delete(Directory.GetCurrentDirectory() + "\\Port");
+            //保存文件
+            string Info = "";
+            Info += "PORT=" + comboBox_ComIndex.Text + "\r\n";
+            Info += "BAUD=115200";
+            System.IO.File.WriteAllText(Directory.GetCurrentDirectory() + "\\Port", Info);
+        }
     }
 }

+ 1 - 1
StartForm.Designer.cs

@@ -118,7 +118,7 @@
             this.label_Ver.Name = "label_Ver";
             this.label_Ver.Size = new System.Drawing.Size(316, 21);
             this.label_Ver.TabIndex = 2;
-            this.label_Ver.Text = "Ver: V1.7.0 Build Time: 2024-04-19 16:30";
+            this.label_Ver.Text = "Ver: V1.8.0 Build Time: 2024-04-19 16:30";
             // 
             // label_NetStatus
             // 

+ 1 - 1
bin/Debug/MOTINOVA_Motor_Factory_Set.application

@@ -14,7 +14,7 @@
           <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
         </dsig:Transforms>
         <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
-        <dsig:DigestValue>fOxjt8eSJnYXu3WIdnmf/VKziIxIAXPxiw5Tn2SHYsQ=</dsig:DigestValue>
+        <dsig:DigestValue>aEiswiB3Nn5DZBC0KIQ5X4/oD5q6QKBQ4tPL2XxUgOo=</dsig:DigestValue>
       </hash>
     </dependentAssembly>
   </dependency>

二进制
bin/Debug/MOTINOVA_Motor_Factory_Set.exe


+ 2 - 2
bin/Debug/MOTINOVA_Motor_Factory_Set.exe.manifest

@@ -78,14 +78,14 @@
     </dependentAssembly>
   </dependency>
   <dependency>
-    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MOTINOVA_Motor_Factory_Set.exe" size="737280">
+    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MOTINOVA_Motor_Factory_Set.exe" size="741888">
       <assemblyIdentity name="MOTINOVA_Motor_Factory_Set" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
       <hash>
         <dsig:Transforms>
           <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
         </dsig:Transforms>
         <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
-        <dsig:DigestValue>JFx28LL6lWuAdaTf7bMYznGjWFBPwoFPzfK8v8rE+H0=</dsig:DigestValue>
+        <dsig:DigestValue>fZQEB1uz7fWq/1OSneR75x7YuBJ+DM64Tg9Pe5ljsVg=</dsig:DigestValue>
       </hash>
     </dependentAssembly>
   </dependency>

二进制
bin/Debug/MOTINOVA_Motor_Factory_Set.pdb


+ 2 - 0
bin/Debug/Port

@@ -0,0 +1,2 @@
+PORT=COM4
+BAUD=115200

+ 1 - 1
bin/Debug/TestSerialNum

@@ -1,4 +1,4 @@
 流水号:
-62
+117
 合格计数:
 22

二进制
bin/Debug/app.publish/MOTINOVA_Motor_Factory_Set.exe


+ 1 - 1
obj/Debug/MOTINOVA_Motor_Factory_Set.application

@@ -14,7 +14,7 @@
           <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
         </dsig:Transforms>
         <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
-        <dsig:DigestValue>fOxjt8eSJnYXu3WIdnmf/VKziIxIAXPxiw5Tn2SHYsQ=</dsig:DigestValue>
+        <dsig:DigestValue>aEiswiB3Nn5DZBC0KIQ5X4/oD5q6QKBQ4tPL2XxUgOo=</dsig:DigestValue>
       </hash>
     </dependentAssembly>
   </dependency>

二进制
obj/Debug/MOTINOVA_Motor_Factory_Set.csproj.AssemblyReference.cache


+ 1 - 1
obj/Debug/MOTINOVA_Motor_Factory_Set.csproj.FileListAbsolute.txt

@@ -202,6 +202,7 @@ D:\笔记本20221223\zhouxiong9\Documents\Tools\MOTINOVA_Motor_Factory_Set\facto
 D:\笔记本20221223\zhouxiong9\Documents\Tools\MOTINOVA_Motor_Factory_Set\factory_-test\obj\Debug\MOTINOVA_Motor_Factory_Set.csproj.AssemblyReference.cache
 D:\笔记本20221223\zhouxiong9\Documents\Tools\MOTINOVA_Motor_Factory_Set\factory_-test\obj\Debug\MOTINOVA_Motor_Factory_Set.CheckForm.resources
 D:\笔记本20221223\zhouxiong9\Documents\Tools\MOTINOVA_Motor_Factory_Set\factory_-test\obj\Debug\MOTINOVA_Motor_Factory_Set.Enter.resources
+D:\笔记本20221223\zhouxiong9\Documents\Tools\MOTINOVA_Motor_Factory_Set\factory_-test\obj\Debug\MOTINOVA_Motor_Factory_Set.ExportForm.resources
 D:\笔记本20221223\zhouxiong9\Documents\Tools\MOTINOVA_Motor_Factory_Set\factory_-test\obj\Debug\MOTINOVA_Motor_Factory_Set.ImportForm.resources
 D:\笔记本20221223\zhouxiong9\Documents\Tools\MOTINOVA_Motor_Factory_Set\factory_-test\obj\Debug\MOTINOVA_Motor_Factory_Set.ManageForm.resources
 D:\笔记本20221223\zhouxiong9\Documents\Tools\MOTINOVA_Motor_Factory_Set\factory_-test\obj\Debug\MOTINOVA_Motor_Factory_Set.Note.resources
@@ -216,4 +217,3 @@ D:\笔记本20221223\zhouxiong9\Documents\Tools\MOTINOVA_Motor_Factory_Set\facto
 D:\笔记本20221223\zhouxiong9\Documents\Tools\MOTINOVA_Motor_Factory_Set\factory_-test\obj\Debug\MOTINOVA_Motor_Factory_Set.csproj.CopyComplete
 D:\笔记本20221223\zhouxiong9\Documents\Tools\MOTINOVA_Motor_Factory_Set\factory_-test\obj\Debug\MOTINOVA_Motor_Factory_Set.exe
 D:\笔记本20221223\zhouxiong9\Documents\Tools\MOTINOVA_Motor_Factory_Set\factory_-test\obj\Debug\MOTINOVA_Motor_Factory_Set.pdb
-D:\笔记本20221223\zhouxiong9\Documents\Tools\MOTINOVA_Motor_Factory_Set\factory_-test\obj\Debug\MOTINOVA_Motor_Factory_Set.ExportForm.resources

二进制
obj/Debug/MOTINOVA_Motor_Factory_Set.csproj.GenerateResource.cache


二进制
obj/Debug/MOTINOVA_Motor_Factory_Set.exe


+ 2 - 2
obj/Debug/MOTINOVA_Motor_Factory_Set.exe.manifest

@@ -78,14 +78,14 @@
     </dependentAssembly>
   </dependency>
   <dependency>
-    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MOTINOVA_Motor_Factory_Set.exe" size="737280">
+    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MOTINOVA_Motor_Factory_Set.exe" size="741888">
       <assemblyIdentity name="MOTINOVA_Motor_Factory_Set" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
       <hash>
         <dsig:Transforms>
           <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
         </dsig:Transforms>
         <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
-        <dsig:DigestValue>JFx28LL6lWuAdaTf7bMYznGjWFBPwoFPzfK8v8rE+H0=</dsig:DigestValue>
+        <dsig:DigestValue>fZQEB1uz7fWq/1OSneR75x7YuBJ+DM64Tg9Pe5ljsVg=</dsig:DigestValue>
       </hash>
     </dependentAssembly>
   </dependency>

二进制
obj/Debug/MOTINOVA_Motor_Factory_Set.pdb