using IStation.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IStation.EtaCalculation.SMI.Station
{
///
/// 所有泵,都是变频泵, 且都有独立的流量计 , 有 出口压力计, 有开机状态测点 ,有 独立 进口压力
///
public class EtaAnalyCalculator4南大路 : EtaAnalyCalculator泵站4都是独立流量计_有运行状态, IEtaStationAnalyCalculator
{
///
///
///
///
///
///
public override bool Calculate(EtaStationAnalyContextItem context, out string error_info)
{
if (context == null)
{
error_info = "上下文参数为空";
return false;
}
_threshold_flow = 50;//如果此泵开了, 防止零点飘流, 判断流量计值是否正常
_stationID = context.ID;
//初始化机泵
if (!InitialPumpList(context, out error_info))
{
return false;
}
//核心分析
return CalculateCore(context, out error_info);
}
#region 初始化机泵
///
///
///
///
///
///
protected override bool InitialPumpList(EtaStationAnalyContextItem context, out string error_info)
{
var monitor_id_pump_flow_array = new long[] { 1578564388992978944, 1578564390041554944, 1578564391031410688 };// 流量计
var monitor_id_run_status_array = new long[] { 1578564388930064384, 1578564389982834688, 1578564390972690432 };//运行状态
var monitor_id_inlet_press_array = new long[] { 1578564388946841600, 1578564389999611904, 1578564390989467648 };//进口压力计
var monitor_id_outlet_press_array = new long[] { 1578564388963618816, 1578564390012194816, 1578564391002050560 };//出口压力
var monitor_id_motor_power_array = new long[] { 1578564389034921984, 1578564390083497984, 1578564391073353728 };//瞬间功率
var monitor_id_motor_frequence_array = new long[] { 1578564389005561856, 1578564390058332160, 1578564391043993600 };//频率
var monitor_id_motor_zhuansu_array = new long[] { 1578564389022339072, 1578564390070915072, 1578564391060770816 };//转速
var is液位代替进口压力 = false;
//初始化机泵
_machineCount = 3;
var machine_id_array = new long[] { 427, 430, 433 };
_allMachineList = InitialPumpMachineList(
context,
machine_id_array,//机泵ID
monitor_id_run_status_array,//运行状态
monitor_id_pump_flow_array,// 流量计
is液位代替进口压力,
monitor_id_inlet_press_array,//进口压力计
monitor_id_outlet_press_array,//出口压力
monitor_id_motor_power_array,//瞬间功率
monitor_id_motor_frequence_array,//频率
monitor_id_motor_zhuansu_array,//转速
null,//电流
out error_info);
if (_allMachineList == null)
{
LogHelper.Error(error_info);
return false;
}
error_info = null;
return true;
}
#endregion
}
}