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