TapHome Icon

TapHome ima jedan skriptni jezik za smart rules, obavijesti i integracije uređaja. Sintaksa i funkcije svugdje su iste; samo dostupne varijable, konstante i funkcije ovise o tome gdje se skripta izvršava. Aplikacija u uređivaču skripti ističe sintaksu.

Gdje se skripte koriste

Isti skriptni jezik izvršava se u smart rules, obavijestima i u integracijama Modbus i Packet parser:

KontekstŠto skripta radiSpecifično za kontekst
Smart rule JednadžbaJedan izraz nad vrijednostima uređaja. TRUE pokreće radnje za istinu, FALSE radnje za laž.LastState, TriggerName
Smart rule FormulaIzračunava vrijednost koja se upisuje u svaki izlazni uređaj.LastState, TriggerName
Smart rule SkriptaČita vrijednosti uređaja i dodjeljuje nove; svaka dodjela postaje radnja na uređaju.Varijable za čitanje i pisanje, TriggerName
Ograničavajući uvjet FormulaOdlučuje smije li se smart rule izvršiti.TRUE dopušta izvršavanje smart rule
Naslov i tekst obavijestiSastavlja tekst obavijesti.Mora vratiti tekst; konstante obavijesti
Modbus skripta za čitanje modulaIspituje modul, obično radi prijave pogrešaka uređaja.Funkcije MODBUS*
Modbus skripte za čitanje i pisanje uređajaPretvara registre u vrijednost uređaja i traženu vrijednost natrag u registre.Rezultat skripte za čitanje postaje vrijednost uređaja
Modbus inicijalizacijska skriptaIzvršava se jednom nakon spajanja modula.Obično MODBUSWNE
Packet parser skripte za čitanje i pisanjeŠalje zahtjev ili naredbu preko HTTP, FTP, TCP, UDP ili MQTT; kod HTTP i FTP obrađuje i odgovor.SENDHTTPREQUEST, SENDDATA, MQTTPUBLISH
Packet parser listener skriptaObrađuje svaki dolazni TCP ili UDP paket i svaku MQTT poruku.RECEIVEDMSG
Servisni atributi i radnje (Modbus, Packet parser)Dijagnostički retci i gumbi s parametrima u aplikaciji.Parametri radnje prema njihovoj kratici

SLEEP se u smart rules i obavijestima odbija (iznimka je ograničavajući uvjet Formula). ADDERROR, ADDWARNING i ADDINFO rade samo u skriptama uređaja. Što pojedini smart rules prosljeđuju svojoj skripti, opisuje stranica Skripte u smart rules i obavijestima; integracije imaju vlastite stranice, Funkcije Modbus i Funkcije Packet parsera.

Rezultat skripte

Skripta je popis naredbi. Vrijednost posljednje izračunate naredbe rezultat je skripte. RETURN prijevremeno završava skriptu zadanom vrijednošću.

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

Rezultat skripte za čitanje uređaja mora odgovarati vrijednosti uređaja, inače skripta završava pogreškom Return value 'X' does not match required return type constraint:

Vrijednost uređajaDopušteni rezultat
Stanje sklopke, magnetski kontaktTRUE ili FALSE (prihvaćaju se i brojevi), NaN, Null
Stanje prekidača s više vrijednostiBroj (cijeli broj odabire stanje; decimalna vrijednost se ne odbija), NaN, Null
Bilo koja druga vrijednostBroj, NaN, Null

NaN znači „vrijednost je nepoznata”, Null znači „vrijednost ne postoji”. Kako se oba ponašaju u izrazima, opisano je u odjeljku Null i NaN.

Stranice u ovom odjeljku

Referencija skriptnog jezika ima četiri skupine stranica: vodič kroz jezik, funkcije po područjima, funkcije integracija i referentne popise.

Vodič

  • Sintaksa i tijek izvršavanja — naredbe, komentari, literali, IF, SWITCH, petlje WHILE i DO, RETURN.
  • Tipovi podataka — brojevi, tekst, strukturirani i enum tipovi, zbirke, .Type, proširenje tipa, Null i NaN.
  • Varijable i konstante — varijable uređaja, vrijednosti skupina, varijable modula, VAR i deklaracije s tipom, svojstva, konstante konteksta.
  • Statistika i Info vrijednosti — statistike uređaja, Info vrijednosti s vremenom posljednje promjene, prethodnom vrijednošću i vrijednostima završenih razdoblja.
  • Operatori — popis operatora, prioritet, skraćeno izračunavanje, ekvivalenti u Excelu.
  • Skripte u smart rules i obavijestima — Jednadžba, Formula, Skripta, ograničavajući uvjet Formula i obavijesti.

Funkcije

Integracije

  • Funkcije Modbus — tipovi registara, MODBUSR, MODBUSW, MODBUSWNE, MODBUSRBLOCK, MODBUSWBLOCK, MODBUSWBLOCKNE.
  • Tipovi podataka Modbus — tipovi podataka funkcija Modbus, varijante redoslijeda bajtova, 64-bitni tipovi, tekst.
  • Skripte Modbus i prefetch — koje skripte imaju Modbus modul i uređaj, kada se izvršavaju, prefetch i predmemoriranje.
  • Funkcije Packet parsera — HTTPREQUEST, SENDHTTPREQUEST, SENDDATA, MQTTPUBLISH, FTPDOWNLOAD, FTPUPLOAD, COMPLETESERVICEATTRIBUTE, COMPLETESERVICEACTION.
  • Listener skripte — listener skripta modula Packet parser, RECEIVEDMSG i RECEIVEDBYTES.

Referencija