Nastavenia Cookies

Cookies sú malé textové súbory, ktoré sa ukladajú vo vašom zariadení pri návšteve webových stránok. Pomáhajú nám zapamätať si informácie o vašej návšteve, ako sú preferované nastavenia, jazyk alebo prispôsobenie obsahu, a tak zlepšiť váš používateľský zážitok. Niektoré cookies sú nevyhnutné pre základnú funkcionalitu stránky, zatiaľ čo iné nám umožňujú analyzovať jej využitie.

Prijať všetko
Spravovať možnosti
Technické

Tieto cookies sú nevyhnutné na správne fungovanie našej webovej stránky a zabezpečujú základné funkcie, ako je navigácia a bezpečnosť stránky. Bez nich by webová stránka nemohla správne fungovať.

Analytické

Pomáhajú nám pochopiť, ako návštevníci používajú našu stránku, čo nám umožňuje zlepšovať jej obsah a funkcie. Údaje sú anonymné a používame ich výhradne na interné analýzy.

Uložiť a zavrieť

Štruktúra skriptu

Úvod

Skripty modulu „sysnapse „ používajú syntax JavaScript. Kód je spustený v sandboxe node.sj a teda je izolovaný od prostredia CMS. Nižšie sú uvedené všetky objekty, triedy a metódy ktoré sú podporované a dostupné pre jednotlivé skripty.

Aktuálne od verzie 1.4.2

Zoznam tried, objektov a metód

Objekt: cms

V tomto objekte je zahrnutá štruktúra objektov a metód špecifické pre CMS systém

Objekt: cms.io_channel

Objekt “io_channel” združuje objekty typu vstupno-výstupných kanálov. Za týmto objektom je nutne definovať objekt príslušného modulu ktorý pozostáva s UID modulu a k nemu príslušný kľúč poľa, ktorý reprezentuje číslo IO kanála.

Príklad:


console.log(cms.io_channel.in_air_quality.io[1].value);

Zobrazí hodnotu IO kanála typu „in_air_quality“ v module „io“

Objekt: cms.io_channel.in_air_quality.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.validty premenná GET/Bool Informácia o aktuálnej korektonosti hodnoty IO kanála

Objekt: cms.io_channel.in_current.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.validty premenná GET/Bool Informácia o aktuálnej korektonosti hodnoty IO kanála

Objekt: cms.io_channel.in_frequency.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.validty premenná GET/Bool Informácia o aktuálnej korektonosti hodnoty IO kanála

Objekt: cms.io_channel.in_humidity.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.validty premenná GET/Bool Informácia o aktuálnej korektonosti hodnoty IO kanála

Objekt: cms.io_channel.in_level.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.validty premenná GET/Bool Informácia o aktuálnej korektonosti hodnoty IO kanála

Objekt: cms.io_channel.in_power.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.validty premenná GET/Bool Informácia o aktuálnej korektonosti hodnoty IO kanála

Objekt: cms.io_channel.in_pressure.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.validty premenná GET/Bool Informácia o aktuálnej korektonosti hodnoty IO kanála

Objekt: cms.io_channel.in_rain_gauge.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.validty premenná GET/Bool Informácia o aktuálnej korektonosti hodnoty IO kanála

Objekt: cms.io_channel.in_speed.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.validty premenná GET/Bool Informácia o aktuálnej korektonosti hodnoty IO kanála

Objekt: cms.io_channel.in_temperature.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.validty premenná GET/Bool Informácia o aktuálnej korektonosti hodnoty IO kanála

Objekt: cms.io_channel.in_twilight.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.validty premenná GET/Bool Informácia o aktuálnej korektonosti hodnoty IO kanála

Objekt: cms.io_channel.in_voltage.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.validty premenná GET/Bool Informácia o aktuálnej korektonosti hodnoty IO kanála

Objekt: cms.io_channel.in_wind_direction.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.validty premenná GET/Bool Informácia o aktuálnej korektonosti hodnoty IO kanála

Objekt: cms.io_channel.in_binary.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.validty premenná GET/Bool Informácia o aktuálnej korektonosti hodnoty IO kanála

Objekt: cms.io_channel.in_consumption.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.validty premenná GET/Bool Informácia o aktuálnej korektonosti hodnoty IO kanála

Objekt: cms.io_channel.in_state.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.validty premenná GET/Bool Informácia o aktuálnej korektonosti hodnoty IO kanála

Objekt: cms.io_channel.out_switch.uid_module[num]

Názov Typ Popis
.is_on premenná GET/Bool Aktuálny stav
.set(force) metóda Nastavý kanál
Názov Typ Popis
force Bool Ak je TRUE zapíše zmenu ihneď do zaraidenia.Bez vyplnenia je FALSE.
.clr(force) metóda Vyčistí kanál
Názov Typ Popis
force Bool Ak je TRUE zapíše zmenu ihneď do zaraidenia.Bez vyplnenia je FALSE.
.toggle(force) metóda Prepne kanál
Názov Typ Popis
force Bool Ak je TRUE zapíše zmenu ihneď do zaraidenia.Bez vyplnenia je FALSE.

Objekt: cms.io_channel.out_dimmer.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.set(value,speed,force) metóda Nastavý kanál
Názov Typ Popis
value Number Hodnota stmievania v %. [0-100]
speed Number Rýchlosť zmeny v %. [0-100]
force Bool Ak je TRUE zapíše zmenu ihneď do zaraidenia.Bez vyplnenia je FALSE.

Objekt: cms.io_channel.out_level.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.set(value,force) metóda Nastavý kanál
Názov Typ Popis
value Number Hodnota úrovne v %. [0-100]
force Bool Ak je TRUE zapíše zmenu ihneď do zaraidenia.Bez vyplnenia je FALSE.

Objekt: cms.io_channel.out_voltage.uid_module[num]

Názov Typ Popis
.value premenná GET/Number Hodnota IO kanála
.set(value,force) metóda Nastavý kanál
Názov Typ Popis
value Number Hodnota napätia [V]
force Bool Ak je TRUE zapíše zmenu ihneď do zaraidenia.Bez vyplnenia je FALSE.

Objekt: cms.io_channel.out_shutter.uid_module[num]

Názov Typ Popis
.closing premenná GET/Number Hodnota pozície IO kanála
.rotating premenná GET/Number Hodnota rotácie IO kanála
.goto(closing,rotating) metóda Nastaví žalúziu do polohy. Ak je argument v stave „undefined“ ignoruje sa. Tento postupu sa používa ak potrebujete zmeniť iba rotáciu, alebo pozíciu kanála samostatne.
Názov Typ Popis
closing Number Hodnota pozície v %. [0-100]
rotating Number Hodnota rotacie v %. [0-100]
.stop() metóda Zastaví pohyb žalúie
.calibration() metóda Kalibrácia kanála

Metóda: cms.io_channel.out_switch_exe()

Vráti: Bool
TRUE - Úspešný zápis do zariadení
FALSE - Nepodaril sa zápis do všetkých zariadení

Metóda: cms.io_channel.out_dimmer_exe()

Vráti: Bool
TRUE - Úspešný zápis do zariadení
FALSE - Nepodaril sa zápis do všetkých zariadení

Metóda: cms.io_channel.out_level_exe()

Vráti: Bool
TRUE - Úspešný zápis do zariadení
FALSE - Nepodaril sa zápis do všetkých zariadení

Metóda: cms.io_channel.out_voltage_exe()

Vráti: Bool
TRUE - Úspešný zápis do zariadení
FALSE - Nepodaril sa zápis do všetkých zariadení

Nasledovné metódy vykonávajú zápis IO kanálov do registrov zariadení. Používa sa po príkazoch pre zmenu stavu IO kanálu bez použitia argumentu „force“. Tento postup odľahčuje zaťaženie zbernice častými príkazmi na zmenu registrov tých istých zariadení.

Príklad:


cms.io_channel.out_switch.io[1].set();
cms.io_channel.out_switch.io[2].set();
cms.io_channel.out_switch.io[3].set();

let res=cms.io_channel.out_switch_exe();
            

Callback: cms.io_channel.events

Do premennej sa nastaví metóda „callback“ ktorá sa volá pri udalosti na IO kanáloch.

Zoznam argumentov metódy:

Názov Popis
plugin_uid Identifikátor modulu
type Typ IO kanálu
num Číslo IO kanálu
event Názov udalosti
value Hodnota udalosti

Príklad:


cms.io_channel.events=function(plugin_uid,type, num, event,value){
    console.log(plugin_uid,type, num, event,value);
}
              

Objekt: cms.variable

Objekt pracuje s globálnymi premennými systému CMS

Metóda: cms.variable.get(name)

Vráti hodnotu premennej.

Názov Popis
name Presný názov globálnej premennej
Vráti: String

Metóda: cms.variable.set(name,value)

Nastavý hodnotu premennej.

Názov Popis
name Presný názov globálnej premennej
value Hodnota premennej
Vráti: Bool

Metóda: cms.variable.is_true(name)

Vráti výsledok či je nastavená hodnota premennej typu boolean. Hodnoty globálnych premenných sú typ "String". Metóda overuje či je obsah premennej "true".

Názov Popis
name Presný názov globálnej premennej
Vráti: Bool

Metóda: cms.variable.on(name,callback)

Nastaví udalosť pre globálnu premennú. Pri zmene hodnoty bude volaná metóda „callback“.

Názov Popis
name Presný názov globálnej premennej
callback Metóda udalosti: (event,sn,value)=>{}
Názov Popis
event Názov udalosti
sn Sériové číslo globálnej premennej
value Hodnota globálnej premennej
Vráti: String
Sériové číslo udalosti

Metóda: cms.variable.clear_on(name,sn)

Odstráni metódu udalosti.

Názov Popis
name Presný názov globálnej premennej
sn Sériové číslo udalosti
Vráti: Bool

Objekt: cms.controller_variables

Objekt pracuje s kontrolným prvkom skriptu.

Callback: cms.controller_variables.on

Do premennej sa nastaví metóda „callback“ ktorá sa volá pri udalosti kontrolného prvku.

Zoznam argumentov metódy:

Názov Popis
variable_name Názov premennej kontrolného prvku
value Hodnota kontrolného prvku

Príklad:


cms.controller_variables.on=function(variable_name,value){
    console.log(variable_name,value);
}
              

Metóda: cms.log_info(message)

Vytvorí log do záznamov CMS. Typ informácia.

Zoznam argumentov metódy:

Názov Popis
message Text správy záznamu (String)

Metóda: cms.log_error(message)

Vytvorí log do záznamov CMS. Typ chyba.

Zoznam argumentov metódy:

Názov Popis
message Text správy záznamu (String)

Metóda: cms.log_warning(message)

Vytvorí log do záznamov CMS. Typ varovanie.

Zoznam argumentov metódy:

Názov Popis
message Text správy záznamu (String)

Príklad:


log_info("Test záznamu do CMS");
              

Metóda: cms.setTimeout(callback,time,...parameters)

Vytvorí spätné volanie po uplynutí časovača.

Zoznam argumentov metódy:

Názov Popis
callback Metóda spätného volania: (...parameters)=>{}
Názov Popis
...parameters Zoznam argumentov "parameters" z deklarácie metódy
time Hodnota časovača v ms (Number)
Vráti: Sériové čislo vytvoreného časovača

Príklad:


let timer_sn=cms.setTimeout((arg1,arg2)=>{
    console.log(arg1,arg2);
},1000,"argument1","argument2")
              

Metóda: cms.clearTimeout(sn)

Odstráni spätné volanie časovača.

Zoznam argumentov metódy:

Názov Popis
sn Sériové číslo časovača

Príklad:


let timer_sn=cms.setTimeout(()=>{},1000);
cms.clearTimeout(timer_sn);
              

Metóda: cms.setInterval(callback,time,...parameters)

Vytvorí spätné volanie po časovom intervale.

Zoznam argumentov metódy:

Názov Popis
callback Metóda spätného volania: (...parameters)=>{}
Názov Popis
...parameters Zoznam argumentov "parameters" z deklarácie metódy
time Hodnota intervalu v ms (Number)
Vráti: Sériové čislo vytvoreného intervalu

Príklad:


let interval_sn=cms.setInterval((arg1,arg2)=>{
    console.log(arg1,arg2);
},1000,"argument1","argument2")
            

Metóda: cms.clearInterval(sn)

Odstráni spätné volanie intervalu.

Zoznam argumentov metódy:

Názov Popis
sn Sériové číslo intervalu

Príklad:


let interval_sn=cms.setInterval(()=>{},1000);
cms.clearTimeout(interval_sn);
              

Objekt: cms.controller_variables

Objekt pracuje s kontrolným prvkom skriptu.

Objekt: cms.storage

Obsah objektu uchovávaný v dlhodobej pamäti. Štruktúra objektu je v tvare JSON a pri priradení objektu sa obsah automaticky uloží.

Príklad:


//zápis do pamäte
cms.storage={pouzivatelia:[{meno:"Martin", vek:23},{meno:"Brano", vek:24}]};

//čitanie z pamäte
let meno=cms.storage.pouzivatelia[0].meno;
console.log(meno);
              

Objekt: console

Objekt pre vypísanie informácií do konzoly scriptu.

Metóda: console.log(...arg)

Vypíše argumenty typu log do konzoly

Metóda: console.info(...arg)

Vypíše argumenty typu info do konzoly

Metóda: console.warn(...arg)

Vypíše argumenty typu warn do konzoly

Metóda: console.error(...arg)

Vypíše argumenty typu error do konzoly

Príklad:


console.log("Test argumentu 1","Test argumentu 2");
              

Metóda: get_url(url|options,callback)

Odošle dopyt pre odoslanie a získanie dát z URL.

Názov Popis
url url adresa (String)
options {
protocol:"http|https"
}

Ostatné podľa dokumentácie http.request
callback Metóda udalosti: (data,error)=>{}
Názov Popis
data Dáta z odpovedi
error Chybové hlásenie (undefined=bez chyby)

Príklad:


get_url({
        hostname: 'www.google.com',
        protocol: "http",
        path: '/upload',
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'Content-Length': Buffer.byteLength(postData),
        }
    },(data,err)=>{
        console(data,err);
    }
);
              

Objekt: sp

Objekt pre prácu so sériovým portom.

Metóda: sp.getdevices()

Vráti zoznam sériových zariadení.

Vráti: String
Štruktura: name_1;device_sn_1;state_1|name_2;device_sn_2;state_2...

Príklad:


let xdevices=sp.getdevices();
let adevices=xdevices.split("|");
for(let device of adevices){
      let parameters=device.split(";");
      let name=parameters[0];
      let device_sn=parameters[1];
      let state=parameters[2];
      console.log("Device: ",name,"SN: ",device_sn,"SATE: ",state);
  }
              

Metóda: sp.open(options,callback)

Otvorí príslušný port na prácu a vytvorí inštanciu objektu.

Zoznam argumentov metódy:

Názov Popis
options Objekt parametrov:
Názov Popis
device_sn Sériové číslo zariadenia
baudRate Komunikačná rýchlosť [def. 9600]
stopBits Stop bit ("one","two") [def. one]
parity Parita ("none","odd","even") [def. none]
dataBits Počet dátových bitov (5,6,7,8,9) [def. 8]
callback Metóda udalosti: (data)=>{}
Názov Popis
data Dáta z portu
Vráti: Inštancia objektu {sp.open}

Príklad:


let xsp=sp.open({
                    device_sn:"a7a56bd92336995658b6b",
                    baudRate:115200
                },(data)=>{
                    console.log("Prijaté dáta z portu: ",data);
                }
);
xsp.send("Test");

              

Metóda: {sp.open}.send(data,callback)

Odošle dáta do sériového portu.

Zoznam argumentov metódy:

Názov Popis
data Dáta na odoslanie (String|Buffer)
callback Metóda udalosti: (res)=>{}
Názov Popis
res Výsledok odoslania (Bool)

Príklad:


let xsp=sp.open({device_sn:"a7a56bd92336995658b6b"});
xsp.send("Test",(res)=>{
    if(res===false)console.log("Chyba pri odosielaní!");
});
xsp.close();

              

Metóda: {sp.open}.close()

Zatvorí príslušný port

Objekt: modbus

Objekt pre prácu s modbusom.

Metóda: modbus(xsp)

Vytvorí inštanciu pre prácu s modbusom.

Zoznam argumentov metódy:

Názov Popis
xsp Inštancia sérového portu {sp.open}
Vráti: Inštancia objektu modbus

Príklad:


let xsp=sp.open({device_sn:"a7a56bd92336995658b6b");
let xmodbus=modbus(xsp);
              

Metóda: {modbus}.query(device_address,code,register_address,data,callback[,timeout])

Odošle dáta do sériového portu.

Zoznam argumentov metódy:

Názov Popis
device_address Adresa zariadenia MODBUS (Number)
code Kód funkcie MODBUS (Number)
register_address Adresa registra MODBUS (Number)
data Dáta MODBUS (Buffer)
callback Metóda spätného volania odpovede: (data,err)=>{}
Názov Popis
data Dáta odpovede (Buffer)
err Chybová sprava (String,undefined = bez chyby)
timeout Časovač prerušenia v milisekundách (Number). Predvolené 500ms

Príklad:


let xsp=sp.open({device_sn:"a7a56bd92336995658b6b");
let xmodbus=modbus(sxp);
xmodbus.query(0x01,0x03,0x0001,Buffer.from([0x01,0x02,0x03]),(data,err)=>{

    if(!err){
        console.log(data);
    }else console.error("Dopyt zlyhal");

})


              

Metóda: {modbus}.read_holding_UInt16LE(device_address,register_address,callback[,timeout])

Prečíta dáta z registra vo formáte UInt16LE

Zoznam argumentov metódy:

Názov Popis
device_address Adresa zariadenia MODBUS (Number)
register_address Adresa registra MODBUS (Number)
callback Metóda spätného volania odpovede: (data,err)=>{}
Názov Popis
data Dáta odpovede (Number)
err Chybová sprava (String,undefined = bez chyby)
timeout Časovač prerušenia v milisekundách (Number). Predvolené 500ms

Príklad:


let xsp=sp.open({device_sn:"a7a56bd92336995658b6b");
let xmodbus=modbus(sxp);
xmodbus.read_holding_UInt16LE(0x01,0x0001,(data,err)=>{

    if(!err){
        console.log("Hodnota registra: ",data);
    }else console.error("Dopyt zlyhal");

})


              

Metóda: {modbus}.read_holding_UInt16BE(device_address,register_address,callback[,timeout])

Prečíta dáta z registra vo formáte UInt16BE

Zoznam argumentov metódy:

Názov Popis
device_address Adresa zariadenia MODBUS (Number)
register_address Adresa registra MODBUS (Number)
callback Metóda spätného volania odpovede: (data,err)=>{}
Názov Popis
data Dáta odpovede (Number)
err Chybová sprava (String,undefined = bez chyby)
timeout Časovač prerušenia v milisekundách (Number). Predvolené 500ms

Príklad:


let xsp=sp.open({device_sn:"a7a56bd92336995658b6b");
let xmodbus=modbus(sxp);
xmodbus.read_holding_UInt16BE(0x01,0x0001,(data,err)=>{

    if(!err){
        console.log("Hodnota registra: ",data);
    }else console.error("Dopyt zlyhal");

})


              

Metóda: {modbus}.read_holding_FloatLE(device_address,register_address,callback[,timeout])

Prečíta dáta z registra vo formáte FloatLE

Zoznam argumentov metódy:

Názov Popis
device_address Adresa zariadenia MODBUS (Number)
register_address Adresa registra MODBUS (Number)
callback Metóda spätného volania odpovede: (data,err)=>{}
Názov Popis
data Dáta odpovede (Number)
err Chybová sprava (String,undefined = bez chyby)
timeout Časovač prerušenia v milisekundách (Number). Predvolené 500ms

Príklad:


let xsp=sp.open({device_sn:"a7a56bd92336995658b6b");
let xmodbus=modbus(sxp);
xmodbus.read_holding_FloatLE(0x01,0x0001,(data,err)=>{

    if(!err){
        console.log("Hodnota registra: ",data);
    }else console.error("Dopyt zlyhal");

})


              

Metóda: {modbus}.read_holding_FloatBE(device_address,register_address,callback[,timeout])

Prečíta dáta z registra vo formáte FloatBE

Zoznam argumentov metódy:

Názov Popis
device_address Adresa zariadenia MODBUS (Number)
register_address Adresa registra MODBUS (Number)
callback Metóda spätného volania odpovede: (data,err)=>{}
Názov Popis
data Dáta odpovede (Number)
err Chybová sprava (String,undefined = bez chyby)
timeout Časovač prerušenia v milisekundách (Number). Predvolené 500ms

Príklad:


let xsp=sp.open({device_sn:"a7a56bd92336995658b6b");
let xmodbus=modbus(sxp);
xmodbus.read_holding_FloatBE(0x01,0x0001,(data,err)=>{

    if(!err){
        console.log("Hodnota registra: ",data);
    }else console.error("Dopyt zlyhal");

})


              
Posledná úprava: 13.09.2024
Nenašli ste čo ste hľadali?
Ak Vám v článku niečo chýba, alebo ste v ňom našli chybu, dajte nám o tom vedieť. Pomáhate nám tak zlepšovať naše produkty.
Odoslať
send
V tomto článku
vertical_align_top
close
close
Zatvoriť
close