Browse Source

fix 新增minics 温度数据

jiangjy 2 weeks ago
parent
commit
7d7bd8e843

+ 37 - 0
Furnace/FurnaceRT/Devices/MincsHeaterBand.cs

@@ -0,0 +1,37 @@
+using Aitex.Core.RT.DataCenter;
+using Aitex.Core.RT.Device;
+using DocumentFormat.OpenXml.Wordprocessing;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FurnaceRT.Devices
+{
+    public class MincsHeaterBand : BaseDevice, IDevice
+    {
+        public string Module { get; set; }
+        public string Name { get; set; }
+        public float TempFeedback { get; set; }
+        public bool Initialize()
+        {
+            DATA.Subscribe($"HeaterBand.{Name}.Feedback", () => TempFeedback);
+            DATA.Subscribe($"HeaterBand.{Name}.Power", () => 0);
+            return true;
+        }
+
+        public void Monitor()
+        {
+        }
+
+        public void Reset()
+        {
+        }
+
+        public void Terminate()
+        {
+        }
+    }
+}

+ 3 - 0
Furnace/FurnaceRT/Equipments/PMs/PMAux.cs

@@ -512,6 +512,9 @@ namespace FurnaceRT.Equipments.PMs
                 }
                 }
                 else if (IsHTR1Enable)
                 else if (IsHTR1Enable)
                 {
                 {
+                    Singleton<MinicsManager>.Instance.ChannelRealtimeNotify(new RTCommunicatorBase.ST_CHANNEL_Notify() { Mini8Index = 1, ChannelIndex = 2, PV = (float)ConcentrationO2.Value });
+
+
                     var config1Name = SC.ContainsItem("Minics.Config1") ? SC.GetStringValue("Minics.Config1") : "";
                     var config1Name = SC.ContainsItem("Minics.Config1") ? SC.GetStringValue("Minics.Config1") : "";
 
 
                     if (_currentTableName != config1Name)
                     if (_currentTableName != config1Name)

+ 24 - 5
Furnace/FurnaceRT/Extraction/MinicsManager.cs

@@ -2,10 +2,12 @@
 using Aitex.Core.RT.SCCore;
 using Aitex.Core.RT.SCCore;
 using Aitex.Core.Util;
 using Aitex.Core.Util;
 using DocumentFormat.OpenXml.Wordprocessing;
 using DocumentFormat.OpenXml.Wordprocessing;
+using FurnaceRT.Devices;
 using FurnaceRT.Equipments.PMs;
 using FurnaceRT.Equipments.PMs;
 using FurnaceRT.Equipments.Systems;
 using FurnaceRT.Equipments.Systems;
 using MECF.Framework.Common.Equipment;
 using MECF.Framework.Common.Equipment;
 using MECF.Framework.Common.Event;
 using MECF.Framework.Common.Event;
+using MECF.Framework.Common.Extens;
 using MECF.Framework.UI.Client.CenterViews.Editors.Recipe;
 using MECF.Framework.UI.Client.CenterViews.Editors.Recipe;
 using RTCommunicatorBase;
 using RTCommunicatorBase;
 using RTCommunicatorTLV;
 using RTCommunicatorTLV;
@@ -39,8 +41,8 @@ namespace FurnaceRT.Extraction
             }
             }
             communicator.Initialize(this);
             communicator.Initialize(this);
             SWJConnectedMinics(ip, port);
             SWJConnectedMinics(ip, port);
-
-            //  AlarmIndefinx();
+            IninHeaterBand();
+        
         }
         }
 
 
         public void SWJConnectedMinics(string ip, int port)
         public void SWJConnectedMinics(string ip, int port)
@@ -84,15 +86,18 @@ namespace FurnaceRT.Extraction
             }
             }
         }
         }
         public Dictionary<string, Tuple<AlarmEventItem, AlarmEventItem, AlarmEventItem>> MinicsAlarmDic { get; set; } = new Dictionary<string, Tuple<AlarmEventItem, AlarmEventItem, AlarmEventItem>>();
         public Dictionary<string, Tuple<AlarmEventItem, AlarmEventItem, AlarmEventItem>> MinicsAlarmDic { get; set; } = new Dictionary<string, Tuple<AlarmEventItem, AlarmEventItem, AlarmEventItem>>();
-
-        public void AlarmIndefinx()
+        public Dictionary<string, MincsHeaterBand> mincsHeaterBandsDict { get; set; } = new Dictionary<string, MincsHeaterBand>();
+        public void IninHeaterBand()
         {
         {
             var pm = Singleton<EquipmentManager>.Instance.Modules[ModuleName.PM1] as PMModule;
             var pm = Singleton<EquipmentManager>.Instance.Modules[ModuleName.PM1] as PMModule;
             for (int i = 1; i < 9; i++)
             for (int i = 1; i < 9; i++)
             {
             {
                 for (int j = 1; j < 17; j++)
                 for (int j = 1; j < 17; j++)
                 {
                 {
-                    MinicsAlarmDic.Add($"{i}_{j}", pm.AddMini8ChannelAlarm(i, j));
+                    var item = new MincsHeaterBand() { Name = $"{i}_{j}" };
+                    item.Initialize();
+                    mincsHeaterBandsDict.TryAddValue(item.Name, item);
+                    //   MinicsAlarmDic.Add($"{i}_{j}", pm.AddMini8ChannelAlarm(i, j));
                 }
                 }
             }
             }
         }
         }
@@ -145,5 +150,19 @@ namespace FurnaceRT.Extraction
 
 
             }
             }
         }
         }
+
+        public void ChannelRealtimeNotify(ST_CHANNEL_Notify channel)
+        {
+            foreach (var item in mincsHeaterBandsDict)
+            {
+                var itemKey = $"{channel.Mini8Index}_{channel.ChannelIndex}";
+                if (itemKey != item.Key)
+                    continue;
+
+                item.Value.TempFeedback = channel.PV;
+
+
+            }
+        }
     }
     }
 }
 }

+ 1 - 0
Furnace/FurnaceRT/FurnaceRT.csproj

@@ -134,6 +134,7 @@
     <Compile Include="Devices\IoTrigger2.cs" />
     <Compile Include="Devices\IoTrigger2.cs" />
     <Compile Include="Devices\IoTrigger3.cs" />
     <Compile Include="Devices\IoTrigger3.cs" />
     <Compile Include="Devices\IoTrigger4.cs" />
     <Compile Include="Devices\IoTrigger4.cs" />
+    <Compile Include="Devices\MincsHeaterBand.cs" />
     <Compile Include="Equipments\Boats\BoatMove.cs" />
     <Compile Include="Equipments\Boats\BoatMove.cs" />
     <Compile Include="Equipments\Boats\BoatMoveCycleTest.cs" />
     <Compile Include="Equipments\Boats\BoatMoveCycleTest.cs" />
     <Compile Include="Equipments\Boats\BoatShutterCycleTest.cs" />
     <Compile Include="Equipments\Boats\BoatShutterCycleTest.cs" />

BIN
ThirdParty/Minices/RTCommunicatorBase.dll


BIN
ThirdParty/Minices/RTCommunicatorBase.pdb


BIN
ThirdParty/Minices/RTCommunicatorTLV.dll


BIN
ThirdParty/Minices/RTCommunicatorTLV.pdb


BIN
ThirdParty/Minices/TLVProtocal.dll


BIN
ThirdParty/Minices/TLVProtocal.pdb


BIN
ThirdParty/Minices/UniversalNetFrame451.dll


BIN
ThirdParty/Minices/UniversalNetFrame451.pdb