Zoeken
MENU
  • Uitdrukkingen
  • Systeemarchitectuur per projecttype
  • Gebruikers en machtigingen
  • Uitdrukkingen

    Uitdrukkingen worden gebruikt in Smart Rules "Vergelijking" en "Formule".
    Extra functies kunnen op Modbus-apparaten worden gebruikt om waarden van / naar Modbus-registers te lezen / schrijven.

    Wiskundige uitdrukkingen

    +, -, *, /

    (20.5 + 9.5) / 2    (15)

    Logische uitdrukkingen

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

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

    Functies

    IF

    IF(logical_expression, value_if_true, value_if_false)

    Retourneert één waarde als een logische uitdrukking 'WAAR' is en een andere als het 'ONWAAR' is.

    LINEAIR

    Retourneert lineair aangepaste waarde - lineaire interpolatie.

    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)

    Test een uitdrukking tegen een lijst met cases en retourneert de overeenkomstige waarde van de eerste overeenkomende case, met een standaardwaarde als niets anders wordt bereikt.

    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)

    Retourneert de kleinste van de twee waarden.

    MAX

    MAX(value1, value)

    Retourneert de grootste van de twee waarden.

    RONDE

    ROUND(value1)    

    Retourneert de afgeronde waarde.

    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

    DAUWPUNT

    DEWPOINT(temperature, relativeHumidity)
    

    Retourneert de dauwpunttemperatuur gegeven de huidige temperatuur en relatieve vochtigheid. Dauwpunt wordt berekend volgens deze vergelijking: 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

    Bit operaties

    <<   (LEFT BIT SHIFT)

    8 << 2   (32)

    Excel: BITLSHIFT(number, shift_amount)

    >> (RIGHT BIT SHIFT)

    32 >> 2   (8)

    Excel: BITRSHIFT(number, shift_amount)

    & (BITWISE AND)

    3 & 1   (1)

    Excel: BITAND(number1, number2)

    | (BITWISE OR)

    2 | 1 (3)

    Excel: BITOR(number1, number2)

    Hexadecimale getallen

    Expressies kunnen ook hexadecimale getallen interpreteren. Voorvoegsel 0x is vereist en de rest is niet hoofdlettergevoelig.

    0x0A (10)

    0xA0A0   (41120)
    0xa0a0   (41120)

    Modbus

    Volg deze link voor meer informatie over Modbus-configuratie.