Browse Source

针对打标格式,支持" "和"%#"两种方式。

dail 3 years ago
parent
commit
ce275da819

+ 24 - 4
CheckForm.cs

@@ -1436,12 +1436,32 @@ namespace MOTINOVA_Motor_Factory_Set
             #region 检查产品信息是否符合格式要求
             try
             {
-                string Mode = textBox_PDinfo.Text.Split(new string[] { "  " }, StringSplitOptions.None)[0];
-                string Sn = textBox_PDinfo.Text.Split(new string[] { "  " }, StringSplitOptions.None)[1];
                 Regex regex = new Regex(@"^M[12][0-9](0?[1-9]|1[0-2])((0?[1-9])|((1|2)[0-9])|30|31)[A-Z]\d{4}[A-Z]$");
-                if (regex.IsMatch(Sn) == false)
+                if (textBox_PDinfo.Text.Contains("  "))
                 {
-                    label_Step.Text = "SN格式错误!";
+                    string Mode = textBox_PDinfo.Text.Split(new string[] { "  " }, StringSplitOptions.None)[0];
+                    string Sn = textBox_PDinfo.Text.Split(new string[] { "  " }, StringSplitOptions.None)[1];
+                    if (regex.IsMatch(Sn) == false)
+                    {
+                        label_Step.Text = "SN格式错误!";
+                        label_Step.ForeColor = Color.Red;
+                        return;
+                    }
+                }
+                else if (textBox_PDinfo.Text.Contains("%#"))
+                {
+                    string Mode = textBox_PDinfo.Text.Split(new string[] { "%#" }, StringSplitOptions.None)[0];
+                    string Sn = textBox_PDinfo.Text.Split(new string[] { "%#" }, StringSplitOptions.None)[1];
+                    if (regex.IsMatch(Sn) == false)
+                    {
+                        label_Step.Text = "SN格式错误!";
+                        label_Step.ForeColor = Color.Red;
+                        return;
+                    }
+                }
+                else
+                {
+                    label_Step.Text = "标签格式错误!";
                     label_Step.ForeColor = Color.Red;
                     return;
                 }

+ 1 - 1
ExportForm.cs

@@ -66,7 +66,7 @@ namespace MOTINOVA_Motor_Factory_Set
             Params1.Add("指拨模式", 0x55);
             Params1.Add("速度信号来源", 0x55);//传感器
             Params1.Add("周长微调", 0);
-            Params1.Add("低压保护", 3100);//mV
+            Params1.Add("低压保护", 3000);//mV
             Params1.Add("推行限速", 60);//放大10倍
             Params1.Add("推行转速", 135);
 

+ 39 - 20
ImportForm.cs

@@ -778,7 +778,7 @@ namespace MOTINOVA_Motor_Factory_Set
         {
             portsettings_form.serialPort1.Close();
             portsettings_form.comboBox_ComIndex.Enabled = true;
-            portsettings_form.button_Enter.Text = "连接";
+            portsettings_form.button_Enter.Text = "确认";
             portsettings_form.g_blnIsOpen = false;
         }
 
@@ -2506,24 +2506,44 @@ namespace MOTINOVA_Motor_Factory_Set
             #endregion
 
             #region 检查产品信息是否符合格式要求
-                        try
-                        {
-                            string Mode = textBox_PDinfo.Text.Split(new string[] { "  " }, StringSplitOptions.None)[0];
-                            string Sn = textBox_PDinfo.Text.Split(new string[] { "  " }, StringSplitOptions.None)[1];
-                            Regex regex = new Regex(@"^M[12][0-9](0?[1-9]|1[0-2])((0?[1-9])|((1|2)[0-9])|30|31)[A-Z]\d{4}[A-Z]$");
-                            if (regex.IsMatch(Sn) == false)
-                            {
-                                label_Step.Text = "SN格式错误!";
-                                label_Step.ForeColor = Color.Red;
-                                return;
-                            }
-                        }
-                        catch (System.Exception ex)
-                        { 
-                            label_Step.Text = "标签格式错误!";
-                            label_Step.ForeColor = Color.Red;
-                            return;
-                        }
+            try
+            {
+                Regex regex = new Regex(@"^M[12][0-9](0?[1-9]|1[0-2])((0?[1-9])|((1|2)[0-9])|30|31)[A-Z]\d{4}[A-Z]$");
+                if (textBox_PDinfo.Text.Contains("  "))
+                {
+                    string Mode = textBox_PDinfo.Text.Split(new string[] { "  " }, StringSplitOptions.None)[0];
+                    string Sn = textBox_PDinfo.Text.Split(new string[] { "  " }, StringSplitOptions.None)[1];
+                    if (regex.IsMatch(Sn) == false)
+                    {
+                        label_Step.Text = "SN格式错误!";
+                        label_Step.ForeColor = Color.Red;
+                        return;
+                    }
+                }
+                else if (textBox_PDinfo.Text.Contains("%#"))
+                {
+                    string Mode = textBox_PDinfo.Text.Split(new string[] { "%#" }, StringSplitOptions.None)[0];
+                    string Sn = textBox_PDinfo.Text.Split(new string[] { "%#" }, StringSplitOptions.None)[1];
+                    if (regex.IsMatch(Sn) == false)
+                    {
+                        label_Step.Text = "SN格式错误!";
+                        label_Step.ForeColor = Color.Red;
+                        return;
+                    }
+                }
+                else
+                {
+                    label_Step.Text = "标签格式错误!";
+                    label_Step.ForeColor = Color.Red;
+                    return;
+                }
+            }
+            catch (System.Exception)
+            { 
+                label_Step.Text = "标签格式错误!";
+                label_Step.ForeColor = Color.Red;
+                return;
+            }
             #endregion
 
             //连接串口
@@ -2566,7 +2586,6 @@ namespace MOTINOVA_Motor_Factory_Set
             //创建线程,执行测试任务
             Thread th = new Thread(Thread_Task);
             th.Start();
-
         }
 
         //1s计时

+ 5 - 5
StartForm.Designer.cs

@@ -114,18 +114,18 @@
             // 
             this.label_Ver.AutoSize = true;
             this.label_Ver.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(113)))), ((int)(((byte)(185)))));
-            this.label_Ver.Location = new System.Drawing.Point(442, 528);
+            this.label_Ver.Location = new System.Drawing.Point(454, 528);
             this.label_Ver.Name = "label_Ver";
-            this.label_Ver.Size = new System.Drawing.Size(185, 21);
+            this.label_Ver.Size = new System.Drawing.Size(316, 21);
             this.label_Ver.TabIndex = 2;
-            this.label_Ver.Text = "Ver: V1.2.1 Build Time: ";
+            this.label_Ver.Text = "Ver: V1.3.0 Build Time: 2022-01-13 14:52";
             // 
             // label_NetStatus
             // 
             this.label_NetStatus.ForeColor = System.Drawing.Color.Red;
-            this.label_NetStatus.Location = new System.Drawing.Point(477, 497);
+            this.label_NetStatus.Location = new System.Drawing.Point(452, 497);
             this.label_NetStatus.Name = "label_NetStatus";
-            this.label_NetStatus.Size = new System.Drawing.Size(303, 21);
+            this.label_NetStatus.Size = new System.Drawing.Size(318, 21);
             this.label_NetStatus.TabIndex = 2;
             this.label_NetStatus.Text = "网络连接中……";
             this.label_NetStatus.TextAlign = System.Drawing.ContentAlignment.MiddleRight;

+ 6 - 2
StartForm.cs

@@ -70,6 +70,11 @@ namespace MOTINOVA_Motor_Factory_Set
                 }
                 objReader.Close();
                 result = array_CfgInfo[0].Substring(array_CfgInfo[0].LastIndexOf("=") + 1);
+                if (result == "")
+                {
+                    MessageBox.Show("文件加载失败,采用默认路径");
+                    result = Directory.GetCurrentDirectory();
+                }
             }
             catch(Exception e)
             {
@@ -421,8 +426,7 @@ namespace MOTINOVA_Motor_Factory_Set
 
         private void StartForm_Load(object sender, EventArgs e)
         {
-            //显示编译时间
-            label_Ver.Text += System.IO.File.GetLastWriteTime(this.GetType().Assembly.Location).ToString();
+
         }
 
         private void StartForm_FormClosing(object sender, FormClosingEventArgs e)

+ 1 - 1
bin/Debug/MOTINOVA_Motor_Factory_Set.application

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

BIN
bin/Debug/MOTINOVA_Motor_Factory_Set.exe


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

@@ -52,14 +52,14 @@
     </dependentAssembly>
   </dependency>
   <dependency>
-    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MOTINOVA_Motor_Factory_Set.exe" size="670600">
+    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MOTINOVA_Motor_Factory_Set.exe" size="671112">
       <assemblyIdentity name="MOTINOVA_Motor_Factory_Set" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
       <hash>
         <dsig:Transforms>
           <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
         </dsig:Transforms>
         <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
-        <dsig:DigestValue>krzgAilKImxEROwJKyUPTfJ3vro=</dsig:DigestValue>
+        <dsig:DigestValue>01Ar+SLZNIGVLzbPjSZ6QvTT9pk=</dsig:DigestValue>
       </hash>
     </dependentAssembly>
   </dependency>

BIN
bin/Debug/MOTINOVA_Motor_Factory_Set.pdb


+ 1 - 1
bin/Debug/SerialNum

@@ -1,2 +1,2 @@
 流水号:
-62
+67

+ 1 - 1
bin/Debug/UserPath

@@ -1 +1 @@
-logPath=D:\SoftDesign\MOTINOVA_Motor_Factory_Set\MOTINOVA_Motor_Factory_Set\bin\Debug
+logPath=

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


BIN
bin/Debug/发布文件20220113/FileZilla.zip


BIN
bin/Debug/发布文件20220113/MOTINOVA_Motor_Factory_Set_20220113.exe


BIN
bin/Debug/发布文件20220113/image/介绍.jpg


BIN
bin/Debug/发布文件20220113/image/参数生成.jpg


BIN
bin/Debug/发布文件20220113/image/密码登录.jpg


BIN
bin/Debug/发布文件20220113/image/本地管理.jpg


BIN
bin/Debug/发布文件20220113/image/检验模式.jpg


BIN
bin/Debug/发布文件20220113/image/生产模式.jpg


BIN
bin/Debug/发布文件20220113/上位机使用说明20220118.pdf


+ 100 - 0
bin/Debug/发布文件20220113/使用说明.md

@@ -0,0 +1,100 @@
+# <center>使 用 说 明</center>
+<p align="right">202210117</p>
+
+## 1. 简介
+&emsp;&emsp;MOTINOVA_FactorySet工具用于MOTINOVA电机在生产测试过程中,实现配置参数生成、参数导入、参数检查等功能,便于生产过程中对电机进行闭环管理,避免电机参数写入错误、程序版本烧录错误等问题出现。另外,电机生产测试过程中的测试记录可实时保存,并且在网络状态良好的状态下,可将测试记录上传到指定服务器。
+<div align=center>
+<img src=image/介绍.jpg alt="软件主页" width=500/>
+</div>
+
+## 2.软件配置
+&emsp;&emsp;通过修改软件配置文件,可实现对服务器地址、本地文件的路径进行设置。
+### 2.1 服务器配置
+&emsp;&emsp;配置文件存放路径为`C:\Temp\MOTINOVA_Motor_Factory_Set`,文件名为`Server`,默认采用<mark>研发服务器</mark>。
+### 2.2 本地文件路径配置
+&emsp;&emsp;设置的本地文件存放路径保存所有生成的<mark>配置参数文件</mark>、<mark>生产测试过程中的测试记录</mark>,该文件存放路径为`C:\Temp\MOTINOVA_Motor_Factory_Set`,通过记事本等工具打开`UserPath`文件,在`=`后面加入路径名称,例如:`D:\MOTINOVA_MotorTest`,如果第一次使用时未设置用户路径,将采用默认路径`C:\Temp\MOTINOVA_Motor_Factory_Set`。
+使用时,用户路径下存在三个文件夹,分别为:
+**cfg:** 存放电机参数配置文件,按照日期分类;
+**walkTest:** 存放推行测试工位生产测试过程中的记录文件,分为==errorLog==和==Log==,其中errorLog存放测试异常的记录,log存放测试正常的记录,按照日期和电机SN分类;
+**qcTest:** 存放电机包装前参数检验的记录文件,分为==errorLog==和==Log==,其中errorLog存放测试异常的记录,log存放测试正常的记录,按照日期和电机SN分类。
+
+## 3. 操作指引
+### 3.1 参数生成
+1. 点击`参数生成`按钮,弹出密码输入界面:  
+
+<div align=center>
+<img src=image/密码登录.jpg width=400>
+</div>  
+
+2. 账户名输入`PT`,密码输入`123456`,点击`进入`按钮后,进入如下界面:  
+
+<div align=center>
+<img src=image/参数生成.jpg width=600>
+</div>
+
+3. 点击`默认`按钮,所有参数设置为默认值,按照订单规格书和参数配置表将需要修改的参数进行调整;  
+4. 输入电机型号、主控软件版本、TE软件版本等信息;  
+5. 点击`生成`按钮,将生成配置参数保存在本地路径,同时上传到服务器。
+
+### 3.2 本地管理
+1. 点击`本地管理`按钮,弹出密码输入界面;  
+2. 账户名输入`PT`,密码输入`123456`,点击`进入`按钮后,进入如下界面:  
+
+<div align=center>
+<img src=image/本地管理.jpg width=600>
+</div>
+
+3. 选择日期和文件后,点击`查看`按钮可显示文件内容,点击`删除`按钮可删除选中的文件。
+
+### 3.3 生产模式
+1. 点击`生产模式`按钮,进入如下界面:
+
+<div align=center>
+<img src=image/生产模式.jpg width=600>
+</div>
+
+2. 设置菜单说明  
+- `系统清除:`选择执行时,在测试前会对电机执行系统清除操作,否则不执行;
+- `BMS通信检测:`选择执行时,在测试过程中会判断BMS通信状态是否正常,否则不执行;
+- `端口设置:`点击后弹出端口号选择窗口,选择完成后点击`确认`按钮;
+- `系统开关:`通过`端口设置`窗口连接端口后,可执行系统开关机操作。
+  
+3. 测试步骤  
+- 在下拉框中选择配置文件的日期和文件名;
+- 扫码枪输入机身`条形码`后,点击`开始测试`按钮,将自动开机进行测试;
+- 根据`测试步骤`提示栏中的信息,当提示`请确认前后灯电压`时,点击`灯电压正确`或`灯电压错误`按钮继续测试;
+- 等待测试结束,测试成功将提示`合格`信息,否则提示`不合格`信息;
+- 测试完成后,测试记录会自动保存在本地路径,网络连接良好时会上传服务器中保存。
+
+4. 其它说明
+- 网络连接失败时,将只能从本地选择配置文件,此时`本地`选择框将被选中,切不可切换;
+- 网络连接正常时,可选择使用本地或服务器的配置文件,网络连接正常时默认使用服务器端文件;
+- 通过右边的标签可以判断电机每个测试项目的测试结果,便于对故障电机进行维修。
+  
+### 3.4 检验模式
+1. 点击`检验模式`按钮,进入如下界面:
+
+<div align=center>
+<img src=image/检验模式.jpg width=500>
+</div>
+
+2. 设置菜单说明
+- `端口设置:`点击后弹出端口号选择窗口,选择完成后点击`确认`按钮;
+- `系统开关:`通过`端口设置`窗口连接端口后,可执行系统开关机操作。
+
+3. 测试步骤
+- 在下拉框中选择配置文件的日期和文件名;
+- 扫码枪输入机身`条形码`后,点击`开始测试`按钮,将自动开机进行测试;
+- 等待测试结束,测试成功将提示`合格`信息,否则提示`不合格`信息;
+- 测试完成后,测试记录会自动保存在本地路径,网络连接良好时会上传服务器中保存。
+
+4. 其它说明
+- 网络连接失败时,将只能从本地选择配置文件,此时`本地`选择框将被选中,切不可切换;
+- 网络连接正常时,可选择使用本地或服务器的配置文件,网络连接正常时默认使用服务器端文件;
+- 通过右边的`检验记录`可以判断检测失败的原因,便于对故障电机进行维修。
+
+### 3.5 补充说明
+1. 设置的本地路径下,会自动建立`\cfg`,`\qcTest`,`\walkTest`三个文件夹,分别按照日期存放生成的配置参数、电机写入参数测试、电机参数检验过程中的记录文件;
+2. 如果采用本地模式,需要将配置的文件放置于`\cfg`文件夹下,例如`\cfg\2022-01-07\VS 7502_1_V2.1.10.0.0_20211202_V1.0.2_20191117_2022-01-04-093014.ttcfg`
+3. `系统清除`选择不执行,可用于已经生产完成的电机,重新批量修改配置参数;
+4. `BMS通信检测`选择不执行,目前仅限于越南因测试检具不支持该项功能测试时选用。

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


BIN
obj/Debug/MOTINOVA_Motor_Factory_Set.exe


BIN
obj/Debug/MOTINOVA_Motor_Factory_Set.pdb