Hľadaj
MENU

Výrazy


Výrazy sa používajú v Smart Rules „Rovnica“ a „Vzorec“.

Na zariadeniach Modbus je možné používať ďalšie funkcie na čítanie/zápis hodnôt z/do registrov Modbus.

Príklady:

Matematické výrazy

+, -, *, /

(20.5 + 9.5) / 2    (15)

Logické výrazy

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

(!IsRaining OR (Wind>30))
MultiValueSwitchState != 2 (Not equal to 2)

Funkcie

IF

IF(logical_expression, value_if_true, value_if_false)

Vráti jednu hodnotu, ak je logický výraz „PRAVDA“ a druhú, ak je „NEPRAVDA“.

LINEÁRNE

Vráti lineárne upravenú hodnotu - lineárnu interpoláciu.


LINEAR(input, value1_input, value1_output, value2_input, value2_output)

Example 1: LINEAR(250,  0,0,  50,500)   (Result is 25°C)

Example 2: LINEAR(Co2,  400,0,  1200,1)
(If value from Co2 sensor is 400ppm, output for air recovery will be 0%. If Co2 is 1200, output will be 100%. And if e.g. Co2=800, output will be 50%)

PREPÍNAČ

SWITCH(expression, case1, value1, [case2, ...], [value2, ...], default_value)

Testuje výraz proti zoznamu prípadov a vracia zodpovedajúcu hodnotu prvého porovnávacieho prípadu s predvolenou hodnotou, ak nie je splnené nič iné.


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(value1, value2)

Vráti menšiu z týchto dvoch hodnôt.


MAX

MAX(value1, value)

Vráti väčšiu z týchto dvoch hodnôt.


ZAOKRÚHLENIE

ROUND(value1)    

Vráti zaokrúhlenú hodnotu.

Example 1: ROUND(2.01) (Result is 2)

Example 2: ROUND(2.49) (Result is 2)

Example 3: ROUND(2.5) (Result is 3)

Example 4: ROUND(2.99) (Result is 3)

Supported since Core version 2018.1.9562


ROSNÝ BOD

DEWPOINT(temperature, relativeHumidity)

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: http: //bmcnoldy.rsmas.miami.edu/Humidity.html.


Example 1: DEWPOINT(20, 50) (Result is ~9.26)

Example 2: DEWPOINT(0, 100) (Result is 0)

Supported since Core version 2018.1.9623


Bitové operácie

<<   (LEFT BIT SHIFT)

8 << 2   (32)

>> (RIGHT BIT SHIFT)

32 >> 2   (8)

& (BITWISE AND)

3 & 1   (1)

| (BITWISE OR)

2 | 1 (3)

Hexadecimálne čísla

Výrazy môžu tiež interpretovať hexadecimálne čísla. Vyžaduje sa predpona 0x a zvyšok nerozlišuje veľké a malé písmená.

0x0A (10)

0xA0A0   (41120)
0xa0a0   (41120)

Modbus

Kliknutím na tento odkaz nájdete ďalšie informácie o konfigurácii Modbus: https://taphome.com/en/support/15597569.