using IStation.Model; using System; using System.Collections.Generic; using System.Linq; namespace IStation.EtaCalculation.SHYS.Station { /// /// 所有泵, 有 出口压力计, 有开机状态测点, 没有独立的流量计 , 只有管路的流量计, /// 所有阀门都是打开状态 /// public class EtaAnalyCalculator4陈行一输 : EtaAnalyCalculator泵站4共用多个流量计_有运行状态, IEtaStationAnalyCalculator { /// /// /// /// /// /// public override bool Calculate(EtaStationAnalyContextItem context, out string error_info) { if (context == null) { error_info = "上下文参数为空"; return false ; } this._stationID = context.ID; this._threshold_flow = 100;//高于此值, 认为对应阀门开启, 防止零点飘流 //初始化测点 if (!InitialMonitorList(context, out error_info)) { return false; } //初始化机泵 if (!InitialPumpList(context ,out error_info)) { return false; } //初始化管路 var monitor_id_total_flow_list = new long[] { 860, 863, 866 }; var pipe_id_total_flow_list = new long[] { 759 ,761,768}; if (!InitialPipeList( pipe_id_total_flow_list, monitor_id_total_flow_list, context, out error_info)) { return false; } return base.CalculateCore(context, out error_info); } #region 初始化机泵 /// /// /// /// /// /// protected override bool InitialPumpList(Model.EtaStationAnalyContextItem context, out string error_info) { long[] monitor_id_pump_flow_array = new long[] { 0, 0, 0, 0, 0, 0, 0, 0 };//单泵流量计 long[] monitor_id_inlet_press_array = new long[] { 856, 856, 856, 857, 857, 858, 858, 858 };// 泵的进口压力计(液位) long[] monitor_id_outlet_press_array = new long[] { 869, 875, 881, 887, 893, 898, 903, 909 };//出口压力 long[] monitor_id_run_status_array = new long[] { 868, 874, 880, 886, 892, 897, 902, 908 };//运行状态 long[] monitor_id_motor_frequence_array = new long[] { 870, 876, 882, 888, 0, 0, 904, 910 };//频率 long[] monitor_id_motor_power_array = new long[] { 872, 878, 884, 890, 895, 900, 906, 912 };//瞬间功率 long[] monitor_id_motor_zhuansu_array = new long[] { 871, 877, 883, 889, 894, 899, 905, 911 };//转速 long[] machine_id_array = new long[] { 262, 265, 268, 271, 259, 274, 277, 280 };//(5,6 工频) this._machineCount = 8; var is液位代替进口压力 = true; this._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) { IStation.LogHelper.Error(error_info); return false ; } error_info = null; return true; } #endregion } }