/// <summary> /// Вычисляет текущее значение параметра Объем бурового раствора в емкостях (суммарный) /// </summary> /// <param name="vX">Объем бурового раствора в емкости Х</param> public void Calculate(P0009 v1, P09_1 v2, P09_2 v3, P09_3 v4, P09_4 v5, P09_5 v6, P09_6 v7, P09_7 v8, P09_8 v9, P09_9 v10, P9_10 v11, P9_11 v12, P9_12 v13, P9_13 v14) { if (slim.TryEnterWriteLock(300)) { try { Boolean[] tanks = Tanks; if (tanks != null) { float v = 0; float[] vals = { v1.Value, v2.Value, v3.Value, v4.Value, v5.Value, v6.Value, v7.Value, v8.Value, v9.Value, v10.Value, v11.Value, v12.Value, v13.Value, v14.Value }; if (vals != null) { if (vals.Length == tanks.Length) { for (int index = 0; index < tanks.Length; index++) { if (tanks[index]) { if (!float.IsNaN(vals[index])) { v += vals[index]; } else { //v = vals[index]; //return; } } } } _value = v; } } } finally { slim.ExitWriteLock(); } } }