From 1f2fa3f54d4a7b5a2f601c4c947a06476342e3bd Mon Sep 17 00:00:00 2001
From: patrick.xu <patrick.xu@broconcentric.com>
Date: 星期五, 22 一月 2021 09:23:06 +0800
Subject: [PATCH] 1. gocator驱动将system.stop移到system.ReceiveData之后 2. 修改测量完成后状态切换逻辑,避免安全光线等干扰 3. 添加设备异常输出日志记录 4. 产品结果输出时做硬盘文件记录

---
 src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs
index 103622f..e47edce 100644
--- a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs
+++ b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs
@@ -31,11 +31,10 @@
             get => Device as MotionCardBase;
         }
 
-        public CtrlMotionCardIOStatus(IDevice device, List<IOItem> monitorValues)
+        public CtrlMotionCardIOStatus(IDevice device)
         {
             InitializeComponent();
             Device = device;
-            _monitorValues = monitorValues;
             InitIOEvent();
         }
 
@@ -51,14 +50,15 @@
             }
         }
 
-        private void IoOut_DoubleClick(string desc, bool isOn)
+        private void IoOut_DoubleClick(string name, bool isOn)
         {
-            var index = Convert.ToInt16(desc.Substring(3));
+            var index = Convert.ToInt16(name.Substring(5));
             MotionCard.WriteOutput(index, isOn ? IOValue.FALSE : IOValue.TRUE);
         }
 
         private void RefreshIOStatus(object sender, EventArgs e)
         {
+            _monitorValues = MotionCard.MonitorValues;
             foreach (var ioItem in _monitorValues)
             {
                 if (ioItem.IOType == Common.Helper.EnumHelper.IOType.INPUT)
@@ -67,6 +67,7 @@
                     if (ioInArray != null && ioInArray.Length == 1)
                     {
                         var ioIn = ioInArray[0] as IOIndicatorCtrl;
+
                         ioIn.IsOn = ioItem.Value == IOValue.TRUE;
                     }
                 }
@@ -76,7 +77,15 @@
                     if (ioOutArray != null && ioOutArray.Length == 1)
                     {
                         var ioOut = ioOutArray[0] as IOIndicatorCtrl;
-                        ioOut.IsOn = ioItem.Value == IOValue.TRUE;
+
+                        if (MotionCard.IConfig.IsOutputReversed)
+                        {
+                            ioOut.IsOn = ioItem.Value == IOValue.TRUE;
+                        }
+                        else
+                        {
+                            ioOut.IsOn = ioItem.Value == IOValue.FALSE;
+                        }
                     }
                 }
             }

--
Gitblit v1.8.0