using IStation.Model;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
|
namespace IStation.EtaCalculation.SHYS.Station
|
{
|
/// <summary>
|
/// 所有泵, 有 出口压力计, 有开机状态测点, 没有独立的流量计 , 只有管路的流量计,
|
/// 所有阀门都是打开状态
|
/// </summary>
|
public class EtaAnalyCalculator4陈行二输 : EtaAnalyCalculator泵站4共用多个流量计_有运行状态, IEtaStationAnalyCalculator
|
{
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="context"></param>
|
/// <param name="error_info"></param>
|
/// <returns></returns>
|
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[] { 918,921 };
|
var pipe_id_total_flow_list = new long[] { 701,698 };
|
if (!InitialPipeList(
|
pipe_id_total_flow_list,
|
monitor_id_total_flow_list,
|
context, out error_info))
|
{
|
return false;
|
}
|
|
|
|
|
//List<EtaMultiRealRecordPure> ana_result_list = base.CalculateCore(context, out error_info);
|
//foreach (var p in _allMachineList)
|
// ana_result_list.Add(p.AnaResult);
|
|
//ana_result_list.Add(_pipe_1.AnaResult);
|
//ana_result_list.Add(_pipe_2.AnaResult);
|
//ana_result_list.Add(_pipe_3.AnaResult);
|
//ana_result_list.Add(result_station);
|
|
//DateTime dateTime = context.DataTime;
|
//int duration = context.Duration;
|
//foreach (var item in ana_result_list)
|
//{
|
// item.DataTime = dateTime;
|
// item.Duration = duration;
|
//}
|
|
|
|
|
return base.CalculateCore(context, out error_info);
|
}
|
|
|
#region 初始化机泵
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="context"></param>
|
/// <param name="error_info"></param>
|
/// <returns></returns>
|
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 };//单泵流量计
|
long[] monitor_id_inlet_press_array = new long[] { 916, 916, 916, 916, 916, 916, 916 };// 泵的进口压力计
|
long[] monitor_id_outlet_press_array = new long[] { 924, 933, 942, 951, 960, 969, 978 };//出口压力
|
long[] monitor_id_run_status_array = new long[] { };//运行状态
|
long[] monitor_id_motor_frequence_array = new long[] { 923, 932, 941, 950, 959, 968, 977 };//频率
|
long[] monitor_id_motor_power_array = new long[] { 930, 939, 948, 957, 966, 975, 984 };//瞬间功率
|
long[] monitor_id_motor_zhuansu_array = new long[] { 928, 937, 946, 955, 964, 973, 982 };//转速
|
long[] machine_id_array = new long[] { 283, 286, 289, 292, 295, 298, 301 };//
|
// int[] series_no_array = new int[] { 1, 2, 3, 4, 5, 6, 7 };//工位排序号
|
long[] monitor_id_ele_current_array = new long[] { 929, 938, 947, 956, 965, 974, 983 };// 电流
|
this._machineCount = 7;
|
|
this._allMachineList = InitialPumpMachineList(
|
context,
|
machine_id_array,//机泵ID
|
monitor_id_run_status_array,//运行状态
|
monitor_id_pump_flow_array,// 流量计
|
true,
|
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,//转速
|
monitor_id_ele_current_array,//电流
|
out error_info);
|
if (_allMachineList == null)
|
{
|
IStation.LogHelper.Error(error_info);
|
return false ;
|
}
|
|
|
error_info = null;
|
return true;
|
}
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
}
|