TapHome

Interpoláció és küszöbértékek

LINEAR lineáris interpoláció és HYSTERESIS küszöbszűrő függvények bemeneti értékek leképezéséhez és kondicionálásához a TapHome szkriptekben.

LINEAR

Visszaadja a lineárisan igazított értéket – lineáris interpolációt végez.

LINEAR(input, value1_input, value1_output, value2_input, value2_output, [type])

Paraméterek

  • input … bemeneti érték
  • value1_input … a bemeneti érték az alsó határnál
  • value1_output … a kimeneti érték az alsó határnál
  • value2_input … a bemeneti érték a felső határnál
  • value2_output … a kimeneti érték a felső határnál
  • [type] … opcionális paraméter. Meghatározza, mi legyen az eredmény, ha a bemeneti érték kívül esik a value1_input ↔︎ value2_input tartományon:
    • paraméter nélkül (ugyanaz, mint a BOUNDS) … Ha a bemeneti érték a definiált tartományon kívül van, a kimeneti érték az egyik szélsőérték (minimum vagy maximum) lesz
    • INFINITE … Ha a bemeneti érték a meghatározott tartományon kívül van, az eredmény extrapolált érték
    • STRICT … Ha a bemeneti érték a meghatározott tartományon kívül van, a kimeneti érték NaN.
LINEAR Function Graph

Példák

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%)

Példa [type] attribútumokra:

  • input = 11
  • value1_input = 0, value1_output = 400
  • value2_input = 10, value2_output = 2000
  • eredmény különböző [type] paramétereknél:
    • BOUNDS (alapértelmezett) = 2000
    • INFINITE = 2160
    • STRICT = NaN

HISTERÉZIS

A hiszterézis használható a jelek szűrésére, hogy a kimenet ne reagáljon olyan gyorsan, hanem figyelembe vegye a rendszer előző állapotát. Például egy termosztát fűtést vezérel: bekapcsolja, ha a hőmérséklet A alá esik, de csak akkor kapcsolja ki, ha a hőmérséklet B fölé emelkedik.

0‑t vagy 1‑et ad vissza.

HYSTERESIS(value, upper_bound, lower_bound, upper_output, lower_output, last_value)

Példa: tartsunk 20 °C-os hőmérsékletet 2 °C hiszterézissel. Kapcsolja be a fűtést, ha a hőmérséklet 18 °C alá süllyed, és kapcsolja ki, amikor a hőmérséklet meghaladja a 22 °C‑ot.

heater := HYSTERESIS(temperature,   22, 18,   0, 1,   heater);