Jelajahi Sumber

Merge branch 'master' of http://49.235.130.76/XXF_1122/DaisyNPILine

徐孝锋 8 bulan lalu
induk
melakukan
5a7c44a66b

+ 1 - 0
TeamAAS-VM/Core/Cameras/OptCamera.cs

@@ -416,6 +416,7 @@ namespace TeamAAS_VP.Core.Cameras
                             OpenDevice();
                         }
                         //nReVal = mvCameraAcq.StartGrabbing();
+                        mvCameraAcq.ClearPayloadBuffer();
                         nReVal = mvCameraAcq.Grab(ref payload);
                         if (nReVal == SciCam.SCI_CAMERA_OK)
                         {

+ 121 - 4
TeamAAS-VM/Core/Management.cs

@@ -249,7 +249,7 @@ namespace TeamAAS_VP.Core
                     robot.ConnectedEvent += Management_ConnectedEvent;
                     robot.DisconnectedEvent += Management_DisconnectedEvent;
                     await robot.ConnectAsync();     //连接Robot
-                    SendTaskMessage($"{item.RobotName}{Lang.已连接}!", MessageLevel.Debug);
+                    //SendTaskMessage($"{item.RobotName}{Lang.已连接}!", MessageLevel.Debug);
                 }
                 catch (Exception ex)
                 {
@@ -538,7 +538,7 @@ namespace TeamAAS_VP.Core
                 var isConnected = await ScrewDriver.ConnectAsync();
                 if (isConnected)
                 {
-                    SendTaskMessage($"电批已连接", MessageLevel.Debug);
+                    //SendTaskMessage($"电批已连接", MessageLevel.Debug);
                 }
                 else
                 {
@@ -1031,8 +1031,20 @@ namespace TeamAAS_VP.Core
 
         PointF[] DowmCameraResults= new PointF[10];
         PointF[] UpCameraPutResults = new PointF[10];
-        
 
+        bool _LastDowmCameraExe = false;
+        bool _LastScrewTeachExe = false;
+        bool _LastUpCameraPickExe = false;
+        bool _LastUpCameraPutExe = false;
+        bool _LastUPCameracheckExe = false;
+        bool _LastFixedCameraPickExe = false;
+        bool _LastFixedCameraPutExe = false;
+        bool _LastFixedCameracheckExe = false;
+        Int16 _LastWorkStart = 0;
+        Int16 _LastWorkDone = 0;
+        Int16 _LastRequestPosition=0;
+        Int16 _LastMesCheck = 0;
+        Int16 _LastPickINC = 0;
         /// <summary>
         /// PLC命令触发时
         /// </summary>
@@ -1069,6 +1081,15 @@ namespace TeamAAS_VP.Core
                 {
                     if (tuple.value is bool state)
                     {
+                        if (_LastDowmCameraExe!= state)
+                        {
+                            _LastDowmCameraExe = state;
+                        }
+                        else
+                        {
+                            return;
+                        }
+
                         if (state)
                         {
                             SendTaskMessage($"触发下相机拍照...", MessageLevel.Debug);
@@ -1098,7 +1119,7 @@ namespace TeamAAS_VP.Core
 
                             // 执行视觉任务
                             var _cts = new CancellationTokenSource();
-                            var visionResult =await _remoteCommandService.ExecutePhotoGetSinglePoint(process, null,null, _cts.Token);
+                            var visionResult = await _remoteCommandService.ExecutePhotoGetSinglePoint(process, null, null, _cts.Token);
                             if (visionResult.IsSucceed)
                             {
                                 //披头偏差
@@ -1127,6 +1148,14 @@ namespace TeamAAS_VP.Core
                 {
                     if (tuple.value is bool state)
                     {
+                        if (_LastScrewTeachExe != state)
+                        {
+                            _LastScrewTeachExe = state;
+                        }
+                        else
+                        {
+                            return;
+                        }
                         if (state)
                         {
                             SendTaskMessage($"触发下相机拍照...", MessageLevel.Debug);
@@ -1185,6 +1214,14 @@ namespace TeamAAS_VP.Core
                 {
                     if (tuple.value is bool state)
                     {
+                        if (_LastUpCameraPickExe != state)
+                        {
+                            _LastUpCameraPickExe = state;
+                        }
+                        else
+                        {
+                            return;
+                        }
                         if (state)
                         {
                             SendTaskMessage($"触发上相机取料拍照...", MessageLevel.Debug);
@@ -1206,6 +1243,14 @@ namespace TeamAAS_VP.Core
                 {
                     if (tuple.value is bool state)
                     {
+                        if (_LastUpCameraPutExe != state)
+                        {
+                            _LastUpCameraPutExe = state;
+                        }
+                        else
+                        {
+                            return;
+                        }
                         if (state)
                         {
                             SendTaskMessage($"触发上相机锁附/组装拍照...", MessageLevel.Debug);
@@ -1260,6 +1305,14 @@ namespace TeamAAS_VP.Core
                 {
                     if (tuple.value is bool state)
                     {
+                        if (_LastUPCameracheckExe != state)
+                        {
+                            _LastUPCameracheckExe = state;
+                        }
+                        else
+                        {
+                            return;
+                        }
                         if (state)
                         {
                             SendTaskMessage($"触发上相机检测拍照...", MessageLevel.Debug);
@@ -1282,6 +1335,14 @@ namespace TeamAAS_VP.Core
                 {
                     if (tuple.value is bool state)
                     {
+                        if (_LastFixedCameraPickExe != state)
+                        {
+                            _LastFixedCameraPickExe = state;
+                        }
+                        else
+                        {
+                            return;
+                        }
                         if (state)
                         {
                             SendTaskMessage($"触发固定相机取料拍照...", MessageLevel.Debug);
@@ -1304,6 +1365,14 @@ namespace TeamAAS_VP.Core
                 {
                     if (tuple.value is bool state)
                     {
+                        if (_LastFixedCameraPutExe != state)
+                        {
+                            _LastFixedCameraPutExe = state;
+                        }
+                        else
+                        {
+                            return;
+                        }
                         if (state)
                         {
                             SendTaskMessage($"触发固定相机锁附/组装拍照...", MessageLevel.Debug);
@@ -1325,6 +1394,14 @@ namespace TeamAAS_VP.Core
                 {
                     if (tuple.value is bool state)
                     {
+                        if (_LastFixedCameracheckExe != state)
+                        {
+                            _LastFixedCameracheckExe = state;
+                        }
+                        else
+                        {
+                            return;
+                        }
                         if (state)
                         {
                             SendTaskMessage($"触发固定相机检测拍照...", MessageLevel.Debug);
@@ -1346,6 +1423,14 @@ namespace TeamAAS_VP.Core
                 {
                     if (tuple.value is Int16 state)
                     {
+                        if (_LastWorkStart != state)
+                        {
+                            _LastWorkStart = state;
+                        }
+                        else
+                        {
+                            return;
+                        }
                         if (state==1)
                         {
                             SendTaskMessage($"收到开始锁付信号...", MessageLevel.Debug);
@@ -1365,6 +1450,14 @@ namespace TeamAAS_VP.Core
                 {
                     if (tuple.value is Int16 state)
                     {
+                        if (_LastWorkDone != state)
+                        {
+                            _LastWorkDone = state;
+                        }
+                        else
+                        {
+                            return;
+                        }
                         if (state==1 || state == 2)
                         {
                             SendTaskMessage($"收到停止锁付信号...", MessageLevel.Debug);
@@ -1426,6 +1519,14 @@ namespace TeamAAS_VP.Core
                 {
                     if (tuple.value is Int16 state)
                     {
+                        if (_LastRequestPosition != state)
+                        {
+                            _LastRequestPosition = state;
+                        }
+                        else
+                        {
+                            return;
+                        }
                         if (state == 1)
                         {
                             SendTaskMessage($"收到多相机坐标合并请求,开始合并...", MessageLevel.Debug);
@@ -1474,6 +1575,14 @@ namespace TeamAAS_VP.Core
                 {
                     if (tuple.value is Int16 state)
                     {
+                        if (_LastMesCheck != state)
+                        {
+                            _LastMesCheck = state;
+                        }
+                        else
+                        {
+                            return;
+                        }
                         if (state == 1)
                         {
                             SendTaskMessage($"收到过站检查请求(当站是否生产)...", MessageLevel.Debug);
@@ -1501,6 +1610,14 @@ namespace TeamAAS_VP.Core
                 {
                     if (tuple.value is Int16 state)
                     {
+                        if (_LastPickINC != state)
+                        {
+                            _LastPickINC = state;
+                        }
+                        else
+                        {
+                            return;
+                        }
                         if (state!=0)
                         {
                             SendTaskMessage($"螺丝供料器...", MessageLevel.Info);

+ 2 - 2
TeamAAS-VM/Properties/AssemblyInfo.cs

@@ -51,5 +51,5 @@ using System.Windows;
 //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
 //通过使用 "*",如下所示:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.2.0.2")]
-[assembly: AssemblyFileVersion("1.2.0.2")]
+[assembly: AssemblyVersion("1.2.0.3")]
+[assembly: AssemblyFileVersion("1.2.0.3")]

+ 2 - 1
TeamAAS-VM/Services/CameraCalibrationService.cs

@@ -714,6 +714,7 @@ namespace TeamAAS_VP.Services
                 curpos.Y += (float)pos[1];
                 //机器人移动
                 await robot.CalibMotionAsync(curpos, curpos.Z);
+                await Task.Delay(200);
 
                 result = await CaptureAndProcessCallback();
                 if (!result.IsSuccess)
@@ -725,7 +726,7 @@ namespace TeamAAS_VP.Services
                 offsetx = P0.X - curPixel.X;
                 offsety = P0.Y - curPixel.Y;
                 //await Console.Out.WriteLineAsync($"移动后的差异:{offsetx},{offsety}");
-                if (Math.Abs(offsetx) < 1 && Math.Abs(offsetx) < 1)
+                if (Math.Abs(offsetx) < 3 && Math.Abs(offsetx) < 3)
                 {
                     IsFinish = true;
                     break;

+ 26 - 1
TeamAAS-VM/Views/Calibration/CalibrationAuto.xaml.cs

@@ -1,4 +1,7 @@
-using System.Windows.Controls;
+using Cognex.VisionPro;
+using Cognex.VisionPro.Dimensioning;
+using System;
+using System.Windows.Controls;
 using TeamAAS_VP.ViewModels.Calibration;
 
 namespace TeamAAS_VP.Views.Calibration
@@ -20,6 +23,8 @@ namespace TeamAAS_VP.Views.Calibration
             this.display.BackColor = System.Drawing.SystemColors.ActiveCaption;
         }
 
+        private int _imageWidth;
+        private int _imageHeight;
         private void VM_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
         {
             try
@@ -27,10 +32,30 @@ namespace TeamAAS_VP.Views.Calibration
                 if (e.PropertyName == "Image")
                 {
                     this.display.Image = VM.Image;
+                    //图像中心点坐标
+                    _imageWidth = this.display.Image.Width;
+                    _imageHeight = this.display.Image.Height;
                 }
                 else if (e.PropertyName == "Graphic")
                 {
                     this.display.StaticGraphics.Clear();
+                    CogGraphicCollection graphic = new CogGraphicCollection();
+                    CogCreateLineTool line1 = new CogCreateLineTool();
+                    CogCreateLineTool line2 = new CogCreateLineTool();
+                    line1.InputImage = this.display.Image;
+                    line2.InputImage = this.display.Image;
+                    line1.Line.X = _imageWidth / 2;
+                    line1.Line.Y = _imageHeight / 2;
+                    line1.Line.Rotation = 0;
+                    line2.Line.X = _imageWidth / 2;
+                    line2.Line.Y = _imageHeight / 2;
+                    line2.Line.Rotation = Math.PI / 180 * 90;
+                    line1.Run();
+                    line2.Run();
+                    graphic.Add(line1.GetOutputLine());
+                    graphic.Add(line2.GetOutputLine());
+                    this.display.StaticGraphics.Clear();
+                    this.display.StaticGraphics.AddList(graphic, "");
                     if (VM.Graphic!=null)
                     {
                         this.display.StaticGraphics.AddList(VM.Graphic, "");

+ 2 - 2
TeamAAS-VM/Views/Calibration/CalibrationTeachCenterPoint.xaml

@@ -132,7 +132,7 @@
                            Grid.ColumnSpan="2"
                            Foreground="{DynamicResource PrimaryHueMidForegroundBrush}">
                     <TextBlock.Text>
-                        <MultiBinding StringFormat="{}X:{0:F3} mm Y:{1:F3} mm Z:{1:F3} mm">
+                        <MultiBinding StringFormat="{}X:{0:F3} mm Y:{1:F3} mm Z:{2:F3} mm">
                             <Binding Path="SelectCalibration.CenterPoint.X"
                                      TargetNullValue="0.000"
                                      FallbackValue="0.000" />
@@ -167,7 +167,7 @@
                            Grid.ColumnSpan="2"
                            Visibility="{Binding IsShowTechHome,Converter={StaticResource BooleanToVisibilityConverter}}">
                     <TextBlock.Text>
-                        <MultiBinding StringFormat="{}X:{0:F3} mm Y:{1:F3} mm Z:{1:F3} mm">
+                        <MultiBinding StringFormat="{}X:{0:F3} mm Y:{1:F3} mm Z:{2:F3} mm">
                             <Binding Path="SelectCalibration.HomePoint.X"
                                      TargetNullValue="0.000"
                                      FallbackValue="0.000" />

+ 1 - 1
TeamAAS-VM/Views/Calibration/FixedUpCameraFindP0.xaml

@@ -184,7 +184,7 @@
                     <TextBlock Grid.Row="6"
                                Grid.ColumnSpan="2">
                         <TextBlock.Text>
-                            <MultiBinding StringFormat="{}P0点 X:{0:F3} Y:{1:F3}">
+                            <MultiBinding StringFormat="{}P0点 X:{0:F3} Y:{2:F3}">
                                 <Binding Path="SelectCalibration.MarkPoint.X"
                                          TargetNullValue="0.000"
                                          FallbackValue="0.000" />