Hľadaj
MENU
  • Výrazy
  • Architektúra systému podľa typu projektu
  • Používatelia a povolenia
  • 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%)

    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.