From d4beffac7005967f3eeb5b175170de20ab963781 Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期五, 13 九月 2024 11:35:00 +0800
Subject: [PATCH] PLC添加禁用,修改写入bug

---
 Admin.NET/WCS.Application/PLC/PLCTaskAction.cs |   29 +++++++++++++++++++----------
 1 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
index c301944..e97215b 100644
--- a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
@@ -13,6 +13,8 @@
     public static bool boOffline = false;
     //鑷埛鏂�
     public static bool boRefresh = false;
+    //婕旂ず妯″紡
+    public static bool boDemo = false;
 
     public static List<PlcPositionInfo> listPositionInfo = new List<PlcPositionInfo>();
 
@@ -23,7 +25,7 @@
 
     private static List<WcsPlc> listPlc = new List<WcsPlc>();
     private static List<WcsDevice> listPlcDevice = new List<WcsDevice>();
-    private static List<WcsPosition> listPlcStation = new List<WcsPosition>();
+    private static List<WcsPosition> listPlcPosition = new List<WcsPosition>();
     private static List<WcsAlarmInfo> listAlarmInfo = new List<WcsAlarmInfo>();
 
     private static List<PLCUtil> listPlcUtil = new List<PLCUtil>();
@@ -34,11 +36,14 @@
         get { return listPlcUtil; }
     }
     // 浜や簰鐐归泦鍚�
-    public static List<WcsDevice> plcDevices 
+    public static List<WcsDevice> plcDevices
     {
         get { return listPlcDevice; }
     }
-
+    public static List<WcsPosition> plcPositions
+    {
+        get { return listPlcPosition; }
+    }
     public static event EventHandler DeviceValueChangeEvent;
     static PLCTaskAction()
     {
@@ -47,6 +52,7 @@
         boRunningState = _sysConfigService.GetConfigValue<bool>("sys_RunningState").Result;
         boOffline = _sysConfigService.GetConfigValue<bool>("sys_Offline").Result;
         boRefresh = _sysConfigService.GetConfigValue<bool>("sys_Refresh").Result;
+        boDemo = _sysConfigService.GetConfigValue<bool>("sys_demo").Result;
     }
     /// <summary>
     /// 鍒濆鍖朠LC杩炴帴
@@ -54,9 +60,12 @@
     public static void Init()
     {
         cts.Cancel();
-        listPlc = _db.Queryable<WcsPlc>().Where(s => s.Type == PLCTypeEnum.StackingMachine || s.Type == PLCTypeEnum.ConveyorLine || s.Type == PLCTypeEnum.BoxConveyorLine).ToList();
+        listPlc = _db.Queryable<WcsPlc>()
+            .Where(s => s.Type == PLCTypeEnum.StackingMachine || s.Type == PLCTypeEnum.ConveyorLine || s.Type == PLCTypeEnum.BoxConveyorLine)
+            .Where(s => s.Enable == YesNoEnum.Y)
+            .ToList();
         listPlcDevice = _db.Queryable<WcsDevice>().ToList();
-        listPlcStation = _db.Queryable<WcsPosition>().ToList();
+        listPlcPosition = _db.Queryable<WcsPosition>().ToList();
         listAlarmInfo = _db.Queryable<WcsAlarmInfo>().ToList();
         //绛夊緟鍑犵閽燂紝鎶婂凡鏈夌嚎绋嬪彇娑堟帀鍐嶈繛鎺�
         //Thread.Sleep(5000);
@@ -148,7 +157,7 @@
                                 dto.Value = value;
                                 dto.Type = _modplc.Type;
                                 dto.PLCUtil = modPlcUtil;
-                                dto.listStation = listPlcStation.Where(s => s.DeviceId == modDevice.Id).ToList();
+                                dto.listStation = listPlcPosition.Where(s => s.DeviceId == modDevice.Id).ToList();
                                 dto.listDevice = listDevice.Where(s => s.StationNum == modDevice.StationNum && s.Level == DeviceLevelEnum.Station).ToList();
                                 //杩欓噷瑙﹀彂鍊煎彉鏇翠簨浠�
                                 DeviceValueChangeEvent?.Invoke(dto, EventArgs.Empty);
@@ -276,15 +285,15 @@
                     {
                         //鎶ヨ鐐逛綅
                         var listAlarm = listAlarmInfo.Where(s => s.PlcIP == modUtil.PlcIP.ToString()).ToList();
-                        Console.WriteLine("鎶ヨ鐐逛綅鏁帮細" + listAlarm.Count);
+                        //Console.WriteLine("鎶ヨ鐐逛綅鏁帮細" + listAlarm.Count);
                         var listaddress = new Dictionary<string, PLCDataTypeEnum>();
                         foreach (var modAlarm in listAlarm)
                         {
                             listaddress.Add(modAlarm.AlarmCode, PLCDataTypeEnum.Bit);
                         }
-                        Console.WriteLine($"璇诲彇鐐逛綅{listaddress.Count}涓�");
+                        //Console.WriteLine($"璇诲彇鐐逛綅{listaddress.Count}涓�");
                         var result = modUtil.GetPlcBatchDBValue(listaddress);
-                        Console.WriteLine("err" + result.Err);
+                        //Console.WriteLine("err" + result.Err);
                         var listPulish = new List<WcsAlarmInfo>();
                         //娴嬭瘯鎶ヨ
                         //foreach (var modAlarm in listAlarm)
@@ -294,7 +303,7 @@
                         foreach (var item in result.Value)
                         {
                             var value = Convert.ToBoolean(item.Value);
-                            Console.WriteLine(item.Key + "+" + value);
+                            //Console.WriteLine(item.Key + "+" + value);
                             var modAlarm = listAlarm.FirstOrDefault(s => s.AlarmCode == item.Key);
                             if (value && modAlarm.Status == YesNoEnum.N)
                             {

--
Gitblit v1.8.0