ATD, spol. s r.o.

Lonworks, řízení přes webové rozhraní web base controling

  • Zvětšit velikost písma
  • Výchozí velikost písma
  • Zmenšit velikost písma
Home LonWorks Gateway GW717 - Serial gateway

LONET SGW111 (GW707, GW717) - LonWorks Serial Gateway

Stručný popis

LONET SGW111 (GW707, GW717) - LonWorks Serial Gateway je dalším členem rodiny modulárního systému LONET. LONET SGW111 (GW707, GW717) zajišťuje přístup k síťovým proměnným ( Network variable ) aplikací založených na technologii LonWorks. Přístupem je myšleno jak čtení hodnot ( poll ), tak zápis ( update ) hodnot do síťových proměnných. Přístup je realizován přes sériové rozhraní ( RS 232 neboli EIA-232) s jednoduchým textově založeným protokolem. Nutným doplňkem LONET SGW111 (GW707, GW717) je SLTA (Serial LonTalk Adapter). Podle typu použitého SLTA (jeho transceiveru) je určen typ sítě LonWorks ( FT-10, TP-78, TP-1250, RS-485).

Základní údaje

  • Napájení Adaptér ~ 9 - 15V
  • Pracovní prostředí -40 až +40°C, 25-90% R.V., 50°C, nekondenzující
  • Sériový port 0 připojení k SLTA
  • Sériový port 1 aplikační rozhraní - volitelné parametry ( rychlost, parita, stop bit )
  • Aplikační protokol - textově orientovaný, příkazy GET, SET, ADD, ADI, MEM, SNV, ERS
  • SLTA-10 : FT-10, TP-78, TP-1250, RS-485

 

Produkt : GW717 | Serial gateway | Jednotková cena : 17800,00 Kč
 

 

Nahoru

Zapojení

LONET SGW111 (GW707, GW717) má dně sériové rozhraní EIA 232 s konektory DB9. První je určené pro připojení k SLTA a druhé pro připojení uživatelské strany systému. Zapojení je patrné na blokovém schématu níže.

Nahoru

Protokol

V této sekci je popsán protokol komunikace uživatelské aplikace se zařízením LONET SGW111 (GW707, GW717) přes jeho druhé sériové rozhraní. Protokol je založen na textovém (ASCII) formátu příkazů. Každý příkaz je složen ze 3 znaků kódu příkazu následován mezerou oddělený řetězec znaků s parametry příkazu. Příkaz je ukončen znakem konce řádku \n ( 0x0a h ) Parametry nemusejí být obsaženy, pak znak konce řádku je hned za kódem příkazu

Příkazy se dělí do dvou skupin. V první skupině jsou příkazy pro manipulaci (ADD, ADI, MEM, ERS, SNV) s databází ( tabulkou ) síťových proměnných(dále jen NV) a v druhé skupině jsou příkazy (GET, SET) pro manipulaci s hodnotami NV.

Nahoru

ADD a ADI bez parametrů - výpis všech NV v uzlu

Příkaz

ADD\n
ADI\n

Popis

Po obdržení příkazu ADD nebo ADI a následném přijetí service pin message ( dále jen SPM ), se vypíší informace o všech NV uzlu ze kterého byla přijata SPM. Vypisované informace zahrnují index NV v uzlu, SNVT (standard network variable type), jméno, "self-identification" řetězec a směr ( direction IN/OUT ). Výpis je ukončen prázdnou řádkou.

Vrátí

Seznam všech NV v uzlu

Příklad

-> - směr do SWG111
<- - směr z SWG111
->ADD\n
<-InfoNV0\n
<-InfoNV1\n
.....
<-InfoNVn\n
Nahoru

ADD - přidání NV do databáze

Příkaz

ADD seznam_jmen_NV_k_pridani\n

Popis

Po obdržení příkazu ADD zařízení čeká na SPM. Argumentem příkazu jsou mezerami oddělená jména NV, které chceme přidat. Po přijetí SPM, začne zařízení jednotlivé NV přidávat do vnitřní databaze. O každé přidané NV se vypíše řádek s informacemi obsahující následující položky:
SNVT,Jméno,index\n
Položka index složí k pozdějšímu adresovaní NV v příkazech GET a SET. Po přidání poslední NV se vypíše prázdný řádek.

Vrátí

Pro každou přidanou NV: SNVT,jméno,index
Zakončeno prázdným řádkem.

Příklad

->ADD nviX nvoY\n
<-109,nviX,12\n
<-105,nvoY,13\n
<-\n
Nahoru

ADI - přidání NV do databáze

Příkaz

ADI seznam_indexu_NV_v_uzlu_k_pridani\n

Popis

Po obdržení příkazu ADI zařízení čeká na SPM. Argumentem příkazu jsou mezerami oddělené indexy NV ( NVindexy), které chceme přidat. Tyto tzv. NVindexy jsou indexy v tabulce síťových proměnných v uzlu ( neuron čipu ). Pozor nezaměňovat NVindexy s indexy pro adresovaní NV ve vnitřní databazi. Po přijetí SPM, začne zařízení jednotlivé NV přidávat do vnitřní databaze. O každé přidané NV se vypíše řádek s informacemi obsahující následující položky:
SNVT,NVindex,index\n
Položka index složí k pozdějšímu adresovaní NV v příkazech GET a SET. Po přidání poslední NV se vypíše prázdný řádek.

Vrátí

Pro každou přidanou NV: SNVT,NVIndex,index
Zakončeno prázdným řádkem.

Příklad

->ADI 1 2 3\n
<-109,1,14\n
<-105,2,15\n
<-95,3,16\n
<-\n
Nahoru

ERS - smazání všech NV z databáze

Příkaz

ERS\n

Popis

Smaže všechny dříve přidané NV z vnitřní databaze.

Vrátí

\n

Příklad

->ERS\n
<-\n
Nahoru

MEM - poslední přidaná NV

Příkaz

MEM\n

Popis

Příkaz MEM vrátí poslední přídanou NV do vnitřní databáze ve formátu: index,snvt

Příklad

->MEM\n
<-3,95\n
Nahoru

SNV - výpis všech podporovaných snvt

Příkaz

SNV\n

Popis

Příkaz SNV vrátí seznam všech podporovaných SNVT. Každý typ na jednom řádku. Výpis je ukončen prázdným řádkem.

Příklad

->SNV\n
<-105,SNVT_temp_p\n
<-109,SNVT_Occupancy\n
<-81,SNVT_lev_percent\n
<-\n
Nahoru

GET - vrácení hodnoty NV (poll)

Příkaz

GET index\n

Popis

Příkaz GET vrátí hodnotu NV. NV je určena v argumnetu uvedeným indexem do vnitřní databaze. Formát hodnoty a možné SNVT jsou uvedeny v sekci Naučené SNVT

Vrátí

Hodnotu NV

Příklad

->GET 1\n
<-225\n
Nahoru

SET - zapíše hodnotu NV (update)

Příkaz

SET index,hodnota\n

Popis

Příkaz SET nastavuje novou hodnotu proměnný. V argumentu jsou uvedeny dvě čárkami oddělené položky. První je index NV ve vnitřní databazi a druhá je nová hodnota NV. Formát hodnoty a možné SNVT jsou uvedeny v sekci Naučené SNVT

Vrátí

\n

Příklad

->SET 1,255\n
<-\n
Nahoru

Naučené SNTV - meze a formát v/v

Uživatelská aplikace pro přístup k NV používá příkazy GET a SET. Pro vyjádření hodnoty NV používá formát dat přizpůsobený konkrétní aplikaci. Formát závisí na standardizovaném typu NV - tzv. SNVT (standard network variable type). Software LONET SGW111 (GW707, GW717) převádí hodnoty v těchto formátech na formát používaný v síti LonWorks a opačně. Více o SNVT naleznete na stránkách firmy Echelon Echelon.
Nahoru

SNVT_temp_p

SNVT_temp_p se používá v HVAC ( heating, ventilation, air-conditioning ) aplikacích pro práci s teplotou.

Vlastnosti

SNVT# 105
size 2B
type signed long
Meze -2731 - 3276 (-273,1 - 327,6)
Hodnota od GET text->toInterger->/10->hodnota NV
Hodnota pro SET hodnota*10->round->toString->parametr

Příklady

GET 12\n dej mi hodnotu NV na indexu 12
122\n "122"->122->/10->12,2
SET 12 122\n 12,21->122,1->122->"122"
\n v případě, že operace proběhla v pořádku je vrácen prázdný řádek
Nahoru

SNVT_Occupancy

Vlastnosti

SNVT# 109
size 1B
type enum {OC_OCCUPIED,OC_UNOCCUPIED,OC_BYPASS,OC_STANDBY,OC_NUL=-1}
Meze prvky výčtu
Hodnota od GET text->identifikátor výčtové konstanty
Hodnota pro SET identifikátor výčtové konstanty->text

Příklady

GET 11\n dej mi hodnotu NV na indexu 11
OC_BYPASS\n
SET 11 OC_BYPASS\n OC_BYPASS->"OC_BYPASS"
\n v případě, že operace proběhla v pořádku je vrácen prázdný řádek
Nahoru

SNVT_lev_percent

Vlastnosti

SNVT# 81
size 2B
type signed long
Meze -163 - 163
Hodnota od GET text->toInteger->hodnota NV
Hodnota pro SET hodnota->toString->parametr

Příklady

GET 10\n dej mi hodnotu NV na indexu 10
12\n "12"->12->hodnota NV
SET 10 110\n 110->"110"
\n v případě, že operace proběhla v pořádku je vrácen prázdný řádek
Nahoru

SNVT_switch

Vlastnosti

SNVT# 95
size 2B
type struct{
unsigned value;
signed state;
}
Meze value: 0 - 100
state: 0 a 1
Hodnota od GET value_text,state_text
value_text->toInteger->hodnota value
state_text->toInteger->hodnota state
Hodnota pro SET value_text,state_text
value->toString->value_text
state->toString->state_text

Příklady

GET 22\n dej mi hodnotu NV na indexu 22
12,1\n "12"->12 - value
"1"->1 - state
SET 22 50,1\n 50->"50" - value
1->"1" - state
\n v případě, že operace proběhla v pořádku je vrácen prázdný řádek
Nahoru

SNVT_temp_setpt

Vlastnosti

SNVT# 106
size 12B
type struct{
signed long occupied_cool;
signed long standby_cool;
signed long unoccupied_cool;
signed long occupied_heat;
signed long standby_heat;
signed long unoccupied_heat;
}
Meze všechny prvky -2731 - 3276 (-273,1 - 327,6)
Hodnota od GET occupied_cool_txt,standby_cool_txt,unoccupied_cool_txt,occupied_heat_txt,standby_heat_txt,unoccupied_heat_txt
*_txt->toInterger->/10->hodnota NV
Hodnota pro SET occupied_cool_txt,standby_cool_txt,unoccupied_cool_txt,occupied_heat_txt,standby_heat_txt,unoccupied_heat_txt
hodnota*10->round->toString->*_txt

Příklady

GET 31\n dej mi hodnotu NV na indexu 31
122,111,-54,221,23,289\n "122"->122->12,2 - u všech prvků trasformace totožná
SET 31,122,11,333,-45,145,54\n 12,21->122,1->122->"122" - u všech prvků trasformace totožná
\n v případě, že operace proběhla v pořádku je vrácen prázdný řádek
Nahoru

SNVT_hvac_mode

Vlastnosti

SNVT# 108
size 1B
type enum{HVAC_AUTO, HVAC_HEAT, HVAC_MRNG_WRMUP, HVAC_COOL, HVAC_NIGHT_PURGE, HVAC_PRE_COOL, HVAC_OFF, HVAC_TEST, HVAC_EMERG_HEAT, HVAC_FAN_ONLY, HVAC_FREE_COOL, HVAC_ICE, HVAC_MAX_HEAT, HVAC_ECONOMY, HVAC_DEHUMID, HVAC_NUL}
Meze prvky výčtu
Hodnota od GET text->identifikátor výčtové konstanty
Hodnota pro SET identifikátor výčtové konstanty->text

Příklady

GET 27\n dej mi hodnotu NV na indexu 27
HVAC_HEAT"\n
SET 27 HVAC_MRNG_WRMUP\n HVAC_MRNG_WRMUP->"HVAC_MRNG_WRMUP"
\n v případě, že operace proběhla v pořádku je vrácen prázdný řádek
Nahoru

SNVT_hvac_status

Vlastnosti

SNVT# 112
size 12B
type struct{
hvat_t mode; // typ jako SNVT_hvac_mode
signed long heat_output_primary;
signed long heat_output_secondary;
signed long cool_output;
signed long econ_output;
signed long fan_output;
unsigned short in_alarm;
}
Meze typ hvat_t jako SNVT_hvac_mode
typy signed long jako SNVT_lev_percent
typ unsigned short prvku in_alarm 0 a 1
Hodnota od GET mode_txt, heat_output_primary_txt, heat_output_secondary_txt, cool_output_txt, econ_output_txt, in_alarm_txt
mode_txt jako u typu SNVT_hvac_mode
in_alarm_txt ->toInteger->hodnota in_alarm
ostatní jako u typu SNVT_lev_percent
Hodnota pro SET mode_txt, heat_output_primary_txt, heat_output_secondary_txt, cool_output_txt, econ_output_txt, in_alarm_txt
in_alarm->tiString->in_alarm_txt
mode_txt -jako u typu SNVT_hvac_mode
ostatní jako u typu SNVT_lev_percent

Příklady

GET 42\n dej mi hodnotu NV na indexu 42
HVAC_HEAT,122,11,84,21,-3,0\n
SET 42 HVAC_TEST,31,122,11,120,-45,0\n
\n v případě, že operace proběhla v pořádku je vrácen prázdný řádek
 

Váš košík je prázdny