Hľadaj
MENU

Matematické výrazy


Matematické výrazy sa dajú použiť v Smart rules Rovnica a Vzorec.

Na zariadeniach Modbus môžu byť použité ďalšie funkcie na čítanie a zapisovanie hodnôt z / do registrov Modbus.

Matematické výrazy

+, -, *, /

(20.5 + 9.5) / 2    (15)

Logické výrazy

AND, OR, !, =, !=, >, <

(!IsRaining OR (Wind>30))
MultiValueSwitchState != 2 (Nerovná sa 2)

Funkcie

IF

IF(logický_výraz, hodnota_ak_pravda, hodnota_ak_nepravda)

Vracia jednu hodnotu, ak je logický výraz "PRAVDA" a druhý, ak je "NEPRAVDA".

LINEAR

Vráti lineárne nastavenú hodnotu - lineárna interpolácia.


LINEAR(vstup, hodnota1_vstup, hodnota1_výstup, hodnota2_vstup, hodnota2_výstup)
Príklad 1: LINEAR(250,  0,0,  50,500)   (Result is 25°C)

Príklad 2: LINEAR(Co2,  400,0,  1200,1)
(Ak je hodnota snímača Co2 400ppm, výstup na rekuperáciu vzduchu bude 0%. Ak je Co2 1200, výstup bude 100%. A ak napr. Co2 = 800, výstup bude 50%)

SWITCH

SWITCH(výraz, prípad1, hodnota1, [prípad2, ...], [hodnota2, ...], default_hodnota)

Porovná premennú voči zoznamu prípadov a vráti zodpovedajúcu hodnotu prvého zodpovedajúceho prípadu s predvolenou hodnotou, ak nič iné nie je splnené.

Example


Configuration

ReadState ... SWITCH(MODBUSR(H, 168, UInt16),   0, 0,   0x02, 1,   0x04, 2,   0x08, 3,   0x10, 4,   0x40, 5, 0x800, 6,   0)
WriteState ... MODBUSWNE(H, 168, UInt16, SWITCH(Mu,   0, 0,   1, 0x02,   2, 0x04,   3, 0x08,   4, 0x10,  5, 0x40,   6, 0x800,  0)

Result


MIN

MIN(hodnota1, hodnota2)

Vracia menšiu z dvoch hodnôt.

MAX

MAX(value1, value)

Vracia väčšiu z dvoch hodnôt.

ROUND

ROUND(hodnota1)

Vráti zaokrúhlenú hodnotu.

Príklad 1: ROUND(2.01) (Výsledok is 2)

Príklad 2: ROUND(2.49) (Výsledok is 2)

Príklad 3: ROUND(2.5) (Výsledok is 3)

Príklad 4: ROUND(2.99) (Výsledok is 3)

Supported since Core version 2018.1.9562


DEW POINT

DEWPOINT(teplota, relatívna Vlhkosť)

Vráti teplotu rosného bodu vzhľadom na aktuálnu teplotu a relatívnu vlhkosť. Rosný bod sa vypočíta podľa tejto rovnice.

Príklad 1: DEWPOINT(20, 50) (Výsledok je ~9.26)

Príklad 2: DEWPOINT(0, 100) (Výsledok je 0)

Supported since Core version 2018.1.9623


Bit operácie

<<   (LEFT BIT SHIFT)

8 << 2   (32)

>> (RIGHT BIT SHIFT)

32 >> 2   (8)

& (BITWISE AND)

3 & 1   (1)

| (BITWISE OR)

2 | 1 (3)

Hexadecimalne čísla

Výrazy môžu tiež interpretovať hexadecimálne čísla. Predpona 0x je nutná a pri zvyšku sa nerozlišujú veľké a malé písmená.

0x0A   (10)
0xA0A0   (41120)
0xa0a0   (41120)