From 0dfbcfad8bbbeae5218293d59aba851fd8e65a90 Mon Sep 17 00:00:00 2001
From: wells <123>
Date: 星期六, 11 七月 2020 12:25:35 +0800
Subject: [PATCH] Merge branch 'master' of http://gitblit.broconcentric.com:8088/r/M071

---
 src/Bro.M071.Process/M071Process.cs |   29 +++++++++++++++++++++++++++--
 1 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/src/Bro.M071.Process/M071Process.cs b/src/Bro.M071.Process/M071Process.cs
index 01065c8..5b63bbf 100644
--- a/src/Bro.M071.Process/M071Process.cs
+++ b/src/Bro.M071.Process/M071Process.cs
@@ -50,6 +50,8 @@
 
             base.Open();
 
+            InitialMotionCardBaseAxisAlarm();
+
             SwitchBeep(false);
             SwitchLightGreen(false);
             SwitchLightRed(false);
@@ -59,10 +61,25 @@
             FullReset(null);
         }
 
+        private void InitialMotionCardBaseAxisAlarm()
+        {
+            if (outputCtrlCard != null)
+            {
+                outputCtrlCard.OnAxisAlarmRaised -= MotionCard_OnAxisAlarmRaised;
+                outputCtrlCard.OnAxisAlarmRaised += MotionCard_OnAxisAlarmRaised;
+            }
+        }
+
+        private void MotionCard_OnAxisAlarmRaised(int axisIndex, string alarmMsg)
+        {
+            RaisedAlarm(alarmMsg); 
+            MachineState = MachineState.Alarm;
+        }
+
         private void InitialSetting()
         {
             //鏁版嵁搴撹縼绉绘鏌�
-            DatabaseInitialize.Initialize();
+            //DatabaseInitialize.Initialize();
 
             MotionCardSettingCheck();
 
@@ -202,6 +219,11 @@
             Config.SnapshotPointCollection.Where(u => u.IsEnabled).ToList().ForEach(s =>
                   {
                       _pauseHandle.WaitHandle.WaitOne();
+
+                      if (MachineState != MachineState.Running)
+                      {
+                          throw new ProcessException("鏈哄彴鐘舵�佷笉鍦ㄨ繍琛屼腑锛岄��鍑烘娴�");
+                      }
 
                       IDevice device = DeviceCollection.FirstOrDefault(u => u.Id == s.MotionOp.Device);
                       if (device == null)
@@ -472,7 +494,7 @@
                     {
                         foreach (var keyValue in keyUnit.MeasureValueDict)//鑾峰彇鍗曚釜閿殑鍗曚釜娴嬮噺item 缁撴灉
                         {
-                            bool isExist = keyUnitDatas.FirstOrDefault(u => u.Key == keyUnit.Key && u.MeasurementItem == keyValue.Key) != null;
+                            bool isExist = keyUnitDatas.Any(u => u.Key == keyUnit.Key && u.MeasurementItem == keyValue.Key);
                             if (!isExist)//宸插瓨鍦� 涓嶉噸澶嶆坊鍔犲師濮嬫暟鎹�
                             {
                                 KeyUnitData keyUnitData = new KeyUnitData();
@@ -503,6 +525,9 @@
 
         private async void ExportProductionExcel(ProductionMeasurementUnitResultAndKeyUnitDataSet measurementUnitResultAndKeyUnitDataSet)
         {
+            if (!Config.IsCSVOutputEnabled)
+                return;
+
             await Task.Run(() =>
             {
                 ExcelExportSet excelExportDto = new ExcelExportSet();

--
Gitblit v1.8.0