using IStation.Model; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; 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._threshold_flow = 50;//如果此泵开了,, 防止零点飘流, 判断流量计值是否正常 this._stationID = context.ID; //初始化机泵 if (!InitialPumpList(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) { var monitor_id_pump_flow_array = new long[] { 1140, 1148, 1156, 1164, 1172, 1180, 1188, 1196 };// 流量计 var monitor_id_run_status_array = new long[] { 1137, 1145, 1153, 1161, 1169, 1177, 1185, 1193 };//运行状态 var monitor_id_inlet_press_array = new long[] { 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130 };//进口压力计(液位) var monitor_id_outlet_press_array = new long[] { 1138, 1146, 1154, 1162, 1170, 1178, 1186, 1194 };//出口压力 var monitor_id_motor_power_array = new long[] { 1143, 1151, 1159, 1167, 1175, 1183, 1191, 1199 };//瞬间功率 var monitor_id_motor_frequence_array = new long[] { 1141, 1149, 1157, 1165, 1173, 1181, 1189, 1197 };//频率 var monitor_id_motor_zhuansu_array = new long[] { 1142, 1150, 1158, 1166, 1174, 1182, 1190, 1198 };//转速 var is液位代替进口压力 = true; //初始化机泵 this._machineCount = 8;//全是变频 var machine_id_array = new long[] { 358, 361, 364, 367, 370, 373, 376, 379 }; 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 } }