1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
| 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[] { 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 初始化机泵
| /// <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, 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
|
|
|
|
|
|
|
|
|
|
|
|
| }
|
|
|
|
| }
|
|