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);
}
}
}