xuhsili 1 年之前
父节点
当前提交
aec00a8042

+ 81 - 30
NEIntelligentControl2/Pages/Home/PageWindturbineAGC.xaml.cs

@@ -1,4 +1,5 @@
-using NEIntelligentControl2.Models.Datas;
+using log4net;
+using NEIntelligentControl2.Models.Datas;
 using NEIntelligentControl2.Models.Messages;
 using NEIntelligentControl2.Models.Pages;
 using NEIntelligentControl2.Models.Windturbine;
@@ -28,6 +29,7 @@ namespace NEIntelligentControl2.Pages.Home
     /// </summary>
     public partial class PageWindturbineAGC : Page
     {
+        private static readonly ILog log = LogManager.GetLogger(typeof(PageWindturbineAGC));
         private readonly IPageAction _IPageAction;
         private readonly WEBHelper _WEBHelper;
 
@@ -134,52 +136,101 @@ namespace NEIntelligentControl2.Pages.Home
 
         private async void RefresData()
         {
-            string url = $"{_Url}/ts/latest?keys={SSGLTag},{MBGLTag},{YFDLTag},{NFDLTag},{LLGLTag}";
+            string url = $"{_Url}/ts/latest?keys={RFDLTag},{YFDLTag},{NFDLTag}";
             while (true)
             {
                 try
                 {
                     //
-                    var vs = _WEBHelper.HttpGetJSON<Dictionary<string, TsData>>(url);
-                    var vs2 = _WEBHelper.HttpGetJSON<Dictionary<string, TsData>>($"{_Url}/ts/latest?keys={RFDLTag}");
-                    var val = vs2.Values.Sum(t => t.Value);
-
-                    var nf = _WEBHelper.HttpGetJSON<Dictionary<string, TsData>>($"{_Url}/ts/latest?keys={NFDLTag}");
-                    var yf = _WEBHelper.HttpGetJSON<Dictionary<string, TsData>>($"{_Url}/ts/latest?keys={YFDLTag}");
+                    var vs = GetValues(url);
+                    foreach (var v in vs)
+                    {
+                        log.Warn($"日月年发{v.Value.Ts}:{v.Value.Value}");
+                    }
 
                     if (vs == null || vs.Count == 0) continue;
+
+                    var ss = GetValuesSingle(SSGLTag);
+                    log.Warn($"实时{ss.Ts}:{ss.Value}");
+                    var mb = GetValuesSingle(MBGLTag);
+                    log.Warn($"目标{mb.Ts}:{mb.Value}");
+                    var ll = GetValuesSingle(LLGLTag);
+                    log.Warn($"理论{ll.Ts}:{ll.Value}");
+
                     Dispatcher.Invoke(() =>
                     {
-                        foreach (var v in vs)
+                        try
                         {
-                            if (v.Key == SSGLTag)
-                            {
-                                tbps.Text = Math.Round(v.Value.Value, 2).ToString("0.00");
-                            }
-                            if (v.Key == MBGLTag)
-                            {
-                                tbpc.Text = Math.Round(v.Value.Value, 2).ToString("0.00");
-                            }
-                            if (v.Key == LLGLTag)
+                            tbps.Text = Math.Round(ss.Value, 2).ToString("0.00");
+                            tbpc.Text = Math.Round(mb.Value, 2).ToString("0.00");
+                            tbllgl.Text = Math.Round(ll.Value, 2).ToString("0.00");
+                        }
+                        catch (Exception e)
+                        {
+                            log.Error($"实时{e.Message}");
+                        }
+                        try
+                        {
+                            foreach (var v in vs)
                             {
-                                tbllgl.Text = Math.Round(v.Value.Value, 2).ToString("0.00");
+                                if (v.Key == RFDLTag)
+                                {
+                                    tbrf.Text = Math.Round(v.Value.Value, 2).ToString("0.00");
+                                }
+                                if (v.Key == YFDLTag)
+                                {
+                                    tbyf.Text = Math.Round(v.Value.Value, 2).ToString("0.00");
+                                }
+                                if (v.Key == NFDLTag)
+                                {
+                                    var nval = v.Value.Value;
+                                    tbly.Text = Math.Round(nval / 50, 2).ToString("0.00");
+                                    tbnf.Text = Math.Round(nval, 2).ToString("0.00");
+                                }
                             }
+                            var date = DateTime.Parse("2023-2-18");
+                            var time = (int)(DateTime.Now - date).TotalDays;
+                            aqts.Text = $"{619 + time} 天";
+                        }
+                        catch (Exception e)
+                        {
+                            log.Error($"日月年发{e.Message}");
                         }
-                        var nval = nf.Values.Sum(t => t.Value);
-                        tbly.Text = Math.Round(nval / 50, 2).ToString("0.00");
-                        tbrf.Text = Math.Round(val, 2).ToString("0.00");
-
-                        tbyf.Text = Math.Round(yf.Values.Sum(t => t.Value), 2).ToString("0.00");
-                        tbnf.Text = Math.Round(nval, 2).ToString("0.00");
-
-                        var date = DateTime.Parse("2023-2-18");
-                        var time = (int)(DateTime.Now - date).TotalDays;
-                        aqts.Text = $"{619 + time} 天";
                     });
                 }
-                catch { }
+                catch (Exception e)
+                {
+                    log.Error($"右下{e.Message}");
+                }
                 await Task.Delay(1000);
             }
         }
+
+        private Dictionary<string, TsData> GetValues(string url)
+        {
+            Dictionary<string, TsData> datas = new Dictionary<string, TsData>();
+            try
+            {
+                datas = _WEBHelper.HttpGetJSON<Dictionary<string, TsData>>(url);
+            }
+            catch { }
+            return datas;
+        }
+        private TsData GetValuesSingle(string key)
+        {
+            var data = new TsData();
+            var url = $"{_Url}/ts/latest?keys={key}";
+            try
+            {
+                var datas = _WEBHelper.HttpGetJSON<Dictionary<string, TsData>>(url);
+                if (datas != null && datas.ContainsKey(key))
+                {
+                    return datas[key];
+                }
+                return data;
+            }
+            catch { }
+            return data;
+        }
     }
 }

+ 23 - 6
NEIntelligentControl2/Service/AGC/AGCManager.cs

@@ -1,4 +1,5 @@
-using NEIntelligentControl2.Models;
+using log4net;
+using NEIntelligentControl2.Models;
 using NEIntelligentControl2.Models.AGC;
 using NEIntelligentControl2.Models.Datas;
 using NEIntelligentControl2.Models.Messages;
@@ -16,6 +17,7 @@ namespace NEIntelligentControl2.Service.AGC
     /// </summary>
     public class AGCManager
     {
+        private static readonly ILog log = LogManager.GetLogger(typeof(AGCManager));
         /// <summary>
         /// AGC 信息
         /// </summary>
@@ -160,15 +162,22 @@ namespace NEIntelligentControl2.Service.AGC
                 var vs = _WEBHelper.HttpGetJSON<Dictionary<string, TsData>>(_DataUrl);
                 fe.Dispatcher.Invoke(() =>
                 {
-                    foreach (var v in _TagInfos)
+                    try
                     {
-                        v.UpdateData(vs);
+                        foreach (var v in _TagInfos)
+                        {
+                            v.UpdateData(vs);
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        log.Error("曲线上面里" + ex.Message);
                     }
                 });
             }
             catch (Exception ex)
             {
-                Console.WriteLine(ex.ToString());
+                log.Error("曲线上面" + ex.Message);
             }
         }
 
@@ -189,12 +198,20 @@ namespace NEIntelligentControl2.Service.AGC
                 {
                     if (v.Tag == null) continue;
                     var vs = _WEBHelper.HttpGetJSON<List<TsData>>($"{_HistoyUrl}&tagName={v.Tag}&startTs={dts}&endTs={dte}");
-                    fe.Dispatcher.Invoke(() => v.UpdateHistoryData(vs));
+                    fe.Dispatcher.Invoke(() => {
+                        try {
+                            v.UpdateHistoryData(vs);
+                        }
+                        catch(Exception ex)
+                        {
+                            log.Error("曲线里" + ex.Message);
+                        }
+                    });
                 }
             }
             catch (Exception ex)
             {
-                Console.WriteLine(ex.ToString());
+                log.Error("曲线" + ex.Message);
             }
         }
     }

+ 1 - 1
NEIntelligentControl2/log4net.config

@@ -5,7 +5,7 @@
 		<param name="File" value="logs\log.log"/>
 		<param name="AppendToFile" value="true"/>
 		<param name="RollingStyle" value="Date"/>
-		<maximumFileSize value="10240KB" />
+		<maximumFileSize value="10240MB" />
 		<!-- 保存文件数量 -->
 		<maxSizeRollBackups value="10" />
 		<param name="DatePattern" value="yyyy.MM.dd"/>