Складні функції в настройках віджету

Складні функції замість простих арифметичних операцій

У налаштуваннях кожного виджету є розділ "Арифметична операція". Начебто все просто там, помножив або розділив на потрібний коефіцієнт і отримав потрібне значення, наприклад, розділив вати на 1000 і отримав кіловати. Але серед арифметичних операцій причаївся потужний інструмент f(x) за допомогою якого можна описати будь-який параметр на основі даних, які моніторить ваш розумний лічильник, наприклад, реактивна енергія у VAR, що генерується тепло у гігокалоріях, джоулях або у ватах, або точка роси у градусах за Цельсієм. При розрахунку таких показників простою арифметичною операцією не обійдешся, зазвичай, це формула і досить складна.

Ось тут і прийде на допомогу інструмент f(x) у налаштуваннях "Арифметична операція", яким користуватись простіше, ніж здається.

Основна ідея інструменту f(x): використовуючи вимірювані монітором параметри та синтаксис JavaScript, можна написати будь-яку формулу для отримання будь-яких нових параметрів моніторингу.

Для побудови формул використовуйте вимірювані монітором параметри у форматі:

    d.W1 - Потужність 1-ї лінії;
    d.V2 - Напруга 2-й лінії;
    d.A3 - Струм 3-й лінії;
    та інші параметри.

Весь доступний список параметрів представлений у списку ліворуч у вікні редагування формули.

Важливо, регістр має значення!


Image 1710

Також треба пам'ятати загальноприйняті в математиці правила побудови виразів та порядок обчислення:

  1. Дії, записані у дужках;
  2. Множення та розподіл;
  3. Складання та віднімання.

Для складних розрахунків є математична бібліотека Math, яка надасть у ваше розпорядження тригонометричні функції, ступеня, коріння та логарифми. Нижче список об'єкта Math, який зберігає у своїх властивостях та методах різні математичні константи та функції.

    Math.floor(a) округлює число a до наступного найменшого цілого числа;
    Math.abs(a) повертає абсолютне значення числа a;
    Math.pow(a, b) обчислює a у ступені b;
    Math.sqrt(a) обчислює квадратний корінь числа a;
    Math.log(a) обчислює натуральний логарифм числа a;
    Math.sin(a) обчислює синус кута a в радіанах;
    Math.cos(a) обчислює косинус кута a в радіанах;
    Math.tan(a) обчислює тангенс кута a в радіанах;
    Math.asin(a) обчислює арксинус числа a;
    Math.acos(a) арккосинус числа a;
    Math.atan(a) арктангенс числа a;

Також є список корисних констант:

Math.PI (число PI): 3.141592653589793
Math.SQRT2 (квадратний корінь із двох): 1.4142135623730951
Math.SQRT1_2 (половина від квадратного кореня з двох): 0.7071067811865476
Math.E (число e або число Ейлера): 2.718281828459045
Math.LN2 (натуральний логарифм числа 2): 0.6931471805599453
Math.LN10 (натуральний логарифм числа 10): 2.302585092994046
Math.LOG2E (двійковий логарифм числа e): 1.4426950408889634
Math.LOG10E (десятковий логарифм числа e): 0.4342944819032518

Для перевірки правильності обчислень використовуйте кнопку "Перевірити", яка здійснить розрахунок з урахуванням наведених значень параметрів.

Для прикладу збудуємо графік «Точки роси» на основі температури та вологості, які легко виміряти за допомогою універсального монітора smart-MAIC D105.

Формула для знаходження точки роси не така вже й проста:

Image 374

Але в налаштуваннях віджету виглядає вона не так вже й страшно.

(237.7 * ((17.27*d.T1)/(237.7 + d.T1) + Math.log(d.T2/100))) / (17.27 - ((17.27*d.T1)/(237.7+d.T1) + Math.log(d.T2/100)))

Де: d.T1 – вимірювана температура та d.T2 – вимірювана вологість.

Image 372

Image 373

Успіхів у моніторингу!

Ця стаття допомогла 12 людям. Чи допомогла вам ця стаття?