Forráskód Böngészése

优化vpp保存大小
增加单独保存vpp功能

zly 1 hónapja
szülő
commit
e3284bb7b7

+ 2 - 1
TeamAAS-VM/Helpers/VisionProHelper.cs

@@ -95,7 +95,8 @@ namespace TeamAAS_VP.Helpers
             {
                 try
                 {
-                    CogSerializer.SaveObjectToFile(obj, filePath);
+                    CogSerializer.SaveObjectToFile(obj, filePath, typeof(System.Runtime.Serialization.Formatters.Binary.BinaryFormatter),
+   CogSerializationOptionsConstants.Minimum);
                     tcs.TrySetResult(true);
                 }
                 catch (Exception ex)

+ 32 - 32
TeamAAS-VM/Services/ProductService.cs

@@ -458,38 +458,38 @@ namespace TeamAAS_VP.Services
 
             FileHelper.WriteJsonFile(p, filePath);
 
-            foreach (var item in p.CameraProcedures)
-            {
-                foreach (var item1 in item.ProcedureModels)
-                {
-                    string prcPath = dir + "//" + item.Camera + "//" + item1.Name + ".vpp";
-                    var prcDir = Path.GetDirectoryName(prcPath);
-                    if (!Directory.Exists(prcDir))
-                    {
-                        Directory.CreateDirectory(prcDir);
-                    }
-
-                    // 重要:先加载已存在的目标 vpp(如果存在),避免 CopyProduct 刚复制过来时仍持有旧模板/ToolBlock 引用
-                    if (File.Exists(prcPath))
-                    {
-                        if (item1.ToolBlock == null)
-                        {
-                            item1.ToolBlock = VisionProHelper.LoadVisionProObjectAsync<CogToolBlock>(prcPath).GetAwaiter().GetResult();
-                        }
-                        //continue;
-                    }
-
-                    if (item1.ToolBlock != null)
-                    {
-                        VisionProHelper.SaveVisionProObjectAsync(item1.ToolBlock, prcPath).GetAwaiter().GetResult();
-                    }
-                    else if (File.Exists(TemplateToolBlock))
-                    {
-                        item1.ToolBlock = VisionProHelper.LoadVisionProObjectAsync<CogToolBlock>(TemplateToolBlock).GetAwaiter().GetResult();
-                        VisionProHelper.SaveVisionProObjectAsync(item1.ToolBlock, prcPath).GetAwaiter().GetResult();
-                    }
-                }
-            }
+            //foreach (var item in p.CameraProcedures)
+            //{
+            //    foreach (var item1 in item.ProcedureModels)
+            //    {
+            //        string prcPath = dir + "//" + item.Camera + "//" + item1.Name + ".vpp";
+            //        var prcDir = Path.GetDirectoryName(prcPath);
+            //        if (!Directory.Exists(prcDir))
+            //        {
+            //            Directory.CreateDirectory(prcDir);
+            //        }
+
+            //        // 重要:先加载已存在的目标 vpp(如果存在),避免 CopyProduct 刚复制过来时仍持有旧模板/ToolBlock 引用
+            //        if (File.Exists(prcPath))
+            //        {
+            //            if (item1.ToolBlock == null)
+            //            {
+            //                item1.ToolBlock = VisionProHelper.LoadVisionProObjectAsync<CogToolBlock>(prcPath).GetAwaiter().GetResult();
+            //            }
+            //            //continue;
+            //        }
+
+            //        if (item1.ToolBlock != null)
+            //        {
+            //            VisionProHelper.SaveVisionProObjectAsync(item1.ToolBlock, prcPath).GetAwaiter().GetResult();
+            //        }
+            //        else if (File.Exists(TemplateToolBlock))
+            //        {
+            //            item1.ToolBlock = VisionProHelper.LoadVisionProObjectAsync<CogToolBlock>(TemplateToolBlock).GetAwaiter().GetResult();
+            //            VisionProHelper.SaveVisionProObjectAsync(item1.ToolBlock, prcPath).GetAwaiter().GetResult();
+            //        }
+            //    }
+            //}
         }
 
         /// <summary>

+ 24 - 20
TeamAAS-VM/ViewModels/Product/AdvancedProcedureViewModel.cs

@@ -69,11 +69,13 @@ namespace TeamAAS_VP.ViewModels.Product
         public ProcedureModel SelectProcedure
         {
             get { return _SelectProcedure; }
-            set { SetProperty(ref _SelectProcedure, value);
+            set
+            {
+                SetProperty(ref _SelectProcedure, value);
             }
         }
 
-        public CogToolBlockEditV2 ToolBlockEdit { get;set; }
+        public CogToolBlockEditV2 ToolBlockEdit { get; set; }
 
         private IRobot _Robot;
 
@@ -141,7 +143,7 @@ namespace TeamAAS_VP.ViewModels.Product
         #endregion
 
         public AdvancedProcedureViewModel(IRegionManager regionManager, IEventAggregator ea, IContainerProvider container, IDialogService dialogService,
-            IFeederService feederService, IRobotService robotService,ICameraService cameraService, ISystemDatabaseService systemDatabaseService, IConfigService configService, ILightManagerService lightManagerService)
+            IFeederService feederService, IRobotService robotService, ICameraService cameraService, ISystemDatabaseService systemDatabaseService, IConfigService configService, ILightManagerService lightManagerService)
         {
             _regionManager = regionManager;
             _eventAggregator = ea;
@@ -167,7 +169,7 @@ namespace TeamAAS_VP.ViewModels.Product
         {
             try
             {
-                
+
                 NavigationParameters param = new NavigationParameters();
                 param.Add("SelectProduct", SelectProduct);
                 param.Add("SelectedProcedure", SelectProcedure);
@@ -179,9 +181,9 @@ namespace TeamAAS_VP.ViewModels.Product
                 else
                 {
                     var management = _container.Resolve<Management>();
-                    
+
                     var Feeder = _feederService.GetFeeder(SelectProcedure.FeederId);
-                    
+
                     if (Feeder.FeederBrand == FeederBrand.AFAG)
                     {
                         _regionManager.RequestNavigate("ProductRegionContext", "AfagFeederParams", param);
@@ -194,7 +196,7 @@ namespace TeamAAS_VP.ViewModels.Product
             }
             catch (Exception ex)
             {
-                LogHelper.WriteLogError(ex.Message,ex);
+                LogHelper.WriteLogError(ex.Message, ex);
             }
         }
 
@@ -260,12 +262,14 @@ namespace TeamAAS_VP.ViewModels.Product
                     }
                     if (SelectProcedure.ToolBlock != null)
                     {
-                        CogSerializer.SaveObjectToFile(SelectProcedure.ToolBlock, prcPath);
+                        CogSerializer.SaveObjectToFile(SelectProcedure.ToolBlock, prcPath, typeof(System.Runtime.Serialization.Formatters.Binary.BinaryFormatter),
+CogSerializationOptionsConstants.Minimum);
                     }
                     else if (File.Exists(TemplateToolBlock))
                     {
                         SelectProcedure.ToolBlock = CogSerializer.LoadObjectFromFile(TemplateToolBlock) as CogToolBlock;
-                        CogSerializer.SaveObjectToFile(SelectProcedure.ToolBlock, prcPath);
+                        CogSerializer.SaveObjectToFile(SelectProcedure.ToolBlock, prcPath, typeof(System.Runtime.Serialization.Formatters.Binary.BinaryFormatter),
+CogSerializationOptionsConstants.Minimum);
                     }
                     if (DialogHost.IsDialogOpen("RootDialog"))
                     {
@@ -286,26 +290,26 @@ namespace TeamAAS_VP.ViewModels.Product
             try
             {
                 var sysConfig = _configService.GetSystemConfiguration();
-                if(sysConfig.PhotosUse==true)
+                if (sysConfig.PhotosUse == true)
                 {
                     SelectProcedure.ToolBlock = ToolBlockEdit.Subject;
                     var camera = _cameraService.GetCamera(SelectProcedure.CameraId);
                     for (int i = 1; i <= SelectProcedure.PhotoCount; i++)
                     {
-                        if(i==1)
+                        if (i == 1)
                         {
                             bool isSucceed = false;
-                            isSucceed =  await _lightManagerService.SetGlobalChannelBrightnessAsync(0, SelectProcedure.Photo1Light1);
+                            isSucceed = await _lightManagerService.SetGlobalChannelBrightnessAsync(0, SelectProcedure.Photo1Light1);
                             if (!isSucceed)
                             {
                                 LogHelper.WriteLogInfo($"设置光源通道1亮度{SelectProcedure.Photo1Light1}失败!");
                             }
-                            isSucceed =  await _lightManagerService.SetGlobalChannelBrightnessAsync(1, SelectProcedure.Photo1Light2);
+                            isSucceed = await _lightManagerService.SetGlobalChannelBrightnessAsync(1, SelectProcedure.Photo1Light2);
                             if (!isSucceed)
                             {
                                 LogHelper.WriteLogInfo($"设置光源通道2亮度{SelectProcedure.Photo1Light2}失败!");
                             }
-                            isSucceed =  await _lightManagerService.SetGlobalChannelBrightnessAsync(2, SelectProcedure.Photo1Light3);
+                            isSucceed = await _lightManagerService.SetGlobalChannelBrightnessAsync(2, SelectProcedure.Photo1Light3);
                             if (!isSucceed)
                             {
                                 LogHelper.WriteLogInfo($"设置光源通道3亮度{SelectProcedure.Photo1Light3}失败!");
@@ -329,7 +333,7 @@ namespace TeamAAS_VP.ViewModels.Product
                             {
                                 Message = Lang.图像采集失败耗时.Replace("{0}", Camera.TotalTime.TotalMilliseconds.ToString("F2")).Replace("{1}", Camera.ErrorMessage);
                             }
-                            
+
                             isSucceed = await _lightManagerService.TurnOffGlobalChannelAsync(0);
                             if (!isSucceed)
                             {
@@ -347,7 +351,7 @@ namespace TeamAAS_VP.ViewModels.Product
                             }
 
                         }
-                        else if(i==2)
+                        else if (i == 2)
                         {
                             bool isSucceed = false;
                             isSucceed = await _lightManagerService.SetGlobalChannelBrightnessAsync(0, SelectProcedure.Photo2Light1);
@@ -355,7 +359,7 @@ namespace TeamAAS_VP.ViewModels.Product
                             {
                                 LogHelper.WriteLogInfo($"设置光源通道1亮度{SelectProcedure.Photo2Light1}失败!");
                             }
-                            isSucceed = await _lightManagerService.SetGlobalChannelBrightnessAsync(1, SelectProcedure.Photo2Light2  );
+                            isSucceed = await _lightManagerService.SetGlobalChannelBrightnessAsync(1, SelectProcedure.Photo2Light2);
                             if (!isSucceed)
                             {
                                 LogHelper.WriteLogInfo($"设置光源通道2亮度{SelectProcedure.Photo2Light2}失败!");
@@ -373,7 +377,7 @@ namespace TeamAAS_VP.ViewModels.Product
                             //succed = camera.SetGain(SelectProcedure.Gain2);
                             //if (!succed)
                             //{
-                                //SendTaskMessage($"相机增益设置失败!", MessageLevel.Error);
+                            //SendTaskMessage($"相机增益设置失败!", MessageLevel.Error);
                             //}
                             var image2 = camera.Grab();
                             if (image2 != null)
@@ -400,7 +404,7 @@ namespace TeamAAS_VP.ViewModels.Product
                                 LogHelper.WriteLogInfo($"设置光源通道2关闭失败!");
                             }
                         }
-                        
+
                     }
                     ToolBlockEdit.Subject.Run();
                     Message = $"{Lang.图像采集耗时}:{Camera.TotalTime.TotalMilliseconds.ToString("F2")} ms {Lang.工具运行耗时}:{ToolBlockEdit.Subject.RunStatus.TotalTime.ToString("F2")} ms";
@@ -556,7 +560,7 @@ namespace TeamAAS_VP.ViewModels.Product
                         Message = Lang.图像采集失败耗时.Replace("{0}", Camera.TotalTime.TotalMilliseconds.ToString("F2")).Replace("{1}", Camera.ErrorMessage);
                     }
                 }
-                
+
             }
             catch (Exception ex)
             {

+ 2 - 2
TeamAAS-VM/Views/Product/AdvancedProcedure.xaml

@@ -132,7 +132,7 @@
                                    Foreground="Gray" />
                     </StackPanel>
 
-                    <!--<StackPanel Grid.Row="1" 
+                    <StackPanel Grid.Row="1" 
                                 Margin="5,3"
                                 HorizontalAlignment="Center"
                                 VerticalAlignment="Center"
@@ -140,7 +140,7 @@
                         <Button Content="保存VPP"
                                 Width="100"
                                 Command="{Binding SaveRunVisionVPPCommand}" />
-                    </StackPanel>-->
+                    </StackPanel>
 
 
                     <Button Grid.Row="1"