From 6428fad15dbe79e30a48ffc9aabe31e03a45426c Mon Sep 17 00:00:00 2001
From: patrick <patrick.xu@broconcentric.com>
Date: 星期四, 05 十二月 2019 12:50:13 +0800
Subject: [PATCH] 1. 添加部分log信息 2. 修改部分机器人动作流程 3. 开放OperationConfig的InputData参数

---
 src/A032.Process/Calibration/CtrlCalib9PDynamic.cs |   52 +++++++++++++++++++++++++++++++++-------------------
 1 files changed, 33 insertions(+), 19 deletions(-)

diff --git a/src/A032.Process/Calibration/CtrlCalib9PDynamic.cs b/src/A032.Process/Calibration/CtrlCalib9PDynamic.cs
index dcf6c73..1cce895 100644
--- a/src/A032.Process/Calibration/CtrlCalib9PDynamic.cs
+++ b/src/A032.Process/Calibration/CtrlCalib9PDynamic.cs
@@ -20,7 +20,7 @@
 namespace A032.Process.Calibration
 {
     [Device("Calibration_9P_Dynamic", "鍔ㄦ��9鐐规爣瀹�", EnumHelper.DeviceAttributeType.OperationConfigCtrl)]
-    public partial class CtrlCalib9PDynamic : UserControl, IConfigCtrl<CameraBase, CalibrationConfigCollection>
+    public partial class CtrlCalib9PDynamic : UserControl//, IConfigCtrl<CameraBase, CalibrationConfigCollection>
     {
         PubSubCenter PubSubCenter = PubSubCenter.GetInstance();
         AutoResetEvent _confirmHandle = new AutoResetEvent(false);
@@ -30,20 +30,29 @@
             InitializeComponent();
         }
 
-        public CtrlCalib9PDynamic(ProcessControl process, IDevice device, IOperationConfig config, Action<List<CalibrationConfig>> finalCalculation)
+        public CtrlCalib9PDynamic(ProcessControl process, CalibrationConfigCollection calibConfig, AGVBindUnit bind, PathPosition position, Action<AGVBindUnit, int, int> commuAction, Action<CalibrationConfigCollection, AGVBindUnit, PathPosition> finalCalculation)
         {
             InitializeComponent();
 
             ProcessControl = process;
-            Camera = device as CameraBase;
-            Config = config as CalibrationConfigCollection;
+
+            Config = calibConfig as CalibrationConfigCollection;
+
+            Camera = bind.Camera as CameraBase;
+
+            Bind = bind;
+            Position = position;
+            CommuAction = commuAction;
             FinalCalculation = finalCalculation;
         }
 
-        public CalibrationConfigCollection Config { get; set; }
-        public CameraBase Camera { get; set; }
-        public ProcessControl ProcessControl { get; set; }
-        public Action<List<CalibrationConfig>> FinalCalculation { get; set; }
+        AGVBindUnit Bind { get; set; }
+        PathPosition Position { get; set; }
+        Action<AGVBindUnit, int, int> CommuAction;
+        CalibrationConfigCollection Config { get; set; }
+        CameraBase Camera { get; set; }
+        ProcessControl ProcessControl { get; set; }
+        Action<CalibrationConfigCollection, AGVBindUnit, PathPosition> FinalCalculation { get; set; }
 
         public CalibrationConfigCollection GetConfig()
         {
@@ -159,7 +168,7 @@
 
             if (chkManualConfirm.Checked)
             {
-                this.Invoke(new Action(() => btnContinueCalib.Visible = true));                ;
+                this.Invoke(new Action(() => btnContinueCalib.Visible = true)); ;
                 _confirmHandle.WaitOne();
             }
 
@@ -188,14 +197,16 @@
 
         private void btnStartCalib_Click(object sender, EventArgs e)
         {
-            if (chkOfflineCalib.Checked)
-            {
-                //ProcessControl.Calibration_Pick_9P_Dynamic_Offline(Config.Configs);
-            }
-            else
-            {
-                //ProcessControl.SendCalibStartSignal(Config.TriggerAddress);
-            }
+            //if (chkOfflineCalib.Checked)
+            //{
+            //    //ProcessControl.Calibration_Pick_9P_Dynamic_Offline(Config.Configs);
+            //}
+            //else
+            //{
+            //    //ProcessControl.SendCalibStartSignal(Config.TriggerAddress);
+            //}
+
+            ProcessControl.MultipleStepsProcess(Config, Bind, CommuAction);
         }
 
         private void btnLoadOfflineImages_Click(object sender, EventArgs e)
@@ -213,7 +224,7 @@
 
         private void btnStepRun_Click(object sender, EventArgs e)
         {
-            //CalibrationConfig config = propGridConfig.SelectedObject as CalibrationConfig;
+            CalibrationConfig config = propGridConfig.SelectedObject as CalibrationConfig;
             //if (!chkOfflineRun.Checked)
             //{
             //    ProcessControl.CalibMarkPoint(Camera, config, _selectedStepIndex + 1);
@@ -224,11 +235,14 @@
             //}
 
             //tsslInfo.Text = $"鍗曟杩愮畻瀹屾垚銆傛爣璁扮偣鍧愭爣锛歿config.ImageMarkPoint.X},{config.ImageMarkPoint.Y}";
+
+            ProcessControl.SingleStepProcess(config, CommuAction, Bind, Position.PositionNo, _selectedStepIndex);
+            tsslInfo.Text = $"鍗曟杩愮畻瀹屾垚銆傛爣璁扮偣鍧愭爣锛歿config.ImageMarkPoint.X},{config.ImageMarkPoint.Y}";
         }
 
         private void btnCalcuMatrix_Click(object sender, EventArgs e)
         {
-            FinalCalculation.Invoke(Config.Configs);
+            FinalCalculation.Invoke(Config, Bind, Position);
         }
 
         private void btnSnap_Click(object sender, EventArgs e)

--
Gitblit v1.8.0