wanghan 4 ay önce
ebeveyn
işleme
395d5bdd68

+ 20 - 6
LogForceTestApp.Modules.MainModule/PLC.cs

@@ -50,8 +50,15 @@ namespace LogoForceTestApp.Modules.MainModule
 
         public int ReadInt(ushort addr)
         {
-            var res = master.ReadHoldingRegisters(1, addr, 1);
-            return res[0];
+            try
+            {
+                var res = master.ReadHoldingRegisters(1, addr, 1);
+                return res[0];
+            }
+            catch (Exception)
+            {
+                return -1;
+            }
         }
         public bool ReadBool(string addr)//addr=1025.1,不能有字母
         {
@@ -64,10 +71,17 @@ namespace LogoForceTestApp.Modules.MainModule
 
         public bool[] Read(ushort addr)
         {
-            var res = master.ReadHoldingRegisters(1, addr, 1);
-            bool[] boolArray = ConvertWordToBoolArray(res[0]);
-            Array.Reverse(boolArray);
-            return boolArray;
+            try
+            {
+                var res = master.ReadHoldingRegisters(1, addr, 1);
+                bool[] boolArray = ConvertWordToBoolArray(res[0]);
+                Array.Reverse(boolArray);
+                return boolArray;
+            }
+            catch (Exception)
+            {
+                return null;
+            }
         }
 
 

+ 2 - 2
LogForceTestApp.Modules.MainModule/ViewModels/KBWindowViewModel.cs

@@ -863,7 +863,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                 listval1.Clear();
                 listval2.Clear();
                 xlabel.Clear();
-                for (int i = 1; i < 30; i++)
+                for (int i = 1; i < 20; i++)
                 {
                     changeDay = -i;
                     var list = repository.GetFirstDefault<AllNumber>(c => c.DateA == DateTime.Today.AddDays(changeDay));
@@ -875,7 +875,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                             okrate = Math.Round((list.OkA / list.RealityA) * 100, 2);
                             listval2.Add(okrate);
                             xlabel.Add(list.DateA.ToString("MM-dd"));
-                            if (listval1.Count == 7)
+                            if (listval1.Count >= 7)
                             {
                                 break;
                             }

+ 50 - 43
LogForceTestApp.Modules.MainModule/ViewModels/MainPageViewModel.cs

@@ -183,6 +183,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
         #endregion
         public string ProductCode { get; set; }
 
+        string soleNum=null;
         int[] q = new int[30];
         string[] operName = new string[25];
         private System.Timers.Timer _timer;
@@ -564,8 +565,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                     {
                         if (mes.Split(":")[0] == "WU")
                         {
-                            ProductCode = mes.Split(":")[1];
-                            Material14 = ResWord(mes.Split(":")[2]);
+                            Material14 = ResWord(mes.Split(":")[1]);
                             client.Send($"WU:物料上传成功");
                             WriteLog("14#物料上传成功");
                         }
@@ -590,9 +590,15 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
 
                     if (client.IP == "192.168.10.15")//检测1
                     {
+                        if (mes.Split(":")[0] == "Bind")
+                        {
+                            Bind(mes.Split(":")[1]);
+                            client.Send("B:绑定成功");
+                            WriteLog("检测1#绑定成功");
+                        }
                         if (mes.Split(":")[0] == "TestRes")
                         {
-                            string sp = mes.Split(":")[1];
+                            string sp = mes.Split(":")[1];//产品码
                             string result = mes.Split(":")[2];
                             string opname = Operator15;
                             TestRes(sp, result, opname);
@@ -1299,6 +1305,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                 return EasyTask.CompletedTask;
             };
             #endregion
+
             SignalMapper = new Dictionary<int, string>
             {
                 {1, "1025.0" },
@@ -1315,7 +1322,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                 {12, "1025.15" },
                 {13, "1026.0" },
                 {14, "1026.1" },
-                //{15, "D1026.3" },//完成
+                {15, "1026.4" },//完成
             };
 
             _stateService.CreateMachine(1, RecordOneMessage1, null);
@@ -1332,7 +1339,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
             _stateService.CreateMachine(12, RecordOneMessage12, null);
             _stateService.CreateMachine(13, RecordOneMessage13, null);
             _stateService.CreateMachine(14, RecordOneMessage14, null);
-            // _stateService.CreateMachine(15, ProcessFinish, null);
+            _stateService.CreateMachine(15, ProcessFinish, null);
 
             Task.Factory.StartNew(Timer_Elapsed, TaskCreationOptions.LongRunning);
             Task.Factory.StartNew(Timer_Elapsed2, TaskCreationOptions.LongRunning);
@@ -1347,7 +1354,18 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
 
         }
 
-
+        public void Bind(string procode)
+        {
+            var res = _repository.GetAllQuery<Information>(c => c.ProNo == soleNum);
+            if (res != null)
+            {
+                for (int i = 0;i<res.Count;i++)
+                {
+                    res[i].ProCode = procode;
+                    _repository.Update(res[i]);
+                }
+            }
+        }
 
         #region 相同部分
         public void TestRes(string sp, string result, string opname)
@@ -1503,7 +1521,6 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                     }
                 }
             }
-
         }
         #endregion
 
@@ -1544,7 +1561,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                 //await Task.Delay(1000);
             }
         }
-        public void ProcessFinish()
+        public void ProcessFinish(object sender, StateEventArgs e)
         {
             try
             {
@@ -1562,7 +1579,13 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                     _repository.Update(allnumbers);
                 }
 
+                var d1 = tcpNet.ReadInt(1090);
+                var d2 = tcpNet.ReadInt(1091);
+                var d3 = tcpNet.ReadInt(1092);
+                soleNum = d1.ToString() + d2.ToString() + d3.ToString();
+
                 Quest(Order);
+                tcpNet.Write("1026.4", false);
             }
             catch (Exception ex)
             {
@@ -1812,7 +1835,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                     var d3 = tcpNet.ReadInt(1032);
                     var pno = d1.ToString() + d2.ToString() + d3.ToString();
                     _logger.Information("{@Message}", $"工位1_pno{pno}");
-
+                    
                     if (pno != p1)
                     {
                         var productNew = new InformationNew
@@ -1847,7 +1870,6 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
 
                         _logger.Information("{@Message}", $"工位1_Add");
                         //listMaterial1.Clear();
-
                     }
                     p1 = d1.ToString() + d2.ToString() + d3.ToString();
                     Thread.Sleep(200);
@@ -1871,7 +1893,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                     var d3 = tcpNet.ReadInt(1035);
                     var pno = d1.ToString() + d2.ToString() + d3.ToString();
                     _logger.Information("{@Message}", $"工位2_pno{pno}");
-
+                    
                     if (pno != p2)
                     {
                         var productNew = new InformationNew
@@ -1904,7 +1926,6 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                         OperatorName(operName);
 
                         _logger.Information("{@Message}", $"工位2_Add");
-
                     }
                     p2 = d1.ToString() + d2.ToString() + d3.ToString();
                     Thread.Sleep(200);
@@ -1928,7 +1949,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                     var d3 = tcpNet.ReadInt(1038);
                     var pno = d1.ToString() + d2.ToString() + d3.ToString();
                     _logger.Information("{@Message}", $"工位3_pno{pno}");
-
+                    
                     if (pno != p3)
                     {
                         var productNew = new InformationNew
@@ -1962,7 +1983,6 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                         OperatorName(operName);
 
                         _logger.Information("{@Message}", $"工位3_Add");
-
                     }
                     p3 = d1.ToString() + d2.ToString() + d3.ToString();
                     Thread.Sleep(200);
@@ -1986,7 +2006,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                     var d3 = tcpNet.ReadInt(1041);
                     var pno = d1.ToString() + d2.ToString() + d3.ToString();
                     _logger.Information("{@Message}", $"工位4_pno{pno}");
-
+                    
                     if (pno != p4)
                     {
                         var productNew = new InformationNew
@@ -2020,7 +2040,6 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                         OperatorName(operName);
 
                         _logger.Information("{@Message}", $"工位4_Add");
-
                     }
                     p4 = d1.ToString() + d2.ToString() + d3.ToString();
                     Thread.Sleep(200);
@@ -2044,6 +2063,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                     var d3 = tcpNet.ReadInt(1044);
                     var pno = d1.ToString() + d2.ToString() + d3.ToString();
                     _logger.Information("{@Message}", $"工位5_pno{pno}");
+                    
                     if (pno != p5)
                     {
                         var productNew = new InformationNew
@@ -2077,7 +2097,6 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                         OperatorName(operName);
 
                         _logger.Information("{@Message}", $"工位5_Add");
-
                     }
                     p5 = d1.ToString() + d2.ToString() + d3.ToString();
                     Thread.Sleep(200);
@@ -2101,7 +2120,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                     var d3 = tcpNet.ReadInt(1047);
                     var pno = d1.ToString() + d2.ToString() + d3.ToString();
                     _logger.Information("{@Message}", $"工位6_pno{pno}");
-
+                    
                     if (pno != p6)
                     {
                         var productNew = new InformationNew
@@ -2135,7 +2154,6 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                         OperatorName(operName);
 
                         _logger.Information("{@Message}", $"工位6_Add");
-
                     }
                     p6 = d1.ToString() + d2.ToString() + d3.ToString();
                     Thread.Sleep(200);
@@ -2159,7 +2177,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                     var d3 = tcpNet.ReadInt(1050);
                     var pno = d1.ToString() + d2.ToString() + d3.ToString();
                     _logger.Information("{@Message}", $"工位7_pno{pno}");
-
+                    
                     if (pno != p7)
                     {
                         var productNew = new InformationNew
@@ -2193,7 +2211,6 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                         OperatorName(operName);
 
                         _logger.Information("{@Message}", $"工位7_Add");
-
                     }
                     p7 = d1.ToString() + d2.ToString() + d3.ToString();
                     Thread.Sleep(200);
@@ -2217,7 +2234,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                     var d3 = tcpNet.ReadInt(1053);
                     var pno = d1.ToString() + d2.ToString() + d3.ToString();
                     _logger.Information("{@Message}", $"工位8_pno{pno}");
-
+                    
                     if (pno != p8)
                     {
                         var productNew = new InformationNew
@@ -2251,7 +2268,6 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                         OperatorName(operName);
 
                         _logger.Information("{@Message}", $"工位8_Add");
-
                     }
                     p8 = d1.ToString() + d2.ToString() + d3.ToString();
                     Thread.Sleep(200);
@@ -2275,7 +2291,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                     var d3 = tcpNet.ReadInt(1056);
                     var pno = d1.ToString() + d2.ToString() + d3.ToString();
                     _logger.Information("{@Message}", $"工位9_pno{pno}");
-
+                    
                     if (pno != p9)
                     {
                         var productNew = new InformationNew
@@ -2309,7 +2325,6 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                         OperatorName(operName);
 
                         _logger.Information("{@Message}", $"工位9_Add");
-
                     }
                     p9 = d1.ToString() + d2.ToString() + d3.ToString();
                     Thread.Sleep(200);
@@ -2333,6 +2348,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                     var d3 = tcpNet.ReadInt(1059);
                     var pno = d1.ToString() + d2.ToString() + d3.ToString();
                     _logger.Information("{@Message}", $"工位10_pno{pno}");
+                    
                     if (pno != p10)
                     {
                         var productNew = new InformationNew
@@ -2366,7 +2382,6 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                         OperatorName(operName);
 
                         _logger.Information("{@Message}", $"工位10_Add");
-
                     }
                     p10 = d1.ToString() + d2.ToString() + d3.ToString();
                     Thread.Sleep(200);
@@ -2390,6 +2405,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                     var d3 = tcpNet.ReadInt(1062);
                     var pno = d1.ToString() + d2.ToString() + d3.ToString();
                     _logger.Information("{@Message}", $"工位11_pno{pno}");
+                    
                     if (pno != p11)
                     {
                         var productNew = new InformationNew
@@ -2423,7 +2439,6 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                         OperatorName(operName);
 
                         _logger.Information("{@Message}", $"工位11_Add");
-
                     }
                     p11 = d1.ToString() + d2.ToString() + d3.ToString();
                     Thread.Sleep(200);
@@ -2447,6 +2462,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                     var d3 = tcpNet.ReadInt(1065);
                     var pno = d1.ToString() + d2.ToString() + d3.ToString();
                     _logger.Information("{@Message}", $"工位12_pno{pno}");
+                    
                     if (pno != p12)
                     {
                         var productNew = new InformationNew
@@ -2480,7 +2496,6 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                         OperatorName(operName);
 
                         _logger.Information("{@Message}", $"工位12_Add");
-
                     }
                     p12 = d1.ToString() + d2.ToString() + d3.ToString();
                     Thread.Sleep(200);
@@ -2504,6 +2519,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                     var d3 = tcpNet.ReadInt(1068);
                     var pno = d1.ToString() + d2.ToString() + d3.ToString();
                     _logger.Information("{@Message}", $"工位13_pno{pno}");
+                    
                     if (pno != p13)
                     {
                         var productNew = new InformationNew
@@ -2537,7 +2553,6 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                         OperatorName(operName);
 
                         _logger.Information("{@Message}", $"工位13_Add");
-
                     }
                     p13 = d1.ToString() + d2.ToString() + d3.ToString();
                     Thread.Sleep(200);
@@ -2563,6 +2578,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                         var d3 = tcpNet.ReadInt(1071);
                         var pno = d1.ToString() + d2.ToString() + d3.ToString();
                         _logger.Information("{@Message}", $"工位14_pno{pno}");
+                        
                         if (pno != p14)
                         {
                             var productNew = new InformationNew
@@ -2573,7 +2589,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                                 CreateTime = DateTime.Today,
                                 ProType = proName,
                                 ProNo = pno,
-                                ProCode = ProductCode,
+                                ProCode = "",
                                 OrderNo = Order,
                                 TestResult = ""
                             };
@@ -2594,10 +2610,8 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                             _repository.Add(product);
                             InforNew.Add(productNew);
                             OperatorName(operName);
-                            ProcessFinish();
 
                             _logger.Information("{@Message}", $"工位14_Add");
-
                         }
                         p14 = d1.ToString() + d2.ToString() + d3.ToString();
                         Thread.Sleep(200);
@@ -2616,6 +2630,7 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
         }
         #endregion
 
+
         public void OperatorName(string[] liststr)
         {
             _eventAggregator.GetEvent<OperatorNameEvent>().Publish(liststr);
@@ -2692,17 +2707,6 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                 }
                 try
                 {
-                    //ReadOrder();
-                    ////切换产品
-                    //int type = inovanceTcp.ReadInt("D1000");
-                    //if (a != type&&type!=-1)
-                    //{
-                    //    Change();
-                    //}
-                    //if (type != -1)
-                    //{
-                    //    a = type;
-                    //}
                     #region 报警
                     if (tcpNet.ReadInt(1130) != 0 || tcpNet.ReadInt(1131) != 0)
                     {
@@ -2863,6 +2867,9 @@ namespace LogoForceTestApp.Modules.MainModule.ViewModels
                 case 6:
                     proName = "DH-88";
                     break;
+                case 7:
+                    proName = "QL-1";
+                    break;
             }
             if (tcpNet.ReadBool("1001.0"))
             {