/// <summary> /// Вычисляет текущее значение параметра Сигнал тревоги Газы 20% /// </summary> /// <param name="v1">Сигнал датчика Газы 1</param> /// <param name="v2">Сигнал датчика Газы 2</param> /// <param name="v3">Сигнал датчика Газы 3</param> /// <param name="v4">Сигнал датчика Газы 4</param> /// <param name="v5">Сигнал датчика Газы 5</param> /// <param name="v6">Сигнал датчика Газы 6</param> /// <param name="v7">Сигнал датчика Газы 7</param> /// <param name="v8">Сигнал датчика Газы 8</param> /// <param name="v9">Сигнал датчика Газы 9</param> /// <param name="v10">Сигнал датчика Газы 10</param> public void Calculate(P0006 v1, P06_1 v2, P06_2 v3, P06_3 v4, P06_4 v5, P06_5 v6, P06_6 v7, P06_7 v8, P06_8 v9, P06_9 v10) { if (slim.TryEnterWriteLock(300)) { try { _value = 0; Boolean[] gases = Gases; float[] vals = { v1.Value, v2.Value, v3.Value, v4.Value, v5.Value, v6.Value, v7.Value, v8.Value, v9.Value, v10.Value, }; float[] uppers = { v1.Upper, v2.Upper, v3.Upper, v4.Upper, v5.Upper, v6.Upper, v7.Upper, v8.Upper, v9.Upper, v10.Upper, }; if (gases != null && vals != null && uppers != null) { if (gases.Length == vals.Length && gases.Length == uppers.Length) { for (int index = 0; index < gases.Length; index++) { if (gases[index]) { if (!float.IsNaN(vals[index])) { if (vals[index] > uppers[index]) { _value = 1; break; } } } } } } } finally { slim.ExitWriteLock(); } } }
/// <summary> /// Вычисляет текущее значение параметра Сигнал тревоги Газы 20% /// </summary> /// <param name="v1">Сигнал датчика Газы 1</param> /// <param name="v2">Сигнал датчика Газы 2</param> /// <param name="v3">Сигнал датчика Газы 3</param> /// <param name="v4">Сигнал датчика Газы 4</param> /// <param name="v5">Сигнал датчика Газы 5</param> /// <param name="v6">Сигнал датчика Газы 6</param> /// <param name="v7">Сигнал датчика Газы 7</param> /// <param name="v8">Сигнал датчика Газы 8</param> /// <param name="v9">Сигнал датчика Газы 9</param> /// <param name="v10">Сигнал датчика Газы 10</param> public void Calculate(P0006 v1, P06_1 v2, P06_2 v3, P06_3 v4, P06_4 v5, P06_5 v6, P06_6 v7, P06_7 v8, P06_8 v9, P06_9 v10) { if (slim.TryEnterWriteLock(300)) { try { _value = 0; Boolean[] gases = Gases; float[] vals = { v1.Value, v2.Value, v3.Value, v4.Value, v5.Value, v6.Value, v7.Value, v8.Value, v9.Value, v10.Value, }; float[] lowers = { v1.Lower, v2.Lower, v3.Lower, v4.Lower, v5.Lower, v6.Lower, v7.Lower, v8.Lower, v9.Lower, v10.Lower, }; if (gases != null && vals != null && lowers != null) { if (gases.Length == vals.Length && gases.Length == lowers.Length) { for (int index = 0; index < gases.Length; index++) { if (gases[index]) { if (!float.IsNaN(vals[index])) { if (vals[index] > lowers[index]) { _value = 1; break; } } } } } } } finally { slim.ExitWriteLock(); } } }