Переглянути джерело

1,增加联动装置盒设置;
2,自动测试结束时发送指令退出配置模式。

dd 2 місяців тому
батько
коміт
acda609db6

BIN
.vs/Welling_Motor_Debug_Tool/v17/.suo


+ 187 - 17
Welling_Motor_Debug_Tool/mainForm.Designer.cs

@@ -705,6 +705,20 @@ namespace Welling_Motor_Debug_Tool
             this.label46 = new System.Windows.Forms.Label();
             this.pictureBox2 = new System.Windows.Forms.PictureBox();
             this.timer_AckWait = new System.Windows.Forms.Timer(this.components);
+            this.联动装置盒配置ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.接口类型ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.cAN波特率ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.UARTBOOT波特率ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.uARTAPP波特率ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.toolStripComboBox_PortMode = new System.Windows.Forms.ToolStripComboBox();
+            this.toolStripComboBox_CANBaud = new System.Windows.Forms.ToolStripComboBox();
+            this.toolStripComboBox_UARTBOOTBAUD = new System.Windows.Forms.ToolStripComboBox();
+            this.toolStripComboBox_UARTAPPBAUD = new System.Windows.Forms.ToolStripComboBox();
+            this.定制ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.toolStripTextBox_OPTION_Others = new System.Windows.Forms.ToolStripTextBox();
+            this.固件版本ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.toolStripTextBox_CDL_Version = new System.Windows.Forms.ToolStripTextBox();
+            this.toolStripTextBox_OPTION_GIANT = new System.Windows.Forms.ToolStripMenuItem();
             this.menuStrip_Set.SuspendLayout();
             this.statusStrip1.SuspendLayout();
             this.groupBox1.SuspendLayout();
@@ -797,6 +811,7 @@ namespace Welling_Motor_Debug_Tool
             this.波特率ToolStripMenuItem,
             this.连接ToolStripMenuItem,
             this.toolStripSeparator1,
+            this.联动装置盒配置ToolStripMenuItem,
             this.其它配置项ToolStripMenuItem});
             this.端口连接ToolStripMenuItem.ForeColor = System.Drawing.Color.White;
             this.端口连接ToolStripMenuItem.Name = "端口连接ToolStripMenuItem";
@@ -806,7 +821,7 @@ namespace Welling_Motor_Debug_Tool
             // 刷新ToolStripMenuItem
             // 
             this.刷新ToolStripMenuItem.Name = "刷新ToolStripMenuItem";
-            this.刷新ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
+            this.刷新ToolStripMenuItem.Size = new System.Drawing.Size(192, 26);
             this.刷新ToolStripMenuItem.Text = "刷新";
             this.刷新ToolStripMenuItem.Click += new System.EventHandler(this.刷新ToolStripMenuItem_Click);
             // 
@@ -815,7 +830,7 @@ namespace Welling_Motor_Debug_Tool
             this.端口号ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripComboBox_ComNum});
             this.端口号ToolStripMenuItem.Name = "端口号ToolStripMenuItem";
-            this.端口号ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
+            this.端口号ToolStripMenuItem.Size = new System.Drawing.Size(192, 26);
             this.端口号ToolStripMenuItem.Text = "端口号";
             this.端口号ToolStripMenuItem.Click += new System.EventHandler(this.ConfigFileSave_Click);
             // 
@@ -833,7 +848,7 @@ namespace Welling_Motor_Debug_Tool
             this.波特率ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripComboBox_Baudrate});
             this.波特率ToolStripMenuItem.Name = "波特率ToolStripMenuItem";
-            this.波特率ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
+            this.波特率ToolStripMenuItem.Size = new System.Drawing.Size(192, 26);
             this.波特率ToolStripMenuItem.Text = "波特率";
             // 
             // toolStripComboBox_Baudrate
@@ -852,14 +867,14 @@ namespace Welling_Motor_Debug_Tool
             // 连接ToolStripMenuItem
             // 
             this.连接ToolStripMenuItem.Name = "连接ToolStripMenuItem";
-            this.连接ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
+            this.连接ToolStripMenuItem.Size = new System.Drawing.Size(192, 26);
             this.连接ToolStripMenuItem.Text = "连接";
             this.连接ToolStripMenuItem.Click += new System.EventHandler(this.连接ToolStripMenuItem_Click);
             // 
             // toolStripSeparator1
             // 
             this.toolStripSeparator1.Name = "toolStripSeparator1";
-            this.toolStripSeparator1.Size = new System.Drawing.Size(157, 6);
+            this.toolStripSeparator1.Size = new System.Drawing.Size(189, 6);
             // 
             // 其它配置项ToolStripMenuItem
             // 
@@ -868,7 +883,7 @@ namespace Welling_Motor_Debug_Tool
             this.断开关机ToolStripMenuItem,
             this.识别通讯盒ToolStripMenuItem});
             this.其它配置项ToolStripMenuItem.Name = "其它配置项ToolStripMenuItem";
-            this.其它配置项ToolStripMenuItem.Size = new System.Drawing.Size(160, 26);
+            this.其它配置项ToolStripMenuItem.Size = new System.Drawing.Size(192, 26);
             this.其它配置项ToolStripMenuItem.Text = "其它配置项";
             // 
             // 连接开机ToolStripMenuItem
@@ -975,7 +990,7 @@ namespace Welling_Motor_Debug_Tool
             this.存储路径ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripTextBox_ServerPath});
             this.存储路径ToolStripMenuItem.Name = "存储路径ToolStripMenuItem";
-            this.存储路径ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+            this.存储路径ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.存储路径ToolStripMenuItem.Text = "存储路径";
             // 
             // toolStripTextBox_ServerPath
@@ -990,7 +1005,7 @@ namespace Welling_Motor_Debug_Tool
             // 
             this.重置ToolStripMenuItem.ForeColor = System.Drawing.SystemColors.ControlText;
             this.重置ToolStripMenuItem.Name = "重置ToolStripMenuItem";
-            this.重置ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+            this.重置ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.重置ToolStripMenuItem.Text = "重置";
             this.重置ToolStripMenuItem.Click += new System.EventHandler(this.重置ToolStripMenuItem_Click);
             // 
@@ -1413,14 +1428,14 @@ namespace Welling_Motor_Debug_Tool
             this.cANToolStripMenuItem.Checked = true;
             this.cANToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
             this.cANToolStripMenuItem.Name = "cANToolStripMenuItem";
-            this.cANToolStripMenuItem.Size = new System.Drawing.Size(122, 26);
+            this.cANToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.cANToolStripMenuItem.Text = "CAN";
             this.cANToolStripMenuItem.Click += new System.EventHandler(this.cANToolStripMenuItem_Click);
             // 
             // uARTToolStripMenuItem
             // 
             this.uARTToolStripMenuItem.Name = "uARTToolStripMenuItem";
-            this.uARTToolStripMenuItem.Size = new System.Drawing.Size(122, 26);
+            this.uARTToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.uARTToolStripMenuItem.Text = "UART";
             this.uARTToolStripMenuItem.Click += new System.EventHandler(this.uARTToolStripMenuItem_Click);
             // 
@@ -1477,28 +1492,28 @@ namespace Welling_Motor_Debug_Tool
             // 运行信息记录ToolStripMenuItem
             // 
             this.运行信息记录ToolStripMenuItem.Name = "运行信息记录ToolStripMenuItem";
-            this.运行信息记录ToolStripMenuItem.Size = new System.Drawing.Size(176, 26);
+            this.运行信息记录ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.运行信息记录ToolStripMenuItem.Text = "自动记录";
             this.运行信息记录ToolStripMenuItem.Click += new System.EventHandler(this.记录数据ToolStripMenuItem_Click);
             // 
             // 计算器ToolStripMenuItem
             // 
             this.计算器ToolStripMenuItem.Name = "计算器ToolStripMenuItem";
-            this.计算器ToolStripMenuItem.Size = new System.Drawing.Size(176, 26);
+            this.计算器ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.计算器ToolStripMenuItem.Text = "计算器";
             this.计算器ToolStripMenuItem.Click += new System.EventHandler(this.计算器ToolStripMenuItem_Click);
             // 
             // 页面保存ToolStripMenuItem
             // 
             this.页面保存ToolStripMenuItem.Name = "页面保存ToolStripMenuItem";
-            this.页面保存ToolStripMenuItem.Size = new System.Drawing.Size(176, 26);
+            this.页面保存ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.页面保存ToolStripMenuItem.Text = "页面保存";
             this.页面保存ToolStripMenuItem.Click += new System.EventHandler(this.页面保存ToolStripMenuItem_Click);
             // 
             // 屏幕键盘ToolStripMenuItem
             // 
             this.屏幕键盘ToolStripMenuItem.Name = "屏幕键盘ToolStripMenuItem";
-            this.屏幕键盘ToolStripMenuItem.Size = new System.Drawing.Size(176, 26);
+            this.屏幕键盘ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.屏幕键盘ToolStripMenuItem.Text = "屏幕键盘";
             this.屏幕键盘ToolStripMenuItem.Click += new System.EventHandler(this.屏幕键盘ToolStripMenuItem_Click);
             // 
@@ -1508,7 +1523,7 @@ namespace Welling_Motor_Debug_Tool
             this.生产配置文件ToolStripMenuItem,
             this.样机测试记录ToolStripMenuItem});
             this.删除远程文件ToolStripMenuItem.Name = "删除远程文件ToolStripMenuItem";
-            this.删除远程文件ToolStripMenuItem.Size = new System.Drawing.Size(176, 26);
+            this.删除远程文件ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.删除远程文件ToolStripMenuItem.Text = "删除远程文件";
             // 
             // 生产配置文件ToolStripMenuItem
@@ -1546,14 +1561,14 @@ namespace Welling_Motor_Debug_Tool
             // 指令调试ToolStripMenuItem
             // 
             this.指令调试ToolStripMenuItem.Name = "指令调试ToolStripMenuItem";
-            this.指令调试ToolStripMenuItem.Size = new System.Drawing.Size(176, 26);
+            this.指令调试ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.指令调试ToolStripMenuItem.Text = "指令窗口";
             this.指令调试ToolStripMenuItem.Click += new System.EventHandler(this.指令调试ToolStripMenuItem_Click);
             // 
             // 发送指令ToolStripMenuItem
             // 
             this.发送指令ToolStripMenuItem.Name = "发送指令ToolStripMenuItem";
-            this.发送指令ToolStripMenuItem.Size = new System.Drawing.Size(176, 26);
+            this.发送指令ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
             this.发送指令ToolStripMenuItem.Text = "发送指令";
             this.发送指令ToolStripMenuItem.Click += new System.EventHandler(this.发送指令ToolStripMenuItem_Click);
             // 
@@ -8024,6 +8039,147 @@ namespace Welling_Motor_Debug_Tool
             this.timer_AckWait.Interval = 500;
             this.timer_AckWait.Tick += new System.EventHandler(this.timer_AckWait_Tick);
             // 
+            // 联动装置盒配置ToolStripMenuItem
+            // 
+            this.联动装置盒配置ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.接口类型ToolStripMenuItem,
+            this.cAN波特率ToolStripMenuItem,
+            this.UARTBOOT波特率ToolStripMenuItem,
+            this.uARTAPP波特率ToolStripMenuItem,
+            this.固件版本ToolStripMenuItem,
+            this.定制ToolStripMenuItem});
+            this.联动装置盒配置ToolStripMenuItem.Name = "联动装置盒配置ToolStripMenuItem";
+            this.联动装置盒配置ToolStripMenuItem.Size = new System.Drawing.Size(192, 26);
+            this.联动装置盒配置ToolStripMenuItem.Text = "联动装置盒配置";
+            this.联动装置盒配置ToolStripMenuItem.Click += new System.EventHandler(this.联动装置盒配置ToolStripMenuItem_Click);
+            // 
+            // 接口类型ToolStripMenuItem
+            // 
+            this.接口类型ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.toolStripComboBox_PortMode});
+            this.接口类型ToolStripMenuItem.Name = "接口类型ToolStripMenuItem";
+            this.接口类型ToolStripMenuItem.Size = new System.Drawing.Size(220, 26);
+            this.接口类型ToolStripMenuItem.Text = "接口类型";
+            // 
+            // cAN波特率ToolStripMenuItem
+            // 
+            this.cAN波特率ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.toolStripComboBox_CANBaud});
+            this.cAN波特率ToolStripMenuItem.Name = "cAN波特率ToolStripMenuItem";
+            this.cAN波特率ToolStripMenuItem.Size = new System.Drawing.Size(220, 26);
+            this.cAN波特率ToolStripMenuItem.Text = "CAN波特率";
+            // 
+            // UARTBOOT波特率ToolStripMenuItem
+            // 
+            this.UARTBOOT波特率ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.toolStripComboBox_UARTBOOTBAUD});
+            this.UARTBOOT波特率ToolStripMenuItem.Name = "UARTBOOT波特率ToolStripMenuItem";
+            this.UARTBOOT波特率ToolStripMenuItem.Size = new System.Drawing.Size(220, 26);
+            this.UARTBOOT波特率ToolStripMenuItem.Text = "UART BOOT波特率";
+            // 
+            // uARTAPP波特率ToolStripMenuItem
+            // 
+            this.uARTAPP波特率ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.toolStripComboBox_UARTAPPBAUD});
+            this.uARTAPP波特率ToolStripMenuItem.Name = "uARTAPP波特率ToolStripMenuItem";
+            this.uARTAPP波特率ToolStripMenuItem.Size = new System.Drawing.Size(220, 26);
+            this.uARTAPP波特率ToolStripMenuItem.Text = "UART APP波特率";
+            // 
+            // toolStripComboBox_PortMode
+            // 
+            this.toolStripComboBox_PortMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+            this.toolStripComboBox_PortMode.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F);
+            this.toolStripComboBox_PortMode.Items.AddRange(new object[] {
+            "CAN",
+            "UART"});
+            this.toolStripComboBox_PortMode.Name = "toolStripComboBox_PortMode";
+            this.toolStripComboBox_PortMode.Size = new System.Drawing.Size(121, 29);
+            this.toolStripComboBox_PortMode.SelectedIndexChanged += new System.EventHandler(this.toolStripComboBox_PortMode_Click);
+            this.toolStripComboBox_PortMode.Click += new System.EventHandler(this.toolStripComboBox_PortMode_Click);
+            // 
+            // toolStripComboBox_CANBaud
+            // 
+            this.toolStripComboBox_CANBaud.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+            this.toolStripComboBox_CANBaud.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F);
+            this.toolStripComboBox_CANBaud.Items.AddRange(new object[] {
+            "125",
+            "250",
+            "500",
+            "1000"});
+            this.toolStripComboBox_CANBaud.Name = "toolStripComboBox_CANBaud";
+            this.toolStripComboBox_CANBaud.Size = new System.Drawing.Size(121, 29);
+            this.toolStripComboBox_CANBaud.SelectedIndexChanged += new System.EventHandler(this.toolStripComboBox_CANBaud_Click);
+            this.toolStripComboBox_CANBaud.Click += new System.EventHandler(this.toolStripComboBox_CANBaud_Click);
+            // 
+            // toolStripComboBox_UARTBOOTBAUD
+            // 
+            this.toolStripComboBox_UARTBOOTBAUD.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+            this.toolStripComboBox_UARTBOOTBAUD.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F);
+            this.toolStripComboBox_UARTBOOTBAUD.Items.AddRange(new object[] {
+            "9600",
+            "19200",
+            "38400",
+            "57600"});
+            this.toolStripComboBox_UARTBOOTBAUD.Name = "toolStripComboBox_UARTBOOTBAUD";
+            this.toolStripComboBox_UARTBOOTBAUD.Size = new System.Drawing.Size(121, 29);
+            this.toolStripComboBox_UARTBOOTBAUD.SelectedIndexChanged += new System.EventHandler(this.toolStripComboBox_UARTBOOTBAUD_Click);
+            this.toolStripComboBox_UARTBOOTBAUD.Click += new System.EventHandler(this.toolStripComboBox_UARTBOOTBAUD_Click);
+            // 
+            // toolStripComboBox_UARTAPPBAUD
+            // 
+            this.toolStripComboBox_UARTAPPBAUD.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+            this.toolStripComboBox_UARTAPPBAUD.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F);
+            this.toolStripComboBox_UARTAPPBAUD.Items.AddRange(new object[] {
+            "1200",
+            "9600",
+            "19200",
+            "38400",
+            "57600"});
+            this.toolStripComboBox_UARTAPPBAUD.Name = "toolStripComboBox_UARTAPPBAUD";
+            this.toolStripComboBox_UARTAPPBAUD.Size = new System.Drawing.Size(121, 29);
+            this.toolStripComboBox_UARTAPPBAUD.SelectedIndexChanged += new System.EventHandler(this.toolStripComboBox_UARTAPPBAUD_Click);
+            this.toolStripComboBox_UARTAPPBAUD.Click += new System.EventHandler(this.toolStripComboBox_UARTAPPBAUD_Click);
+            // 
+            // 定制ToolStripMenuItem
+            // 
+            this.定制ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.toolStripTextBox_OPTION_GIANT,
+            this.toolStripTextBox_OPTION_Others});
+            this.定制ToolStripMenuItem.Name = "定制ToolStripMenuItem";
+            this.定制ToolStripMenuItem.Size = new System.Drawing.Size(220, 26);
+            this.定制ToolStripMenuItem.Text = "定制";
+            // 
+            // toolStripTextBox_OPTION_Others
+            // 
+            this.toolStripTextBox_OPTION_Others.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F);
+            this.toolStripTextBox_OPTION_Others.Name = "toolStripTextBox_OPTION_Others";
+            this.toolStripTextBox_OPTION_Others.Size = new System.Drawing.Size(150, 28);
+            this.toolStripTextBox_OPTION_Others.KeyDown += new System.Windows.Forms.KeyEventHandler(this.toolStripTextBox_OPTION_Others_KeyDown);
+            // 
+            // 固件版本ToolStripMenuItem
+            // 
+            this.固件版本ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.toolStripTextBox_CDL_Version});
+            this.固件版本ToolStripMenuItem.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F);
+            this.固件版本ToolStripMenuItem.Name = "固件版本ToolStripMenuItem";
+            this.固件版本ToolStripMenuItem.Size = new System.Drawing.Size(220, 26);
+            this.固件版本ToolStripMenuItem.Text = "固件版本";
+            // 
+            // toolStripTextBox_CDL_Version
+            // 
+            this.toolStripTextBox_CDL_Version.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F);
+            this.toolStripTextBox_CDL_Version.Name = "toolStripTextBox_CDL_Version";
+            this.toolStripTextBox_CDL_Version.ReadOnly = true;
+            this.toolStripTextBox_CDL_Version.Size = new System.Drawing.Size(150, 28);
+            // 
+            // toolStripTextBox_OPTION_GIANT
+            // 
+            this.toolStripTextBox_OPTION_GIANT.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F);
+            this.toolStripTextBox_OPTION_GIANT.Name = "toolStripTextBox_OPTION_GIANT";
+            this.toolStripTextBox_OPTION_GIANT.Size = new System.Drawing.Size(210, 26);
+            this.toolStripTextBox_OPTION_GIANT.Text = "GIANT";
+            this.toolStripTextBox_OPTION_GIANT.Click += new System.EventHandler(this.toolStripTextBox_OPTION_GIANT_Click);
+            // 
             // mainForm
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F);
@@ -8837,5 +8993,19 @@ namespace Welling_Motor_Debug_Tool
         private ToolStripSeparator toolStripSeparator6;
         private ToolStripMenuItem 样机测试ToolStripMenuItem;
         private Timer timer_AckWait;
+        private ToolStripMenuItem 联动装置盒配置ToolStripMenuItem;
+        private ToolStripMenuItem 接口类型ToolStripMenuItem;
+        private ToolStripMenuItem cAN波特率ToolStripMenuItem;
+        private ToolStripMenuItem UARTBOOT波特率ToolStripMenuItem;
+        private ToolStripMenuItem uARTAPP波特率ToolStripMenuItem;
+        private ToolStripComboBox toolStripComboBox_PortMode;
+        private ToolStripComboBox toolStripComboBox_CANBaud;
+        private ToolStripComboBox toolStripComboBox_UARTBOOTBAUD;
+        private ToolStripComboBox toolStripComboBox_UARTAPPBAUD;
+        private ToolStripMenuItem 定制ToolStripMenuItem;
+        private ToolStripMenuItem 固件版本ToolStripMenuItem;
+        private ToolStripTextBox toolStripTextBox_CDL_Version;
+        private ToolStripTextBox toolStripTextBox_OPTION_Others;
+        private ToolStripMenuItem toolStripTextBox_OPTION_GIANT;
     }
 }

+ 357 - 24
Welling_Motor_Debug_Tool/mainForm.cs

@@ -1390,7 +1390,7 @@ namespace Welling_Motor_Debug_Tool
             {
                 switch (CmdTemp)
                 {
-                    case 0x1100://
+                    case 0x1100://握手
                         {
                             unchecked
                             {
@@ -1407,6 +1407,112 @@ namespace Welling_Motor_Debug_Tool
                             }
                             break;
                         }
+                    case 0x551B: //版本
+                        {
+                            unchecked
+                            {
+                                this.Invoke((EventHandler)(delegate
+                                {
+                                    string str;
+                                    byte[] Temp = new byte[16];
+                                    Array.Copy(Data, 12, Temp, 0, 16);
+                                    str = System.Text.Encoding.ASCII.GetString(Temp);
+                                    toolStripTextBox_CDL_Version.Text = str;
+                                }));
+                            }
+                            break;
+                        }
+                    case 0x8004: //Mode
+                        {
+                            unchecked
+                            {
+                                this.Invoke((EventHandler)(delegate
+                                {
+                                    int temp;
+                                    temp = (int)((Data[0] << 24) + (Data[1] << 16) + (Data[2] << 8) + Data[3]);
+                                    if (temp == 1)
+                                    {
+                                        toolStripComboBox_PortMode.SelectedIndex = 0; //CAN
+                                    }
+                                    else if (temp == 2)
+                                    {
+                                        toolStripComboBox_PortMode.SelectedIndex = 1; //UART
+                                    }
+
+                                }));
+                            }
+                            break;
+                        }
+                    case 0x8003: //ACK
+                        {
+                            unchecked
+                            {
+                                this.Invoke((EventHandler)(delegate
+                                {
+                                    MessageBoxTimeOut.Show("OK", "CDL反馈指令", 500, MessageBoxButtons.OK, MessageBoxIcon.Information);
+                                }));
+                            }
+                            break;
+                        }
+
+                    case 0x8204: //Uart Boot Baudrate
+                        {
+                            unchecked
+                            {
+                                this.Invoke((EventHandler)(delegate
+                                {
+                                    int temp;
+                                    temp = (int)((Data[0] << 24) + (Data[1] << 16) + (Data[2] << 8) + Data[3]);
+                                    toolStripComboBox_UARTBOOTBAUD.SelectedIndex= toolStripComboBox_UARTBOOTBAUD.Items.IndexOf(temp.ToString());                                    
+                                }));
+                            }
+                            break;
+                        }
+                    case 0x8404: //Uart App Baudrate
+                        {
+                            unchecked
+                            {
+                                this.Invoke((EventHandler)(delegate
+                                {
+                                    int temp;
+                                    temp = (int)((Data[0] << 24) + (Data[1] << 16) + (Data[2] << 8) + Data[3]);
+                                    toolStripComboBox_UARTAPPBAUD.SelectedIndex = toolStripComboBox_UARTAPPBAUD.Items.IndexOf(temp.ToString());
+                                }));
+                            }
+                            break;
+                        }
+                    case 0x8604: //CAN Baudrate
+                        {
+                            unchecked
+                            {
+                                this.Invoke((EventHandler)(delegate
+                                {
+                                    int temp;
+                                    temp = (int)((Data[0] << 24) + (Data[1] << 16) + (Data[2] << 8) + Data[3]);
+                                    toolStripComboBox_CANBaud.SelectedIndex = toolStripComboBox_CANBaud.Items.IndexOf(temp.ToString());
+                                }));
+                            }
+                            break;
+                        }
+                    case 0x8810: //定制内容
+                        {
+                            unchecked
+                            {
+                                this.Invoke((EventHandler)(delegate
+                                {
+                                    string str;
+                                    byte[] Temp = new byte[16];
+                                    Array.Copy(Data, 0, Temp, 0, 16);
+                                    str = System.Text.Encoding.ASCII.GetString(Temp);
+                                    toolStripTextBox_OPTION_GIANT.Checked = (str == "GIANT");
+                                    if (str != "GIANT")
+                                        toolStripTextBox_OPTION_Others.Text = str;
+                                    else
+                                        toolStripTextBox_OPTION_Others.Text = "";
+                                }));
+                            }
+                            break;
+                        }
                     default: break;
                 }
             }
@@ -6644,8 +6750,15 @@ namespace Welling_Motor_Debug_Tool
             button__FacMode_Start.Enabled = true;
             textBox_FacModeScan.Enabled = true;
 
-            //系统关机
-            var Code = new byte[32];//发送的指令数据 
+            var Code = new byte[32];//发送的指令数据
+
+            //退出配置模式
+            Code[0] = 0x00;
+            mySerialProcess.SendCmdWithoutNotice((ushort)0x751, (byte)0x16, (ushort)0x1901, Code);
+
+            Delay_ms(1000);
+
+            //系统关机 
             Code[0] = 0xF0;
             mySerialProcess.SendCmd(0x7FF, 0x16, 0x2201, Code);
 
@@ -6967,7 +7080,7 @@ namespace Welling_Motor_Debug_Tool
             richTextBox_FacModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "发送关机指令" + "\r\n");
             Code[0] = 0xF0;
             mySerialProcess.SendCmd(0x7FF, 0x16, 0x2201, Code);
-            Delay_ms(1500);
+            Delay_ms(3000);
             BootInfo = "";
             richTextBox_FacModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "发送开机指令" + "\r\n");
             Code[0] = 0xF1;
@@ -6978,7 +7091,7 @@ namespace Welling_Motor_Debug_Tool
             {
                 if (!uARTToolStripMenuItem.Checked) //CAN接口不考虑联动装置盒切换为Boot波特率
                 {
-                    if (BootInfo != string.Empty)
+                    if ((BootInfo != string.Empty) && (ACK_WaitCnt > 10))
                         break;
                 }
             }
@@ -7107,7 +7220,7 @@ namespace Welling_Motor_Debug_Tool
                     {
                         if (!uARTToolStripMenuItem.Checked) //CAN接口不考虑联动装置盒切换为Boot波特率
                         {
-                            if (BootInfo != string.Empty)
+                            if ((BootInfo != string.Empty) && (ACK_WaitCnt > 10))
                                 break;
                         }
                     }
@@ -7342,14 +7455,20 @@ namespace Welling_Motor_Debug_Tool
                 richTextBox_FacModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "发送关机指令" + "\r\n");
                 Code[0] = 0xF0;
                 mySerialProcess.SendCmd(0x7FF, 0x16, 0x2201, Code);
-                Delay_ms(1500);
+                Delay_ms(3000);
                 BootInfo = "";
                 richTextBox_FacModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "发送开机指令" + "\r\n");
                 Code[0] = 0xF1;
                 mySerialProcess.SendCmd(0x7FF, 0x16, 0x2201, Code);
                 ACK_WaitCnt = 0;
                 richTextBox_FacModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "等待控制器返回Boot信息……" + "\r\n");
-                while (ACK_WaitCnt <= 10) ; //5s
+                while (ACK_WaitCnt <= 10) //5s
+                {
+                    if (BootInfo != string.Empty)
+                    {
+                        break;
+                    }
+                }
 
                 //获取Boot版本信息
                 if (BootInfo != string.Empty)
@@ -9021,7 +9140,22 @@ namespace Welling_Motor_Debug_Tool
                     label_FacModeFWVersion.BackColor = Color.Yellow;
                     break;
                 }
-                string VerCheck = comboBox_FacModeCfgFile.Text.Split('_')[3] + "_" + comboBox_FacModeCfgFile.Text.Split('_')[4];
+                string VerCheck = "";
+                try
+                {
+                    VerCheck = comboBox_FacModeCfgFile.Text.Split('_')[3] + "_" + comboBox_FacModeCfgFile.Text.Split('_')[4];
+                }
+                catch (System.Exception)
+                {
+                    richTextBox_FacModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "配置文件名格式错误" + "\r\n");
+                    label_FacModeStatus.Text = "存在故障!";
+                    label_FacModeResult.BackColor = Color.Red;
+                    label_FacModeResult.Text = "测试异常";
+                    Delay_ms(500);
+                    //存储异常并上传
+                    FacMode_Stop(false);
+                    return;
+                }
                 string VerRead = "";                
                 try
                 {
@@ -9040,7 +9174,7 @@ namespace Welling_Motor_Debug_Tool
                 }
                 if (string.Equals(VerCheck, VerRead) == false) //版本错误,直接结束
                 {
-                    richTextBox_FacModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "软件版本错误" + "\r\n");
+                    richTextBox_FacModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "软件版本错误" + VerRead + ",正确版本为:" + VerCheck + "\r\n");
                     label_FacModeStatus.Text = "存在故障!";
                     label_FacModeResult.BackColor = Color.Red;
                     label_FacModeResult.Text = "测试异常";
@@ -9705,8 +9839,16 @@ namespace Welling_Motor_Debug_Tool
 
             } while (false);
 
-            //系统关机
+            
             var Code = new byte[32];//发送的指令数据 
+
+            //退出配置模式
+            Code[0] = 0x00;
+            mySerialProcess.SendCmdWithoutNotice((ushort)0x751, (byte)0x16, (ushort)0x1901, Code);
+
+            Delay_ms(1000);
+
+            //系统关机
             Code[0] = 0xF0;
             mySerialProcess.SendCmd(0x7FF, 0x16, 0x2201, Code);
 
@@ -9974,7 +10116,7 @@ namespace Welling_Motor_Debug_Tool
             richTextBox_CheckModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "发送关机指令" + "\r\n");
             Code[0] = 0xF0;
             mySerialProcess.SendCmd(0x7FF, 0x16, 0x2201, Code);
-            Delay_ms(1500);
+            Delay_ms(3000);
             BootInfo = "";
             richTextBox_CheckModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "发送开机指令" + "\r\n");
             Code[0] = 0xF1;
@@ -10748,19 +10890,11 @@ namespace Welling_Motor_Debug_Tool
                     }
                     AngleZero_Init = (ushort)((DataArray[3] << 8) + DataArray[2]);
                     AngleZero_Cur = (ushort)((DataArray[5] << 8) + DataArray[4]);
-                    richTextBox_CheckModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "位置出厂零点: " + AngleZero_Init.ToString() + ",位置当前零点: " + AngleZero_Cur.ToString() + "\r\n");                    
-                    int AngleZeroDiff = Math.Abs(AngleZero_Cur - AngleZero_Init);
-                    int AngleZeroTH = Convert.ToInt32(textBox_AngleZeroTh.Text);
-                    richTextBox_CheckModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "位置零点校准值: " + AngleZeroDiff.ToString() + ",判断阈值: " + AngleZeroTH.ToString() + "\r\n");
-                    //判断
-                    if (AngleZeroDiff <= AngleZeroTH)
-                    {
-                        richTextBox_CheckModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "位置传感器校准合格" + "\r\n");
-                        label_CheckModeAngle.BackColor = Color.Green;
-                    }
-                    else
+                    richTextBox_CheckModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "位置出厂零点: " + AngleZero_Init.ToString() + ",位置当前零点: " + AngleZero_Cur.ToString() + "\r\n");
+                    //非零判断
+                    if ((AngleZero_Cur == 0) || (AngleZero_Init == 0))
                     {
-                        richTextBox_CheckModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "位置传感器校准超范围" + "\r\n");
+                        richTextBox_CheckModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "位置传感器零点数值错误" + "\r\n");
                         label_CheckModeStatus.Text = "存在故障!";
                         label_CheckModeResult.BackColor = Color.Red;
                         label_CheckModeResult.Text = "测试异常";
@@ -10769,6 +10903,29 @@ namespace Welling_Motor_Debug_Tool
                         CheckMode_Stop(false);
                         return;
                     }
+                    else
+                    {
+                        int AngleZeroDiff = (Math.Abs(AngleZero_Cur - AngleZero_Init) * 360) >> 15;
+                        int AngleZeroTH = Convert.ToInt32(textBox_AngleZeroTh.Text);
+                        richTextBox_CheckModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "位置零点校准值: " + AngleZeroDiff.ToString() + ",判断阈值: " + AngleZeroTH.ToString() + "\r\n");
+                        //范围判断
+                        if (AngleZeroDiff <= AngleZeroTH)
+                        {
+                            richTextBox_CheckModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "位置传感器校准合格" + "\r\n");
+                            label_CheckModeAngle.BackColor = Color.Green;
+                        }
+                        else
+                        {
+                            richTextBox_CheckModeLog.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "->" + "位置传感器校准超范围" + "\r\n");
+                            label_CheckModeStatus.Text = "存在故障!";
+                            label_CheckModeResult.BackColor = Color.Red;
+                            label_CheckModeResult.Text = "测试异常";
+                            Delay_ms(500);
+                            //存储异常并上传
+                            CheckMode_Stop(false);
+                            return;
+                        }
+                    } 
                 }
                 else
                 {
@@ -12290,5 +12447,181 @@ namespace Welling_Motor_Debug_Tool
                 指令调试ToolStripMenuItem.Checked = false;
             }
         }
+
+        /// <summary>
+        /// 读联动装置盒配置
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void 联动装置盒配置ToolStripMenuItem_Click(object sender, EventArgs e)
+        {            
+            toolStripComboBox_PortMode.SelectedIndex = -1;
+            toolStripComboBox_CANBaud.SelectedIndex = -1;
+            toolStripComboBox_UARTBOOTBAUD.SelectedIndex = -1;
+            toolStripComboBox_UARTAPPBAUD.SelectedIndex = -1;
+            toolStripTextBox_CDL_Version.Text = "";
+            toolStripTextBox_OPTION_GIANT.Checked = false;
+            toolStripTextBox_OPTION_Others.Text = "";
+            Read_CDL_Info();
+        }
+
+        /// <summary>
+        /// 写入联动装置盒接口类型
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void toolStripComboBox_PortMode_Click(object sender, EventArgs e)
+        {
+            byte[] SendData = new byte[4];
+
+            if (toolStripComboBox_PortMode.SelectedIndex == 0) //CAN
+            {
+                SendData[0] = 0;
+                SendData[1] = 0;
+                SendData[2] = 0;
+                SendData[3] = 1;
+            }
+            else if (toolStripComboBox_PortMode.SelectedIndex == 1) //UART
+            {
+                SendData[0] = 0;
+                SendData[1] = 0;
+                SendData[2] = 0;
+                SendData[3] = 2;
+            }
+
+            mySerialProcess.SendCmd((ushort)0x7FF, (byte)0x16, (ushort)0x8104, SendData);
+        }
+
+        private void toolStripComboBox_UARTBOOTBAUD_Click(object sender, EventArgs e)
+        {
+            byte[] SendData = new byte[4];
+            string str = toolStripComboBox_UARTBOOTBAUD.Text;
+
+            if (str != string.Empty)
+            {
+                SendData[0] = (byte)((int.Parse(str) >> 24) & 0xFF);
+                SendData[1] = (byte)((int.Parse(str) >> 16) & 0xFF);
+                SendData[2] = (byte)((int.Parse(str) >> 8) & 0xFF);
+                SendData[3] = (byte)((int.Parse(str) >> 0) & 0xFF);
+
+                mySerialProcess.SendCmd((ushort)0x7FF, (byte)0x16, (ushort)0x8304, SendData);
+            }
+        }
+
+        private void toolStripComboBox_UARTAPPBAUD_Click(object sender, EventArgs e)
+        {
+            byte[] SendData = new byte[4];
+            string str = toolStripComboBox_UARTAPPBAUD.Text;
+
+            if (str != string.Empty)
+            {
+                SendData[0] = (byte)((int.Parse(str) >> 24) & 0xFF);
+                SendData[1] = (byte)((int.Parse(str) >> 16) & 0xFF);
+                SendData[2] = (byte)((int.Parse(str) >> 8) & 0xFF);
+                SendData[3] = (byte)((int.Parse(str) >> 0) & 0xFF);
+
+                mySerialProcess.SendCmd((ushort)0x7FF, (byte)0x16, (ushort)0x8504, SendData);
+            }
+        }
+
+        /// <summary>
+        /// 设置CDL GIANT内容
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void toolStripTextBox_OPTION_GIANT_Click(object sender, EventArgs e)
+        {
+            string User = toolStripTextBox_OPTION_GIANT.Text;
+            var UserArray = new byte[16];
+
+            for (ushort i = 0; i < User.Length; i++)
+            {
+                UserArray[i] = (byte)User[i];
+            }
+            if (User.Length < 16)
+            {
+                UserArray[User.Length] = (byte)'.';
+                for (ushort i = 0; i < 16 - User.Length - 1; i++)
+                {
+                    UserArray[User.Length + 1 + i] = 0x20;
+                }
+            }
+
+            mySerialProcess.SendCmd((ushort)0x7FF, (byte)0x16, (ushort)0x8910, UserArray);
+        }
+
+        /// <summary>
+        /// 设定CDL定制内容
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void toolStripTextBox_OPTION_Others_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (e.KeyCode == Keys.Enter)
+            {
+                string User = toolStripTextBox_OPTION_Others.Text;
+                var UserArray = new byte[16];
+
+                for (ushort i = 0; i < User.Length; i++)
+                {
+                    UserArray[i] = (byte)User[i];
+                }
+                if (User.Length < 16)
+                {
+                    UserArray[User.Length] = (byte)'.';
+                    for (ushort i = 0; i < 16 - User.Length - 1; i++)
+                    {
+                        UserArray[User.Length + 1 + i] = 0x20;
+                    }
+                }
+
+                mySerialProcess.SendCmd((ushort)0x7FF, (byte)0x16, (ushort)0x8910, UserArray);
+            }
+        }
+
+        private void toolStripComboBox_CANBaud_Click(object sender, EventArgs e)
+        {
+            byte[] SendData = new byte[4];
+            string str = toolStripComboBox_CANBaud.Text;
+
+            if (str != string.Empty)
+            {
+                SendData[0] = (byte)((int.Parse(str) >> 24) & 0xFF);
+                SendData[1] = (byte)((int.Parse(str) >> 16) & 0xFF);
+                SendData[2] = (byte)((int.Parse(str) >> 8) & 0xFF);
+                SendData[3] = (byte)((int.Parse(str) >> 0) & 0xFF);
+
+                mySerialProcess.SendCmd((ushort)0x7FF, (byte)0x16, (ushort)0x8704, SendData);
+            }
+        }
+
+        //读取联动装置盒数据
+        private void Read_CDL_Info()
+        {          
+            //类型
+            mySerialProcess.SendCmd((ushort)0x7FF, (byte)0x11, (ushort)0x8000, null);
+            Delay_ms(100);
+
+            //CAN 波特率
+            mySerialProcess.SendCmd((ushort)0x7FF, (byte)0x11, (ushort)0x8600, null);
+            Delay_ms(100);
+
+            //UART BOOT波特率
+            mySerialProcess.SendCmd((ushort)0x7FF, (byte)0x11, (ushort)0x8200, null);
+            Delay_ms(100);
+
+            //UART APP波特率
+            mySerialProcess.SendCmd((ushort)0x7FF, (byte)0x11, (ushort)0x8400, null);
+            Delay_ms(100);
+
+            //版本
+            byte[] SendData = new byte[20];
+            mySerialProcess.SendCmd((ushort)0x7FF, (byte)0x11, (ushort)0x5514, SendData);
+            Delay_ms(100);
+
+            //定制内容
+            mySerialProcess.SendCmd((ushort)0x7FF, (byte)0x11, (ushort)0x8800, null);
+            Delay_ms(100);
+        }
     }
 }

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


BIN
Welling_Motor_Debug_Tool/obj/Debug/Welling_Motor_Debug_Tool.exe


BIN
Welling_Motor_Debug_Tool/obj/Debug/Welling_Motor_Debug_Tool.pdb