Эх сурвалжийг харах

1、测试开始打开串口,测试结束关闭串口;
2、测试开始打开电源,测试结束关闭电源;
3、

dail.zhou 3 жил өмнө
parent
commit
e33efd8846

BIN
.vs/MOTINOVA_Motor_Factory_Set/v16/.suo


+ 111 - 19
CheckForm.cs

@@ -914,6 +914,29 @@ namespace MOTINOVA_Motor_Factory_Set
             //公有变量
             var Code = new byte[32];//发送的指令数据
 
+            //检查是否有故障
+            if (label_error_code.Text != "OK")
+            {
+                label_Step.Text = "电机存在故障!";
+                button_Start.Enabled = true;
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
+                ErrorSaveLog();
+                return;
+            }
+
+            //开机
+            Code[0] = 0xF1;
+            SendCmd(0x7FF, 0x16, 0x2201, Code);
+            开ToolStripMenuItem.Checked = true;
+            关ToolStripMenuItem.Checked = false;
+
             #region 版本查询和确认
             label_Step.Text = "检查版本信息";
             richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "发送指令查询版本信息" + "\r\n";
@@ -933,8 +956,17 @@ namespace MOTINOVA_Motor_Factory_Set
             }
             catch (System.Exception)
             {
-                label_Step.Text = "版本错误,测试结束!";
+                label_Step.Text = "版本错误,测试结束!";
                 label_Step.ForeColor = Color.Red;
+                button_Start.Enabled = true;
+                ErrorSaveLog();
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
+                //关闭串口
+                portsettings_form.closePort();
             }
             if (string.Equals(FW_Version_Check, FW_Version_Result) == false) //主控版本错误,直接结束
             {
@@ -943,6 +975,13 @@ namespace MOTINOVA_Motor_Factory_Set
                 label_Step.ForeColor = Color.Red;
                 button_Start.Enabled = true;
                 ErrorSaveLog();
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
+                //关闭串口
+                portsettings_form.closePort();
                 return;
             }
             else
@@ -956,6 +995,13 @@ namespace MOTINOVA_Motor_Factory_Set
                         label_Step.ForeColor = Color.Red;
                         button_Start.Enabled = true;
                         ErrorSaveLog();
+                        //关机
+                        Code[0] = 0xF0;
+                        SendCmd(0x7FF, 0x16, 0x2201, Code);
+                        开ToolStripMenuItem.Checked = false;
+                        关ToolStripMenuItem.Checked = true;
+                        //关闭串口
+                        portsettings_form.closePort();
                         return;
                     }
                 }
@@ -967,6 +1013,13 @@ namespace MOTINOVA_Motor_Factory_Set
                     label_Step.ForeColor = Color.Red;
                     button_Start.Enabled = true;
                     ErrorSaveLog();
+                    //关机
+                    Code[0] = 0xF0;
+                    SendCmd(0x7FF, 0x16, 0x2201, Code);
+                    开ToolStripMenuItem.Checked = false;
+                    关ToolStripMenuItem.Checked = true;
+                    //关闭串口
+                    portsettings_form.closePort();
                     return;
                 }
                 if (string.Equals(richTextBox_VerInfo.Lines[1].Split(':')[1], textBox_PDinfo.Text.Remove(0, textBox_PDinfo.Text.LastIndexOf(' ') + 1)) == false)//SN不一致
@@ -976,6 +1029,13 @@ namespace MOTINOVA_Motor_Factory_Set
                     label_Step.ForeColor = Color.Red;
                     button_Start.Enabled = true;
                     ErrorSaveLog();
+                    //关机
+                    Code[0] = 0xF0;
+                    SendCmd(0x7FF, 0x16, 0x2201, Code);
+                    开ToolStripMenuItem.Checked = false;
+                    关ToolStripMenuItem.Checked = true;
+                    //关闭串口
+                    portsettings_form.closePort();
                     return;
                 }
                 richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "版本信息正确" + "\r\n";
@@ -1027,6 +1087,13 @@ namespace MOTINOVA_Motor_Factory_Set
                                     label_Step.ForeColor = Color.Red;
                                     button_Start.Enabled = true;
                                     ErrorSaveLog();
+                                    //关机
+                                    Code[0] = 0xF0;
+                                    SendCmd(0x7FF, 0x16, 0x2201, Code);
+                                    开ToolStripMenuItem.Checked = false;
+                                    关ToolStripMenuItem.Checked = true;
+                                    //关闭串口
+                                    portsettings_form.closePort();
                                     return;
                                 }
                             }
@@ -1043,6 +1110,13 @@ namespace MOTINOVA_Motor_Factory_Set
                                 label_Step.ForeColor = Color.Red;
                                 button_Start.Enabled = true;
                                 ErrorSaveLog();
+                                //关机
+                                Code[0] = 0xF0;
+                                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                                开ToolStripMenuItem.Checked = false;
+                                关ToolStripMenuItem.Checked = true;
+                                //关闭串口
+                                portsettings_form.closePort();
                                 return;
                             }
                             richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + richTextBox_TQ.Lines[i].Split(':')[0] + "正常" + "\r\n";
@@ -1058,6 +1132,13 @@ namespace MOTINOVA_Motor_Factory_Set
                                 label_Step.ForeColor = Color.Red;
                                 button_Start.Enabled = true;
                                 ErrorSaveLog();
+                                //关机
+                                Code[0] = 0xF0;
+                                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                                开ToolStripMenuItem.Checked = false;
+                                关ToolStripMenuItem.Checked = true;
+                                //关闭串口
+                                portsettings_form.closePort();
                                 return;
                             }
                             richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + richTextBox_TQ.Lines[i].Split(':')[0] + "正常" + "\r\n";
@@ -1100,6 +1181,13 @@ namespace MOTINOVA_Motor_Factory_Set
                         label_Step.ForeColor = Color.Red;
                         button_Start.Enabled = true;
                         ErrorSaveLog();
+                        //关机
+                        Code[0] = 0xF0;
+                        SendCmd(0x7FF, 0x16, 0x2201, Code);
+                        开ToolStripMenuItem.Checked = false;
+                        关ToolStripMenuItem.Checked = true;
+                        //关闭串口
+                        portsettings_form.closePort();
                         return;
                     }
                 }
@@ -1110,6 +1198,13 @@ namespace MOTINOVA_Motor_Factory_Set
                     label_Step.ForeColor = Color.Red;
                     button_Start.Enabled = true;
                     ErrorSaveLog();
+                    //关机
+                    Code[0] = 0xF0;
+                    SendCmd(0x7FF, 0x16, 0x2201, Code);
+                    开ToolStripMenuItem.Checked = false;
+                    关ToolStripMenuItem.Checked = true;
+                    //关闭串口
+                    portsettings_form.closePort();
                     return;
                 }
             }
@@ -1122,6 +1217,13 @@ namespace MOTINOVA_Motor_Factory_Set
             label_Result.Text = "合格";
             label_Result.BackColor = Color.Green;
             button_Start.Enabled = true;
+            //关机
+            Code[0] = 0xF0;
+            SendCmd(0x7FF, 0x16, 0x2201, Code);
+            开ToolStripMenuItem.Checked = false;
+            关ToolStripMenuItem.Checked = true;
+            //关闭串口
+            portsettings_form.closePort();
 
             #region 按照产品信息设置测试文件路径
             string ResultPathName = textBox_PDinfo.Text + "_" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss").Replace("/", "-").Replace(":", string.Empty).Replace(" ", "_");
@@ -1242,27 +1344,13 @@ namespace MOTINOVA_Motor_Factory_Set
         
         //开始一次测试
         private void TestStart()
-        { 
-            //检查是否有故障
-            if (label_error_code.Text != "OK")
-            {
-                label_Step.Text = "电机存在故障!";
-                ErrorSaveLog();
-                return;
-            }
-
+        {
             //显示数据清空
             richTextBox_ReadCfg.Text = "";
             richTextBox_TestRecord.Text = "";
             richTextBox_TQ.Text = "";
             richTextBox_VerInfo.Text = "";
 
-            if (!portsettings_form.serialPort1.IsOpen)
-            {
-                label_Step.Text = "串口未连接!";
-                return;
-            }
-
             #region 检查配置文件
             if (comboBox_File.Items.Count == 0) //配置文件目录为空
             {
@@ -1297,6 +1385,13 @@ namespace MOTINOVA_Motor_Factory_Set
             }
             #endregion
 
+            //连接串口
+            if (portsettings_form.openPort() == false)
+            {
+                label_Step.Text = "串口连接失败!";
+                return;
+            }
+
             //流水号累加和存储
             label_SerialNum.Text = (Convert.ToInt32(label_SerialNum.Text) + 1).ToString();
             string cfg_file = System.IO.Directory.GetCurrentDirectory() + "\\SerialNum";
@@ -1325,9 +1420,6 @@ namespace MOTINOVA_Motor_Factory_Set
             Thread th = new Thread(Thread_Task);
             th.Start();
 
-            //上传测试数据
-
-
         }
 
         //双击清零流水号

+ 3 - 3
ImportForm.Designer.cs

@@ -208,7 +208,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(96, 26);
+            this.开ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.开ToolStripMenuItem.Text = "开";
             this.开ToolStripMenuItem.Click += new System.EventHandler(this.开ToolStripMenuItem_Click);
             // 
@@ -218,7 +218,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(96, 26);
+            this.关ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.关ToolStripMenuItem.Text = "关";
             this.关ToolStripMenuItem.Click += new System.EventHandler(this.关ToolStripMenuItem_Click);
             // 
@@ -1228,7 +1228,7 @@
             this.richTextBox_CfgFile.Location = new System.Drawing.Point(974, 114);
             this.richTextBox_CfgFile.Name = "richTextBox_CfgFile";
             this.richTextBox_CfgFile.ReadOnly = true;
-            this.richTextBox_CfgFile.Size = new System.Drawing.Size(250, 658);
+            this.richTextBox_CfgFile.Size = new System.Drawing.Size(250, 674);
             this.richTextBox_CfgFile.TabIndex = 11;
             this.richTextBox_CfgFile.Text = "";
             // 

+ 289 - 18
ImportForm.cs

@@ -753,7 +753,7 @@ namespace MOTINOVA_Motor_Factory_Set
         {
             portsettings_form.serialPort1.Close();
             portsettings_form.comboBox_ComIndex.Enabled = true;
-            portsettings_form.button_ComOpen.Text = "连接";
+            portsettings_form.button_Enter.Text = "连接";
             portsettings_form.g_blnIsOpen = false;
         }
 
@@ -925,7 +925,6 @@ namespace MOTINOVA_Motor_Factory_Set
         //执行一次测试任务
         private void Thread_Task()
         {
-           
             //开始测试
             richTextBox_TestRecord.Text += "电机信息:" + textBox_PDinfo.Text + "\r\n";
             richTextBox_TestRecord.Text += "配置文件:" + comboBox_File.Text + "\r\n";
@@ -937,6 +936,30 @@ namespace MOTINOVA_Motor_Factory_Set
             short DataTemp_Int16;
             string ResultPathName = "";
 
+            //开机
+            Code[0] = 0xF1;
+            SendCmd(0x7FF, 0x16, 0x2201, Code);
+            开ToolStripMenuItem.Checked = true;
+            关ToolStripMenuItem.Checked = false;
+
+            Delay_ms(500);
+            //检查是否有故障
+            if (label_error_code.Text != "OK")
+            {
+                label_Step.Text = "电机存在故障!";
+                button_Start.Enabled = true;
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
+                ErrorSaveLog();
+                return;
+            }
+
             #region Step1:发送指令,系统清除
             TestStep = TestStep_Enum.Step_SysClear;
             label_Step.Text = "系统清除,请等待!";
@@ -963,13 +986,21 @@ namespace MOTINOVA_Motor_Factory_Set
                 label_Step.Text = "系统清除失败,测试结束!";
                 richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "系统清除失败,测试结束" + "\r\n";
                 button_Start.Enabled = true;
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
                 ErrorSaveLog();
                 return;
             }
             #endregion
 
             //系统清除完成后会重启,等待3s
-            Delay_ms(3000);
+            Delay_ms(2000);
 
             #region Step2:发送指令,依次写入参数
             TestStep = TestStep_Enum.Step_Write;
@@ -1006,7 +1037,15 @@ namespace MOTINOVA_Motor_Factory_Set
             {
                 label_Step.Text = "参数写入失败,测试结束!";
                 richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "电机型号写入失败,测试结束" + "\r\n";
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
                 button_Start.Enabled = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
                 ErrorSaveLog();
                 return;
             }
@@ -1038,7 +1077,15 @@ namespace MOTINOVA_Motor_Factory_Set
             {
                 label_Step.Text = "参数写入失败,测试结束!";
                 richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "电机序列号写入失败,测试结束" + "\r\n";
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
                 button_Start.Enabled = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
                 ErrorSaveLog();
                 return;
             }
@@ -1126,7 +1173,15 @@ namespace MOTINOVA_Motor_Factory_Set
             {
                 label_Step.Text = "参数写入失败,测试结束!";
                 richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "用户参数1写入失败,测试结束" + "\r\n";
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
                 button_Start.Enabled = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
                 ErrorSaveLog();
                 return;
             }
@@ -1166,7 +1221,15 @@ namespace MOTINOVA_Motor_Factory_Set
             {
                 label_Step.Text = "参数写入失败,测试结束!";
                 richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "用户参数2写入失败,测试结束" + "\r\n";
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
                 button_Start.Enabled = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
                 ErrorSaveLog();
                 return;
             }
@@ -1215,7 +1278,15 @@ namespace MOTINOVA_Motor_Factory_Set
             {
                 label_Step.Text = "参数写入失败,测试结束!";
                 richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "马达参数写入失败,测试结束" + "\r\n";
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
                 button_Start.Enabled = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
                 ErrorSaveLog();
                 return;
             }
@@ -1254,7 +1325,15 @@ namespace MOTINOVA_Motor_Factory_Set
             {
                 label_Step.Text = "参数写入失败,测试结束!";
                 richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "生产信息写入失败,测试结束" + "\r\n";
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
                 button_Start.Enabled = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
                 ErrorSaveLog();
                 return;
             }
@@ -1289,7 +1368,15 @@ namespace MOTINOVA_Motor_Factory_Set
             {
                 label_Step.Text = "参数写入失败,测试结束!";
                 richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "校验密钥写入失败,测试结束" + "\r\n";
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
                 button_Start.Enabled = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
                 ErrorSaveLog();
                 return;
             }
@@ -1325,7 +1412,15 @@ namespace MOTINOVA_Motor_Factory_Set
             {
                 label_Step.Text = "参数写入失败,测试结束!";
                 richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "自定义信息1写入失败,测试结束" + "\r\n";
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
                 button_Start.Enabled = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
                 ErrorSaveLog();
                 return;
             }
@@ -1358,7 +1453,15 @@ namespace MOTINOVA_Motor_Factory_Set
             {
                 label_Step.Text = "参数写入失败,测试结束!";
                 richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "自定义信息2写入失败,测试结束" + "\r\n";
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
                 button_Start.Enabled = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
                 ErrorSaveLog();
                 return;
             }
@@ -1391,7 +1494,15 @@ namespace MOTINOVA_Motor_Factory_Set
             {
                 label_Step.Text = "参数写入失败,测试结束!";
                 richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "自定义信息3写入失败,测试结束" + "\r\n";
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
                 button_Start.Enabled = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
                 ErrorSaveLog();
                 return;
             }
@@ -1435,9 +1546,17 @@ namespace MOTINOVA_Motor_Factory_Set
                 button_LightCtl.Text = "关灯";
                 LightProcess();
                 richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "灯电压错误,测试结束" + "\r\n";
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
                 button_Start.Enabled = true;
                 radioButton_Light_OK.Enabled = false;
                 radioButton_Light_NG.Enabled = false;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
                 ErrorSaveLog();
                 return;
             }
@@ -1479,7 +1598,15 @@ namespace MOTINOVA_Motor_Factory_Set
                     {
                         MessageBox.Show(ex.Message);
                         label_Step.Text = "推行测试异常,测试结束!";
+                        //关机
+                        Code[0] = 0xF0;
+                        SendCmd(0x7FF, 0x16, 0x2201, Code);
+                        开ToolStripMenuItem.Checked = false;
+                        关ToolStripMenuItem.Checked = true;
                         button_Start.Enabled = true;
+                        //关闭串口
+                        portsettings_form.closePort();
+                        //存储测试数据
                         ErrorSaveLog();
                         return;
                     }
@@ -1502,7 +1629,15 @@ namespace MOTINOVA_Motor_Factory_Set
                 {
                     MessageBox.Show(ex.Message);
                     label_Step.Text = "推行测试异常,测试结束!";
+                    //关机
+                    Code[0] = 0xF0;
+                    SendCmd(0x7FF, 0x16, 0x2201, Code);
+                    开ToolStripMenuItem.Checked = false;
+                    关ToolStripMenuItem.Checked = true;
                     button_Start.Enabled = true;
+                    //关闭串口
+                    portsettings_form.closePort();
+                    //存储测试数据
                     ErrorSaveLog();
                     return;
                 }
@@ -1524,7 +1659,15 @@ namespace MOTINOVA_Motor_Factory_Set
                 {
                     MessageBox.Show(ex.Message);
                     label_Step.Text = "推行测试异常,测试结束!";
+                    //关机
+                    Code[0] = 0xF0;
+                    SendCmd(0x7FF, 0x16, 0x2201, Code);
+                    开ToolStripMenuItem.Checked = false;
+                    关ToolStripMenuItem.Checked = true;
                     button_Start.Enabled = true;
+                    //关闭串口
+                    portsettings_form.closePort();
+                    //存储测试数据
                     ErrorSaveLog();
                     return;
                 }
@@ -1546,7 +1689,15 @@ namespace MOTINOVA_Motor_Factory_Set
                 {
                     MessageBox.Show(ex.Message);
                     label_Step.Text = "推行测试异常,测试结束!";
+                    //关机
+                    Code[0] = 0xF0;
+                    SendCmd(0x7FF, 0x16, 0x2201, Code);
+                    开ToolStripMenuItem.Checked = false;
+                    关ToolStripMenuItem.Checked = true;
                     button_Start.Enabled = true;
+                    //关闭串口
+                    portsettings_form.closePort();
+                    //存储测试数据
                     ErrorSaveLog();
                     return;
                 }
@@ -1568,7 +1719,15 @@ namespace MOTINOVA_Motor_Factory_Set
                 {
                     MessageBox.Show(ex.Message);
                     label_Step.Text = "推行测试异常,测试结束!";
+                    //关机
+                    Code[0] = 0xF0;
+                    SendCmd(0x7FF, 0x16, 0x2201, Code);
+                    开ToolStripMenuItem.Checked = false;
+                    关ToolStripMenuItem.Checked = true;
                     button_Start.Enabled = true;
+                    //关闭串口
+                    portsettings_form.closePort();
+                    //存储测试数据
                     ErrorSaveLog();
                     return;
                 }
@@ -1590,7 +1749,15 @@ namespace MOTINOVA_Motor_Factory_Set
                 {
                     MessageBox.Show(ex.Message);
                     label_Step.Text = "推行测试异常,测试结束!";
+                    //关机
+                    Code[0] = 0xF0;
+                    SendCmd(0x7FF, 0x16, 0x2201, Code);
+                    开ToolStripMenuItem.Checked = false;
+                    关ToolStripMenuItem.Checked = true;
                     button_Start.Enabled = true;
+                    //关闭串口
+                    portsettings_form.closePort();
+                    //存储测试数据
                     ErrorSaveLog();
                     return;
                 }
@@ -1612,7 +1779,15 @@ namespace MOTINOVA_Motor_Factory_Set
                 {
                     MessageBox.Show(ex.Message);
                     label_Step.Text = "推行测试异常,测试结束!";
+                    //关机
+                    Code[0] = 0xF0;
+                    SendCmd(0x7FF, 0x16, 0x2201, Code);
+                    开ToolStripMenuItem.Checked = false;
+                    关ToolStripMenuItem.Checked = true;
                     button_Start.Enabled = true;
+                    //关闭串口
+                    portsettings_form.closePort();
+                    //存储测试数据
                     ErrorSaveLog();
                     return;
                 }
@@ -1634,7 +1809,15 @@ namespace MOTINOVA_Motor_Factory_Set
                 {
                     MessageBox.Show(ex.Message);
                     label_Step.Text = "推行测试异常,测试结束!";
+                    //关机
+                    Code[0] = 0xF0;
+                    SendCmd(0x7FF, 0x16, 0x2201, Code);
+                    开ToolStripMenuItem.Checked = false;
+                    关ToolStripMenuItem.Checked = true;
                     button_Start.Enabled = true;
+                    //关闭串口
+                    portsettings_form.closePort();
+                    //存储测试数据
                     ErrorSaveLog();
                     return;
                 }
@@ -1668,7 +1851,15 @@ namespace MOTINOVA_Motor_Factory_Set
                 {
                     MessageBox.Show(ex.Message);
                     label_Step.Text = "推行测试异常,测试结束!";
+                    //关机
+                    Code[0] = 0xF0;
+                    SendCmd(0x7FF, 0x16, 0x2201, Code);
+                    开ToolStripMenuItem.Checked = false;
+                    关ToolStripMenuItem.Checked = true;
                     button_Start.Enabled = true;
+                    //关闭串口
+                    portsettings_form.closePort();
+                    //存储测试数据
                     ErrorSaveLog();
                     return;
                 }
@@ -1695,7 +1886,15 @@ namespace MOTINOVA_Motor_Factory_Set
                 {
                     MessageBox.Show(ex.Message);
                     label_Step.Text = "推行测试异常,测试结束!";
+                    //关机
+                    Code[0] = 0xF0;
+                    SendCmd(0x7FF, 0x16, 0x2201, Code);
+                    开ToolStripMenuItem.Checked = false;
+                    关ToolStripMenuItem.Checked = true;
                     button_Start.Enabled = true;
+                    //关闭串口
+                    portsettings_form.closePort();
+                    //存储测试数据
                     ErrorSaveLog();
                     return;
                 }
@@ -1705,7 +1904,15 @@ namespace MOTINOVA_Motor_Factory_Set
             if (WalkProcess_Cnt >= 10)//表示超时退出,电机未启动
             {
                 label_Step.Text = "推行测试异常,测试结束!";
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
                 button_Start.Enabled = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
                 ErrorSaveLog();
                 return;
             }
@@ -1723,7 +1930,15 @@ namespace MOTINOVA_Motor_Factory_Set
                 {
                     MessageBox.Show(ex.Message);
                     label_Step.Text = "推行测试异常,测试结束!";
+                    //关机
+                    Code[0] = 0xF0;
+                    SendCmd(0x7FF, 0x16, 0x2201, Code);
+                    开ToolStripMenuItem.Checked = false;
+                    关ToolStripMenuItem.Checked = true;
                     button_Start.Enabled = true;
+                    //关闭串口
+                    portsettings_form.closePort();
+                    //存储测试数据
                     ErrorSaveLog();
                     return;
                 }
@@ -1748,7 +1963,15 @@ namespace MOTINOVA_Motor_Factory_Set
             {
                 label_Step.Text = "推行测试异常,测试结束!";
                 richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "推行测试失败,测试结束" + "\r\n";
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
                 button_Start.Enabled = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
                 ErrorSaveLog();
                 return;
             }
@@ -1758,7 +1981,15 @@ namespace MOTINOVA_Motor_Factory_Set
             {
                 label_Step.Text = "BMS通信异常,测试结束!";
                 richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "推行测试失败,测试结束" + "\r\n";
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
                 button_Start.Enabled = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
                 ErrorSaveLog();
                 return;
             }
@@ -1791,7 +2022,15 @@ namespace MOTINOVA_Motor_Factory_Set
                     {
                         MessageBox.Show(ex.Message);
                         label_Step.Text = "推行测试异常,测试结束!";
+                        //关机
+                        Code[0] = 0xF0;
+                        SendCmd(0x7FF, 0x16, 0x2201, Code);
+                        开ToolStripMenuItem.Checked = false;
+                        关ToolStripMenuItem.Checked = true;
                         button_Start.Enabled = true;
+                        //关闭串口
+                        portsettings_form.closePort();
+                        //存储测试数据
                         ErrorSaveLog();
                         return;
                     }
@@ -1812,7 +2051,15 @@ namespace MOTINOVA_Motor_Factory_Set
                 {
                     label_Step.Text = "指拨模式测试异常,测试结束!";
                     richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "指拨模式测试失败,测试结束" + "\r\n";
+                    //关机
+                    Code[0] = 0xF0;
+                    SendCmd(0x7FF, 0x16, 0x2201, Code);
+                    开ToolStripMenuItem.Checked = false;
+                    关ToolStripMenuItem.Checked = true;
                     button_Start.Enabled = true;
+                    //关闭串口
+                    portsettings_form.closePort();
+                    //存储测试数据
                     ErrorSaveLog();
                     return;
                 }
@@ -1846,7 +2093,15 @@ namespace MOTINOVA_Motor_Factory_Set
             {
                 richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "版本信息错误" + "\r\n";
                 label_Step.Text = "软件版本错误,测试结束!";
+                //关机
+                Code[0] = 0xF0;
+                SendCmd(0x7FF, 0x16, 0x2201, Code);
+                开ToolStripMenuItem.Checked = false;
+                关ToolStripMenuItem.Checked = true;
                 button_Start.Enabled = true;
+                //关闭串口
+                portsettings_form.closePort();
+                //存储测试数据
                 ErrorSaveLog();
                 return;
             }
@@ -1858,7 +2113,15 @@ namespace MOTINOVA_Motor_Factory_Set
                     {
                         richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "TE软件版本错误" + "\r\n";
                         label_Step.Text = "TE软件版本错误,测试结束!";
+                        //关机
+                        Code[0] = 0xF0;
+                        SendCmd(0x7FF, 0x16, 0x2201, Code);
+                        开ToolStripMenuItem.Checked = false;
+                        关ToolStripMenuItem.Checked = true;
                         button_Start.Enabled = true;
+                        //关闭串口
+                        portsettings_form.closePort();
+                        //存储测试数据
                         ErrorSaveLog();
                         return;
                     }
@@ -2032,13 +2295,28 @@ namespace MOTINOVA_Motor_Factory_Set
             richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "电机参数导出完成" + "\r\n";
             #endregion
 
+            //检查是否有故障
+            if (label_error_code.Text != "OK")
+            {
+                label_Step.Text = "电机存在故障!";
+                ErrorSaveLog();
+                return;
+            }
+
             //显示测试结果
             label_Result.BackColor = Color.Green;
             label_Result.Text = "合格";
             label_Step.Text = "合格,测试结束!";
             label_Step.ForeColor = Color.Green;
             richTextBox_TestRecord.Text += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "合格,测试结束" + "\r\n";
+            //关机
+            Code[0] = 0xF0;
+            SendCmd(0x7FF, 0x16, 0x2201, Code);
+            开ToolStripMenuItem.Checked = false;
+            关ToolStripMenuItem.Checked = true;
             button_Start.Enabled = true;
+            //关闭串口
+            portsettings_form.closePort();
 
             //导出的参数上传服务器
             //if (StartForm.myFtp.IsNetConnected == true)
@@ -2110,24 +2388,10 @@ namespace MOTINOVA_Motor_Factory_Set
 
         //测试子函数
         private void TestStart()
-        { 
-            //检查是否有故障
-            if (label_error_code.Text != "OK")
-            {
-                label_Step.Text = "电机存在故障!";
-                ErrorSaveLog();
-                return;
-            }
-            
+        {           
             //标签初始化
             label_Init();
 
-            if (!portsettings_form.serialPort1.IsOpen)
-            {
-                label_Step.Text = "串口未连接!";
-                return;
-            }
-
             #region 检查配置文件
             if (comboBox_File.Items.Count == 0) //配置文件目录为空
             {
@@ -2162,6 +2426,13 @@ namespace MOTINOVA_Motor_Factory_Set
                         }
             #endregion
 
+            //连接串口
+            if (portsettings_form.openPort() == false)
+            {
+                label_Step.Text = "串口连接失败!";
+                return;
+            }
+
             //测试状态更新
             TestStep = TestStep_Enum.Step_Init;
             label_Step.Text = "准备开始测试";

+ 24 - 11
PortSettings.Designer.cs

@@ -32,8 +32,9 @@
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PortSettings));
             this.label1 = new System.Windows.Forms.Label();
             this.comboBox_ComIndex = new System.Windows.Forms.ComboBox();
-            this.button_ComOpen = new System.Windows.Forms.Button();
+            this.button_Enter = new System.Windows.Forms.Button();
             this.serialPort1 = new System.IO.Ports.SerialPort(this.components);
+            this.button_Connect = new System.Windows.Forms.Button();
             this.SuspendLayout();
             // 
             // label1
@@ -53,20 +54,30 @@
             this.comboBox_ComIndex.Size = new System.Drawing.Size(121, 29);
             this.comboBox_ComIndex.TabIndex = 1;
             // 
-            // button_ComOpen
+            // button_Enter
             // 
-            this.button_ComOpen.Location = new System.Drawing.Point(113, 86);
-            this.button_ComOpen.Name = "button_ComOpen";
-            this.button_ComOpen.Size = new System.Drawing.Size(102, 33);
-            this.button_ComOpen.TabIndex = 2;
-            this.button_ComOpen.Text = "连接";
-            this.button_ComOpen.UseVisualStyleBackColor = true;
-            this.button_ComOpen.Click += new System.EventHandler(this.button_ComOpen_Click);
+            this.button_Enter.Location = new System.Drawing.Point(170, 88);
+            this.button_Enter.Name = "button_Enter";
+            this.button_Enter.Size = new System.Drawing.Size(80, 33);
+            this.button_Enter.TabIndex = 2;
+            this.button_Enter.Text = "确认";
+            this.button_Enter.UseVisualStyleBackColor = true;
+            this.button_Enter.Click += new System.EventHandler(this.button_Enter_Click);
             // 
             // serialPort1
             // 
             this.serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(this.serialPort1_DataReceived);
             // 
+            // button_Connect
+            // 
+            this.button_Connect.Location = new System.Drawing.Point(48, 88);
+            this.button_Connect.Name = "button_Connect";
+            this.button_Connect.Size = new System.Drawing.Size(80, 33);
+            this.button_Connect.TabIndex = 2;
+            this.button_Connect.Text = "连接";
+            this.button_Connect.UseVisualStyleBackColor = true;
+            this.button_Connect.Click += new System.EventHandler(this.button_Connect_Click);
+            // 
             // PortSettings
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F);
@@ -74,7 +85,8 @@
             this.BackColor = System.Drawing.Color.White;
             this.ClientSize = new System.Drawing.Size(304, 162);
             this.ControlBox = false;
-            this.Controls.Add(this.button_ComOpen);
+            this.Controls.Add(this.button_Connect);
+            this.Controls.Add(this.button_Enter);
             this.Controls.Add(this.comboBox_ComIndex);
             this.Controls.Add(this.label1);
             this.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
@@ -95,7 +107,8 @@
 
         private System.Windows.Forms.Label label1;
         public System.IO.Ports.SerialPort serialPort1;
-        public System.Windows.Forms.Button button_ComOpen;
+        public System.Windows.Forms.Button button_Enter;
         public System.Windows.Forms.ComboBox comboBox_ComIndex;
+        public System.Windows.Forms.Button button_Connect;
     }
 }

+ 63 - 15
PortSettings.cs

@@ -36,39 +36,51 @@ namespace MOTINOVA_Motor_Factory_Set
             #endregion
         }
         #region 打开或关闭串口
-        private void button_ComOpen_Click(object sender, EventArgs e)
+        public bool openPort()
         {
             try
             {
                 if (!serialPort1.IsOpen)
                 {
-                    serialPort1.PortName = comboBox_ComIndex.Text;
-                    serialPort1.BaudRate = int.Parse(m_strBaudrate);
-                    serialPort1.Parity = (Parity)Enum.Parse(typeof(Parity), m_strCheckBits);
-                    serialPort1.DataBits = Int32.Parse(m_strDataBits);
-                    serialPort1.StopBits = (StopBits)Enum.Parse(typeof(StopBits), (m_strStopBits == "1.5") ? "3" : m_strStopBits);
                     serialPort1.Open();
-                    comboBox_ComIndex.Enabled = false;
-                    button_ComOpen.Text = "断开";
                     g_blnIsOpen = true;
-                    
                 }
-                else
+                return true;
+            }
+            catch (System.Exception ex)
+            {
+                MessageBox.Show(ex.Message);
+                return false;
+            }
+        }
+
+        public bool closePort()
+        {
+            try
+            {
+                if (serialPort1.IsOpen)
                 {
                     while (Listening) Application.DoEvents();
-                    //打开时点击,则关闭串口
                     serialPort1.Close();
-                    comboBox_ComIndex.Enabled = true;
-                    button_ComOpen.Text = "连接";
                     g_blnIsOpen = false;
                 }
+                return true;
             }
             catch (System.Exception ex)
             {
                 MessageBox.Show(ex.Message);
-                return;
+                return false;
             }
-            this.Hide();
+        }
+
+        private void button_Enter_Click(object sender, EventArgs e)
+        {
+            serialPort1.PortName = comboBox_ComIndex.Text;
+            serialPort1.BaudRate = int.Parse(m_strBaudrate);
+            serialPort1.Parity = (Parity)Enum.Parse(typeof(Parity), m_strCheckBits);
+            serialPort1.DataBits = Int32.Parse(m_strDataBits);
+            serialPort1.StopBits = (StopBits)Enum.Parse(typeof(StopBits), (m_strStopBits == "1.5") ? "3" : m_strStopBits);
+            Hide();
         }
         #endregion
 
@@ -103,5 +115,41 @@ namespace MOTINOVA_Motor_Factory_Set
             }
         }
         #endregion
+
+        private void button_Connect_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                if (!serialPort1.IsOpen)
+                {
+                    serialPort1.PortName = comboBox_ComIndex.Text;
+                    serialPort1.BaudRate = int.Parse(m_strBaudrate);
+                    serialPort1.Parity = (Parity)Enum.Parse(typeof(Parity), m_strCheckBits);
+                    serialPort1.DataBits = Int32.Parse(m_strDataBits);
+                    serialPort1.StopBits = (StopBits)Enum.Parse(typeof(StopBits), (m_strStopBits == "1.5") ? "3" : m_strStopBits);
+                    serialPort1.Open();
+                    comboBox_ComIndex.Enabled = false;
+                    button_Connect.Text = "断开";
+                    button_Enter.Enabled = false;
+                    g_blnIsOpen = true;
+                }
+                else
+                {
+                    while (Listening) Application.DoEvents();
+                    //打开时点击,则关闭串口
+                    serialPort1.Close();
+                    comboBox_ComIndex.Enabled = true;
+                    button_Connect.Text = "连接";
+                    button_Enter.Enabled = true;
+                    g_blnIsOpen = false;
+                }
+            }
+            catch (System.Exception ex)
+            {
+                MessageBox.Show(ex.Message);
+                return;
+            }
+            this.Hide();
+        }
     }
 }

+ 1 - 1
StartForm.cs

@@ -170,7 +170,7 @@ namespace MOTINOVA_Motor_Factory_Set
                     myFtp.IsNetConnected = true;
 
                     //定时与服务器同步文件
-#if true
+#if false
                     //cfg
                     PathSyncWithServer("/cfg");
                     //qcTest/errorlog

+ 1 - 1
bin/Debug/MOTINOVA_Motor_Factory_Set.application

@@ -11,7 +11,7 @@
           <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
         </dsig:Transforms>
         <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
-        <dsig:DigestValue>e33NI0rEEmrhGT4OMhFr0rOkPZ0=</dsig:DigestValue>
+        <dsig:DigestValue>I/LRXIJNN5TaJHSRCRtU8bJh8FM=</dsig:DigestValue>
       </hash>
     </dependentAssembly>
   </dependency>

BIN
bin/Debug/MOTINOVA_Motor_Factory_Set.exe


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

@@ -51,14 +51,14 @@
     </dependentAssembly>
   </dependency>
   <dependency>
-    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MOTINOVA_Motor_Factory_Set.exe" size="625568">
+    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MOTINOVA_Motor_Factory_Set.exe" size="629152">
       <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#sha1" />
-        <dsig:DigestValue>aHi3NOi2hW+smAUr8XKyhB65JjI=</dsig:DigestValue>
+        <dsig:DigestValue>DE7tP9E3bjVXcQw3+hasx2OHHnE=</dsig:DigestValue>
       </hash>
     </dependentAssembly>
   </dependency>

BIN
bin/Debug/MOTINOVA_Motor_Factory_Set.pdb


+ 1 - 1
bin/Debug/SerialNum

@@ -1,2 +1,2 @@
 流水号:
-298
+313

BIN
bin/Debug/app.publish/MOTINOVA_Motor_Factory_Set.exe


BIN
obj/Debug/DesignTimeResolveAssemblyReferences.cache


BIN
obj/Debug/MOTINOVA_Motor_Factory_Set.csproj.GenerateResource.cache


BIN
obj/Debug/MOTINOVA_Motor_Factory_Set.csprojAssemblyReference.cache


BIN
obj/Debug/MOTINOVA_Motor_Factory_Set.exe


BIN
obj/Debug/MOTINOVA_Motor_Factory_Set.pdb