TapHome Icon

TapHome ma jeden język skryptowy dla smart rules, powiadomień i integracji urządzeń. Składnia i funkcje są wszędzie takie same; od miejsca, w którym skrypt działa, zależą tylko dostępne zmienne, stałe i funkcje. Aplikacja podświetla składnię w edytorze skryptów.

Gdzie używa się skryptów

Ten sam język skryptowy działa w smart rules, powiadomieniach oraz w integracjach Modbus i Packet parser:

KontekstCo robi skryptSpecyficzne dla kontekstu
Smart rule RównanieJedno wyrażenie nad wartościami urządzeń. TRUE uruchamia akcje dla prawdy, FALSE akcje dla fałszu.LastState, TriggerName
Smart rule FormułaOblicza wartość, która jest zapisywana do każdego urządzenia wyjściowego.LastState, TriggerName
Smart rule SkryptOdczytuje wartości urządzeń i przypisuje nowe; każde przypisanie staje się akcją urządzenia.Zmienne do odczytu i zapisu, TriggerName
Warunek ograniczający FormułaDecyduje, czy smart rule może się uruchomić.TRUE pozwala uruchomić regułę
Tytuł i treść powiadomieniaTworzy tekst powiadomienia.Musi zwrócić tekst; stałe powiadomień
Skrypt odczytu modułu ModbusOdpytuje moduł, zwykle po to, by zgłosić błędy urządzeń.Funkcje MODBUS*
Skrypty odczytu i zapisu urządzenia ModbusPrzekształcają rejestry w wartość urządzenia, a żądaną wartość z powrotem w rejestry.Wynik odczytu staje się wartością urządzenia
Skrypt inicjalizacji ModbusUruchamia się raz po połączeniu modułu.Zwykle MODBUSWNE
Skrypty odczytu i zapisu Packet parserWysyłają żądanie lub polecenie przez HTTP, FTP, TCP, UDP albo MQTT; dla HTTP i FTP przetwarzają też odpowiedź.SENDHTTPREQUEST, SENDDATA, MQTTPUBLISH
Skrypt listener Packet parserObsługuje każdy przychodzący pakiet TCP lub UDP i każdą wiadomość MQTT.RECEIVEDMSG
Atrybuty i akcje serwisowe (Modbus, Packet parser)Wiersze diagnostyczne i przyciski z parametrami w aplikacji.Parametry akcji według ich skrótu

SLEEP jest odrzucany w smart rules i powiadomieniach (wyjątkiem jest warunek ograniczający Formuła). ADDERROR, ADDWARNING i ADDINFO działają tylko w skryptach urządzeń. Co każda smart rule przekazuje swojemu skryptowi, opisuje strona Skrypty w smart rules i powiadomieniach; integracje mają własne strony, Funkcje Modbus i Funkcje Packet parser.

Wynik skryptu

Skrypt to lista instrukcji. Wartość ostatniej obliczonej instrukcji jest wynikiem skryptu. RETURN kończy skrypt wcześniej z podaną wartością.

VAR a := 1;
VAR b := 2;
a + b;
# Result: 3

Wynik skryptu odczytu urządzenia musi pasować do wartości urządzenia, w przeciwnym razie skrypt kończy się błędem Return value 'X' does not match required return type constraint:

Wartość urządzeniaDozwolony wynik
Stan przełącznika, kontaktronTRUE lub FALSE (liczby są akceptowane), NaN, Null
Stan przełącznika wielowartościowegoLiczba (liczba całkowita wybiera stan; wartość dziesiętna nie jest odrzucana), NaN, Null
Każda inna wartośćLiczba, NaN, Null

NaN oznacza „wartość jest nieznana”, Null oznacza „wartości nie ma”. Jak obie zachowują się w wyrażeniach, opisuje Null i NaN.

Strony w tej sekcji

Dokumentacja języka skryptowego ma cztery grupy stron: przewodnik po języku, funkcje według obszaru, funkcje integracji i listy referencyjne.

Przewodnik

  • Składnia i sterowanie przebiegiem — instrukcje, komentarze, literały, IF, SWITCH, pętle WHILE i DO, RETURN.
  • Typy danych — liczby, tekst, typy strukturalne i wyliczeniowe, kolekcje, .Type, promocja typów, Null i NaN.
  • Zmienne i stałe — zmienne urządzeń, Info wartości, zmienne modułu, VAR i deklaracje z typem, właściwości, stałe kontekstu.
  • Operatory — lista operatorów, priorytet, skrócone obliczanie, odpowiedniki w Excelu.
  • Skrypty w smart rules i powiadomieniach — Równanie, Formuła, Skrypt, warunek ograniczający Formuła i powiadomienia.

Funkcje

  • Logika i diagnostyka — ISNULL, ISNAN, EQUALS, SLEEP, ADDERROR, ADDWARNING, ADDINFO, DEBOUNCE.
  • Funkcje matematyczne — MIN, MAX, AVG (pomijają nieznane wartości, warianty …STRICT nie), ABS, SIGN, SQRT, POWER, MOD, LOG, LN, DEWPOINT.
  • Zaokrąglanie i liczby losowe — ROUND, CEIL, FLOOR, RAND, RANDINT.
  • Interpolacja i progi — LINEAR przenosi wartość z jednego zakresu do drugiego (na przykład krzywa ściemniania), HYSTERESIS.
  • Operacje bitowe — GETBIT, GETBITS, SETBIT, SETBITS, GETBYTE, SETBYTE, TOBCD, FROMBCD.
  • Tekst i kolekcje — LENGTH, GETAT, SETAT, APPEND, INSERT, REMOVEAT, COPY, INDEXOF, REPLACE, SPLIT, COMPARE, BYTECOLLECTION, UINT16COLLECTION, BOOLCOLLECTION.
  • Sortowanie — ORDER, ORDERINDEX oraz ich warianty malejące i ścisłe.
  • Data i czas — NOW, DATETIME, DATETIMEADD, TIMESPAN, LOCALTIMEZONE.
  • Konwersje typów danych — TOSTRING, TODOUBLE, TOBYTES, ENCODE, DECODE.
  • Kolory — HSVTORGB, RGBTOHSV.
  • Funkcje parsowania — PARSETEXT, PARSEJSON (odczytuje wartość z JSON według jej ścieżki), PARSEXML.
  • Dane binarne — PACKVALUE, UNPACKVALUE.

Integracje

  • Funkcje Modbus — typy rejestrów, MODBUSR, MODBUSW, MODBUSWNE, MODBUSRBLOCK, MODBUSWBLOCK, MODBUSWBLOCKNE.
  • Typy danych Modbus — typy danych funkcji Modbus, warianty kolejności bajtów, typy 64-bitowe, tekst.
  • Skrypty Modbus i prefetch — jakie skrypty mają moduł i urządzenie Modbus, kiedy się uruchamiają, prefetch i pamięć podręczna.
  • Funkcje Packet parser — HTTPREQUEST, SENDHTTPREQUEST, SENDDATA, MQTTPUBLISH, FTPDOWNLOAD, FTPUPLOAD, COMPLETESERVICEATTRIBUTE, COMPLETESERVICEACTION.
  • Skrypty listener — skrypt listener modułu Packet parser, RECEIVEDMSG i RECEIVEDBYTES.

Informacje referencyjne