Browse Source

自动转换指定目录下.src文件。

Dail 1 year ago
parent
commit
29b582ef80

BIN
.vs/ConsoleApp2/v17/.suo


+ 838 - 1281
Program.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.IO;
 using System.Runtime.InteropServices;
 using System.Security.Cryptography.X509Certificates;
@@ -122,1350 +123,906 @@ namespace ConsoleApp2
 
         static void Main(string[] args)
         {
-            Console.WriteLine("欢迎使用 MOTINOVA E-Bike 驱动系统参数生成软件 V2.0.1 20240228");
+            Console.WriteLine("欢迎使用 MOTINOVA E-Bike 驱动系统(Migic & Hub)参数生成软件 V2.1.0 20240313\r\n");            
             //账户登录            
-            Console.WriteLine("请输入使用密码:");
-            if (Console.ReadLine() != "123456")
-            {
-                Console.WriteLine("密码错误!");
-                Console.ReadKey();
-                return;
-            }
+            //Console.WriteLine("请输入使用密码:");
+            //if (Console.ReadLine() != "123456")
+            //{
+            //    Console.WriteLine("密码错误!");
+            //    Console.ReadKey();
+            //    return;
+            //}
             //选择电机类型
-            Console.WriteLine("请输入电机类型:");
-            Console.WriteLine("F1:小牙盘    F2:大牙盘/轮毂  F3:通用指令");
-            ConsoleKey GetKey = Console.ReadKey().Key;
-            if (GetKey == ConsoleKey.F1) //小牙盘
-            {
-                FuncionType = 1;
-            }
-            else if (GetKey == ConsoleKey.F2) //大牙盘
-            {
-                FuncionType = 2;
-            }
-            else if (GetKey == ConsoleKey.F3) //通用指令
-            {
-                FuncionType = 3;
-            }
-            else
-            {
-                Console.WriteLine("请正确选择电机类型!");
-                Console.ReadKey();
-                return;
-            }
+            //Console.WriteLine("请输入电机类型:");
+            //Console.WriteLine("F1:小牙盘    F2:大牙盘/轮毂  F3:通用指令");
+            //ConsoleKey GetKey = Console.ReadKey().Key;
+            //if (GetKey == ConsoleKey.F1) //小牙盘
+            //{
+            //    FuncionType = 1;
+            //}
+            //else if (GetKey == ConsoleKey.F2) //大牙盘
+            //{
+            //    FuncionType = 2;
+            //}
+            //else if (GetKey == ConsoleKey.F3) //通用指令
+            //{
+            //    FuncionType = 3;
+            //}
+            //else
+            //{
+            //    Console.WriteLine("请正确选择电机类型!");
+            //    Console.ReadKey();
+            //    return;
+            //}
+            FuncionType = 2;
 
             //输入文件
-            Console.WriteLine("请输入文件名称:");
-            string inputFilename = Console.ReadLine();
-            if (File.Exists(inputFilename + ".src"))//检查文件是否存在
-            {
-                Console.WriteLine("检查源文件成功!");
-                Console.WriteLine("文件名:" + inputFilename + ".src");
-            }
-            else if (File.Exists(inputFilename + ".json"))//检查文件是否存在
-            {
-                Console.WriteLine("检查源文件成功!");
-                Console.WriteLine("文件名:" + inputFilename + ".json");
-            }
-            else
+            //Console.WriteLine("请输入文件名称:");
+            //string inputFilename = Console.ReadLine();
+            //if (File.Exists(inputFilename + ".src"))//检查文件是否存在
+            //{
+            //    Console.WriteLine("检查源文件成功!");
+            //    Console.WriteLine("文件名:" + inputFilename + ".src");
+            //}
+            //else if (File.Exists(inputFilename + ".json"))//检查文件是否存在
+            //{
+            //    Console.WriteLine("检查源文件成功!");
+            //    Console.WriteLine("文件名:" + inputFilename + ".json");
+            //}
+            //else
+            //{
+            //    Console.WriteLine("请检查源文件是否存在!");
+            //    Console.ReadKey();
+            //    return;
+            //}
+            //搜索路径下所有*.src文件
+            string pathName = Environment.GetCommandLineArgs()[1];
+            string[] srcFiles = Directory.GetFiles(Directory.GetCurrentDirectory() + "\\" + pathName, "*.src", SearchOption.TopDirectoryOnly);
+
+            //批量转换
+            foreach(var srcFile in srcFiles)
             {
-                Console.WriteLine("请检查源文件是否存在!");
-                Console.ReadKey();
-                return;
-            }
+                //显示文件名                
+                Console.WriteLine("[文件名]: " + Path.GetFileName(srcFile));
 
-            //读取并显示源文件
+                //显示文件内容
 #if false
-            StreamReader objReader = new StreamReader(System.IO.Directory.GetCurrentDirectory() + "\\ModelFile.src");
-            string sLine = "";
-            ArrayList arrText = new ArrayList();//创建一个动态数组
-            while (sLine != null)
-            {
-                sLine = objReader.ReadLine();
-                arrText.Add(sLine);
-            }
-            objReader.Close();
-            foreach (string sOutput in arrText)
-            {
-                Console.WriteLine(sOutput + "\r\n");
-            }
-#endif
-            //开始转换文件
-            if (FuncionType == 1) //小牙盘
-            {
-                StreamReader objReader = new StreamReader(System.IO.Directory.GetCurrentDirectory() + "\\" + inputFilename + ".src");
-                string sLine = "";
-                ArrayList arrText = new ArrayList();//创建一个动态数组
-                while (sLine != null)
-                {
-                    sLine = objReader.ReadLine();
-                    arrText.Add(sLine);
-                }
-                objReader.Close();
-                try
+                do
                 {
-                    string filename = inputFilename + ".ttcfg";
-                    if (File.Exists(filename))//文件已存在,直接退出
+                    StreamReader objReader = new StreamReader(srcFile);
+                    string sLine = "";
+                    ArrayList arrText = new ArrayList();//创建一个动态数组
+                    while (sLine != null)
                     {
-                        Console.WriteLine("文件已存在!");
-                        Console.ReadKey();
-                        return;
+                        sLine = objReader.ReadLine();
+                        arrText.Add(sLine);
                     }
-                    else//文件名有效,转换后的数据存在该文件中
+                    objReader.Close();
+                    foreach (string sOutput in arrText)
                     {
-                        //创建文件
-                        FileStream fs = File.Create(filename);
-                        fs.Close();
-                        //建立字典,存放并获取每个命令的行号
-                        Dictionary<string, int> DicRowNum = new Dictionary<string, int>();
-                        DicRowNum.Add("[校验码]", 0);
-                        DicRowNum.Add("[自定义1]", 0);
-                        DicRowNum.Add("[自定义2]", 0);
-                        DicRowNum.Add("[自定义3]", 0);
-                        DicRowNum.Add("[用户参数1]", 0);
-                        DicRowNum.Add("[马达参数]", 0);
-                        DicRowNum.Add("[型号]", 0);
-                        DicRowNum.Add("[SN号]", 0);
-                        DicRowNum.Add("[生产信息]", 0);
-                        DicRowNum.Add("[单力矩标定系数]", 0);
-                        DicRowNum.Add("[启动值]", 0);
-                        DicRowNum.Add("[用户参数2]", 0);
-                        DicRowNum.Add("[三力矩标定系数1]", 0);
-                        DicRowNum.Add("[三力矩标定系数2]", 0);
-                        DicRowNum.Add("[三力矩标定系数3]", 0);
-                        Dictionary<string, int> __dict = new Dictionary<string, int>(DicRowNum);
-                        foreach (KeyValuePair<string, int> item in __dict)
-                        {
-                            foreach (string cmd in arrText)
-                            {
-                                if (cmd.Contains(item.Key))
-                                {
-                                    DicRowNum[item.Key] = arrText.IndexOf(cmd);
-                                    break;
-                                }
-                            }
-                        }
-                        //开始遍历,转换每条指令对应的数据
-                        using (StreamWriter file = new StreamWriter(filename))
-                        {
-                            foreach (string index in DicRowNum.Keys)
-                            {
-                                int rowNum = DicRowNum[index];
-                                //判断该命令是否打开
-                                if (arrText[rowNum].ToString().Split(',')[1] == "0")//该指令关闭
-                                {
-                                    continue;
-                                }
-                                else//该指令打开
-                                {
-                                    //写入命令功能
-                                    file.WriteLine(index);
-                                    var CmdCode = new byte[34];
-                                    switch (index)
-                                    {
-                                        case "[校验码]":
-                                            {
-                                                CmdCode[0] = 0x11;
-                                                CmdCode[1] = 0x08;
-                                                string KeyString = arrText[rowNum + 1].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((KeyString.Length > 8) ? 8 : KeyString.Length); i++)
-                                                {
-                                                    CmdCode[2 + i] = (byte)KeyString[i];
-                                                }
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[自定义1]":
-                                            {
-                                                CmdCode[0] = 0x14;
-                                                CmdCode[1] = 0x10;
-                                                string UserInfo1String = arrText[rowNum + 1].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((UserInfo1String.Length > 16) ? 16 : UserInfo1String.Length); i++)
-                                                {
-                                                    CmdCode[2 + i] = (byte)UserInfo1String[i];
-                                                }
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[自定义2]":
-                                            {
-                                                CmdCode[0] = 0x16;
-                                                CmdCode[1] = 0x10;
-                                                string UserInfo1String = arrText[rowNum + 1].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((UserInfo1String.Length > 16) ? 16 : UserInfo1String.Length); i++)
-                                                {
-                                                    CmdCode[2 + i] = (byte)UserInfo1String[i];
-                                                }
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[自定义3]":
-                                            {
-                                                CmdCode[0] = 0x18;
-                                                CmdCode[1] = 0x10;
-                                                string UserInfo1String = arrText[rowNum + 1].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((UserInfo1String.Length > 16) ? 16 : UserInfo1String.Length); i++)
-                                                {
-                                                    CmdCode[2 + i] = (byte)UserInfo1String[i];
-                                                }
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[用户参数1]":
-                                            {
-                                                CmdCode[0] = 0x1B;
-                                                CmdCode[1] = 0x20;
-                                                ushort DataTemp;
-                                                //指拨模式
-                                                CmdCode[2] = Convert.ToByte(arrText[rowNum + 1].ToString().Split(',')[1]);
-                                                //启动模式
-                                                CmdCode[3] = Convert.ToByte(arrText[rowNum + 2].ToString().Split(',')[1]);
-                                                //停机时间
-                                                DataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
-                                                CmdCode[4] = (byte)(DataTemp & 0xFF);
-                                                CmdCode[5] = (byte)(DataTemp >> 8);
-                                                //限速
-                                                CmdCode[6] = Convert.ToByte(arrText[rowNum + 4].ToString().Split(',')[1]);
-                                                //下降速度
-                                                CmdCode[7] = Convert.ToByte(arrText[rowNum + 5].ToString().Split(',')[1]);
-                                                //前飞
-                                                CmdCode[8] = Convert.ToByte(arrText[rowNum + 6].ToString().Split(',')[1]);
-                                                //后飞
-                                                CmdCode[9] = Convert.ToByte(arrText[rowNum + 7].ToString().Split(',')[1]);
-                                                //限流
-                                                CmdCode[10] = Convert.ToByte(arrText[rowNum + 8].ToString().Split(',')[1]);
-                                                //温度预警
-                                                CmdCode[11] = (byte)(Convert.ToByte(arrText[rowNum + 9].ToString().Split(',')[1]) + 40);
-                                                //温度保护
-                                                CmdCode[12] = (byte)(Convert.ToByte(arrText[rowNum + 10].ToString().Split(',')[1]) + 40);
-                                                //无PBU
-                                                CmdCode[13] = Convert.ToByte(arrText[rowNum + 11].ToString().Split(',')[1]);
-                                                //轮胎周长
-                                                CmdCode[14] = Convert.ToByte(arrText[rowNum + 12].ToString().Split(',')[1]);
-                                                //电机系列号
-                                                CmdCode[15] = Convert.ToByte(arrText[rowNum + 13].ToString().Split(',')[1]);
-                                                //ECO助力增益
-                                                CmdCode[16] = Convert.ToByte(arrText[rowNum + 14].ToString().Split(',')[1]);
-                                                //ECO加速
-                                                CmdCode[17] = Convert.ToByte(arrText[rowNum + 15].ToString().Split(',')[1]);
-                                                //NORM助力增益
-                                                CmdCode[18] = Convert.ToByte(arrText[rowNum + 16].ToString().Split(',')[1]);
-                                                //NORM加速
-                                                CmdCode[19] = Convert.ToByte(arrText[rowNum + 17].ToString().Split(',')[1]);
-                                                //SPORT助力增益
-                                                CmdCode[20] = Convert.ToByte(arrText[rowNum + 18].ToString().Split(',')[1]);
-                                                //SPORT加速
-                                                CmdCode[21] = Convert.ToByte(arrText[rowNum + 19].ToString().Split(',')[1]);
-                                                //TURBO助力增益
-                                                CmdCode[22] = Convert.ToByte(arrText[rowNum + 20].ToString().Split(',')[1]);
-                                                //TURBO加速
-                                                CmdCode[23] = Convert.ToByte(arrText[rowNum + 21].ToString().Split(',')[1]);
-                                                //SMART助力增益
-                                                CmdCode[24] = Convert.ToByte(arrText[rowNum + 22].ToString().Split(',')[1]);
-                                                //SMART加速
-                                                CmdCode[25] = Convert.ToByte(arrText[rowNum + 23].ToString().Split(',')[1]);
-                                                //速度传感器信号个数
-                                                CmdCode[26] = Convert.ToByte(arrText[rowNum + 24].ToString().Split(',')[1]);
-                                                //踏频启动信号个数
-                                                CmdCode[27] = Convert.ToByte(arrText[rowNum + 25].ToString().Split(',')[1]);
-                                                //速度传感器
-                                                CmdCode[28] = Convert.ToByte(arrText[rowNum + 26].ToString().Split(',')[1]);
-                                                //周长微调
-                                                CmdCode[29] = (byte)Convert.ToInt16(arrText[rowNum + 27].ToString().Split(',')[1]);
-                                                //低压保护阈值
-                                                DataTemp = Convert.ToUInt16(arrText[rowNum + 28].ToString().Split(',')[1]);
-                                                CmdCode[30] = (byte)(DataTemp & 0xFF);
-                                                CmdCode[31] = (byte)(DataTemp >> 8);
-                                                //推行限速
-                                                DataTemp = Convert.ToByte(arrText[rowNum + 29].ToString().Split(',')[1]);
-                                                CmdCode[32] = (byte)Convert.ToByte(DataTemp);
-                                                //推行马达转速
-                                                CmdCode[33] = (byte)Convert.ToByte(arrText[rowNum + 30].ToString().Split(',')[1]);
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[马达参数]":
-                                            {
-                                                CmdCode[0] = 0x1D;
-                                                CmdCode[1] = 0x10;
-                                                ushort DataTemp;
-                                                //额定功率
-                                                DataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
-                                                CmdCode[2] = (byte)(DataTemp & 0xFF);
-                                                CmdCode[3] = (byte)(DataTemp >> 8);
-                                                //额定转速
-                                                DataTemp = Convert.ToUInt16(arrText[rowNum + 2].ToString().Split(',')[1]);
-                                                CmdCode[4] = (byte)(DataTemp & 0xFF);
-                                                CmdCode[5] = (byte)(DataTemp >> 8);
-                                                //定子电阻
-                                                DataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
-                                                CmdCode[6] = (byte)(DataTemp & 0xFF);
-                                                CmdCode[7] = (byte)(DataTemp >> 8);
-                                                //Lq
-                                                DataTemp = Convert.ToUInt16(arrText[rowNum + 4].ToString().Split(',')[1]);
-                                                CmdCode[8] = (byte)(DataTemp & 0xFF);
-                                                CmdCode[9] = (byte)(DataTemp >> 8);
-                                                //Ld
-                                                DataTemp = Convert.ToUInt16(arrText[rowNum + 5].ToString().Split(',')[1]);
-                                                CmdCode[10] = (byte)(DataTemp & 0xFF);
-                                                CmdCode[11] = (byte)(DataTemp >> 8);
-                                                //反电动势
-                                                DataTemp = Convert.ToUInt16(arrText[rowNum + 6].ToString().Split(',')[1]);
-                                                CmdCode[12] = (byte)(DataTemp & 0xFF);
-                                                CmdCode[13] = (byte)(DataTemp >> 8);
-                                                //额定电压
-                                                CmdCode[14] = Convert.ToByte(arrText[rowNum + 7].ToString().Split(',')[1]);
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[型号]":
-                                            {
-                                                CmdCode[0] = 0x22;
-                                                CmdCode[1] = 0x10;
-                                                string ModeString = arrText[rowNum + 1].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((ModeString.Length > 16) ? 16 : ModeString.Length); i++)
-                                                {
-                                                    CmdCode[2 + i] = (byte)ModeString[i];
-                                                }
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[SN号]":
-                                            {
-                                                CmdCode[0] = 0x23;
-                                                CmdCode[1] = 0x10;
-                                                string SnString = arrText[rowNum + 1].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((SnString.Length > 16) ? 16 : SnString.Length); i++)
-                                                {
-                                                    CmdCode[2 + i] = (byte)SnString[i];
-                                                }
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[生产信息]":
-                                            {
-                                                CmdCode[0] = 0x24;
-                                                CmdCode[1] = 0x20;
-                                                string MAC_Info = arrText[rowNum + 1].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((MAC_Info.Length > 8) ? 8 : MAC_Info.Length); i++)
-                                                {
-                                                    CmdCode[2 + i] = (byte)MAC_Info[i];
-                                                }
-                                                MAC_Info = arrText[rowNum + 2].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((MAC_Info.Length > 8) ? 8 : MAC_Info.Length); i++)
-                                                {
-                                                    CmdCode[10 + i] = (byte)MAC_Info[i];
-                                                }
-                                                MAC_Info = arrText[rowNum + 3].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((MAC_Info.Length > 8) ? 8 : MAC_Info.Length); i++)
-                                                {
-                                                    CmdCode[18 + i] = (byte)MAC_Info[i];
-                                                }
-                                                MAC_Info = arrText[rowNum + 4].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((MAC_Info.Length > 8) ? 8 : MAC_Info.Length); i++)
-                                                {
-                                                    CmdCode[26 + i] = (byte)MAC_Info[i];
-                                                }
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[单力矩标定系数]":
-                                            {
-                                                CmdCode[0] = 0x2A;
-                                                CmdCode[1] = 0x01;
-                                                ushort DataTemp;
-                                                DataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
-                                                CmdCode[2] = (byte)DataTemp;
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[启动值]":
-                                            {
-                                                CmdCode[0] = 0x2B;
-                                                CmdCode[1] = 0x02;
-                                                ushort DataTemp;
-                                                DataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
-                                                CmdCode[2] = (byte)(DataTemp);
-                                                CmdCode[3] = (byte)(DataTemp >> 8);
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[用户参数2]":
-                                            {
-                                                CmdCode[0] = 0x31;
-                                                CmdCode[1] = 0x20;
-                                                short DataTemp_Int16;
-                                                ushort DataTemp_UInt16;
-                                                sbyte DataTemp_Int8;
-                                                //俯仰角零偏
-                                                DataTemp_Int16 = (short)(decimal.Parse(arrText[rowNum + 1].ToString().Split(',')[1]) * 10);
-                                                CmdCode[2] = (byte)(DataTemp_Int16 & 0xFF);
-                                                CmdCode[3] = (byte)(DataTemp_Int16 >> 8);
-                                                //横滚角零偏
-                                                DataTemp_Int16 = (short)(decimal.Parse(arrText[rowNum + 2].ToString().Split(',')[1]) * 10);
-                                                CmdCode[4] = (byte)(DataTemp_Int16 & 0xFF);
-                                                CmdCode[5] = (byte)(DataTemp_Int16 >> 8);
-                                                //支持姿态传感器
-                                                CmdCode[6] = Convert.ToByte(arrText[rowNum + 3].ToString().Split(',')[1]);
-                                                //尾灯模式
-                                                CmdCode[7] = Convert.ToByte(arrText[rowNum + 4].ToString().Split(',')[1]);
-                                                //前灯电压
-                                                CmdCode[8] = Convert.ToByte(arrText[rowNum + 5].ToString().Split(',')[1]);
-                                                //尾灯电压
-                                                CmdCode[9] = Convert.ToByte(arrText[rowNum + 6].ToString().Split(',')[1]);
-                                                //超速报警阈值
-                                                DataTemp_UInt16 = Convert.ToUInt16(arrText[rowNum + 7].ToString().Split(',')[1]);
-                                                CmdCode[10] = (byte)(DataTemp_UInt16 & 0xFF);
-                                                CmdCode[11] = (byte)(DataTemp_UInt16 >> 8);
-                                                //尾灯控制脉宽
-                                                DataTemp_UInt16 = Convert.ToUInt16(arrText[rowNum + 8].ToString().Split(',')[1]);
-                                                CmdCode[12] = (byte)(DataTemp_UInt16 & 0xFF);
-                                                CmdCode[13] = (byte)(DataTemp_UInt16 >> 8);
-                                                //尾灯控制周期
-                                                DataTemp_UInt16 = Convert.ToUInt16(arrText[rowNum + 9].ToString().Split(',')[1]);
-                                                CmdCode[14] = (byte)(DataTemp_UInt16 & 0xFF);
-                                                CmdCode[15] = (byte)(DataTemp_UInt16 >> 8);
-                                                //限速起始偏移
-                                                DataTemp_Int8 = Convert.ToSByte(arrText[rowNum + 10].ToString().Split(',')[1]);
-                                                CmdCode[16] = (byte)DataTemp_Int8;
-                                                //限速起始偏移
-                                                DataTemp_Int8 = Convert.ToSByte(arrText[rowNum + 11].ToString().Split(',')[1]);
-                                                CmdCode[17] = (byte)DataTemp_Int8;                                                
-                                                //限速偏移
-                                                DataTemp_Int8 = Convert.ToSByte(arrText[rowNum + 12].ToString().Split(',')[1]);
-                                                CmdCode[18] = (byte)DataTemp_Int8;
-                                                //预留
-                                                CmdCode[19] = 0;
-                                                //ECO最大力矩增益
-                                                CmdCode[20] = Convert.ToByte(arrText[rowNum + 14].ToString().Split(',')[1]);
-                                                //ECO最大电流增益
-                                                CmdCode[21] = Convert.ToByte(arrText[rowNum + 15].ToString().Split(',')[1]);
-                                                //NORM助力增益
-                                                CmdCode[22] = Convert.ToByte(arrText[rowNum + 16].ToString().Split(',')[1]);
-                                                //NORM加速
-                                                CmdCode[23] = Convert.ToByte(arrText[rowNum + 17].ToString().Split(',')[1]);
-                                                //SPORT助力增益
-                                                CmdCode[24] = Convert.ToByte(arrText[rowNum + 18].ToString().Split(',')[1]);
-                                                //SPORT加速
-                                                CmdCode[25] = Convert.ToByte(arrText[rowNum + 19].ToString().Split(',')[1]);
-                                                //TURBO助力增益
-                                                CmdCode[26] = Convert.ToByte(arrText[rowNum + 20].ToString().Split(',')[1]);
-                                                //TURBO加速
-                                                CmdCode[27] = Convert.ToByte(arrText[rowNum + 21].ToString().Split(',')[1]);
-                                                //SMART助力增益
-                                                CmdCode[28] = Convert.ToByte(arrText[rowNum + 22].ToString().Split(',')[1]);
-                                                //SMART加速
-                                                CmdCode[29] = Convert.ToByte(arrText[rowNum + 23].ToString().Split(',')[1]);
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[三力矩标定系数1]":
-                                            {
-                                                CmdCode[0] = 0x34;
-                                                CmdCode[1] = 0x02;
-                                                CmdCode[2] = 0x01;
-                                                ushort DataTemp;
-                                                DataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
-                                                CmdCode[3] = (byte)DataTemp;
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[三力矩标定系数2]":
-                                            {
-                                                CmdCode[0] = 0x34;
-                                                CmdCode[1] = 0x02;
-                                                CmdCode[2] = 0x02;
-                                                ushort DataTemp;
-                                                DataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
-                                                CmdCode[3] = (byte)DataTemp;
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[三力矩标定系数3]":
-                                            {
-                                                CmdCode[0] = 0x34;
-                                                CmdCode[1] = 0x02;
-                                                CmdCode[2] = 0x03;
-                                                ushort DataTemp;
-                                                DataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
-                                                CmdCode[3] = (byte)DataTemp;
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        default: break;
-                                    }
-                                }
-                            }
-                        }
+                        Console.WriteLine(sOutput + "\r\n");
                     }
+                } while (false);
+#endif
 
-                }
-                catch (Exception e)
-                {
-                    Console.WriteLine(e);
-                    Console.WriteLine("转换失败,输入任意键结束!");
-                    Console.ReadKey();
-                    return;
-                }
-            }
-            else if (FuncionType == 2) //大牙盘
-            {
-                StreamReader objReader = new StreamReader(System.IO.Directory.GetCurrentDirectory() + "\\" + inputFilename + ".src");
-                string sLine = "";
-                ArrayList arrText = new ArrayList();//创建一个动态数组
-                while (sLine != null)
+                //开始转换
+                do
                 {
-                    sLine = objReader.ReadLine();
-                    arrText.Add(sLine);
-                }
-                objReader.Close();
-                try
-                {
-                    string filename = inputFilename + ".ttcfg";
-                    if (File.Exists(filename))//文件已存在,直接退出
+                    StreamReader objReader = new StreamReader(srcFile);
+                    string sLine = "";
+                    ArrayList arrText = new ArrayList();//创建一个动态数组
+                    while (sLine != null)
                     {
-                        Console.WriteLine("文件已存在!");
-                        Console.ReadKey();
-                        return;
+                        sLine = objReader.ReadLine();
+                        arrText.Add(sLine);
                     }
-                    else//文件名有效,转换后的数据存在该文件中
+                    objReader.Close();
+                    try
                     {
-                        //创建文件
-                        FileStream fs = File.Create(filename);
-                        fs.Close();
-                        //建立字典,存放并获取每个命令的行号
-                        Dictionary<string, int> DicRowNum = new Dictionary<string, int>();
-                        DicRowNum.Add("[型号]", 0);
-                        DicRowNum.Add("[SN号]", 0);
-                        DicRowNum.Add("[校验码]", 0);
-                        DicRowNum.Add("[自定义1]", 0);
-                        DicRowNum.Add("[自定义2]", 0);
-                        DicRowNum.Add("[自定义3]", 0);
-                        DicRowNum.Add("[生产信息]", 0);
-                        DicRowNum.Add("[马达信息]", 0);
-                        DicRowNum.Add("[整车参数]", 0);
-                        DicRowNum.Add("[控制参数]", 0);
-                        DicRowNum.Add("[力矩传感器参数]", 0);
-                        DicRowNum.Add("[其它传感器参数]", 0);
-                        DicRowNum.Add("[助力参数]", 0);
-                        DicRowNum.Add("[调试参数]", 0);
-
-                        Dictionary<string, int> __dict = new Dictionary<string, int>(DicRowNum);
-                        foreach (KeyValuePair<string, int> item in __dict)
+                        string filename = Path.GetDirectoryName(srcFile) + "\\" + Path.GetFileName(srcFile) + ".ttcfg";
+                        if (File.Exists(filename))//文件已存在,跳过
                         {
-                            foreach (string cmd in arrText)
-                            {
-                                if (cmd.Contains(item.Key))
-                                {
-                                    DicRowNum[item.Key] = arrText.IndexOf(cmd);
-                                    break;
-                                }
-                            }
+                            Console.WriteLine("文件已存在,跳过!\r\n");                            
+                            continue;
                         }
-                        //开始遍历,转换每条指令对应的数据
-                        using (StreamWriter file = new StreamWriter(filename))
+                        else//文件名有效,转换后的数据存在该文件中
                         {
-                            foreach (string index in DicRowNum.Keys)
+                            //创建文件
+                            FileStream fs = File.Create(filename);
+                            fs.Close();
+                            //建立字典,存放并获取每个命令的行号
+                            Dictionary<string, int> DicRowNum = new Dictionary<string, int>();
+                            DicRowNum.Add("[型号]", 0);
+                            DicRowNum.Add("[SN号]", 0);
+                            DicRowNum.Add("[校验码]", 0);
+                            DicRowNum.Add("[自定义1]", 0);
+                            DicRowNum.Add("[自定义2]", 0);
+                            DicRowNum.Add("[自定义3]", 0);
+                            DicRowNum.Add("[生产信息]", 0);
+                            DicRowNum.Add("[马达信息]", 0);
+                            DicRowNum.Add("[整车参数]", 0);
+                            DicRowNum.Add("[控制参数]", 0);
+                            DicRowNum.Add("[力矩传感器参数]", 0);
+                            DicRowNum.Add("[其它传感器参数]", 0);
+                            DicRowNum.Add("[助力参数]", 0);
+                            DicRowNum.Add("[调试参数]", 0);
+
+                            Dictionary<string, int> __dict = new Dictionary<string, int>(DicRowNum);
+                            foreach (KeyValuePair<string, int> item in __dict)
                             {
-                                int rowNum = DicRowNum[index];
-                                //判断该命令是否打开
-                                if (arrText[rowNum].ToString().Split(',')[1] == "0")//该指令关闭
+                                foreach (string cmd in arrText)
                                 {
-                                    continue;
+                                    if (cmd.Contains(item.Key))
+                                    {
+                                        DicRowNum[item.Key] = arrText.IndexOf(cmd);
+                                        break;
+                                    }
                                 }
-                                else//该指令打开
+                            }
+                            //开始遍历,转换每条指令对应的数据
+                            using (StreamWriter file = new StreamWriter(filename))
+                            {
+                                foreach (string index in DicRowNum.Keys)
                                 {
-                                    //写入命令功能
-                                    file.WriteLine(index);
-                                    var CmdCode = new byte[100];
-                                    Array.Clear(CmdCode, 0, CmdCode.Length);
-                                    switch (index)
+                                    int rowNum = DicRowNum[index];
+                                    //判断该命令是否打开
+                                    if (arrText[rowNum].ToString().Split(',')[1] == "0")//该指令关闭
+                                    {
+                                        continue;
+                                    }
+                                    else//该指令打开
                                     {
-                                        case "[型号]":
-                                            {
-                                                CmdCode[0] = 0x22;
-                                                CmdCode[1] = 0x10;
-                                                string ModeString = arrText[rowNum + 1].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((ModeString.Length > 16) ? 16 : ModeString.Length); i++)
+                                        //写入命令功能
+                                        file.WriteLine(index);
+                                        var CmdCode = new byte[100];
+                                        Array.Clear(CmdCode, 0, CmdCode.Length);
+                                        switch (index)
+                                        {
+                                            case "[型号]":
                                                 {
-                                                    CmdCode[2 + i] = (byte)ModeString[i];
+                                                    CmdCode[0] = 0x22;
+                                                    CmdCode[1] = 0x10;
+                                                    string ModeString = arrText[rowNum + 1].ToString().Split(',')[1];
+                                                    for (ushort i = 0; i < ((ModeString.Length > 16) ? 16 : ModeString.Length); i++)
+                                                    {
+                                                        CmdCode[2 + i] = (byte)ModeString[i];
+                                                    }
+                                                    //写入文件
+                                                    file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
+                                                    break;
                                                 }
-                                                //写入文件
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[SN号]":
-                                            {
-                                                CmdCode[0] = 0x23;
-                                                CmdCode[1] = 0x10;
-                                                string SnString = arrText[rowNum + 1].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((SnString.Length > 16) ? 16 : SnString.Length); i++)
+                                            case "[SN号]":
                                                 {
-                                                    CmdCode[2 + i] = (byte)SnString[i];
+                                                    CmdCode[0] = 0x23;
+                                                    CmdCode[1] = 0x10;
+                                                    string SnString = arrText[rowNum + 1].ToString().Split(',')[1];
+                                                    for (ushort i = 0; i < ((SnString.Length > 16) ? 16 : SnString.Length); i++)
+                                                    {
+                                                        CmdCode[2 + i] = (byte)SnString[i];
+                                                    }
+                                                    //写入文件
+                                                    file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
+                                                    break;
                                                 }
-                                                //写入文件
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[校验码]":
-                                            {
-                                                CmdCode[0] = 0x11;
-                                                CmdCode[1] = 0x08;
-                                                string KeyString = arrText[rowNum + 1].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((KeyString.Length > 8) ? 8 : KeyString.Length); i++)
+                                            case "[校验码]":
                                                 {
-                                                    CmdCode[2 + i] = (byte)KeyString[i];
+                                                    CmdCode[0] = 0x11;
+                                                    CmdCode[1] = 0x08;
+                                                    string KeyString = arrText[rowNum + 1].ToString().Split(',')[1];
+                                                    for (ushort i = 0; i < ((KeyString.Length > 8) ? 8 : KeyString.Length); i++)
+                                                    {
+                                                        CmdCode[2 + i] = (byte)KeyString[i];
+                                                    }
+                                                    //写入文件
+                                                    file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
+                                                    break;
                                                 }
-                                                //写入文件
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[自定义1]":
-                                            {
-                                                CmdCode[0] = 0x14;
-                                                CmdCode[1] = 0x10;
-                                                string UserInfo1String = arrText[rowNum + 1].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((UserInfo1String.Length > 16) ? 16 : UserInfo1String.Length); i++)
+                                            case "[自定义1]":
                                                 {
-                                                    CmdCode[2 + i] = (byte)UserInfo1String[i];
+                                                    CmdCode[0] = 0x14;
+                                                    CmdCode[1] = 0x10;
+                                                    string UserInfo1String = arrText[rowNum + 1].ToString().Split(',')[1];
+                                                    for (ushort i = 0; i < ((UserInfo1String.Length > 16) ? 16 : UserInfo1String.Length); i++)
+                                                    {
+                                                        CmdCode[2 + i] = (byte)UserInfo1String[i];
+                                                    }
+                                                    //写入文件
+                                                    file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
+                                                    break;
                                                 }
-                                                //写入文件
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[自定义2]":
-                                            {
-                                                CmdCode[0] = 0x16;
-                                                CmdCode[1] = 0x10;
-                                                string UserInfo1String = arrText[rowNum + 1].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((UserInfo1String.Length > 16) ? 16 : UserInfo1String.Length); i++)
+                                            case "[自定义2]":
                                                 {
-                                                    CmdCode[2 + i] = (byte)UserInfo1String[i];
+                                                    CmdCode[0] = 0x16;
+                                                    CmdCode[1] = 0x10;
+                                                    string UserInfo1String = arrText[rowNum + 1].ToString().Split(',')[1];
+                                                    for (ushort i = 0; i < ((UserInfo1String.Length > 16) ? 16 : UserInfo1String.Length); i++)
+                                                    {
+                                                        CmdCode[2 + i] = (byte)UserInfo1String[i];
+                                                    }
+                                                    //写入文件
+                                                    file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
+                                                    break;
                                                 }
-                                                //写入文件
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[自定义3]":
-                                            {
-                                                CmdCode[0] = 0x18;
-                                                CmdCode[1] = 0x10;
-                                                string UserInfo1String = arrText[rowNum + 1].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((UserInfo1String.Length > 16) ? 16 : UserInfo1String.Length); i++)
+                                            case "[自定义3]":
                                                 {
-                                                    CmdCode[2 + i] = (byte)UserInfo1String[i];
+                                                    CmdCode[0] = 0x18;
+                                                    CmdCode[1] = 0x10;
+                                                    string UserInfo1String = arrText[rowNum + 1].ToString().Split(',')[1];
+                                                    for (ushort i = 0; i < ((UserInfo1String.Length > 16) ? 16 : UserInfo1String.Length); i++)
+                                                    {
+                                                        CmdCode[2 + i] = (byte)UserInfo1String[i];
+                                                    }
+                                                    //写入文件
+                                                    file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
+                                                    break;
                                                 }
-                                                //写入文件
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[生产信息]":
-                                            {
-                                                CmdCode[0] = 0x24;
-                                                CmdCode[1] = 0x20;
-                                                string MAC_Info = arrText[rowNum + 1].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((MAC_Info.Length > 8) ? 8 : MAC_Info.Length); i++)
+                                            case "[生产信息]":
                                                 {
-                                                    CmdCode[2 + i] = (byte)MAC_Info[i];
+                                                    CmdCode[0] = 0x24;
+                                                    CmdCode[1] = 0x20;
+                                                    string MAC_Info = arrText[rowNum + 1].ToString().Split(',')[1];
+                                                    for (ushort i = 0; i < ((MAC_Info.Length > 8) ? 8 : MAC_Info.Length); i++)
+                                                    {
+                                                        CmdCode[2 + i] = (byte)MAC_Info[i];
+                                                    }
+                                                    MAC_Info = arrText[rowNum + 2].ToString().Split(',')[1];
+                                                    for (ushort i = 0; i < ((MAC_Info.Length > 8) ? 8 : MAC_Info.Length); i++)
+                                                    {
+                                                        CmdCode[10 + i] = (byte)MAC_Info[i];
+                                                    }
+                                                    MAC_Info = arrText[rowNum + 3].ToString().Split(',')[1];
+                                                    for (ushort i = 0; i < ((MAC_Info.Length > 8) ? 8 : MAC_Info.Length); i++)
+                                                    {
+                                                        CmdCode[18 + i] = (byte)MAC_Info[i];
+                                                    }
+                                                    MAC_Info = arrText[rowNum + 4].ToString().Split(',')[1];
+                                                    for (ushort i = 0; i < ((MAC_Info.Length > 8) ? 8 : MAC_Info.Length); i++)
+                                                    {
+                                                        CmdCode[26 + i] = (byte)MAC_Info[i];
+                                                    }
+
+                                                    //写入文件
+                                                    file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
+                                                    break;
                                                 }
-                                                MAC_Info = arrText[rowNum + 2].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((MAC_Info.Length > 8) ? 8 : MAC_Info.Length); i++)
+                                            case "[马达信息]":
                                                 {
-                                                    CmdCode[10 + i] = (byte)MAC_Info[i];
+                                                    CmdCode[0] = 0x3B;
+                                                    CmdCode[1] = 0x28;
+                                                    ushort uDataTemp;
+                                                    short sDataTemp;
+                                                    //存储标志
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
+                                                    CmdCode[2] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[3] = (byte)(uDataTemp >> 8);
+                                                    //极对数
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 2].ToString().Split(',')[1]);
+                                                    CmdCode[4] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[5] = (byte)(uDataTemp >> 8);
+                                                    //电阻
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
+                                                    CmdCode[6] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[7] = (byte)(uDataTemp >> 8);
+                                                    //d轴电感
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 4].ToString().Split(',')[1]);
+                                                    CmdCode[8] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[9] = (byte)(uDataTemp >> 8);
+                                                    //q轴电感
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 5].ToString().Split(',')[1]);
+                                                    CmdCode[10] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[11] = (byte)(uDataTemp >> 8);
+                                                    //永磁体磁链
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 6].ToString().Split(',')[1]);
+                                                    CmdCode[12] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[13] = (byte)(uDataTemp >> 8);
+                                                    //Id最大值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 7].ToString().Split(',')[1]);
+                                                    CmdCode[14] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[15] = (byte)(uDataTemp >> 8);
+                                                    //Id最小值
+                                                    sDataTemp = Convert.ToInt16(arrText[rowNum + 8].ToString().Split(',')[1]);
+                                                    CmdCode[16] = (byte)(sDataTemp & 0xFF);
+                                                    CmdCode[17] = (byte)(sDataTemp >> 8);
+                                                    //额定转速
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 9].ToString().Split(',')[1]);
+                                                    CmdCode[18] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[19] = (byte)(uDataTemp >> 8);
+                                                    //额定功率
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 10].ToString().Split(',')[1]);
+                                                    CmdCode[20] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[21] = (byte)(uDataTemp >> 8);
+                                                    //额定电流
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 11].ToString().Split(',')[1]);
+                                                    CmdCode[22] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[23] = (byte)(uDataTemp >> 8);
+                                                    //额定电压
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 12].ToString().Split(',')[1]);
+                                                    CmdCode[24] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[25] = (byte)(uDataTemp >> 8);
+                                                    //惯量
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 13].ToString().Split(',')[1]);
+                                                    CmdCode[26] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[27] = (byte)(uDataTemp >> 8);
+                                                    //最大转矩
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 14].ToString().Split(',')[1]);
+                                                    CmdCode[28] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[29] = (byte)(uDataTemp >> 8);
+                                                    //预留1
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 15].ToString().Split(',')[1]);
+                                                    CmdCode[30] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[31] = (byte)(uDataTemp >> 8);
+                                                    //预留2
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 16].ToString().Split(',')[1]);
+                                                    CmdCode[32] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[33] = (byte)(uDataTemp >> 8);
+                                                    //预留3
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 17].ToString().Split(',')[1]);
+                                                    CmdCode[34] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[35] = (byte)(uDataTemp >> 8);
+                                                    //预留4
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 18].ToString().Split(',')[1]);
+                                                    CmdCode[36] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[37] = (byte)(uDataTemp >> 8);
+                                                    //预留5
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 19].ToString().Split(',')[1]);
+                                                    CmdCode[38] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[39] = (byte)(uDataTemp >> 8);
+                                                    //预留6
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 20].ToString().Split(',')[1]);
+                                                    CmdCode[40] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[41] = (byte)(uDataTemp >> 8);
+                                                    //写入文件
+                                                    file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
+                                                    break;
                                                 }
-                                                MAC_Info = arrText[rowNum + 3].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((MAC_Info.Length > 8) ? 8 : MAC_Info.Length); i++)
+                                            case "[整车参数]":
                                                 {
-                                                    CmdCode[18 + i] = (byte)MAC_Info[i];
+                                                    CmdCode[0] = 0x3D;
+                                                    CmdCode[1] = 0x1C;
+                                                    ushort uDataTemp;
+                                                    short sDataTemp;
+                                                    //存储标志
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
+                                                    CmdCode[2] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[3] = (byte)(uDataTemp >> 8);
+                                                    //轮胎周长
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 2].ToString().Split(',')[1]);
+                                                    CmdCode[4] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[5] = (byte)(uDataTemp >> 8);
+                                                    //电控传动比
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
+                                                    CmdCode[6] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[7] = (byte)(uDataTemp >> 8);
+                                                    //助力最大限速
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 4].ToString().Split(',')[1]);
+                                                    CmdCode[8] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[9] = (byte)(uDataTemp >> 8);
+                                                    //推行限速
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 5].ToString().Split(',')[1]);
+                                                    CmdCode[10] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[11] = (byte)(uDataTemp >> 8);
+                                                    //前牙盘
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 6].ToString().Split(',')[1]);
+                                                    CmdCode[12] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[13] = (byte)(uDataTemp >> 8);
+                                                    //后牙盘
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 7].ToString().Split(',')[1]);
+                                                    CmdCode[14] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[15] = (byte)(uDataTemp >> 8);
+                                                    //助力方案1
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 8].ToString().Split(',')[1]);
+                                                    CmdCode[16] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[17] = (byte)(uDataTemp >> 8);
+                                                    //助力方案2
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 9].ToString().Split(',')[1]);
+                                                    CmdCode[18] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[19] = (byte)(uDataTemp >> 8);
+                                                    //前后灯参数
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 10].ToString().Split(',')[1]);
+                                                    CmdCode[20] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[21] = (byte)(uDataTemp >> 8);
+                                                    //周长微调
+                                                    sDataTemp = Convert.ToInt16(arrText[rowNum + 11].ToString().Split(',')[1]);
+                                                    CmdCode[22] = (byte)(sDataTemp & 0xFF);
+                                                    CmdCode[23] = (byte)(sDataTemp >> 8);
+                                                    //启动模式
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 12].ToString().Split(',')[1]);
+                                                    CmdCode[24] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[25] = (byte)(uDataTemp >> 8);
+                                                    //开关机时间
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 13].ToString().Split(',')[1]);
+                                                    CmdCode[26] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[27] = (byte)(uDataTemp >> 8);
+                                                    //预留1
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 14].ToString().Split(',')[1]);
+                                                    CmdCode[28] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[29] = (byte)(uDataTemp >> 8);
+                                                    //写入文件
+                                                    file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
+                                                    break;
                                                 }
-                                                MAC_Info = arrText[rowNum + 4].ToString().Split(',')[1];
-                                                for (ushort i = 0; i < ((MAC_Info.Length > 8) ? 8 : MAC_Info.Length); i++)
+                                            case "[控制参数]":
                                                 {
-                                                    CmdCode[26 + i] = (byte)MAC_Info[i];
+                                                    CmdCode[0] = 0x3F;
+                                                    CmdCode[1] = 0x22;
+                                                    ushort uDataTemp;
+                                                    short sDataTemp;
+                                                    //存储标志
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
+                                                    CmdCode[2] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[3] = (byte)(uDataTemp >> 8);
+                                                    //位置传感器零点
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 2].ToString().Split(',')[1]);
+                                                    CmdCode[4] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[5] = (byte)(uDataTemp >> 8);
+                                                    //位置传感器当前零点
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
+                                                    CmdCode[6] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[7] = (byte)(uDataTemp >> 8);
+                                                    //峰值电流
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 4].ToString().Split(',')[1]);
+                                                    CmdCode[8] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[9] = (byte)(uDataTemp >> 8);
+                                                    //过流保护阈值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 5].ToString().Split(',')[1]);
+                                                    CmdCode[10] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[11] = (byte)(uDataTemp >> 8);
+                                                    //最高档过压保护阈值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 6].ToString().Split(',')[1]);
+                                                    CmdCode[12] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[13] = (byte)(uDataTemp >> 8);
+                                                    //最高档欠压保护阈值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 7].ToString().Split(',')[1]);
+                                                    CmdCode[14] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[15] = (byte)(uDataTemp >> 8);
+                                                    //超速保护阈值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 8].ToString().Split(',')[1]);
+                                                    CmdCode[16] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[17] = (byte)(uDataTemp >> 8);
+                                                    //控制器过热保护阈值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 9].ToString().Split(',')[1]);
+                                                    CmdCode[18] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[19] = (byte)(uDataTemp >> 8);
+                                                    //控制器过热恢复阈值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 10].ToString().Split(',')[1]);
+                                                    CmdCode[20] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[21] = (byte)(uDataTemp >> 8);
+                                                    //控制器过热降额阈值
+                                                    sDataTemp = Convert.ToInt16(arrText[rowNum + 11].ToString().Split(',')[1]);
+                                                    CmdCode[22] = (byte)(sDataTemp & 0xFF);
+                                                    CmdCode[23] = (byte)(sDataTemp >> 8);
+                                                    //电机过热保护阈值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 12].ToString().Split(',')[1]);
+                                                    CmdCode[24] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[25] = (byte)(uDataTemp >> 8);
+                                                    //电机过热恢复阈值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 13].ToString().Split(',')[1]);
+                                                    CmdCode[26] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[27] = (byte)(uDataTemp >> 8);
+                                                    //电机过热降额阈值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 14].ToString().Split(',')[1]);
+                                                    CmdCode[28] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[29] = (byte)(uDataTemp >> 8);
+                                                    //预留1
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 15].ToString().Split(',')[1]);
+                                                    CmdCode[30] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[31] = (byte)(uDataTemp >> 8);
+                                                    //预留2
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 16].ToString().Split(',')[1]);
+                                                    CmdCode[32] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[33] = (byte)(uDataTemp >> 8);
+                                                    //预留3
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 17].ToString().Split(',')[1]);
+                                                    CmdCode[34] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[35] = (byte)(uDataTemp >> 8);
+                                                    //写入文件
+                                                    file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
+                                                    break;
                                                 }
-
-                                                //写入文件
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[马达信息]":
-                                            {
-                                                CmdCode[0] = 0x3B;
-                                                CmdCode[1] = 0x28;
-                                                ushort uDataTemp;
-                                                short sDataTemp;
-                                                //存储标志
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
-                                                CmdCode[2] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[3] = (byte)(uDataTemp >> 8);
-                                                //极对数
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 2].ToString().Split(',')[1]);
-                                                CmdCode[4] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[5] = (byte)(uDataTemp >> 8);
-                                                //电阻
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
-                                                CmdCode[6] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[7] = (byte)(uDataTemp >> 8);
-                                                //d轴电感
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 4].ToString().Split(',')[1]);
-                                                CmdCode[8] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[9] = (byte)(uDataTemp >> 8);
-                                                //q轴电感
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 5].ToString().Split(',')[1]);
-                                                CmdCode[10] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[11] = (byte)(uDataTemp >> 8);
-                                                //永磁体磁链
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 6].ToString().Split(',')[1]);
-                                                CmdCode[12] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[13] = (byte)(uDataTemp >> 8);
-                                                //Id最大值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 7].ToString().Split(',')[1]);
-                                                CmdCode[14] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[15] = (byte)(uDataTemp >> 8);
-                                                //Id最小值
-                                                sDataTemp = Convert.ToInt16(arrText[rowNum + 8].ToString().Split(',')[1]);
-                                                CmdCode[16] = (byte)(sDataTemp & 0xFF);
-                                                CmdCode[17] = (byte)(sDataTemp >> 8);
-                                                //额定转速
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 9].ToString().Split(',')[1]);
-                                                CmdCode[18] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[19] = (byte)(uDataTemp >> 8);
-                                                //额定功率
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 10].ToString().Split(',')[1]);
-                                                CmdCode[20] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[21] = (byte)(uDataTemp >> 8);
-                                                //额定电流
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 11].ToString().Split(',')[1]);
-                                                CmdCode[22] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[23] = (byte)(uDataTemp >> 8);
-                                                //额定电压
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 12].ToString().Split(',')[1]);
-                                                CmdCode[24] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[25] = (byte)(uDataTemp >> 8);
-                                                //惯量
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 13].ToString().Split(',')[1]);
-                                                CmdCode[26] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[27] = (byte)(uDataTemp >> 8);
-                                                //最大转矩
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 14].ToString().Split(',')[1]);
-                                                CmdCode[28] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[29] = (byte)(uDataTemp >> 8);
-                                                //预留1
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 15].ToString().Split(',')[1]);
-                                                CmdCode[30] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[31] = (byte)(uDataTemp >> 8);
-                                                //预留2
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 16].ToString().Split(',')[1]);
-                                                CmdCode[32] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[33] = (byte)(uDataTemp >> 8);
-                                                //预留3
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 17].ToString().Split(',')[1]);
-                                                CmdCode[34] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[35] = (byte)(uDataTemp >> 8);
-                                                //预留4
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 18].ToString().Split(',')[1]);
-                                                CmdCode[36] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[37] = (byte)(uDataTemp >> 8);
-                                                //预留5
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 19].ToString().Split(',')[1]);
-                                                CmdCode[38] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[39] = (byte)(uDataTemp >> 8);
-                                                //预留6
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 20].ToString().Split(',')[1]);
-                                                CmdCode[40] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[41] = (byte)(uDataTemp >> 8);
-                                                //写入文件
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[整车参数]":
-                                            {
-                                                CmdCode[0] = 0x3D;
-                                                CmdCode[1] = 0x1C;
-                                                ushort uDataTemp;
-                                                short sDataTemp;
-                                                //存储标志
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
-                                                CmdCode[2] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[3] = (byte)(uDataTemp >> 8);
-                                                //轮胎周长
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 2].ToString().Split(',')[1]);
-                                                CmdCode[4] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[5] = (byte)(uDataTemp >> 8);
-                                                //电控传动比
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
-                                                CmdCode[6] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[7] = (byte)(uDataTemp >> 8);
-                                                //助力最大限速
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 4].ToString().Split(',')[1]);
-                                                CmdCode[8] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[9] = (byte)(uDataTemp >> 8);
-                                                //推行限速
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 5].ToString().Split(',')[1]);
-                                                CmdCode[10] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[11] = (byte)(uDataTemp >> 8);
-                                                //前牙盘
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 6].ToString().Split(',')[1]);
-                                                CmdCode[12] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[13] = (byte)(uDataTemp >> 8);
-                                                //后牙盘
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 7].ToString().Split(',')[1]);
-                                                CmdCode[14] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[15] = (byte)(uDataTemp >> 8);
-                                                //助力方案1
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 8].ToString().Split(',')[1]);
-                                                CmdCode[16] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[17] = (byte)(uDataTemp >> 8);
-                                                //助力方案2
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 9].ToString().Split(',')[1]);
-                                                CmdCode[18] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[19] = (byte)(uDataTemp >> 8);
-                                                //前后灯参数
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 10].ToString().Split(',')[1]);
-                                                CmdCode[20] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[21] = (byte)(uDataTemp >> 8);
-                                                //周长微调
-                                                sDataTemp = Convert.ToInt16(arrText[rowNum + 11].ToString().Split(',')[1]);
-                                                CmdCode[22] = (byte)(sDataTemp & 0xFF);
-                                                CmdCode[23] = (byte)(sDataTemp >> 8);
-                                                //启动模式
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 12].ToString().Split(',')[1]);
-                                                CmdCode[24] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[25] = (byte)(uDataTemp >> 8);
-                                                //开关机时间
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 13].ToString().Split(',')[1]);
-                                                CmdCode[26] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[27] = (byte)(uDataTemp >> 8);
-                                                //预留1
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 14].ToString().Split(',')[1]);
-                                                CmdCode[28] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[29] = (byte)(uDataTemp >> 8);
-                                                //写入文件
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[控制参数]":
-                                            {
-                                                CmdCode[0] = 0x3F;
-                                                CmdCode[1] = 0x22;
-                                                ushort uDataTemp;
-                                                short sDataTemp;
-                                                //存储标志
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
-                                                CmdCode[2] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[3] = (byte)(uDataTemp >> 8);
-                                                //位置传感器零点
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 2].ToString().Split(',')[1]);
-                                                CmdCode[4] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[5] = (byte)(uDataTemp >> 8);
-                                                //位置传感器当前零点
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
-                                                CmdCode[6] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[7] = (byte)(uDataTemp >> 8);
-                                                //峰值电流
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 4].ToString().Split(',')[1]);
-                                                CmdCode[8] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[9] = (byte)(uDataTemp >> 8);
-                                                //过流保护阈值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 5].ToString().Split(',')[1]);
-                                                CmdCode[10] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[11] = (byte)(uDataTemp >> 8);
-                                                //最高档过压保护阈值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 6].ToString().Split(',')[1]);
-                                                CmdCode[12] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[13] = (byte)(uDataTemp >> 8);
-                                                //最高档欠压保护阈值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 7].ToString().Split(',')[1]);
-                                                CmdCode[14] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[15] = (byte)(uDataTemp >> 8);
-                                                //超速保护阈值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 8].ToString().Split(',')[1]);
-                                                CmdCode[16] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[17] = (byte)(uDataTemp >> 8);
-                                                //控制器过热保护阈值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 9].ToString().Split(',')[1]);
-                                                CmdCode[18] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[19] = (byte)(uDataTemp >> 8);
-                                                //控制器过热恢复阈值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 10].ToString().Split(',')[1]);
-                                                CmdCode[20] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[21] = (byte)(uDataTemp >> 8);
-                                                //控制器过热降额阈值
-                                                sDataTemp = Convert.ToInt16(arrText[rowNum + 11].ToString().Split(',')[1]);
-                                                CmdCode[22] = (byte)(sDataTemp & 0xFF);
-                                                CmdCode[23] = (byte)(sDataTemp >> 8);
-                                                //电机过热保护阈值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 12].ToString().Split(',')[1]);
-                                                CmdCode[24] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[25] = (byte)(uDataTemp >> 8);
-                                                //电机过热恢复阈值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 13].ToString().Split(',')[1]);
-                                                CmdCode[26] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[27] = (byte)(uDataTemp >> 8);
-                                                //电机过热降额阈值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 14].ToString().Split(',')[1]);
-                                                CmdCode[28] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[29] = (byte)(uDataTemp >> 8);
-                                                //预留1
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 15].ToString().Split(',')[1]);
-                                                CmdCode[30] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[31] = (byte)(uDataTemp >> 8);
-                                                //预留2
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 16].ToString().Split(',')[1]);
-                                                CmdCode[32] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[33] = (byte)(uDataTemp >> 8);
-                                                //预留3
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 17].ToString().Split(',')[1]);
-                                                CmdCode[34] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[35] = (byte)(uDataTemp >> 8);
-                                                //写入文件
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[力矩传感器参数]":
-                                            {
-                                                CmdCode[0] = 0x47;
-                                                CmdCode[1] = 0x2E;
-                                                ushort uDataTemp;
-                                                short sDataTemp;
-                                                //存储标志
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
-                                                CmdCode[2] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[3] = (byte)(uDataTemp >> 8);
-                                                //出厂零点
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 2].ToString().Split(',')[1]);
-                                                CmdCode[4] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[5] = (byte)(uDataTemp >> 8);
-                                                //历史零点1
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
-                                                CmdCode[6] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[7] = (byte)(uDataTemp >> 8);
-                                                //历史零点2
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 4].ToString().Split(',')[1]);
-                                                CmdCode[8] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[9] = (byte)(uDataTemp >> 8);
-                                                //历史零点3
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 5].ToString().Split(',')[1]);
-                                                CmdCode[10] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[11] = (byte)(uDataTemp >> 8);
-                                                //最大零点
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 6].ToString().Split(',')[1]);
-                                                CmdCode[12] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[13] = (byte)(uDataTemp >> 8);
-                                                //最大转矩
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 7].ToString().Split(',')[1]);
-                                                CmdCode[14] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[15] = (byte)(uDataTemp >> 8);
-                                                //第一阶段加载值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 8].ToString().Split(',')[1]);
-                                                CmdCode[16] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[17] = (byte)(uDataTemp >> 8);
-                                                //第一阶段采集值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 9].ToString().Split(',')[1]);
-                                                CmdCode[18] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[19] = (byte)(uDataTemp >> 8);
-                                                //第二阶段加载值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 10].ToString().Split(',')[1]);
-                                                CmdCode[20] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[21] = (byte)(uDataTemp >> 8);
-                                                //第二阶段采集值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 11].ToString().Split(',')[1]);
-                                                CmdCode[22] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[23] = (byte)(uDataTemp >> 8);
-                                                //第三阶段加载值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 12].ToString().Split(',')[1]);
-                                                CmdCode[24] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[25] = (byte)(uDataTemp >> 8);
-                                                //第三阶段采集值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 13].ToString().Split(',')[1]);
-                                                CmdCode[26] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[27] = (byte)(uDataTemp >> 8);
-                                                //第四阶段加载值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 14].ToString().Split(',')[1]);
-                                                CmdCode[28] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[29] = (byte)(uDataTemp >> 8);
-                                                //第四阶段采集值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 15].ToString().Split(',')[1]);
-                                                CmdCode[30] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[31] = (byte)(uDataTemp >> 8);
-                                                //写入文件
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[其它传感器参数]":
-                                            {
-                                                CmdCode[0] = 0x42;
-                                                CmdCode[1] = 0x0E;
-                                                ushort uDataTemp;
-                                                short sDataTemp;
-                                                //存储标志
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
-                                                CmdCode[2] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[3] = (byte)(uDataTemp >> 8);
-                                                //踏频一圈脉冲数
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 2].ToString().Split(',')[1]);
-                                                CmdCode[4] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[5] = (byte)(uDataTemp >> 8);
-                                                //车速一圈脉冲数
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
-                                                CmdCode[6] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[7] = (byte)(uDataTemp >> 8);
-                                                //写入文件
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        case "[助力参数]":
-                                            {
-                                                CmdCode[0] = 0x44;
-                                                CmdCode[1] = 0x50;
-                                                ushort uDataTemp;
-                                                short sDataTemp;
-                                                //存储标志
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
-                                                CmdCode[2] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[3] = (byte)(uDataTemp >> 8);
-                                                //空
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 2].ToString().Split(',')[1]);
-                                                CmdCode[4] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[5] = (byte)(uDataTemp >> 8);
-                                                //零速启动增益
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
-                                                CmdCode[6] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[7] = (byte)(uDataTemp >> 8);
-                                                //巡航启动增益
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 4].ToString().Split(',')[1]);
-                                                CmdCode[8] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[9] = (byte)(uDataTemp >> 8);
-                                                //助力启动阈值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 85].ToString().Split(',')[1]);
-                                                CmdCode[46] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[47] = (byte)(uDataTemp >> 8);
-                                                //助力停止阈值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 86].ToString().Split(',')[1]);
-                                                CmdCode[48] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[49] = (byte)(uDataTemp >> 8);
-                                                //启动时电流增长阶梯
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 87].ToString().Split(',')[1]);
-                                                CmdCode[50] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[51] = (byte)(uDataTemp >> 8);
-                                                //启动踏频脉冲数
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 88].ToString().Split(',')[1]);
-                                                CmdCode[52] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[53] = (byte)(uDataTemp >> 8);
-                                                //转矩滤波脉冲数
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 89].ToString().Split(',')[1]);
-                                                CmdCode[54] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[55] = (byte)(uDataTemp >> 8);
-                                                //待速转速
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 90].ToString().Split(',')[1]);
-                                                CmdCode[56] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[57] = (byte)(uDataTemp >> 8);
-                                                //待速最大电流
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 91].ToString().Split(',')[1]);
-                                                CmdCode[58] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[59] = (byte)(uDataTemp >> 8);
-                                                //限速启动阈值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 92].ToString().Split(',')[1]);
-                                                CmdCode[60] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[61] = (byte)(uDataTemp >> 8);
-                                                //限速停止阈值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 93].ToString().Split(',')[1]);
-                                                CmdCode[62] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[63] = (byte)(uDataTemp >> 8);
-                                                //踏频占比
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 94].ToString().Split(',')[1]);
-                                                CmdCode[64] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[65] = (byte)(uDataTemp >> 8);
-                                                //踏频助力Kp
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 95].ToString().Split(',')[1]);
-                                                CmdCode[66] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[67] = (byte)(uDataTemp >> 8);
-                                                //踏频助力加速限制
-                                                sDataTemp = Convert.ToInt16(arrText[rowNum + 96].ToString().Split(',')[1]);
-                                                CmdCode[68] = (byte)(sDataTemp & 0xFF);
-                                                CmdCode[69] = (byte)(sDataTemp >> 8);
-                                                //踏频助力退饱和步进
-                                                sDataTemp = Convert.ToInt16(arrText[rowNum + 97].ToString().Split(',')[1]);
-                                                CmdCode[70] = (byte)(sDataTemp & 0xFF);
-                                                CmdCode[71] = (byte)(sDataTemp >> 8);
-                                                //踏频助力电流步进
-                                                sDataTemp = Convert.ToInt16(arrText[rowNum + 98].ToString().Split(',')[1]);
-                                                CmdCode[72] = (byte)(sDataTemp & 0xFF);
-                                                CmdCode[73] = (byte)(sDataTemp >> 8);
-                                                //预留1
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 99].ToString().Split(',')[1]);
-                                                CmdCode[74] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[75] = (byte)(uDataTemp >> 8);
-                                                //预留2
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 100].ToString().Split(',')[1]);
-                                                CmdCode[76] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[77] = (byte)(uDataTemp >> 8);
-                                                //预留3
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 101].ToString().Split(',')[1]);
-                                                CmdCode[78] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[79] = (byte)(uDataTemp >> 8);
-                                                //预留4
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 102].ToString().Split(',')[1]);
-                                                CmdCode[80] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[81] = (byte)(uDataTemp >> 8);
-                                                //转矩曲线1-15,踏频曲线1-5,按照前5条同时写力矩和踏频,后9条写力矩和踏频5
-                                                for (ushort i = 1; i <= 15; i++)
+                                            case "[力矩传感器参数]":
                                                 {
-                                                    Int32 Data32;
-                                                    //转矩曲线编号
-                                                    uDataTemp = (ushort)(i);
+                                                    CmdCode[0] = 0x47;
+                                                    CmdCode[1] = 0x2E;
+                                                    ushort uDataTemp;
+                                                    short sDataTemp;
+                                                    //存储标志
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
+                                                    CmdCode[2] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[3] = (byte)(uDataTemp >> 8);
+                                                    //出厂零点
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 2].ToString().Split(',')[1]);
+                                                    CmdCode[4] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[5] = (byte)(uDataTemp >> 8);
+                                                    //历史零点1
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
+                                                    CmdCode[6] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[7] = (byte)(uDataTemp >> 8);
+                                                    //历史零点2
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 4].ToString().Split(',')[1]);
+                                                    CmdCode[8] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[9] = (byte)(uDataTemp >> 8);
+                                                    //历史零点3
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 5].ToString().Split(',')[1]);
                                                     CmdCode[10] = (byte)(uDataTemp & 0xFF);
                                                     CmdCode[11] = (byte)(uDataTemp >> 8);
-                                                    //踏频曲线编号
-                                                    uDataTemp = (ushort)(i <= 5 ? i : 5);
+                                                    //最大零点
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 6].ToString().Split(',')[1]);
                                                     CmdCode[12] = (byte)(uDataTemp & 0xFF);
                                                     CmdCode[13] = (byte)(uDataTemp >> 8);
-                                                    //转矩曲线a
-                                                    Data32 = Convert.ToInt32(arrText[rowNum + (4 * i + 1)].ToString().Split(',')[1]);
-                                                    CmdCode[14] = (byte)(Data32 & 0xFF);
-                                                    CmdCode[15] = (byte)(Data32 >> 8);
-                                                    CmdCode[16] = (byte)(Data32 >> 16);
-                                                    CmdCode[17] = (byte)(Data32 >> 24);
-                                                    //转矩曲线b
-                                                    Data32 = Convert.ToInt32(arrText[rowNum + (4 * i + 2)].ToString().Split(',')[1]);
-                                                    CmdCode[18] = (byte)(Data32 & 0xFF);
-                                                    CmdCode[19] = (byte)(Data32 >> 8);
-                                                    CmdCode[20] = (byte)(Data32 >> 16);
-                                                    CmdCode[21] = (byte)(Data32 >> 24);
-                                                    //转矩曲线c
-                                                    Data32 = Convert.ToInt32(arrText[rowNum + (4 * i + 3)].ToString().Split(',')[1]);
-                                                    CmdCode[22] = (byte)(Data32 & 0xFF);
-                                                    CmdCode[23] = (byte)(Data32 >> 8);
-                                                    CmdCode[24] = (byte)(Data32 >> 16);
-                                                    CmdCode[25] = (byte)(Data32 >> 24);
-                                                    //转矩曲线d
-                                                    Data32 = Convert.ToInt32(arrText[rowNum + (4 * i + 4)].ToString().Split(',')[1]);
-                                                    CmdCode[26] = (byte)(Data32 & 0xFF);
-                                                    CmdCode[27] = (byte)(Data32 >> 8);
-                                                    CmdCode[28] = (byte)(Data32 >> 16);
-                                                    CmdCode[29] = (byte)(Data32 >> 24);
-                                                    if (i <= 5)
+                                                    //最大转矩
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 7].ToString().Split(',')[1]);
+                                                    CmdCode[14] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[15] = (byte)(uDataTemp >> 8);
+                                                    //第一阶段加载值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 8].ToString().Split(',')[1]);
+                                                    CmdCode[16] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[17] = (byte)(uDataTemp >> 8);
+                                                    //第一阶段采集值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 9].ToString().Split(',')[1]);
+                                                    CmdCode[18] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[19] = (byte)(uDataTemp >> 8);
+                                                    //第二阶段加载值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 10].ToString().Split(',')[1]);
+                                                    CmdCode[20] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[21] = (byte)(uDataTemp >> 8);
+                                                    //第二阶段采集值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 11].ToString().Split(',')[1]);
+                                                    CmdCode[22] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[23] = (byte)(uDataTemp >> 8);
+                                                    //第三阶段加载值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 12].ToString().Split(',')[1]);
+                                                    CmdCode[24] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[25] = (byte)(uDataTemp >> 8);
+                                                    //第三阶段采集值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 13].ToString().Split(',')[1]);
+                                                    CmdCode[26] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[27] = (byte)(uDataTemp >> 8);
+                                                    //第四阶段加载值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 14].ToString().Split(',')[1]);
+                                                    CmdCode[28] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[29] = (byte)(uDataTemp >> 8);
+                                                    //第四阶段采集值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 15].ToString().Split(',')[1]);
+                                                    CmdCode[30] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[31] = (byte)(uDataTemp >> 8);
+                                                    //写入文件
+                                                    file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
+                                                    break;
+                                                }
+                                            case "[其它传感器参数]":
+                                                {
+                                                    CmdCode[0] = 0x42;
+                                                    CmdCode[1] = 0x0E;
+                                                    ushort uDataTemp;
+                                                    short sDataTemp;
+                                                    //存储标志
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
+                                                    CmdCode[2] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[3] = (byte)(uDataTemp >> 8);
+                                                    //踏频一圈脉冲数
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 2].ToString().Split(',')[1]);
+                                                    CmdCode[4] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[5] = (byte)(uDataTemp >> 8);
+                                                    //车速一圈脉冲数
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
+                                                    CmdCode[6] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[7] = (byte)(uDataTemp >> 8);
+                                                    //写入文件
+                                                    file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
+                                                    break;
+                                                }
+                                            case "[助力参数]":
+                                                {
+                                                    CmdCode[0] = 0x44;
+                                                    CmdCode[1] = 0x50;
+                                                    ushort uDataTemp;
+                                                    short sDataTemp;
+                                                    //存储标志
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
+                                                    CmdCode[2] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[3] = (byte)(uDataTemp >> 8);
+                                                    //空
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 2].ToString().Split(',')[1]);
+                                                    CmdCode[4] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[5] = (byte)(uDataTemp >> 8);
+                                                    //零速启动增益
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
+                                                    CmdCode[6] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[7] = (byte)(uDataTemp >> 8);
+                                                    //巡航启动增益
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 4].ToString().Split(',')[1]);
+                                                    CmdCode[8] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[9] = (byte)(uDataTemp >> 8);
+                                                    //助力启动阈值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 85].ToString().Split(',')[1]);
+                                                    CmdCode[46] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[47] = (byte)(uDataTemp >> 8);
+                                                    //助力停止阈值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 86].ToString().Split(',')[1]);
+                                                    CmdCode[48] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[49] = (byte)(uDataTemp >> 8);
+                                                    //启动时电流增长阶梯
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 87].ToString().Split(',')[1]);
+                                                    CmdCode[50] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[51] = (byte)(uDataTemp >> 8);
+                                                    //启动踏频脉冲数
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 88].ToString().Split(',')[1]);
+                                                    CmdCode[52] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[53] = (byte)(uDataTemp >> 8);
+                                                    //转矩滤波脉冲数
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 89].ToString().Split(',')[1]);
+                                                    CmdCode[54] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[55] = (byte)(uDataTemp >> 8);
+                                                    //待速转速
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 90].ToString().Split(',')[1]);
+                                                    CmdCode[56] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[57] = (byte)(uDataTemp >> 8);
+                                                    //待速最大电流
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 91].ToString().Split(',')[1]);
+                                                    CmdCode[58] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[59] = (byte)(uDataTemp >> 8);
+                                                    //限速启动阈值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 92].ToString().Split(',')[1]);
+                                                    CmdCode[60] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[61] = (byte)(uDataTemp >> 8);
+                                                    //限速停止阈值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 93].ToString().Split(',')[1]);
+                                                    CmdCode[62] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[63] = (byte)(uDataTemp >> 8);
+                                                    //踏频占比
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 94].ToString().Split(',')[1]);
+                                                    CmdCode[64] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[65] = (byte)(uDataTemp >> 8);
+                                                    //踏频助力Kp
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 95].ToString().Split(',')[1]);
+                                                    CmdCode[66] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[67] = (byte)(uDataTemp >> 8);
+                                                    //踏频助力加速限制
+                                                    sDataTemp = Convert.ToInt16(arrText[rowNum + 96].ToString().Split(',')[1]);
+                                                    CmdCode[68] = (byte)(sDataTemp & 0xFF);
+                                                    CmdCode[69] = (byte)(sDataTemp >> 8);
+                                                    //踏频助力退饱和步进
+                                                    sDataTemp = Convert.ToInt16(arrText[rowNum + 97].ToString().Split(',')[1]);
+                                                    CmdCode[70] = (byte)(sDataTemp & 0xFF);
+                                                    CmdCode[71] = (byte)(sDataTemp >> 8);
+                                                    //踏频助力电流步进
+                                                    sDataTemp = Convert.ToInt16(arrText[rowNum + 98].ToString().Split(',')[1]);
+                                                    CmdCode[72] = (byte)(sDataTemp & 0xFF);
+                                                    CmdCode[73] = (byte)(sDataTemp >> 8);
+                                                    //预留1
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 99].ToString().Split(',')[1]);
+                                                    CmdCode[74] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[75] = (byte)(uDataTemp >> 8);
+                                                    //预留2
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 100].ToString().Split(',')[1]);
+                                                    CmdCode[76] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[77] = (byte)(uDataTemp >> 8);
+                                                    //预留3
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 101].ToString().Split(',')[1]);
+                                                    CmdCode[78] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[79] = (byte)(uDataTemp >> 8);
+                                                    //预留4
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 102].ToString().Split(',')[1]);
+                                                    CmdCode[80] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[81] = (byte)(uDataTemp >> 8);
+                                                    //转矩曲线1-15,踏频曲线1-5,按照前5条同时写力矩和踏频,后9条写力矩和踏频5
+                                                    for (ushort i = 1; i <= 15; i++)
                                                     {
-                                                        //踏频曲线a
-                                                        Data32 = Convert.ToInt32(arrText[rowNum + (4 * i + 61)].ToString().Split(',')[1]);
-                                                        CmdCode[30] = (byte)(Data32 & 0xFF);
-                                                        CmdCode[31] = (byte)(Data32 >> 8);
-                                                        CmdCode[32] = (byte)(Data32 >> 16);
-                                                        CmdCode[33] = (byte)(Data32 >> 24);
-                                                        //踏频曲线b
-                                                        Data32 = Convert.ToInt32(arrText[rowNum + (4 * i + 62)].ToString().Split(',')[1]);
-                                                        CmdCode[34] = (byte)(Data32 & 0xFF);
-                                                        CmdCode[35] = (byte)(Data32 >> 8);
-                                                        CmdCode[36] = (byte)(Data32 >> 16);
-                                                        CmdCode[37] = (byte)(Data32 >> 24);
-                                                        //踏频曲线c
-                                                        Data32 = Convert.ToInt32(arrText[rowNum + (4 * i + 63)].ToString().Split(',')[1]);
-                                                        CmdCode[38] = (byte)(Data32 & 0xFF);
-                                                        CmdCode[39] = (byte)(Data32 >> 8);
-                                                        CmdCode[40] = (byte)(Data32 >> 16);
-                                                        CmdCode[41] = (byte)(Data32 >> 24);
-                                                        //踏频曲线d
-                                                        Data32 = Convert.ToInt32(arrText[rowNum + (4 * i + 64)].ToString().Split(',')[1]);
-                                                        CmdCode[42] = (byte)(Data32 & 0xFF);
-                                                        CmdCode[43] = (byte)(Data32 >> 8);
-                                                        CmdCode[44] = (byte)(Data32 >> 16);
-                                                        CmdCode[45] = (byte)(Data32 >> 24);
+                                                        Int32 Data32;
+                                                        //转矩曲线编号
+                                                        uDataTemp = (ushort)(i);
+                                                        CmdCode[10] = (byte)(uDataTemp & 0xFF);
+                                                        CmdCode[11] = (byte)(uDataTemp >> 8);
+                                                        //踏频曲线编号
+                                                        uDataTemp = (ushort)(i <= 5 ? i : 5);
+                                                        CmdCode[12] = (byte)(uDataTemp & 0xFF);
+                                                        CmdCode[13] = (byte)(uDataTemp >> 8);
+                                                        //转矩曲线a
+                                                        Data32 = Convert.ToInt32(arrText[rowNum + (4 * i + 1)].ToString().Split(',')[1]);
+                                                        CmdCode[14] = (byte)(Data32 & 0xFF);
+                                                        CmdCode[15] = (byte)(Data32 >> 8);
+                                                        CmdCode[16] = (byte)(Data32 >> 16);
+                                                        CmdCode[17] = (byte)(Data32 >> 24);
+                                                        //转矩曲线b
+                                                        Data32 = Convert.ToInt32(arrText[rowNum + (4 * i + 2)].ToString().Split(',')[1]);
+                                                        CmdCode[18] = (byte)(Data32 & 0xFF);
+                                                        CmdCode[19] = (byte)(Data32 >> 8);
+                                                        CmdCode[20] = (byte)(Data32 >> 16);
+                                                        CmdCode[21] = (byte)(Data32 >> 24);
+                                                        //转矩曲线c
+                                                        Data32 = Convert.ToInt32(arrText[rowNum + (4 * i + 3)].ToString().Split(',')[1]);
+                                                        CmdCode[22] = (byte)(Data32 & 0xFF);
+                                                        CmdCode[23] = (byte)(Data32 >> 8);
+                                                        CmdCode[24] = (byte)(Data32 >> 16);
+                                                        CmdCode[25] = (byte)(Data32 >> 24);
+                                                        //转矩曲线d
+                                                        Data32 = Convert.ToInt32(arrText[rowNum + (4 * i + 4)].ToString().Split(',')[1]);
+                                                        CmdCode[26] = (byte)(Data32 & 0xFF);
+                                                        CmdCode[27] = (byte)(Data32 >> 8);
+                                                        CmdCode[28] = (byte)(Data32 >> 16);
+                                                        CmdCode[29] = (byte)(Data32 >> 24);
+                                                        if (i <= 5)
+                                                        {
+                                                            //踏频曲线a
+                                                            Data32 = Convert.ToInt32(arrText[rowNum + (4 * i + 61)].ToString().Split(',')[1]);
+                                                            CmdCode[30] = (byte)(Data32 & 0xFF);
+                                                            CmdCode[31] = (byte)(Data32 >> 8);
+                                                            CmdCode[32] = (byte)(Data32 >> 16);
+                                                            CmdCode[33] = (byte)(Data32 >> 24);
+                                                            //踏频曲线b
+                                                            Data32 = Convert.ToInt32(arrText[rowNum + (4 * i + 62)].ToString().Split(',')[1]);
+                                                            CmdCode[34] = (byte)(Data32 & 0xFF);
+                                                            CmdCode[35] = (byte)(Data32 >> 8);
+                                                            CmdCode[36] = (byte)(Data32 >> 16);
+                                                            CmdCode[37] = (byte)(Data32 >> 24);
+                                                            //踏频曲线c
+                                                            Data32 = Convert.ToInt32(arrText[rowNum + (4 * i + 63)].ToString().Split(',')[1]);
+                                                            CmdCode[38] = (byte)(Data32 & 0xFF);
+                                                            CmdCode[39] = (byte)(Data32 >> 8);
+                                                            CmdCode[40] = (byte)(Data32 >> 16);
+                                                            CmdCode[41] = (byte)(Data32 >> 24);
+                                                            //踏频曲线d
+                                                            Data32 = Convert.ToInt32(arrText[rowNum + (4 * i + 64)].ToString().Split(',')[1]);
+                                                            CmdCode[42] = (byte)(Data32 & 0xFF);
+                                                            CmdCode[43] = (byte)(Data32 >> 8);
+                                                            CmdCode[44] = (byte)(Data32 >> 16);
+                                                            CmdCode[45] = (byte)(Data32 >> 24);
+                                                        }
+
+                                                        //写入文件
+                                                        file.WriteLine("[曲线" + i.ToString() + "]");
+                                                        file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
                                                     }
-                                                    
+                                                    break;
+                                                }
+                                            case "[调试参数]":
+                                                {
+                                                    CmdCode[0] = 0x46;
+                                                    CmdCode[1] = 0x3C;
+                                                    ushort uDataTemp;
+                                                    short sDataTemp;
+                                                    //存储标志
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
+                                                    CmdCode[2] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[3] = (byte)(uDataTemp >> 8);
+                                                    //运行模式
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 2].ToString().Split(',')[1]);
+                                                    CmdCode[4] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[5] = (byte)(uDataTemp >> 8);
+                                                    //位置获取模式
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
+                                                    CmdCode[6] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[7] = (byte)(uDataTemp >> 8);
+                                                    //采样模式
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 4].ToString().Split(',')[1]);
+                                                    CmdCode[8] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[9] = (byte)(uDataTemp >> 8);
+                                                    //旋转方向
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 5].ToString().Split(',')[1]);
+                                                    CmdCode[10] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[11] = (byte)(uDataTemp >> 8);
+                                                    //定位电流
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 6].ToString().Split(',')[1]);
+                                                    CmdCode[12] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[13] = (byte)(uDataTemp >> 8);
+                                                    //拖拽电压
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 7].ToString().Split(',')[1]);
+                                                    CmdCode[14] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[15] = (byte)(uDataTemp >> 8);
+                                                    //拖拽电流
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 8].ToString().Split(',')[1]);
+                                                    CmdCode[16] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[17] = (byte)(uDataTemp >> 8);
+                                                    //拖拽频率
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 9].ToString().Split(',')[1]);
+                                                    CmdCode[18] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[19] = (byte)(uDataTemp >> 8);
+                                                    //加速斜率
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 10].ToString().Split(',')[1]);
+                                                    CmdCode[20] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[21] = (byte)(uDataTemp >> 8);
+                                                    //减速斜率
+                                                    sDataTemp = Convert.ToInt16(arrText[rowNum + 11].ToString().Split(',')[1]);
+                                                    CmdCode[22] = (byte)(sDataTemp & 0xFF);
+                                                    CmdCode[23] = (byte)(sDataTemp >> 8);
+                                                    //转速环控制带宽
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 12].ToString().Split(',')[1]);
+                                                    CmdCode[24] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[25] = (byte)(uDataTemp >> 8);
+                                                    //转速环控制m
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 13].ToString().Split(',')[1]);
+                                                    CmdCode[26] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[27] = (byte)(uDataTemp >> 8);
+                                                    //电流环控制带宽
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 14].ToString().Split(',')[1]);
+                                                    CmdCode[28] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[29] = (byte)(uDataTemp >> 8);
+                                                    //电流环控制m
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 15].ToString().Split(',')[1]);
+                                                    CmdCode[30] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[31] = (byte)(uDataTemp >> 8);
+                                                    //磁链观测器带宽
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 16].ToString().Split(',')[1]);
+                                                    CmdCode[32] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[33] = (byte)(uDataTemp >> 8);
+                                                    //磁链观测器m
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 17].ToString().Split(',')[1]);
+                                                    CmdCode[34] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[35] = (byte)(uDataTemp >> 8);
+                                                    //锁相环带宽
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 18].ToString().Split(',')[1]);
+                                                    CmdCode[36] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[37] = (byte)(uDataTemp >> 8);
+                                                    //锁相环m
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 19].ToString().Split(',')[1]);
+                                                    CmdCode[38] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[39] = (byte)(uDataTemp >> 8);
+                                                    //惯量
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 20].ToString().Split(',')[1]);
+                                                    CmdCode[40] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[41] = (byte)(uDataTemp >> 8);
+                                                    //PWM最大占空比
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 21].ToString().Split(',')[1]);
+                                                    CmdCode[42] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[43] = (byte)(uDataTemp >> 8);
+                                                    //PWM七段式切五段式阈值
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 22].ToString().Split(',')[1]);
+                                                    CmdCode[44] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[45] = (byte)(uDataTemp >> 8);
+                                                    //功率限幅
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 23].ToString().Split(',')[1]);
+                                                    CmdCode[46] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[47] = (byte)(uDataTemp >> 8);
+                                                    //功率限幅Error
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 24].ToString().Split(',')[1]);
+                                                    CmdCode[48] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[49] = (byte)(uDataTemp >> 8);
+                                                    //功率限幅Kp
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 25].ToString().Split(',')[1]);
+                                                    CmdCode[50] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[51] = (byte)(uDataTemp >> 8);
+                                                    //功率限幅Ki
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 26].ToString().Split(',')[1]);
+                                                    CmdCode[52] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[53] = (byte)(uDataTemp >> 8);
+                                                    //预留1
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 27].ToString().Split(',')[1]);
+                                                    CmdCode[54] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[55] = (byte)(uDataTemp >> 8);
+                                                    //预留2
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 28].ToString().Split(',')[1]);
+                                                    CmdCode[56] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[57] = (byte)(uDataTemp >> 8);
+                                                    //预留3
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 29].ToString().Split(',')[1]);
+                                                    CmdCode[58] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[59] = (byte)(uDataTemp >> 8);
+                                                    //预留4
+                                                    uDataTemp = Convert.ToUInt16(arrText[rowNum + 30].ToString().Split(',')[1]);
+                                                    CmdCode[60] = (byte)(uDataTemp & 0xFF);
+                                                    CmdCode[61] = (byte)(uDataTemp >> 8);
                                                     //写入文件
-                                                    file.WriteLine("[曲线" + i.ToString() + "]");
                                                     file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
+                                                    break;
                                                 }
-                                                break;
-                                            }
-                                        case "[调试参数]":
-                                            {
-                                                CmdCode[0] = 0x46;
-                                                CmdCode[1] = 0x3C;
-                                                ushort uDataTemp;
-                                                short sDataTemp;
-                                                //存储标志
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 1].ToString().Split(',')[1]);
-                                                CmdCode[2] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[3] = (byte)(uDataTemp >> 8);
-                                                //运行模式
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 2].ToString().Split(',')[1]);
-                                                CmdCode[4] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[5] = (byte)(uDataTemp >> 8);
-                                                //位置获取模式
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 3].ToString().Split(',')[1]);
-                                                CmdCode[6] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[7] = (byte)(uDataTemp >> 8);
-                                                //采样模式
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 4].ToString().Split(',')[1]);
-                                                CmdCode[8] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[9] = (byte)(uDataTemp >> 8);
-                                                //旋转方向
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 5].ToString().Split(',')[1]);
-                                                CmdCode[10] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[11] = (byte)(uDataTemp >> 8);
-                                                //定位电流
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 6].ToString().Split(',')[1]);
-                                                CmdCode[12] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[13] = (byte)(uDataTemp >> 8);
-                                                //拖拽电压
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 7].ToString().Split(',')[1]);
-                                                CmdCode[14] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[15] = (byte)(uDataTemp >> 8);
-                                                //拖拽电流
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 8].ToString().Split(',')[1]);
-                                                CmdCode[16] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[17] = (byte)(uDataTemp >> 8);
-                                                //拖拽频率
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 9].ToString().Split(',')[1]);
-                                                CmdCode[18] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[19] = (byte)(uDataTemp >> 8);
-                                                //加速斜率
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 10].ToString().Split(',')[1]);
-                                                CmdCode[20] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[21] = (byte)(uDataTemp >> 8);
-                                                //减速斜率
-                                                sDataTemp = Convert.ToInt16(arrText[rowNum + 11].ToString().Split(',')[1]);
-                                                CmdCode[22] = (byte)(sDataTemp & 0xFF);
-                                                CmdCode[23] = (byte)(sDataTemp >> 8);
-                                                //转速环控制带宽
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 12].ToString().Split(',')[1]);
-                                                CmdCode[24] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[25] = (byte)(uDataTemp >> 8);
-                                                //转速环控制m
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 13].ToString().Split(',')[1]);
-                                                CmdCode[26] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[27] = (byte)(uDataTemp >> 8);
-                                                //电流环控制带宽
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 14].ToString().Split(',')[1]);
-                                                CmdCode[28] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[29] = (byte)(uDataTemp >> 8);
-                                                //电流环控制m
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 15].ToString().Split(',')[1]);
-                                                CmdCode[30] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[31] = (byte)(uDataTemp >> 8);
-                                                //磁链观测器带宽
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 16].ToString().Split(',')[1]);
-                                                CmdCode[32] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[33] = (byte)(uDataTemp >> 8);
-                                                //磁链观测器m
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 17].ToString().Split(',')[1]);
-                                                CmdCode[34] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[35] = (byte)(uDataTemp >> 8);
-                                                //锁相环带宽
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 18].ToString().Split(',')[1]);
-                                                CmdCode[36] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[37] = (byte)(uDataTemp >> 8);
-                                                //锁相环m
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 19].ToString().Split(',')[1]);
-                                                CmdCode[38] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[39] = (byte)(uDataTemp >> 8);
-                                                //惯量
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 20].ToString().Split(',')[1]);
-                                                CmdCode[40] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[41] = (byte)(uDataTemp >> 8);
-                                                //PWM最大占空比
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 21].ToString().Split(',')[1]);
-                                                CmdCode[42] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[43] = (byte)(uDataTemp >> 8);
-                                                //PWM七段式切五段式阈值
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 22].ToString().Split(',')[1]);
-                                                CmdCode[44] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[45] = (byte)(uDataTemp >> 8);
-                                                //功率限幅
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 23].ToString().Split(',')[1]);
-                                                CmdCode[46] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[47] = (byte)(uDataTemp >> 8);
-                                                //功率限幅Error
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 24].ToString().Split(',')[1]);
-                                                CmdCode[48] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[49] = (byte)(uDataTemp >> 8);
-                                                //功率限幅Kp
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 25].ToString().Split(',')[1]);
-                                                CmdCode[50] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[51] = (byte)(uDataTemp >> 8);
-                                                //功率限幅Ki
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 26].ToString().Split(',')[1]);
-                                                CmdCode[52] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[53] = (byte)(uDataTemp >> 8);
-                                                //预留1
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 27].ToString().Split(',')[1]);
-                                                CmdCode[54] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[55] = (byte)(uDataTemp >> 8);
-                                                //预留2
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 28].ToString().Split(',')[1]);
-                                                CmdCode[56] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[57] = (byte)(uDataTemp >> 8);
-                                                //预留3
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 29].ToString().Split(',')[1]);
-                                                CmdCode[58] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[59] = (byte)(uDataTemp >> 8);
-                                                //预留4
-                                                uDataTemp = Convert.ToUInt16(arrText[rowNum + 30].ToString().Split(',')[1]);
-                                                CmdCode[60] = (byte)(uDataTemp & 0xFF);
-                                                CmdCode[61] = (byte)(uDataTemp >> 8);
-                                                //写入文件
-                                                file.WriteLine(CmdCode_To_CmdSave(0x751, 0x16, CmdCode));
-                                                break;
-                                            }
-                                        default: break;
+                                            default: break;                                        
+                                        }
                                     }
                                 }
                             }
                         }
-                    }
 
-                }
-                catch (Exception e)
-                {
-                    Console.WriteLine(e);
-                    Console.WriteLine("转换失败,输入任意键结束!");
-                    Console.ReadKey();
-                    return;
-                }
-            }
-            else if (FuncionType == 3)
-            {                
-                //读取转换源数据
-                string SrcInfo = File.ReadAllText(System.IO.Directory.GetCurrentDirectory() + "\\" + inputFilename + ".json");
-                CommandInfo Command = JsonConvert.DeserializeObject<CommandInfo>(SrcInfo);
-                //转换保存文件
-                string filename = inputFilename + ".ttcfg";
-                if (File.Exists(filename))//文件已存在,直接退出
-                {
-                    Console.WriteLine("文件已存在!");
-                    Console.ReadKey();
-                    return;
-                }
-                else//文件名有效,转换后的数据存在该文件中
-                {
-                    //创建文件
-                    FileStream fs = File.Create(filename);
-                    fs.Close();
-                    var CmdCode = new byte[255];
-                    using (StreamWriter file = new StreamWriter(filename))
+                    }
+                    catch (Exception e)
                     {
-                        //命令字
-                        ushort ID = Command.ID;
-                        //类型
-                        byte Type = Command.Type;
-                        //命令字
-                        ushort Cmd = Command.Command;
-                        CmdCode[0] = (byte)(Cmd >> 8);
-                        CmdCode[1] = (byte)(Cmd & 0xFF);
-                        //数据
-                        for (int i = 0; i < Command.Data.Count; i++)
-                        {
-                            CmdCode[2 + 2 * i] = (byte)(Command.Data[i] & 0xFF);
-                            CmdCode[3 + 2 * i] = (byte)(Command.Data[i] >> 8);
-                        }
-                        //写入文件
-                        file.WriteLine("[" + inputFilename + "]");
-                        file.WriteLine(CmdCode_To_CmdSave(ID, Type, CmdCode));
+                        Console.WriteLine(e);
+                        Console.WriteLine("转换失败,输入任意键结束!");
+                        Console.ReadKey();
+                        return;
                     }
-
-                }               
+                } while (false);
             }
+           
             //输入任意字符退出
             Console.WriteLine("转换完成,输入任意键结束!");
             Console.ReadKey();

BIN
bin/Debug/ConsoleApp2.exe


BIN
bin/Debug/ConsoleApp2.pdb


BIN
obj/Debug/ConsoleApp2.csproj.AssemblyReference.cache


BIN
obj/Debug/ConsoleApp2.exe


BIN
obj/Debug/ConsoleApp2.pdb