using NEIntelligentControl2.Models.Datas; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace NEIntelligentControl2.Models.PV { /// /// 光伏SUN2000信息 /// public class SUN2000Info { /// /// 名称 /// public string Name { get; set; } /// /// 电流 /// public PVTagInfo I { get; set; } /// /// 电压 /// public PVTagInfo V { get; set; } /// /// 电流变化值 /// public double ΔI { get; set; } /// /// 功率 /// public double P { get { if (I == null || V == null) return 0.0; return I.Value * V.Value / 1000; } } /// /// 值改变 /// public Action ValueChanged { get; set; } /// /// 更新数据 /// /// internal void UpdateValue(Dictionary vs) { if (vs == null) return; var bi = I.Value; V.UpdateValue(vs); I.UpdateValue(vs); if (bi != I.Value && bi != 0) { ΔI = Math.Abs(I.Value - bi); } ValueChanged?.Invoke(P, ΔI); } } }