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