Zunanji vmesnik GNSS sprejemnika JAVAD GREIS

Specifikacije

  • Izdelek: GREIS GNSS sprejemnik
  • Različica vdelane programske opreme: 4.5.00
  • Zadnja revizija: 14. oktober 2024

Informacije o izdelku

GREIS GNSS sprejemnik je visoko natančna zunanja vmesniška naprava, ki jo je zasnoval JAVAD GNSS in ponuja natančne informacije o položaju.

Uvod

GREIS je vsestranska naprava, ki se uporablja za različne namene. Tukaj je nekaj ključnih točk:

  • Kaj je GREIS: Je zunanja vmesniška naprava za sprejemnike GNSS.
  • Kako se GREIS uporablja: Uporablja se za izboljšanje funkcionalnosti in natančnosti sistemov GNSS.
  • Seznami: Za podrobne sezname podprtih funkcij in funkcij glejte priročnik.
  • Predmeti: Raziščite različne predmete, ki jih je mogoče uporabiti z GREIS za posebne naloge.

Jezik vnosa sprejemnika

Jezik vnosa sprejemnika omogoča uporabnikom interakcijo z napravo z uporabo posebnih ukazov in sintakse. Tukaj je na kratkoview:

  • jezik pramples: Učite se iz priloženih prampda bi razumeli, kako komunicirati z napravo.
  • Sintaksa jezika: Seznanite se s sintaksnimi pravili za pošiljanje ukazov prejemniku.
  • Ukazi: Uporabite različne ukaze za nadzor in konfiguracijo naprave glede na vaše zahteve.

Sporočila prejemnika

Razumevanje sporočil prejemnika je ključnega pomena za interpretacijo podatkov in informacij o stanju. Tukaj morate vedeti:

  • konvencije: Sledite določenim formatom in vrednostim za natančno razlago sporočil.
  • Standardni tok sporočil: Raziščite standardni format sporočila za dosleden prenos podatkov.

pogosta vprašanja

V: Ali lahko spremenim vdelano programsko opremo sprejemnika GREIS GNSS?
O: Ne, spreminjanje vdelane programske opreme ni dovoljeno v skladu s predpisi o avtorskih pravicah JAVAD GNSS.

V: Kako lahko dostopam do podpore za tehnične težave, povezane s sprejemnikom GREIS GNSS?
O: Za tehnično podporo se za pomoč obrnite neposredno na JAVAD GNSS.

Zahvaljujemo se vam za nakup sprejemnika JAVAD GNSS. Gradivo, ki je na voljo v tem referenčnem vodniku (»vodnik«), je pripravil JAVAD GNSS, Inc. za lastnike izdelkov JAVAD GNSS. Zasnovan je za pomoč lastnikom pri uporabi sprejemnika, njegova uporaba pa je predmet teh določil in pogojev (»Določila in pogoji«).

Pogoji in določila
PROFESIONALNA UPORABA Sprejemniki JAVAD GNSS so zasnovani za uporabo s strani profesionalcev. Od uporabnika se pričakuje, da bo dobro poznal in razumel uporabniška in varnostna navodila pred uporabo, pregledovanjem ali prilagajanjem. Med uporabo sprejemnika vedno nosite zahtevano zaščito (zaščitne čevlje, čelado itd.).

ZAVRNITEV GARANCIJE, RAZEN KAKRŠNEGA KOLI JAMSTVA V TEM PRIROČNIKU ALI GARANCIJSKI LISTI, KI SPREMLJA IZDELEK, STA TA PRIROČNIK IN PREJEMNIK NA VOLJO »KOT JE«. DRUGIH JAMSTEV NI. JAVAD GNSS ZAVRAČA KAKRŠNO KOLI NAZNAČENO JAMSTVO GLEDE PRIMERNOSTI ZA PRODAJO ALI PRIMERNOSTI ZA KAKRŠNO KOLI DOLOČENO UPORABO ALI NAMEN. JAVAD GNSS IN NJEGOVI DISTRIBUTERJI NE BODO ODGOVORNI ZA TEHNIČNE ALI UREDNIŠKE NAPAKE ALI IZPUSTITVE, KI SO VSEBOVANE TUKAJ; NITI ZA NAKLJUČNO ALI POSLEDIČNO ŠKODO, KI BI IZVEDILA OPREMLJANJA, IZVEDBE ALI UPORABE TEGA MATERIALA ALI PREJEMNIKA. TAKA ZAVRNJENA ŠKODA VKLJUČUJE, VENDAR NI OMEJENA NA IZGUBO ČASA, IZGUBO ALI UNIČENJE PODATKOV, IZGUBO DOBIČKA, PRIHRANKE ALI DOHODKKA ALI IZGUBO UPORABE IZDELKA. POLEG TEGA JAVAD GNSS NI ODGOVOREN ALI NI ODGOVOREN ZA ŠKODO ALI STROŠKE, NASTALE V ZVEZI S PRIDOBIVANJEM NADOMESTNIH IZDELKOV ALI PROGRAMSKE OPREME, ZAHTEVKI DRUGIH, NEVDOBNOSTI ALI KAKRŠNE KOLI DRUGE STROŠKE. JAVAD GNSS V NOBENEM PRIMERU NE ODGOVARJA ​​ZA ŠKODO ALI DRUGAČE VAS ALI DRUGE OSEBE ALI PRAVNIKA, KI BI PRESEGALA NAKUPNO CENA ZA SPREJEMNIKA.
LICENČNA POGODBA Uporaba katerega koli računalniškega programa ali programske opreme, ki jo zagotovi JAVAD GNSS ali prenese iz JAVAD GNSS webspletnega mesta (»programska oprema«) v povezavi s prejemnikom pomeni sprejemanje teh določil in pogojev v tem vodniku ter strinjanje s spoštovanjem teh določil in pogojev. Uporabnik prejme osebno, neizključno, neprenosljivo licenco za uporabo takšne programske opreme pod pogoji

PREDGOVOR Določila in pogoji
navedeno tukaj in v vsakem primeru samo z enim sprejemnikom ali enim računalnikom. Programske opreme ali te licence ne smete dodeliti ali prenesti brez izrecnega pisnega soglasja JAVAD GNSS. Ta licenca velja do preklica. Licenco lahko kadar koli prekinete tako, da uničite programsko opremo in vodnik. JAVAD GNSS lahko prekine licenco, če ne upoštevate katerega koli od določil ali pogojev. Strinjate se, da boste programsko opremo in vodnik uničili, ko prenehate uporabljati sprejemnik. Vse lastniške, avtorske in druge pravice intelektualne lastnine v programski opremi pripadajo JAVAD GNSS. Če ti licenčni pogoji niso sprejemljivi, vrnite neuporabljeno programsko opremo in vodnik.

ZAUPNOST Ta priročnik, njegova vsebina in programska oprema (skupaj »zaupne informacije«) so zaupne in zaščitene informacije družbe JAVAD GNSS. Strinjate se, da boste z zaupnimi informacijami JAVAD GNSS ravnali s stopnjo skrbnosti, ki ni manj stroga od stopnje skrbnosti, ki bi jo uporabili pri varovanju svojih najdragocenejših poslovnih skrivnosti. Nič v tem odstavku vas ne omejuje pri razkritju zaupnih informacij vašim zaposlenim, kot je morda potrebno ali primerno za delovanje ali skrb za prejemnika. Ti zaposleni morajo prav tako ohraniti zaupnost informacij o zaupnosti. V primeru, da ste pravno prisiljeni razkriti katero koli zaupno informacijo, morate JAVAD GNSS nemudoma obvestiti, da lahko zahteva zaščitni nalog ali drugo ustrezno pravno sredstvo.
WEBSPLETNO MESTO; DRUGE IZJAVE JAVAD GNSS ne vsebuje nobene izjave webspletno mesto (ali katero koli drugo webspletnem mestu) ali v katerem koli drugem oglasu ali literaturi JAVAD GNSS ali ki ga je ustvaril zaposleni ali neodvisni izvajalec JAVAD GNSS, spremeni ta določila in pogoje (vključno z licenco programske opreme, garancijo in omejitvijo odgovornosti).
VARNOST Nepravilna uporaba sprejemnika lahko povzroči poškodbe oseb ali lastnine in/ali okvaro izdelka. Sprejemnik smejo popravljati le pooblaščeni servisni centri JAVAD GNSS.
RAZNO Zgornje pogoje in določila lahko JAVAD GNSS kadar koli spremeni, spremeni, nadomesti ali prekliče. Zgornji pogoji in določila bodo urejeni in razloženi v skladu z zakoni zvezne države Kalifornije, brez sklicevanja na kolizije zakonov.

Kaj je GREIS
GREIS je vmesniški jezik, ki uporabniku omogoča učinkovito komunikacijo s sprejemniki GNSS z dostopom do vseh njihovih zmogljivosti in funkcij.
GREIS predstavlja generično jezikovno strukturo sprejemnika za celotno paleto strojne opreme JAVAD GNSS. Ta jezikovna struktura je neodvisna od sprejemnika in odprta za prihodnje spremembe ali razširitve. GREIS temelji na enotnem pristopu, ki uporabniku omogoča nadzor JAVAD GNSS sprejemnika z uporabo ustreznega nabora poimenovanih objektov. Komunikacija s temi objekti je dosežena preko vnaprej določenih ukazov in sporočil. Za število ali vrsto uporabljenih sprejemnih objektov ni posebnih omejitev.

Kako se uporablja GREIS
Vsak sistem, ki komunicira s sprejemnikom JAVAD GNSS prek enega od njegovih vrat (serijski, vzporedni, USB, Ethernet itd.), bo uporabil ukaze in sporočila GREIS za izpolnitev zahtevane naloge. Par tipičnih aplikacij, pri katerih ima GREIS zelo pomembno vlogo, sta, prvič, uporaba ročnih krmilnikov za komunikacijo s sprejemniki med delovanjem na terenu v raziskavah in projektih RTK ali, drugič, pri prenosu podatkov iz sprejemnikov v namizne sisteme za nadaljnjo objavo. predelava. Sama aplikacija za naknadno obdelavo ne uporablja ukazov GREIS, vendar se mora zavedati sporočil GREIS, da iz podatkov izvleče podatke files.


Ena od pomembnih lastnosti GREIS-a je, da se lahko učinkovito uporablja tako za avtomatsko kot ročno krmiljenje sprejemnikov JAVAD GNSS. Za ročno upravljanje bo uporabnik preko terminala v sprejemnik vnesel potrebne ukaze GREIS. To je enostavno doseči, saj je GREIS zasnovan kot človeku berljiv besedilni vmesnik. Po drugi strani pa GREIS upošteva precej stroga pravila, ki olajšajo uporabo v aplikacijah.

Seznami
GREIS močno uporablja koncept seznamov. Seznami se uporabljajo tako v vnosnem jeziku prejemnika kot v standardnih besedilnih sporočilih.

UVOD Predmeti
Seznami v GREIS so predstavljeni z zaporedjem elementov, ločenih z vejico (,, koda ASCII 44) in v oklepajih ({}, kodi ASCII 123 in 125):
{element1,element2,element3}
Elementi seznama pa so lahko sami seznami:
{e1,{ee21,ee22},e3}
Tako je zgornja definicija rekurzivna, tako da so dovoljeni seznami poljubne globine gnezdenja. Elementi, ki niso seznami, se imenujejo listni elementi ali preprosto listi. Elementi seznamov so lahko prazni, v tem primeru rečemo, da je element izpuščen. Na primerample, na spodnjem seznamu je drugi element izpuščen:
{e1,,e3}
Presledki pred in za ločili so dovoljeni in prezrti. Če imajo vsi elementi seznama na začetku isti podniz (predpono), se lahko ta podniz premakne iz oklepaja, ki obdaja seznam, npr.
elem{1,2,3}
je krajša oblika od
{elem1,elem2,elem3}

Elementi so lahko zaprti v dvojne narekovaje (“, koda ASCII 34), ki so med razčlenjevanjem odstranjeni. Znotraj narekovanega elementa posebni simboli (oklepaji, vejice itd.) izgubijo svojo vlogo in se štejejo za običajne znake. Druga uporaba narekovajev je razlikovanje med pogoji "element ni določen" in "podan prazen element". Prvo označimo tako, da preprosto izpustimo element s seznama, drugo pa tako, da med vejice postavimo dvojne narekovaje. Narekovaji so uporabni tudi, kadar je treba v nizu imeti presledke na začetku ali na koncu. Če želite v element postaviti dvojni narekovaj, ga postavite v narekovaje in dvojni narekovaj v notranjosti ubežite s poševnico nazaj (, koda ASCII 92). Če želite v niz v narekovajih postaviti samo poševnico nazaj, jo umaknite z drugo poševnico nazaj, nprample:
Example: "Niz z "narekovaji", poševnico nazaj \ in posebnimi znaki, {}"
1.4 predmetov
V kontekstu modela, na katerem temelji GREIS, je sprejemnik JAVAD GNSS identificiran z nizom poimenovanih objektov.

GREIS

www.javad.com

20

UVOD Predmeti
Identifikatorji objektov
Objekt je definiran kot entiteta strojne ali programske opreme prejemnika, ki jo je mogoče nasloviti, nastaviti ali poizvedovati. Entitete strojne opreme se običajno imenujejo naprave, medtem ko so predmeti vdelane programske opreme običajno files in parametri. Vrata sprejemnika in pomnilniški moduli so dobri, npramples naprav. Vse naprave, filein parametre GREIS obravnava na enoten način. Vsak objekt ima povezan niz atributov, do katerih je mogoče dostopati, jih definirati in/ali spremeniti prek GREIS.


1.4.1 Identifikatorji objektov
Omenili smo že, da je sprejemnik skupek predmetov (naprav, files, sporočila, parametri itd.) v kontekstu modela GREIS. Za namene naslavljanja objektov v ukazih sprejemnika je treba vsakemu objektu dodeliti edinstven identifikator.


Objekti v sprejemniku so logično organizirani v skupine. Skupina sama je tudi predmet in pripada drugi skupini, razen če je korenska skupina. Tako so vsi objekti v sprejemniku organizirani v drevesno hierarhijo, ki se začne pri eni korenski skupini. Ta predstavitev je podobna organizaciji files v imenike (mape), ki jih pozna večina uporabnikov računalnikov.
V GREIS so skupine objektov predstavljene kot seznami ustreznih imen objektov. Ime objekta je edinstveno znotraj seznama, ki mu predmet pripada. Globalno enolični identifikator objekta je definiran kot vsa imena objektov na poti skozi drevo objektov od korenskega seznama do objekta, ločena s poševnico naprej (/). Sam korenski seznam je označen z eno samo poševnico.
Exampdatoteke identifikatorjev objektov so:
Example: korenska skupina:
/
Example: elektronski ID prejemnika:
/par/rcv/id
Example: Hitrost prenosa serijskih vrat A:
/par/dev/ser/a/rate
Example: Atributi (velikost in čas zadnje spremembe) datoteke file IME (file atributi se razlikujejo od spodaj obravnavanih atributov objekta):
/log/IME
Example: stavek NMEA GGA:

GREIS

www.javad.com

21

UVOD Periodični izhod
Vrste predmetov
/msg/nmea/GGA
Vsi predmeti imajo enega ali več atributov, povezanih z njimi. Atributi predmeta so identificirani tako, da se identifikatorju objekta doda znak & in ime atributa. Primarni atribut vsakega predmeta je vrednost. Do tega atributa vedno implicitno dostopajo ukazi GREIS. Nekateri predmeti imajo lahko dodatne atribute, nprample: nprample: serijska vrata A privzeta hitrost prenosa:
/par/dev/ser/a/rate&def
Example: Vsebina file IME:
/log/IME&vsebina
1.4.2 Vrste predmetov
Vsak objekt v sprejemniku ima z njim povezan tip GREIS. Vrsta objekta določa njegovo obnašanje glede na ukaze GREIS. Natančneje, tip določa, katere vrednosti lahko sprejme objekt in kateri posebni ukazi so uporabni za objekt.
Glejte “Primarni tipi objektov” na strani 184 za podroben opis trenutno podprtih tipov objektov.

GREIS

1.5 Periodični izhod

Pomembno vlogo pri delovanju sprejemnika igra njegova zmožnost periodičnega oddajanja nekaterih informacij, kot so različne vrste meritev, izračunane vrednosti itd., po določenem urniku. GREIS definira bogat nabor sporočil, ki vsebujejo različne vrste informacij v različnih formatih, ki so minimalne izhodne enote, in zagotavlja metode za zahtevanje periodičnega izpisa katere koli kombinacije sporočil v poljubnem vrstnem redu na katerem koli od podprtih medijev, primernih za izpis podatkov. Vsak podprt medij, primeren za izhod podatkov, se v GREIS imenuje izhodni tok.
Za vsak izhodni tok prejemnik vzdržuje seznam sporočil, ki so trenutno omogočena za izhod v tok, imenovan izhodni seznam. Vrstni red, v katerem so izhodna sporočila, se ujema z vrstnim redom sporočil na izhodnem seznamu. Poleg tega ima vsako sporočilo, ki je prisotno na izhodnem seznamu, svoj nabor parametrov razporejanja, povezanih z njim. Parametri razporejanja, priloženi sporočilu na izhodnem seznamu, definirajo razpored izhoda tega določenega sporočila v ta določen izhodni tok. GREIS ponuja tri kom-

www.javad.com

22

UVOD Periodični izhod Izhodna doba in faza
mands, em, out in dm, da omogoči učinkovito manipulacijo izhodnih seznamov in parametrov razporejanja.
Parametri razporejanja sporočil obsegajo štiri polja: obdobje, faza, štetje in zastavice, od katerih ima vsako drugačno vlogo v definiciji izhodnega razporeda. Spodaj bomo opisali, kako natančno njihove vrednosti vplivajo na izhod, vendar v bistvu obdobje določa interval med izhodi sporočila; faza določa časovni zamik trenutkov izhoda glede na časovne trenutke, ko je trenutni čas večkratnik obdobja; štetje, če je večje od nič, omejuje število izhodov sporočila; medtem ko zastave filed omogoča nekaj natančnega prilagajanja izhodnega procesa.

1.5.1 Izhodno obdobje in faza

Opomba:

Polji obdobja in faze parametrov razporejanja sporočil so vrednosti s plavajočo vejico v območju [0…86400) sekund. Njihov natančen pomen je opisan spodaj.
Ko je bit F_CHANGE nastavljen v polju zastavic parametrov razporejanja, polje faze izgubi svojo običajno vlogo in namesto tega postane "obdobje prisilnega izhoda". Za podrobnosti si oglejte spodnji opis zastavice F_CHANGE.
Sprejemnik ima svojo notranjo časovno mrežo, ki je definirana z uro sprejemnika in vrednostjo parametra /par/raw/curmsint, ki določa korak notranjih epoh sprejemnika. Notranje epohe sprejemnika se pojavijo, ko je čas sprejemnika večkratnik koraka. Čas sprejemnika pa je definiran kot vrednost ure sprejemnika modulo en dan (86400 sekund). Sprejemnik pregleduje izhodne sezname samo v notranjih obdobjih sprejemnika, tako da noben izhod ne more biti ustvarjen pogosteje od tega.
Upoštevajoč notranjo časovno mrežo, spremenljivki periode in faze definirata časovne trenutke izhoda sporočila, kot sledi: prejemnik bo sporočilo oddal samo ob prejemnikovih časih Tout, ki hkrati izpolnjujeta naslednji dve enačbi:

Toutmod obdobje = faza

(1)

Tout = N korak (2)

GREIS

kjer je N celo število z vrednostmi [0,1,2,…,(86400/korak)-1].
Prva enačba določa osnovno pravilo izpisa sporočil, druga pa nalaga dodatne omejitve, povezane z epohami notranjih sprejemnikov. Upoštevajte, da je v najbolj običajnem primeru, ko sta obdobje in faza večkratnika koraka, druga enačba samodejno izpolnjena, ko je izpolnjena prva enačba. Upoštevajte tudi, da če
86400 (obdobje modifikacije) 0,

www.javad.com

23

UVOD Periodični izhod
Izhodno štetje

Example:
Example: nprample:

dejanski interval med zadnjim sporočilom, poslanim pred preklopom dneva, in prvim sporočilom po preklopu dneva se bo razlikoval od vrednosti obdobja.
Razmislite o nekaj bivšihamples, ki ponazarja ta mehanizem:
Recimo, da je obdobje 10 s, faza 2.2 s in korak 0.2 s. Ker lahko Tout glede na drugo enačbo zavzame le vrednosti, ki so večkratne s korakom, bo levi del prve enačbe zavzel naslednje vrednosti: 0, 0.2, 0.4, …, 9.8, 0, …, iz katerih le vrednost 2.2 faza tekem. Ta ujemanja se bodo pojavila in sporočilo bo prikazano vsakič, ko Tout sprejme eno od naslednjih vrednosti: 2.2 s, 12.2 s, 22.2 s itd.
Recimo, da je obdobje 10 s, faza 2.2 s in korak 0.5 s. Prejemnik ne bo oddal sporočila, ker zgornji par simultanih enačb ni nikoli izpolnjen.
Recimo faza > obdobje. Prejemnik sploh ne bo oddal sporočila, ker prva enačba ne bo nikoli izpolnjena.

1.5.2 Izhodno štetje

Opomba:

Polje štetja parametrov razporejanja sporočil je celoštevilska vrednost v območju [-256…32767) in ima dva različna namena:
1. Ko je štetje 0, bo izpisano neomejeno število sporočil. Ko je štetje večje od 0, določa, kolikokrat bo sporočilo izpisano. V tem primeru se števec zmanjša za 1 vsakič, ko je sporočilo izhodno, in ko postane 0, se v polju zastavic nastavi bit F_DISABLED. Razporejevalnik sporočil ne izda sporočil z nastavljenim bitom F_DISABLED.
2. Ko je štetje nastavljeno na vrednost v območju [-256…-1], izhod sporočila ni potlačen, polje za štetje pa služi povsem drugemu namenu. Omogoča zavijanje sporočila v posebno [>>] sporočilo pred izpisom (glejte “[>>] Ovoj” na strani 132). Vrednost štetja se nato uporabi za nastavitev polja id v ustvarjenem [>>] sporočilu, tako da je id številčno enak (-1 – štetje).
Funkcija zavijanja je uporabna, nprample, za strežniško aplikacijo, ki prejema sporočila od prejemnika in jih posreduje več odjemalcem. Zahteva lahko zavijanje poljubnih sporočil v [>>] sporočila z različnimi identifikatorji, odvije prejeta sporočila in pošlje podatke določenim odjemalcem(-am) na podlagi prejetega ID-ja. Z uporabo te funkcije takšni aplikaciji ni treba poznati nobenih drugih formatov podatkov, razen formata sporočila [>>], in lahko uporablja en sam kanal komunikacije s prejemnikom za prejemanje in pošiljanje sporočil v različnih formatih.

GREIS

www.javad.com

24

1.5.3 Izhodne zastavice

UVOD Periodični izhod
Izhodne zastavice

Polje zastavic parametrov razporejanja sporočil je 16-bitno široko bitno polje. Vsak bit tega bitnega polja je ločena zastavica in služi drugačnemu namenu. Sledi seznam zastavic za razporejanje sporočil.
Tabela 1-1. Zastavice za razporejanje sporočil

bit #
0 1 2 3 4 5 6 7 8 9 10 11 12

HEX
0x0001 0x0002 0x0004 0x0008 0x0010 0x0020 0x0040 0x0080 0x0100 0x0200 0x0400 0x0800 0xF000

Ime
F_OUT F_CHANGE F_OUT_ON_ADD F_NOTENA F_FIX_PERIOD F_FIX_PHASE F_FIX_COUNT F_FIX_FLAGS rezervirano rezervirano rezervirano F_DISABLED rezervirano

Opomba: Imena polj so tukaj predstavljena samo za namen sklicevanja nanje v tem priročniku. V ukazih GREIS jih ni mogoče uporabiti.

F_OUT Če je ta zastavica nastavljena, bodo prva sporočila po priklicu ustreznega ukaza izdana v epohi notranjega sprejemnika, ki je najbližje času izvajanja ukaza, ne glede na to, kaj je določeno s parametrom razporejanja obdobja.
F_CHANGE Če je ta zastavica nastavljena, bo ustrezno sporočilo izpisano le, če so se podatki sporočila spremenili od zadnjega izhoda sporočila v danem izhodnem toku. Sprejemnik preveri, ali so se podatki sporočila spremenili samo v trenutkih, ki jih določata enačbi (1), (2), kjer je fazna spremenljivka nastavljena na nič, spremenljivka periode pa nastavljena na vrednost polja periode. Faza parametrov razporejanja sporočil, ki v tem primeru izgubi prvotno funkcijo, zdaj igra vlogo prisilne izhodne periode. »Prisilni izhod« pomeni, da bo ustrezno sporočilo izpisano ne glede na to, ali se bo njegova vsebina spremenila ali ne v časovnih trenutkih, ki jih določata enačbi (1), (2), kjer je spremenljivka obdobja nastavljena na vrednost polja faze in faza spremenljivka je nastavljena na nič. Če je faza polja enaka nič, potem sprejemnik ne izvede nobenega prisilnega izhoda, tako da bo ustrezno sporočilo izpisano samo pod pogojem, da so se njegovi podatki spremenili.

GREIS

www.javad.com

25

UVOD Periodični izhod
Izhodne zastavice
F_OUT_ON_ADD Če je ta zastavica nastavljena, bo prvo sporočilo izdano takoj po izvedbi ustreznega ukaza em ali out. Ta zastavica je prezrta za večino sporočil1.
F_NOTENA Če je ta zastavica nastavljena za sporočilo na izhodnem seznamu, zastavica F_DISABLED za to sporočilo ne bo izbrisana, ko je sporočilo omogočeno, zato bo njegov izhod ostal začasno ustavljen. Na primerample, se ta zastavica uporablja, da se ne izpišejo nekatera sporočila iz privzetega nabora sporočil, ko uporabnik sproti spremeni izhodno obdobje, ne da bi prej onemogočil izpis.
F_FIX_PERIOD, F_FIX_PHASE, F_FIX_COUNT, F_FIX_PERIOD Če so v parametrih razporejanja nastavljeni na 1, preprečujejo spremembe ustreznih polj teh parametrov razporejanja prek ukazov em in out.
F_DISABLED Uporabnik ga ne more izrecno programirati. Ko omogočite sporočilo s pozitivnim štetjem, po tem, ko je bilo to sporočilo štetokrat izpisano, razporejevalnik sporočil to zastavico nastavi na 1. Ta zastavica se počisti na 0, ko je sporočilo ponovno omogočeno, razen če je zastavica F_NOTENA nastavljena za to sporočilo.

1. Trenutno samo dve sporočili GREIS, [JP] in [MF], spoštujeta to oznako.

GREIS

www.javad.com

26

2. poglavje
VNOSNI JEZIK SPREJEMNIKA

To poglavje opisuje sintakso in semantiko vnosnega jezika prejemnika. Začnemo z nekaterimi bivšimiamples, da bi bralcu dali občutek jezika, nato se obrnite na podrobno definicijo sintakse in nato opišite vse definirane ukaze skupaj z njihovo semantiko.

2.1 Jezik Npramples

Tukaj je nekaj bivšihampdatoteke resničnih izjav, ki jih prejemnik razume skupaj z odgovori prejemnika. Boste našli več exampuporabe določenih ukazov v ustreznih pododdelkih. Vhod v sprejemnik je označen z znakom, medtem ko je izhod sprejemnika označen z znakom:

Example: Prosite prejemnika, da natisne svoj elektronski ID. Prejemnik ustvari prikazano odgovorno sporočilo:

Example:

natisni,/par/rcv/id RE00C QP01234TR45
Prosite sprejemnika, naj nastavi hitrost prenosa svojih serijskih vrat A na 9600. Sprejemnik uspešno izvede ukaz in ne ustvari nobenega odgovora.

set,/par/dev/ser/a/rate,9600
Example: Uporabite isti ukaz kot v prejšnjem primeruample, vendar prisili prejemnika, da ustvari odgovor z uporabo identifikatorja stavka.

Example:

%set_rate%set,/par/dev/ser/a/rate,9600 RE00A%set_rate%
Poskusite nastaviti previsoko hitrost prenosa. Prejemnik odgovori s sporočilom o napaki, čeprav nismo uporabili identifikatorja izjave.

set,/par/dev/ser/a/rate,1000000 ER016{4,vrednost izven obsega}

Opomba:

Prejemnik svoje običajne odgovore in odgovore o napakah vedno postavi v dve standardni sporočili, [RE] oziroma [ER]. Za več informacij o formatu sporočil GREIS glejte “Splošni format sporočil” na strani 64. Sama sporočila [RE] in [ER] sta opisana v “Interaktivna sporočila” na strani 129.

GREIS

www.javad.com

27

VHODNI JEZIK SPREJEMNIKA Sintaksa jezika
2.2 Sintaksa jezika
GREIS opredeljuje vrstice znakov ASCII poljubne dolžine1, razmejene z vrnitvijo na začetek ( , decimalna koda ASCII 13) ali pomik vrstice ( , decimalna koda ASCII 10) znaki, ki so sintaksni elementi najvišje ravni jezika. V GREIS-u so prazne vrstice dovoljene in prezrte. Posledično je lahko črta razmejena s katero koli kombinacijo in/ali znakov. Omogoča GREIS-u brezhibno podporo konvencij o koncu vrstic WindowsTM, MacTM in UNIXTM.
Jezik vnosa sprejemnika razlikuje med velikimi in malimi črkami. To pomeni, da nprample, nizi GREIS, greis in gReIs, ki so različni nizi, jih prejemnik dejansko obravnava kot take.
Znak za številko (#, koda ASCII 35) je znak za uvod v komentar. Prejemnik ignorira vse od tega znaka do konca vrstice.
Ko je komentar (če obstaja) odstranjen iz vrstice, prejemnik odstrani prve in končne presledke, nato pa vrstico razdeli na izjave. Stavki so ločeni s podpičjem (;, koda ASCII 59) ali z dvema ampersand (&&, kode ASCII 38) ali z dvema navpičnima črtama (||, kode ASCII 124). Stavki v vrstici se nato izvajajo po vrstnem redu, od leve proti desni. Če stavek, ki se konča z ločilom &&, povzroči napako, se preostali stavki v vrstici ne izvedejo. Stavek If, ki se konča z || ločilo se uspešno izvede, ostali stavki v vrstici se ne izvedejo. Stavek, ki se konča s podpičjem, nikoli ne ustavi izvajanja zaporedja stavkov. Upoštevajte, da je konec vrstice sam po sebi zaključek stavka, zato vam ni treba postaviti enega od eksplicitnih ločil stavkov na konec vrstice.
Oblika izjave je naslednja:
[%ID%][COMMAND][@CS], kjer oglati oklepaji označujejo neobvezna polja, pred in za vsakim poljem pa je dovoljeno poljubno število presledkov. Takšni presledki so prezrti, razen za namene izračuna kontrolne vsote, glejte spodaj. Polja so:
Identifikator stavka %ID%, kjer ID označuje poljuben niz, po možnosti prazen. Identifikator, če je prisoten, prejemnik nespremenjen kopira v odgovor na stavek. Vsaka izjava z identifikatorjem bo vedno ustvarila odgovor prejemnika. Dovoljen je tudi stavek, ki vsebuje samo identifikator; v takem primeru bo prejemnik le ustvaril odgovorno sporočilo.
COMMAND (po možnosti prazen) seznam, kjer se prvi element imenuje ime ukaza. Označuje dejanje, ki ga je treba izvesti. Ostali elementi (če obstajajo) so ukaz

GREIS

1. Trenutna implementacija GREIS v sprejemnikih podpira vrstice do dolžine 256 znakov.

www.javad.com

28

VHODNI JEZIK SPREJEMNIKA Sintaksa jezika
argumenti. Oklepaje, ki obkrožajo seznam ukazov, je mogoče izpustiti. Glejte “Seznami” na strani 19 za sintakso seznamov. Kontrolna vsota @CS, kjer je CS 8-bitna kontrolna vsota, oblikovana kot 2-bajtno šestnajstiško število. Pred izvedbo stavka s kontrolno vsoto bo prejemnik primerjal vhodno kontrolno vsoto CS s tisto, ki jo je izračunala vdelana programska oprema, in zavrnil izvedbo stavka, če se ti kontrolni vsoti ne ujemata. Kontrolna vsota se izračuna začenši s prvim znakom stavka, ki ni prazen, do vključno znaka @. Glejte “Izračunavanje kontrolnih vsot” na strani 579 za podrobnosti.
Identifikator izjave, %ID%, služi za naslednje namene:
1. Vsili odziv sprejemnika na ukaz. 2. Omogoča pošiljanje več ukazov z različnimi identifikatorji prejemniku
brez čakanja na odgovor za vsak ukaz, nato prejme odgovore in pove, kateri odgovor ustreza kateremu ukazu. 3. Pomaga vzpostaviti sinhronizacijo s sprejemnikom tako, da omogoči preverjanje, ali določen odziv sprejemnika ustreza določenemu ukazu in ne drugemu ukazu, izdanemu pred ali po njem.
Seznam, imenovan možnosti, je mogoče dodati kateremu koli elementu UKAZA za dvopičjem (:, koda ASCII 58). Če seznam možnosti vsebuje en sam element, lahko okoliške oklepaje izpustite. Seznam možnosti, pripet seznamu, se razširi na vsak element seznama, čeprav imajo možnosti, ki so izrecno dodane elementu seznama, prednost pred razširjenimi možnostmi. Na primerample,
{e1,{e2:{o1,,o3},e3}}:{o4,o5}
je enakovredno:
{e1:{o4,o5},{e2:{o1,o5,o3},e3:{o4,o5}}}
Upoštevajte tudi, kako zgrešena možnost o2 omogoča, da se možnost o5 razširi na seznam možnosti za element e2.
Število in pomen argumentov in možnosti v ukazu sta odvisna od posamezne akcije ukaza in je opredeljena v opisu vsakega ukaza prejemnika. Poleg tega, če opis ukaza podaja nekatere možnosti, vendar so nekatere ali vse v stavku izpuščene, so privzete vrednosti za zgrešene možnosti nadomeščene. Privzete vrednosti za možnosti so določene tudi v opisu vsakega ukaza sprejemnika.

GREIS

www.javad.com

29

VHODNI JEZIK SPREJEMNIKA Sintaksa jezika

Za referenco je spodnja tabela, ki vsebuje vsa zaporedja znakov, ki imajo poseben pomen v vnosnem jeziku sprejemnika:

Tabela 2-1. Posebni znaki jezika vnosa

Znaki Decimalna koda ASCII

Pomen

10

ločilo vrstic

13

ločilo vrstic

#

35

;

59

ločilo stavkov na začetku znaka komentarja

&&

38

||

124

%

37

stavki in ločilni stavki ali identifikacijska oznaka ločilnega stavka

@

64

{

123

}

125

,

44

:

58

kontrolna vsota označi začetek seznama označi konec seznama označi elemente seznama ločilo možnosti označi

34

narekovaj

92

pobegniti

GREIS

www.javad.com

30

JEZIK VNOSA SPREJEMNIKA Ukazi
2.3 Ukazi
V tem razdelku opisujemo vse ukaze, definirane v GREIS. Specifikacije sintakse in semantike vsakega ukaza spremljajo razlage examples. Za podroben opis predmetov, uporabljenih kot argumenti v examples, glejte 4. poglavje na strani 181.

GREIS

www.javad.com

31

2.3.1 komplet

JEZIK VNOSA SPREJEMNIKA Nastavljeni ukazi

Ime
nastavite nastavljeno vrednost predmeta.
Sinopsis
Oblika: niz, predmet, vrednost Možnosti: brez
Argumenti
object identifikator ciljnega objekta. Če se objekt ne začne z »/«, se predpona »/par/« samodejno vstavi pred objekt pred izvedbo ukaza.
vrednost, ki bo dodeljena ciljnemu objektu. Obseg dovoljenih vrednosti kot tudi semantika dodelitve sta odvisna od vrste objekta in je za vsak podprt objekt določena kasneje v tem priročniku.
Možnosti
Noben.
Opis
Ta ukaz dodeli vrednost objektu. Odgovor se ne ustvari, razen če pride do napake ali odziva vsili identifikator stavka.
Examples
Example: Nastavite hitrost prenosa serijskih vrat C na 115200. Kar koli od:
set,/par/dev/ser/c/rate,115200 set,dev/ser/c/rate,115200
Example: Nastavite hitrost prenosa serijskih vrat A na 9600 in vsilite odgovor:
%%set,dev/ser/a/rate,9600 RE002%%

GREIS

www.javad.com

32

2.3.2 natisni

JEZIK VNOSA SPREJEMNIKA Ukazi se natisnejo

Ime
natisni izpisna vrednost predmeta.

Sinopsis
Format: print,object Možnosti: {names}

Argumenti
object identifikator objekta za izhodni objekt. Če se objekt ne začne z »/«, se predpona »/par/« samodejno vstavi pred objekt pred izvedbo ukaza.

Možnosti

Tabela 2-2. povzetek možnosti tiskanja

Vrsta imena

Vrednote

imena boolean vklop, izklop

Privzeto
izklopljeno

imena, če je izklopljena, izpiše samo vrednosti predmetov. Ko je vklopljen, poleg vrednosti objektov izpiše imena objektov v obliki IME=VREDNOST.
Opis
Ta ukaz natisne vrednost predmeta, po želji pred vrednost doda ime ustreznega predmeta. Odgovor je vedno ustvarjen in kot odgovor na en ukaz za tiskanje je lahko ustvarjeno več kot eno sporočilo [RE].
Vrednost objekta tipa list se natisne kot seznam vrednosti za vsak objekt na seznamu. To se uporablja rekurzivno, dokler niso doseženi listni objekti, tako da tiskanje objekta nelistnega tipa dejansko izpiše celotno poddrevo, začenši z navedenim objektom. V primeru tiskanja seznamov se lahko ustvari več sporočil [RE]. Vendar pa lahko pride do razdelitve izhoda le takoj za ločilnimi znaki seznama.

GREIS

www.javad.com

33

JEZIK VNOSA SPREJEMNIKA Ukazi se natisnejo
Examples
Example: Natisnite trenutno obdobje interne časovne mreže sprejemnika. Karkoli od:
print,/par/raw/curmsint RE004 100 print,raw/curmsint RE004 100
Example: Natisnite trenutno obdobje časovne mreže notranjega sprejemnika skupaj z imenom objekta. Karkoli od:
print,/par/raw/curmsint:na RE015/par/raw/curmsint=100 print,raw/curmsint:na RE015/par/raw/curmsint=100
Example: Tiskanje informacij o različici sprejemnika:
print,rcv/ver RE028{“2.5 Sep,13,2006 p2″,0,71,MGGDT_5,brez, RE00D {brez,brez}}
Example: Natisnite informacije o različici sprejemnika skupaj z ustreznimi imeni:
print,rcv/ver:on RE043/par/rcv/ver={main=”2.5 Sep,13,2006 p2”,boot=0,hw=71,board=MGGDT_5, RE00C modem=none, RE017 pow={fw=none,hw=none}}
Example: Natisnite vsa sporočila, omogočena za izhod v serijska vrata B, skupaj z njihovimi parametri razporejanja:
print,out/dev/ser/b:on RE02D/par/out/dev/ser/b={jps/RT={1.00,0.00,0,0×0}, RE01A jps/SI={1.00,0.00,0,0×0}, RE01A jps/rc={1.00,0.00,0,0×0}, RE01A jps/ET={1.00,0.00,0,0×0}, RE01D nmea/GGA={10.00,5.00,0,0×0}}

GREIS

www.javad.com

34

2.3.3 seznam

JEZIK VNOSA SPREJEMNIKA Seznam ukazov

Ime
seznam seznam vsebine predmeta.
Sinopsis
Format: seznam[,predmet] Možnosti: brez
Argumenti
object identifikator objekta za izhodni objekt. Če je object izpuščen, se predpostavlja /log. Če se objekt ne začne z »/«, se predpona »/log/« samodejno vstavi pred objekt pred izvedbo ukaza.
Možnosti
Noben.
Opis
Ta ukaz izpiše imena vseh članov objekta. Odgovor je vedno ustvarjen in kot odgovor na en ukaz seznama je lahko ustvarjeno več kot eno sporočilo [RE]. Če podani objekt ni vrste seznama, se ustvari prazno sporočilo [RE]. Če je podani objekt seznam, se natisne seznam imen vsakega predmeta na seznamu. To se uporablja rekurzivno, dokler niso doseženi listni objekti, tako da naštevanje objekta, ki ni listni tip, učinkovito izpiše celotno poddrevo, začenši s podanim objektom. V primeru tiskanja seznamov se lahko ustvari več sporočil [RE]. Vendar pa lahko pride do razdelitve izhoda le takoj za ločilnimi znaki seznama.
Examples
Example: Prazen odgovor za navedbo predmeta, ki ni na seznamu:
seznam,/par/rcv/ver/main RE000
Example: odgovor o napaki za seznam neobstoječega predmeta:
seznam,/does_not_exist ER018{2,,napačen 1. parameter}

GREIS

www.javad.com

35

JEZIK VNOSA SPREJEMNIKA Seznam ukazov
Example: Pridobite seznam obstoječih dnevnikovfiles. bodisi od
seznam,/seznam dnevnikov
bo ustvaril enak rezultat, npr.
RE013{log1127a,log1127b}
Example: Seznam vseh standardnih sporočil GREIS, ki jih podpira sprejemnik:
list,/msg/jps RE03D{JP,MF,PM,EV,XA,XB,ZA,ZB,YA,YB,RT,RD,ST,LT,BP,TO,DO,OO,UO,GT, RE040 NT,GO,NO,TT,PT,SI,NN,EL,AZ,SS,FC,RC,rc,PC,pc,CP,cp,DC,CC,cc,EC, RE040 CE,TC,R1,P1,1R,1P,r1,p1,1r,1p,D1,C1,c1,E1,1E,F1,R2,P2,2R,2P,r2, RE040 p2,2r,2p,D2,C2,c2,E2,2E,F2,ID,PV,PO,PG,VE,VG,DP,SG,BI,SE,SM,PS, RE040 GE,NE,GA,NA,WE,WA,WO,GS,NS,rE,rM,rV,rT,TM,MP,TR,MS,DL,TX,SP,SV, RE031 RP,RK,BL,AP,AB,re,ha,GD,LD,RM,RS,IO,NP,LH,EE,ET}
Example: Seznam vseh sporočil v privzetem naboru sporočil:
seznam,/msg/def RE040{jps/JP,jps/MF,jps/PM,jps/EV,jps/XA,jps/XB,jps/RT,jps/RD,jps/SI, RE040 jps/NN,jps/EL,jps/FC,jps/RC,jps/DC,jps/EC,jps/TC,jps/CP,jps/1R, RE040 jps/1P,jps/2R,jps/2P,jps/E1,jps/D2,jps/E2,jps/SS,jps/SE,jps/PV, RE040 jps/ST,jps/DP,jps/TO,jps/DO,jps/UO,jps/IO,jps/GE,jps/NE,jps/GA, RE01D jps/NA,jps/WE,jps/WA,jps/WO}

GREIS

www.javad.com

36

GREIS

2.3.4 em & out

JEZIK VNOSA SPREJEMNIKA Ukaza em & out

Ime
em, out omogoči periodični izpis sporočil.

Sinopsis
Oblika: Oblika: Možnosti:

em,[target],messages out,[target],messages {period, phase, count, flags}

Argumenti
ciljajte na kateri koli izhodni tok ali niz sporočil. Če cilj ni določen, se predpostavlja trenutni terminal, /cur/term.
sporočila seznam (z ali brez oklepajev) imen sporočil in/ali imen nizov sporočil, ki jih je treba omogočiti. Če se nekatera navedena imena ne začnejo z »/«, se predpona »/msg/« samodejno vstavi pred takšna imena pred izvedbo ukaza.

Možnosti

Tabela 2-3. povzetek možnosti em in out

Vrsta imena

Vrednote

Privzeto

plavajoča perioda [0…86400)

fazni plavajoči [0…86400)

štetje celo število [-256…32767] 0 za em 1 za ven

zastavice celo število [0…0xFFFF] –

obdobje, faza, štetje, parametri za razporejanje sporočil.
Opis
Ti ukazi omogočajo občasno pošiljanje določenih sporočil v cilj, pri čemer uveljavijo parametre razporejanja sporočil, ki so določeni z možnostmi. Odgovor se ne ustvari, razen če pride do napake ali če je odgovor vsiljen z identifikatorjem stavka.
Ukaza em in out sta enaka, le da je privzeta vrednost možnosti štetja nastavljena na 0 za em in 1 za out. Ukaz out je le bolj priročen način za zahtevo

www.javad.com

37

JEZIK VNOSA SPREJEMNIKA Ukaza em & out

Opomba:

enkraten izpis sporočil(a). V tem opisu bomo govorili le o njih, čeprav vse velja tudi za out.
Spodnji opis pričakuje, da je bralec seznanjen z gradivom v razdelku »Periodični izhod« na strani 22.
Za vsak izhodni tok obstaja ustrezen izhodni seznam sporočil1,2, ki so trenutno omogočeni za izhod v dani tok. Ko sporočilo, posredovano kot argument ukazu em, trenutno ni na izhodnem seznamu, ukaz em doda navedeno sporočilo na konec seznama. Ko je sporočilo, posredovano ukazu em, že na izhodnem seznamu, ukaz em samo spremeni parametre razporejanja tega sporočila in ne spremeni položaja sporočila na seznamu.
Ker ukaz em združi določena sporočila z izhodnim seznamom, je pogosto dobro uporabiti ukaz dm za brisanje izhodnega seznama za dani tok, preden izdate ukaze em.
Ukaz em obdeluje seznam sporočil eno sporočilo naenkrat, od leve proti desni in od prvega sporočila niza sporočil do zadnjega sporočila niza sporočil. Če naleti na ime, ki ne ustreza nobenemu podprtemu sporočilu prejemnika ali naboru sporočil, si zapomni, da je med izvajanjem prišlo do napake, vendar ne ustavi obdelave seznama sporočil. Na ta način bodo omogočena vsa sporočila s seznama sporočil, ki jih je mogoče omogočiti, in le ena napaka bo sporočena, če enega ali več navedenih sporočil ni mogoče omogočiti.
Ko ukaz em obdela trenutno sporočilo, se izračunajo končni operativni parametri razporejanja sporočil na ustreznem izhodnem seznamu sporočil ob upoštevanju več virov informacij o parametrih razporejanja, zlasti:
1. Vrednosti, izrecno podane v možnostih ukaza em.
2. Privzete vrednosti možnosti ukaza em.
3. Parametri razporejanja, določeni za dano sporočilo kot del ustreznega niza sporočil. Te se upoštevajo samo pri omogočanju sporočila z navedbo nabora sporočil, ne posameznega sporočila.
4. Trenutni parametri razporejanja sporočila na ustreznem izhodnem seznamu (če obstaja).
5. Privzeti parametri razporejanja, podani za dano sporočilo kot del ustrezne skupine sporočil.
Zgornji viri parametrov so navedeni po prednostnem vrstnem redu, pri čemer ima prvi najvišjo prednost, in se uporabljajo posamezno za vsakega od štirih parametrov razporejanja. Zato vrednosti iz (1) preglasijo vrednosti iz (2), nastale vrednosti

GREIS

1. Za tok NAME se ustrezen izhodni seznam imenuje /par/out/NAME 2. Trenutna vdelana programska oprema ima poljubno omejitev za največje število sporočil na izhodnem seznamu, nastavljeno na 49.

www.javad.com

38

JEZIK VNOSA SPREJEMNIKA Ukaza em & out

preglasi vrednost iz (3) itd. Če pa so nekateri od bitov F_FIX_PERIOD, F_FIX_PHASE, F_FIX_COUNT ali F_FIX_FLAGS nastavljeni v polju zastavic naslednjega vira, ustrezna polja tega naslednjega vira ne bodo preglasena.

Examples

Example: Omogoči enkratni izhod sporočila NMEA GGA na trenutni terminal:

em,,nmea/GGA:{,,1}

Enako kot zgoraj, vendar z uporabo out namesto em:

zunaj,,nmea/GGA
Example: Omogoči izhod privzetega niza sporočil v trenutni dnevnikfile A z uporabo privzetih izhodnih parametrov. Karkoli od:

Example:

em,/cur/file/a,/msg/def em,/cur/file/a,def
Omogoči izhod privzetega nabora sporočil v trenutni dnevnikfile A vsakih 10 sekund Za druge izhodne parametre bodo uporabljene njihove privzete vrednosti:

em,/cur/file/a,def:10
Example: Omogoči izhod privzetega nabora sporočil v trenutni terminal z uporabo privzetih izhodnih parametrov. Karkoli od:

Example:

em,/cur/term,/msg/def em,,/msg/def em,,def
Omogoči izhod sporočil GREIS [~~](RT) in [RD] na trenutni terminal. Karkoli od:

Example:

em,,/msg/jps/RT,/msg/jps/RD em,,jps/{RT,RD}
Omogoči izhod NMEA sporočil GGA in ZDA na trenutni terminal vsakih 20 sekund:

Example:

em,,nmea/{GGA,ZDA}:20
Omogoči izhod sporočil [SI], [EL] in [AZ] na serijska vrata A. Nastavi parametre razporejanja za [SI] tako, da bo interval med dvema naslednjima sporočiloma [SI] enak 10 sekundam, če sovpadata, in drugače 1 sekunda; izpiše le prvih petdeset [SI] sporočil. Poleg tega sprejemnik nastavi izhodni interval na 2 sekundi za sporočila [EL] in [AZ]:

em,/dev/ser/a,jps/{SI:{1,10,50,0×2},EL,AZ}:2

GREIS

www.javad.com

39

JEZIK VNOSA SPREJEMNIKA Ukaza em & out
Example: Omogoči izhod vrst sporočil RTCM 2.x 1 in 31 na serijska vrata B z izhodnim intervalom 3 sekunde in vrst sporočil RTCM 2.x 18, 19, 3, 22 na vrata C z izhodnim intervalom 1 sekundo za vrste 18 in 19; in 10 sekund za tipa 3 in 22:
em,/dev/ser/b,rtcm/{1,31}:3; em,/dev/ser/c,rtcm/{18:1,19:1,22,3}:10
Example: Prilagodite privzeti nabor sporočil, da vsebujejo samo NMEA ZDA in GGA:
dm,/msg/def em,/msg/def,/msg/nmea/{ZDA,GGA}

GREIS

www.javad.com

40

2.3.5 dm

JEZIK VNOSA SPREJEMNIKA Ukazi dm

Ime
dm onemogoči občasno oddajanje sporočil.
Sinopsis
Format: dm[,[cilj][,sporočila]] Možnosti: brez
Argumenti
ciljajte na kateri koli izhodni tok ali niz sporočil. Če cilj ni določen, se predpostavlja trenutni terminal, /cur/term. Če se nekatera navedena imena ne začnejo z »/«, se predpona »/msg/« samodejno vstavi pred takšna imena pred izvedbo ukaza.
sporočila seznam sporočil, ki jih je treba onemogočiti, z ali brez oklepajev ali katero koli skupino sporočil ali nabor sporočil. Če ni podano nobeno sporočilo, so vsi periodični izhodi v cilj onemogočeni.
Možnosti
Noben.
Opis
Ta ukaz onemogoči občasno pošiljanje navedenih sporočil v ciljni objekt. Odgovor se ne ustvari, razen če pride do napake ali če je odgovor vsiljen z identifikatorjem stavka.
Če ni določeno nobeno sporočilo, je ves periodični izhod v cilj onemogočen. Če je cilj trenutni dnevnik,file in ni določeno nobeno sporočilo, vsi izhodi v file je onemogočen, file je zaprt, ustrezen trenutni dnevnik pafile je nastavljen na nič.
Če je na seznamu sporočil določeno sporočilo, ki trenutno ni omogočeno za izhod v dani cilj, ukaz dm ne ustvari ustrezne napake. Čeprav ta pogoj ne onemogoči poročanja o drugih možnih napakah.
Examples
Example: onemogoči vsa sporočila, ki se izpisujejo v trenutni dnevnikfile A in zaprite file:
dm,/cur/file/a

GREIS

www.javad.com

41

JEZIK VNOSA SPREJEMNIKA Ukazi dm
Example: Onemogoči ves periodični izhod v trenutni terminal. Karkoli od:
dm,/cur/term dm
Example: Onemogoči izhod sporočila GREIS [~~](RT) v serijska vrata B:
dm,/dev/ser/b,/msg/jps/RT
Example: Onemogoči izpis sporočila GREIS [DO] v trenutni dnevnikfile B:
dm,/cur/file/b,/msg/jps/DO
Example: Odstranite sporočilo GREIS [PM] iz privzetega nabora sporočil:
dm,/msg/def,/msg/jps/PM
Example: Onemogoči izhod vseh sporočil NMEA na trenutni terminal:
dm,/cur/term,/msg/nmea
Example: Onemogoči izhod NMEA sporočil GGA in ZDA v trenutni terminal. Karkoli od:
dm,/cur/term,/msg/nmea/GGA,/msg/nmea/ZDA dm,,/msg/nmea/GGA,/msg/nmea/ZDA dm,,nmea/GGA,nmea/ZDA dm,,nmea/{GGA,ZDA}

GREIS

www.javad.com

42

2.3.6 začet

JEZIK VNOSA SPREJEMNIKA Ukazi init

Ime
init inicializira objekte.

Sinopsis
Format: init,object[/] Možnosti: brez

Argumenti
object objekt, ki ga želite inicializirati. / če je prisoten in je objekt vrste list, namesto tega inicializira vse vsebovane objekte
samega predmeta.

Možnosti
Noben.

Opomba: Opomba:

Opis
Ta ukaz inicializira določene objekte. Odgovor se ne ustvari, razen če pride do napake ali če je odgovor vsiljen z identifikatorjem stavka.
Natančna semantika inicializacije je odvisna od predmeta, ki se inicializira, vendar se na splošno lahko obravnava kot obračanje predmeta v njegovo "privzeto" ali "čisto" stanje. Na primerample, za parametre to pomeni nastavitev njihovih vrednosti na ustrezne privzete vrednosti, za filenaprava za shranjevanje pomeni ponovno formatiranje osnovnega medija itd.
Inicializacija nekaterih objektov bo povzročila ponovni zagon sprejemnika. To trenutno velja za inicializacijo obstojnega pomnilnika sprejemnika (/dev/nvm/a).
Čeprav se lahko v prihodnosti spremeni, je trenutna implementacija tega generičnega ukaza v sprejemnikih precej omejena. Pravzaprav samo inicializacija objektov, ki jih najdemo v exampspodaj je trenutno podprt.

Examples
Example: Počisti NVRAM in znova zaženi sprejemnik. Vsi podatki, shranjeni v NVRAM (almanahi, efemeride itd.), bodo izgubljeni, vsi parametri bodo nastavljeni na privzete vrednosti po ponovnem zagonu:
init,/dev/nvm/a
Example: jasne efemeride:
init,/eph/

GREIS

www.javad.com

43

JEZIK VNOSA SPREJEMNIKA Ukazi init
Example: Nastavite vse parametre sprejemnika na privzete vrednosti:
init,/par/
Example: Nastavite vse parametre WLAN na privzete vrednosti. Za uveljavitev sprememb je potreben ponovni zagon enote:
init,/par/net/wlan/
Example: Inicializirajte file sistem (tj. preoblikovati osnovni medij). Vse fileshranjeni v sprejemniku bodo izgubljeni:
init,/dev/blk/a
Example: Inicializira vse nabore sporočil na privzete vrednosti:
init,/msg/

GREIS

www.javad.com

44

2.3.7 ustvariti

JEZIK VNOSA SPREJEMNIKA Ustvari ukaze

Ime
ustvari ustvari nov predmet.

Sinopsis
Format: create[,object] Možnosti: {log}

Argumenti
object identifikator objekta predmeta, ki ga je treba ustvariti. Če se objekt ne začne z »/«, se predpona »/log/« samodejno vstavi pred objekt pred izvedbo ukaza. Če je izpuščeno, je ustvarjanje a file je domnevno in edinstveno file ime se ustvari samodejno.

Možnosti

Tabela 2-4. ustvarite povzetek možnosti

Ime Vrsta Vrednosti
niz dnevnika a,b,...

Privzeto
a

zapiši dnevnik-file ustvarjeno file je treba dodeliti. dnevnik-file izbrano je /cur/log/X, kjer je X vrednost možnosti1.
Opis
Ta ukaz ustvari nov objekt. Odgovor se ne ustvari, razen če pride do napake ali če je odgovor vsiljen z identifikatorjem stavka.
Tako lokacijo v drevesu kot vrsto ustvarjenega objekta definirata argument object.
Ustvarite lahko dve vrsti predmetov:
1. Files. Nov file se ustvari vsakič, ko identifikator objekta podaja objekt v poddrevesu /log ali ko je argument objekta izpuščen.
2. Specifikatorji sporočil. Nov specifikator sporočila se ustvari vsakič, ko identifikator objekta podaja objekt v nizu sporočil (npr. /msg/def).

GREIS

1. Trenutna vdelana programska oprema podpira eno ali dve hkratni log-fileodvisno od posameznega sprejemnika.

www.javad.com

45

JEZIK VNOSA SPREJEMNIKA Ustvari ukaze
Ustvarjanje Files
Pri ustvarjanju files, je argument objekta izpuščen ali ima obliko /log/IME, kjer je IME ime file ustvariti, /log/ pa ni obvezen. V prvem primeru bo sprejemnik samodejno izbral edinstveno ime za file. V slednjem primeru mora biti navedeno IME niz do 31 znakov in ne sme vsebovati niti presledkov niti naslednjih znakov: “,{}()@&”/”.
Če je file /log/NAME že obstaja, ukaz za ustvarjanje ne bo uspel in prikazalo se bo sporočilo o napaki. Posledično ni nobenega načina, da bi zabrisali nekatere obstoječe files z ukazom create.
Po novem file je uspešno ustvarjen, je dodeljen enemu od trenutnih dnevnikovfileodvisno od vrednosti dnevnika_file možnost. Če je ustrezen dnevnik-file že kaže na drugo file ko se izvede create, stari dnevnik-file bo zaprt in izhod se bo nadaljeval v novo file brez kakršne koli prekinitve.
Ustvarjanje specifikatorjev sporočil
Pri dodajanju sporočil v nabor sporočil ima argument objekta obliko /msg/SET/GROUP/MSG, kjer je SET ime nabora sporočil, kjer naj se ustvari novo sporočilo, SKUPINA je ime skupine, ki ji sporočilo pripada , MSG pa je ime samega sporočila (npr. /msg/def/nmea/GGA ali /msg/jps/rtk/min/jps/ET).
Parametri razporejanja sporočil bodo prekopirani iz tistih, ki so definirani za dano sporočilo v skupini sporočil. Če je potrebno, uporabite ukaz set, da prilagodite parametre razporejanja.
Examples
Ustvarjanje Files
Example: Ustvari novo file s samodejno ustvarjenim imenom in ga dodelite trenutnemu dnevnikufile A (/cur/file/a). Karkoli od:
ustvarjati ustvarjati,:a
Example: Ustvari nov dnevnik-file z imenom "my_file”. Karkoli od:
ustvari,/log/my_file:a create,my_file
Example: Ustvari files “file1" in "file2", in jih dodelite /cur/file/a in /cur/file/b:
ustvariti,file1:a; ustvariti,file2:b

GREIS

www.javad.com

46

JEZIK VNOSA SPREJEMNIKA Ustvari ukaze
Ustvarjanje specifikatorjev sporočil
Example: dodajte /msg/jps/ET sporočila privzetemu naboru sporočil:
ustvari,/msg/def/jps/ET
Example: dodajte sporočilo NMEA GGA privzetemu naboru sporočil in prisilite, da sta njegova doba in faza vedno 10 oziroma 5, ne glede na to, katere vrednosti bodo podane v ukazu em ali out:
ustvari,/msg/def/nmea/GGA set,/msg/def/nmea/GGA,{10,5,,0×30}

GREIS

www.javad.com

47

2.3.8 odstraniti

VNOSNI JEZIK SPREJEMNIKA Ukaze odstranite

Ime
odstraniti odstraniti predmet.
Sinopsis
Oblika: odstrani,predmet[/] Možnosti: brez
Argumenti
object identifikator objekta predmeta, ki ga želite odstraniti. Če se objekt ne začne z »/«, se predpona »/log/« samodejno vstavi pred objekt pred izvedbo ukaza.
/ če je prisoten in je objekt tipa list, odstrani vso vsebino objekta namesto samega predmeta.
Možnosti
Noben.
Opis
Ta ukaz odstrani (izbriše) obstoječi predmet. Odgovor se ne ustvari, razen če pride do napake ali če je odgovor vsiljen z identifikatorjem stavka. Če ni predmeta, določenega z objektom, ali če predmeta ni mogoče odstraniti, se ustvari napaka. Odstraniti je mogoče dve vrsti predmetov:
1. Files. Če file je eden od trenutnih log-files, ukaz ne bo uspel in generirano bo sporočilo o napaki.
2. Specifikatorji sporočil iz nizov sporočil.
Examples
Example: Odstrani dnevnik-file z imenom "IME". Karkoli od:
odstrani,/log/NAME odstrani,NAME
Example: Odstrani vse dnevnikefiles:
odstrani,/log/

GREIS

www.javad.com

48

VNOSNI JEZIK SPREJEMNIKA Ukaze odstranite
Example: Odstranite standardno sporočilo GREIS [GA] iz privzetega nabora sporočil:
odstrani,/msg/def/jps/GA
Example: Odstrani vsa sporočila iz privzetega nabora sporočil:
odstrani,/msg/def/
Example: Odstranite vsa sporočila iz minimalnega nabora standardnih sporočil GREIS, primernih za RTK:
odstrani,/msg/rtk/jps/min/

GREIS

www.javad.com

49

2.3.9 dogodek

VNOSNI JEZIK SPREJEMNIKA Dogodek ukazov

Ime
dogodek ustvari dogodek v prosti obliki.

Sinopsis
Oblika: dogodek, niz Možnosti: brez

Argumenti
string poljuben1 niz, ki vsebuje do 63 znakov.

Možnosti
Noben.

Opomba: nprample:

Opis
Ta ukaz ustvari dogodek v prosti obliki. Odgovor se ne ustvari, razen če pride do napake ali če je odgovor vsiljen z identifikatorjem stavka.
Podan niz skupaj s časom prejema ukaza dogodka je shranjen v sprejemniku v posebnem medpomnilniku dogodkov2. Vsebina tega medpomnilnika je izhodna v vse izhodne tokove, kjer je omogočeno standardno sporočilo GREIS [==](EV) (opisano na strani 131).
Mehanizem dogodkov v prosti obliki je namenjen nadzornim programom za posredovanje poljubnih besedilnih informacij aplikacijam za naknadno obdelavo brez interpretacije teh informacij v sprejemniku. Jedro vdelane programske opreme sprejemnika nikoli samo ne generira dogodkov v prosti obliki, niti nekako ne interpretira informacij, poslanih prek ukazov dogodkov.
Vsi nizi, ki se začnejo s podčrtajem (ASCII 0x5F), so rezervirani za aplikacije JAVAD GNSS. Paziti je treba, da se takšni nizi ne uporabljajo z ukazi za dogodke, razen če svoje naloge ne morete opraviti drugače ali nameravate sodelovati s programsko opremo JAVAD GNSS. V slednjem primeru si oglejte podroben opis dogodkov proste oblike, rezerviran za aplikacije JAVAD GNSS, v vodniku »Oblika okvirja za dogodke proste oblike«, ki je na voljo na http://www.javad.com.
Ustvarite dogodek v prosti obliki, ki vsebuje niz »Info1″:
dogodek, Info1

GREIS

1. Ne pozabite, da če niz vsebuje katerega od znakov, rezerviranih za jezik vnosa prejemnika, morate ta niz dati v dvojne narekovaje.
2. Trenutna vdelana programska oprema zagotavlja dovolj velik medpomnilnik za shranjevanje do šestnajstih 64-bajtnih dogodkov v prosti obliki.

www.javad.com

50

VNOSNI JEZIK SPREJEMNIKA Dogodek ukazov
Example: Ustvari dogodek v prosti obliki, ki vsebuje rezervirane znake:
dogodek,”EVENT{DATA,SENT}”
Example: Ustvari dogodek proste oblike, rezerviran za aplikacijsko programsko opremo JAVAD GNSS (ta dogodek obvesti aplikacijo za naknadno obdelavo o spremembi dinamike):
dogodek,”_DYN=STATIC”
Example: Ustvarite prosto obliko s praznim nizom:
dogodek,””
Example: Ustvari nekaj dogodkov v prosti obliki in vrni sporočila [==](EV) (v vsebini sporočil [==] so nenatisljivi bajti zamenjani s pikami v example):
em,,jps/EV %accepted% event,”some string” RE00A%accepted% ==011…..some_string. %1% dogodek,1; %2% dogodek,2 RE003%1% RE003%2% ==007…..1. ==007…..2. dm,,jps/EV

GREIS

www.javad.com

51

2.3.10 pridobiti

JEZIK VNOSA SPREJEMNIKA Ukazi get

Ime
začnite pridobivati file vsebine z uporabo DTP1.

Sinopsis
Format: get,object[,offset] Možnosti: {timeout,block_size,period,phase,attempts}

Argumenti
predmet identifikator predmeta file ki ga je treba pridobiti. Če se objekt ne začne z »/«, se predpona »/log/« samodejno vstavi pred objekt pred izvedbo ukaza. Če objekt ne obstaja ali ga ni mogoče pridobiti, se ustvari sporočilo o napaki.
odmik odmik v bajtih od začetka file pri kateri začeti pridobivanje. Če je izpuščeno, se predpostavlja 0.

Možnosti

Tabela 2-5. dobite povzetek možnosti

Ime

Vrsta

Vrednote

časovna omejitev

celo število [0…86400], sekunde

velikost_bloka celo število [1…163841]

obdobje

float [0…86400), sekund

faza

float [0…86400), sekund

poskusi celo število [-257…100] 1. 2048 za sprejemnike, ki ne podpirajo TCP ali USB.

Privzeto
10 512 0 0 10

timeout časovna omejitev za DTP. block_size velikost podatkovnega bloka DTP. period izhodno obdobje za filtriranje (glejte spodaj). faza izhodna faza za filtriranje (glejte spodaj). poskuša drugačen pomen glede na obseg, kot sledi:

1. Glejte “Protokol za prenos podatkov” na strani 580.

GREIS

www.javad.com

52

JEZIK VNOSA SPREJEMNIKA Ukazi get
[1…100] največje število poskusov, ki jih bo oddajnik DTP potreboval za pošiljanje enega bloka. Ko je nastavljen na 1, je aktiviran poseben način pretakanja (glejte spodaj).
0 namesto zagona DTP izpiše neobdelano vsebino objekta. [-256…-1] namesto zagona DTP izpiši vsebino predmeta, ki je zavit v
[>>] sporočil.
-257 namesto zagona DTP izpiše vsebino predmeta, zavitega v sporočila [RE].
Opis
Ta ukaz začne pridobivanje a file v gostiteljski računalnik z uporabo protokola za prenos podatkov (DTP) ali surovega izhodnega formata. Odgovor se ne ustvari, razen če pride do napake ali če je odgovor vsiljen z identifikatorjem stavka.
V načinu DTP se po uspešnem ukazu get oddajnik DTP zažene na sprejemniku in čaka, da se sprejemnik DTP zažene na gostitelju. Zato je za dejansko pridobivanje kakršnih koli podatkov potrebna implementacija sprejemnika DTP na gostitelju.
Izbirni argument offset omogoča gostitelju implementacijo podpore za nadaljevanje prekinjenega prenosa podatkov. Upoštevajte, da lahko iskanje velikega odmika v sprejemniku zahteva precej dolgo časa. Če želite pravilno izvesti nadaljevanje v gostiteljski programski opremi, vsilite odziv sprejemnika na ukaz get z uporabo identifikatorja stavka in počakajte na odgovor prejemnika, preden zaženete DTP na gostitelju. Ta metoda zahteva napredektage dejstvo, da prejemnik odgovori na ukaz get po izvedbi iskanja.
Ko je možnost poskusov nastavljena na 1, bo oddajnik DTP prestavljen v tako imenovani pretočni način. V tem načinu po prejemu prvega sporočila NACK od sprejemnika DTP oddajnik DTP pretaka bloke podatkov, ne da bi čakal na ACK od sprejemnika DTP, oddajnik pa bo takoj prekinil prenos podatkov, če bo prejet NACK. Ta pristop omogoča občutno hitrejši prenos podatkov prek zanesljivih povezav z visokimi zakasnitvami (kot je TCP) ali relativno visoko obremenitvijo stikala smeri (kot je USB). Pravilno implementiran sprejemni del protokola ne zahteva posebne skrbi za podporo tej metodi.
Ko je možnost obdobja različna od nič, je aktiviran poseben način filtriranja. Na primerample, omogoča prenos podatkov 1Hz iz a file ki je bil napisan s hitrostjo posodabljanja 10 Hz. Natančneje, sprejemnik bo poslal podatke samo za obdobja, kjer čas sprejemnika modulo en dan (Tr) izpolnjuje naslednjo enačbo:
Tr {mod obdobje} = faza
Da bi to dosegel, sprejemnik razčleni vsebino file in filtrira nekatera sporočila. Upoštevajte, da je izvajanje nadaljevanja prekinjenega prenosa zelo težko, če

GREIS

www.javad.com

53

JEZIK VNOSA SPREJEMNIKA Ukazi get

v tem primeru ni nemogoče zaradi dejstva, da gostitelj nima pojma, na kakšnem odmiku sprejemnika file prenos je bil prekinjen.
Konec, ki prejema podatke, lahko prekine katero koli vrsto prenosa s pošiljanjem katerega koli simbola napake DTP (npr. ASCII '#').
Pri prenosu podatkov v sporočilih [RE] bo vrednost block_size določila največjo velikost koristnega tovora podatkov za vsako sporočilo [RE] (omejeno tudi z velikostjo notranjega medpomnilnika vdelane programske opreme). Kot običajno se bo vsako sporočilo [RE] začelo z ID-jem ukaza (če obstaja).
Pri prenosu podatkov v [>>] sporočilih bo vrednost možnosti poskusov določila polje ID sporočil [>>] na naslednji način:
id = -1 – poskusi
in vrednost “block_size” bo določila največjo velikost podatkovnega tovora za vsako [>>] sporočilo (omejeno tudi z velikostjo notranjega medpomnilnika vdelane programske opreme).
Naslednji bajt za id-jem (prvi bajt podatkovnega polja) v sporočilu [>>] bo nato znak zaporedja, ki se začne s simbolom ASCII 0 in se poveča za modulo 64 za vsako sporočilo, kar povzroči zaporedje simbolov ASCII od 0 do o, vključno z:
seq = 0 zanka { seq_char = '0' + (seq++ % 64) }
Znak zaporedja omogoča prejemniku, da zazna izgubo [>>] sporočil(-ov) v zaporedju.
Nato bo sledila obremenitev podatkov o objektu do bajtov block_size in nato kontrolna vsota v skladu z obliko sporočila [>>].
Uspešen izpis v ovitem načinu bo vedno dokončan s sporočilom [>>] brez podatkovne obremenitve, da se prejemnemu koncu omogoči zanesljiva določitev konca prenosa.

Examples

Example: Začnite pridobivati ​​vsebino datoteke file NAME z uporabo DTP. Karkoli od:

Example:

get,/log/NAME get,NAME
Začnite pridobivati ​​vsebino file NAME začenši s številko bajta 3870034 (štetje bajtov od nič). Pričakujte, da bo med ukazom in odgovorom minilo precej časa:

%%get,NAME,3870034 RE002%%

GREIS

www.javad.com

54

JEZIK VNOSA SPREJEMNIKA Ukazi get
Example: Začnite pridobivati ​​vsebino datoteke file moj_logfile začenši z bajtom 3000 z uporabo časovne omejitve 50 sekund in velikostjo bloka 8192 bajtov:
get,my_logfile:{50,8192},3000
Example: Začnite pridobivati ​​vsebino datoteke file NAME filtrira epohe, tako da je rezultat pridobljen file bi bili podatki 0.1 Hz:
pridobi,IME:{,,10}
Example: Začnite pridobivati ​​vsebino datoteke file NAME uporablja pretočni način (možnost poskusov je nastavljena na 1):
pridobi,IME:{,,,,1}
Example: Pošlji vsebino file NAME zavito v [>>] sporočila z ID-jem 61 (kar je simbol ASCII '='), z uporabo do 128 bajtov podatkov na sporočilo:
pridobi,IME:{,128,,,-62}
Example: Pošlji vsebino file NAME zavito v sporočila [RE] z uporabo do 190 bajtov podatkov na sporočilo, pred katerim %MY_ID%:
%MY_ID%get,NAME:{,190,,,-257}

GREIS

www.javad.com

55

2.3.11 postaviti

JEZIK VNOSA SPREJEMNIKA Ukazi daj

Ime
dati začetek file nalaganje z uporabo DTP1.

Sinopsis
Format: put,object[,offset] Možnosti: {timeout, block_size}

Argumenti
predmet identifikator predmeta file za pisanje podatkov. Če se objekt ne začne z »/«, se predpona »/log/« samodejno vstavi pred objekt pred izvedbo ukaza.
odmik odmik v bajtih od začetka file pri katerem bi začeli pisati. Če je izpuščeno, se predpostavlja 0.

Možnosti

Tabela 2-6. povzetek prodajnih opcij

Ime

Vrsta

Vrednote

Privzeto

časovna omejitev

celo število [0…86400], sekunde 10

velikost_bloka celo število [1…163841]

512

1. 2048 za sprejemnike, ki ne podpirajo TCP ali USB.

timeout časovna omejitev za DTP. block_size velikost podatkovnega bloka DTP.

Opis
Ta ukaz začne nalaganje podatkov iz gostiteljskega računalnika v a file v sprejemniku z uporabo protokola za prenos podatkov (DTP). Odgovor se ne ustvari, razen če pride do napake ali če je odgovor vsiljen z identifikatorjem stavka.
Ko je ukaz put uspešen, se sprejemnik DTP zažene na sprejemniku in čaka, da se oddajnik DTP zažene na gostitelju. Zato je za dejansko nalaganje kakršnih koli podatkov potrebna implementacija oddajnika DTP na gostitelju.

1. Glejte “Protokol za prenos podatkov” na strani 580.

GREIS

www.javad.com

56

JEZIK VNOSA SPREJEMNIKA Ukazi daj

Izbirni argument offset omogoča gostitelju implementacijo podpore za nadaljevanje prekinjenega prenosa podatkov. Vrednost odmika, ki ni ničelna, omogoča gostitelju, da zahteva dodajanje podatkov na konec obstoječega file ujemajoče se velikosti.
Če je odmik 0 in je file objekt ne obstaja, bo prejemnik poskušal ustvariti in odpreti za pisanje novega file z imenom, ki ga določa predmet. V tem primeru ukaz ne bo uspel, če že obstaja a file z danim imenom.
Če je odmik večji od 0 in obstaja a file predmet in file velikost enaka vrednosti odmika, potem bo ukaz put odprl file predmet za prip. V tem primeru ukaz ne bo uspel, če ne obstaja file z navedenim imenom ali če velikost obstoječega file se ne ujema s tistimi, ki jih določa odmik.

Examples

Example: Začnite nalagati podatke v svež file »NAME« z uporabo DTP. Karkoli od:

Example:

put,/log/NAME put,NAME
Začnite nalagati podatke in jih dodajte obstoječim file »IME«. Uporabite privzeto časovno omejitev DTP in velikost bloka DTP 4096 bajtov. Pridobite velikost file pred začetkom nalaganja (upoštevajte, da je file velikost je vseeno potrebna na gostitelju, da lahko preskoči to število bajtov iz izvornih podatkov file):

Example:

natisni,/log/IME&velikost RE008 3870034 daj,/log/IME:{,4096},3870034
Začnite nalagati podatke na novo file “moj_logfile” z uporabo časovne omejitve 50 sekund in velikosti bloka 8192 bajtov:

put,my_logfile:{50,8192}

GREIS

www.javad.com

57

2.3.12 fld

JEZIK VNOSA SPREJEMNIKA Ukazi fld

Ime
fld nalaganje vdelane programske opreme.

Sinopsis
Format: fld,id,object Možnosti: {timeout, block_size}

Argumenti
id niz, ki vsebuje elektronski ID1 sprejemnika. Če podani ID ne ustreza dejanskemu elektronskemu ID-ju prejemnika, ukaz ne bo uspel in prikazalo se bo sporočilo o napaki.
object identifikator objekta vira vdelane programske opreme, ki naj se naloži. Bodisi ime prejemnika fileali ime vhodnih vrat. Ko je to ime vhodnih vrat, je treba navesti bodisi /cur/term ali dejansko ime trenutnih vrat, sicer bo prijavljena napaka.

Možnosti

Tabela 2-7. povzetek možnosti fld

Ime

Vrsta

Vrednote

časovna omejitev

celo število [0…86400], sekunde

block_size integer [1…163841] 1. 2048 za sprejemnike, ki ne podpirajo TCP ali USB.

Privzeto
10 512

timeout časovna omejitev za DTP. block_size velikost podatkovnega bloka DTP.

Opis
Ta ukaz naloži vdelano programsko opremo iz podanega objekta v sprejemnik in nato ponastavi sprejemnik. Odgovor se ne ustvari, razen če pride do napake ali če je odgovor vsiljen z identifikatorjem stavka.

1. ID je mogoče pridobiti z ukazom print,/par/rcv/id.

GREIS

www.javad.com

58

JEZIK VNOSA SPREJEMNIKA Ukazi fld

Opozorilo:

Če med nalaganjem pride do izpada električne energije ali usodne prekinitve prenosa vdelane programske opreme skozi vrata, lahko sprejemnik preide v poldelovno stanje, kjer je možno le nalaganje vdelane programske opreme prek vrat RS-232 z uporabo metode »zajem ob vklopu«.
Če predmet označuje obstoječo file1 bo prejemnik najprej preveril, ali je file vsebuje veljavno vdelano programsko opremo za sprejemnik (za dokončanje traja nekaj sekund). Če je preverjanje uspešno, bo sprejemnik naložil vdelano programsko opremo in nato izvedel samoponastavitev. Upoštevajte, da bo odgovor na ukaz (če obstaja) poslan po opravljenem preverjanju, vendar preden se začne nalaganje vdelane programske opreme. Možnosti časovne omejitve in block_size se v tem primeru ne upoštevajo.
Če objekt določi vhodni tok, bo ukaz poslal odgovor (če obstaja) in nato zagnal sprejemnik DTP, ki bo čakal, da se na gostitelju zažene oddajnik DTP. Zato je za dejansko nalaganje vdelane programske opreme potrebna implementacija oddajnika DTP na gostitelju. Po uspešnem zaključku ali prekinitvi nalaganja bo sprejemnik izvedel samoponastavitev (ponovni zagon).

Examples
Example: Naloži vdelano programsko opremo iz file “firmware.ldp” v sprejemnik z elektronskim ID-jem 123456789AB. Pričakujte, da bo med pošiljanjem ukaza in prejemom odgovora minilo nekaj sekund, medtem ko prejemnik preveri file za veljavnost vdelane programske opreme:
%%fld,123456789AB,/log/firmware.ldp RE002%%
Example: Začnite nalaganje vdelane programske opreme iz vrat USB z uporabo velikosti bloka 16384 bajtov in časovno omejitvijo 20 sekund. Pridobite elektronski ID, preden izdate ukaz:
print,rcv/id RE00C 8PZFM10IL8G fld,8PZFM10IL8G,/dev/usb/a:{20,16384}

GREIS

1. Pričakuje se, da file ki vsebuje vdelano programsko opremo, se vnaprej naloži v sprejemnik, npr. z ukazom put.

www.javad.com

59

JEZIK VNOSA SPREJEMNIKA Ukazi fld

GREIS

www.javad.com

60

3. poglavje
SPOROČILA PREJEMNIKA

To poglavje opisuje splošni format standardnih sporočil GREIS kot tudi posebne formate vseh vnaprej določenih sporočil. Sprejemnik poleg standardnih sporočil GREIS podpira kar nekaj sporočil različnih formatov, kot sta NMEA ali BINEX. Formati teh »tujih« sporočil so opisani na koncu tega poglavja.
3.1 konvencije
3.1.1 Specifikacije formata
Da bi neko obliko opisali kot zaporedje bajtov1 v strnjeni obliki, definiramo oblike za nekaj primarnih tipov polj in nato uporabimo notacijo, ki je blizu tistim, ki se uporabljajo v programskem jeziku C, da zgradimo definicije bolj zapletenih oblik:
struct NAME {LENGTH} { TYPE FIELD[COUNT]; // DESCRIPTION … TYPE FIELD[COUNT]; // OPIS
};
kjer:
NAME ime, dodeljeno tej obliki. Lahko se uporablja v drugih definicijah oblike kot VRSTA polja.
LENGTH dolžina celotnega zaporedja v bajtih. Za format s fiksno dolžino je to število, za sporočilo s spremenljivo dolžino pa je lahko bodisi aritmetični izraz, odvisen od nekaterih drugih spremenljivih parametrov, ali samo niz var.
TYPE FIELD[COUNT] deskriptor polja. Opisuje zaporedje COUNT elementov istega TYPE, ki mu je dodeljeno ime FIELD. TYPE je lahko ena od primarnih vrst polj, opisanih spodaj, ali NAME v drugi obliki. Če je [COUNT] odsoten, je polje sestavljeno iz točno enega elementa. Če COUNT ni (tj. obstajajo samo prazni oglati oklepaji, []), to pomeni, da je polje sestavljeno iz nedoločenega števila elementov.

GREIS

1. V kontekstu tega poglavja "bajt" pomeni 8-bitno entiteto. Najmanj pomemben del bajta ima indeks nič.

www.javad.com

61

SPOROČILA PREJEMNIKA Dogovori
Specifikacije formata

OPIS opis polja skupaj z njegovimi merskimi enotami in dovoljenim obsegom vrednosti, kjer je primerno. Merske enote so obdane z oglatimi oklepaji.
Definirani so naslednji primarni tipi polj:

Tabela 3-1. Primarne vrste polj

Ime tipa

Pomen

Dolžina v bajtih

a1

znak ASCII

1

i1

predznačeno celo število

1

i2

predznačeno celo število

2

i4

predznačeno celo število

4

u1

celo število brez predznaka

1

u2

celo število brez predznaka

2

u4

celo število brez predznaka

4

f4

IEEE-754 plavajoča vejica z enojno natančnostjo

4

f8

IEEE-754 plavajoča vejica dvojne natančnosti

8

str

z ničelno zaključeno zaporedje znakov ASCII spremenljivka

Za popolno opredelitev določenega formata moramo določiti tudi vrstni red bajtov v primarnih neagregatnih poljih, ki so večbajtna (i2, i4, u2, u4, f4, f8). Za sporočila GREIS je ta vrstni red določen s sporočilom [MF], za podrobnosti glejte »Oblika sporočil [MF]« na strani 74.
Z uporabo zgornjih definicij je mogoče (rekurzivno) razširiti katero koli specifikacijo formata na ustrezno zaporedje bajtov. Na primerample, format
struct Example {9} { u1 n1; f4 n2; i2 n3[2];
};
razširi na naslednje zaporedje bajtov ob predpostavki, da je prvi najmanj pomembni bajt (LSB):
n1[0](0), n2[0](0),n2[0](1),n2[0](2),n2[0](3), n3[0](0),n3[0](1),n3[1](0),n3[1](1)

GREIS

www.javad.com

62

GREIS

SPOROČILA PREJEMNIKA Standardni tok sporočil
Posebne vrednosti
in na naslednje zaporedje bajtov ob predpostavki vrstnega reda najpomembnejših bajtov prvi (MSB):
n1[0](0), n2[0](3)n2[0](2)n2[0](1)n2[0](0) n3[0](1)n3[0](0)n3[1](1)n3[1](0)
kjer x[i](j) označuje j-ti bajt (bajt #0 je najmanj pomemben) i-tega elementa polja x.

3.1.2 Posebne vrednosti

Pri binarnih sporočilih lahko nekatera njihova polja s celimi števili in plavajočo vejico vsebujejo posebne vrednosti, ki se uporabijo namesto dejanskih podatkov, ko podatki za polje niso na voljo. Binarna polja, za katera je med ekstrakcijo podatkov potrebno preverjanje posebnih vrednosti, so označena s klicajem, “!” v prvem stolpcu definicije polja.
Naslednja tabela določa posebne vrednosti za različne vrste podatkovnih polj:

Tabela 3-2. Posebne vrednosti za polja

Vrsta polja
i1 u1 i2 u2 i4 u4 f4 f8

Posebna vrednost
127 255 32767 65535 2147483647 4294967295 tiho NaN tiho NaN

HEX predstavitev
7F FF 7FFF FFFF 7FFF_FFFF FFFF_FFFF 7FC0_0000 7FF8_0000_0000_0000

3.2 Standardni tok sporočil

Standardni tok sporočil GREIS je zaporedje največ dveh vrst sporočil, standardnih sporočil GREIS in nestandardnih besedilnih sporočil.
Najpomembnejša in najbolj razširjena vrsta sporočil je bogat nabor standardnih sporočil GREIS. Njihov splošni format je skrbno zasnovan tako, da omogoča binarno in besedilno sporočilo.

www.javad.com

63

SPOROČILA PREJEMNIKA Splošni format sporočil
Standardna sporočila
modrecev in omogočiti aplikacijam, da učinkovito preskočijo sporočila, ki jih aplikacija ne pozna ali jih ne zanimajo.
Podpora za nestandardna besedilna sporočila, ki bi se morala še vedno držati formata, ki je zanje opredeljen v tem priročniku, omogoča mešanje standardnih sporočil GREIS s sporočili nekaterih drugih formatov v standardnem toku podatkov GREIS. Bivšaampdatoteke takšnega formata so sporočila NMEA.
Nestandardna besedilna sporočila posebnega primera, sporočila, ki vsebujejo samo ASCII in/ali znake vstavi mehanizem za oblikovanje sporočil v prejemniku med standardna sporočila GREIS, da naredi nastali tok sporočil bolj berljiv za človeka, ko je poslan na terminal ali generično besedilo viewer ali urejevalnik.
Poleg standardnih sporočil GREIS in nestandardnih besedilnih sporočil sprejemniki JAVAD GNSS običajno podpirajo številne druge formate (npr. RTCM, BINEX, CMR). Vendar ti formati niso združljivi s formatom standardnega toka sporočil GREIS. Če tok vsebuje sporočila teh formatov, ga ni več mogoče imenovati standardni tok sporočil GREIS in ga ni mogoče razčleniti z istimi pravili kot standardni tok.1

3.3 Splošni format sporočil

3.3.1 Standardna sporočila

Oblika vsakega standardnega sporočila je naslednja:

struct StdMessage {var} {

a1 id[2];

// Identifikator

a1 dolžina [3];

// Šestnajstiška dolžina telesa, [000…FFF]

u1 telo [dolžina]; // Telo

};

Vsako standardno sporočilo se začne z edinstvenim identifikatorjem sporočila, ki vsebuje dva znaka ASCII. V identifikatorju so dovoljeni vsi znaki iz podnabora od »0« do »~« (tj. decimalne kode ASCII v obsegu [48…126]).

GREIS

1. Pravzaprav je oblika standardnih sporočil GREIS tako prilagodljiva, da lahko vključi kateri koli podatkovni tok v standardni podatkovni tok GREIS, potem pa je treba prvotni nekompatibilni tok zaviti v zaporedje posebnih sporočil GREIS. Temu služi vnaprej določeno sporočilo z identifikatorjem »>>«.

www.javad.com

64

SPOROČILA PREJEMNIKA Splošni format sporočil
Nestandardna besedilna sporočila
Identifikatorju sporočila sledi dolžina polja telesa sporočila. To polje, ki obsega tri šestnajstiške številke z velikimi črkami, določa dolžino telesa sporočila v bajtih. Tako je največja dolžina telesa sporočila 4095 (0xFFF) bajtov.
Telo sporočila sledi takoj za poljem dolžine in vsebuje točno toliko bajtov, kot jih določa polje dolžine. Glede vsebine telesa sporočila ni nobenih omejitev, ki jih predvideva splošni format. Format telesa sporočila v sporočilu je implicitno definiran z identifikatorjem sporočila. Formati teles sporočil vseh vnaprej določenih sporočil

3.3.2 Nestandardna besedilna sporočila

Oblika nestandardnih besedilnih sporočil je naslednja:

struct NonStdTextMessage {var} {

a1 id;

// Identifikator, [!…/]

a1 telo [];

// Telo poljubne dolžine, [0…)

a1 eom;

// Konec sporočila ( oz )

};

Identifikator sporočila je kateri koli znak v obsegu [!… /] (decimalne kode ASCII v obsegu [33…47]). Identifikator sporočila ni obvezen. Če je odsoten, mora imeti telo sporočila dolžino nič (tj. prav tako mora biti odsoten).

Telo sporočila je zaporedje znakov ASCII, razen (decimalna oznaka 13) in (decimalna koda 10) znakov. Format ne omejuje dolžine telesa.

Oznaka za konec sporočila je bodisi oz značaj.

Upoštevajte, da format omogoča nestandardna sporočila, ki vsebujejo samo znake CR ali LF. Ta funkcija omogoča, da so standardni tokovi sporočil GREIS videti bolj berljivi pri izhodu podatkov na terminal za splošne namene ali viewz generičnim besedilom viewer ali urednik.

Eden od nestandardnih identifikatorjev besedilnih sporočil, znak "$", je že rezerviran kot identifikator za standardna sporočila NMEA. Nobeno drugo nestandardno besedilno sporočilo ne sme uporabljati "$" kot identifikator.

3.3.3 Razčlenjevanje toka sporočil
V tem razdelku boste našli nekaj namigov in nasvetov o tem, kako napisati kodo, namenjeno razčlenjevanju tokov sporočil prejemnika GREIS. Čeprav v tem referenčnem priročniku ne bomo podrobno razpravljali o tej temi, bi radi tukaj poudarili, da standardno sporočilo

GREIS

www.javad.com

65

SPOROČILA PREJEMNIKA Splošni format sporočil
Razčlenjevanje toka sporočil
format vam bo omogočil učinkovito obdelavo/razčlenitev skoraj vseh tokov sporočil GREIS, s katerimi se lahko srečate v praksi.

Opomba:

Sinhronizacija
Ko razčlenjujete tok sporočil, morate najprej najti najbližjo mejo sporočila. To je tisto, kar običajno imenujemo "sinhronizacija". Sinhronizacija sporočila se izvede, ko se začne razčlenjevanje ali ko se sinhronizacija izgubi zaradi napake v podatkovnem toku. Pravzaprav lahko za poenostavitev algoritma upoštevate, da ste že sinhronizirani, ko začnete razčlenjevati tok podatkov. Če se zgodi, da res ni tako, bi se morala pojaviti napaka pri razčlenjevanju. Nato preskočite en znak iz vhodnega toka in se pretvarjate, da ste znova sinhronizirani. Takšen pristop učinkovito odpravi nalogo sinhronizacije kot ločen del algoritma za razčlenjevanje.
Ker mora biti stopnja napak v razumno uporabnem toku podatkov precej nizka, sinhronizacija ne bi smela biti pogosta naloga. Poleg tega tok podatkov GREIS običajno sestoji iz precej kratkih sporočil, zato je razdalja do najbližje meje sporočila običajno majhna. Ob upoštevanju teh premislekov ni nobene zahteve, da bi bil algoritem za sinhronizacijo zelo hiter.

Opomba:

Preskok na naslednje sporočilo
Če imate dolžino v splošni obliki standardnih sporočil GREIS, lahko enostavno prezrete sporočila, ne da bi poznali obliko njihovega telesa. Resnično močno priporočamo, da razčlenjevalnike napišete tako, da preskočijo neznana sporočila.
Če se želite premakniti s trenutnega sporočila na naslednje, naredite naslednje:
1. Predpostavimo, da se trenutno sporočilo začne na položaju "N". Določite trenutno dolžino sporočila (dekodirajte znake ## N+2, N+3, N+4). Predpostavimo, da je dolžina sporočila enaka L. Preskočite prvih L+5 znakov, začenši od mesta “N”.
2. Preskoči vse in znakov (če obstajajo).
Strogo gledano vam ne priporočamo, da v svoji kodi za razčlenjevanje uporabite kakršne koli apriorne informacije o velikostih in vsebini teles sporočil. Če upoštevate to priporočilo, ne boste imeli težav s programom za razčlenjevanje, če bi bila nekatera sporočila spremenjena.
Pravila in namigi o razčlenjevanju teles sporočil standardnih vnaprej določenih sporočil GREIS so obravnavani kasneje v “Razčlenjevanje teles sporočil” na strani 67.

GREIS

www.javad.com

66

GREIS

SPOROČILA PREJEMNIKA Standardna vnaprej določena sporočila
Razčlenjevanje teles sporočil
3.4 Standardna vnaprej določena sporočila
V tem razdelku bomo bralca seznanili z vnaprej določenim naborom standardnih sporočil GREIS. Pri sklicevanju na sporočilo z identifikatorjem XX uporabljamo zapis [XX]. Medtem ko je večina sporočil klicanih z njihovim identifikatorjem sporočila v GREIS, imajo nekatera od njih, posebej tista, ki nimajo alfanumeričnih identifikatorjev, drugačna imena. Za takšna sporočila se uporablja zapis [XX](NN), kjer je XX identifikator sporočila, NN pa ime sporočila, ki se uporablja v ukazih GREIS. Na primerample da ima sporočilo [~~](RT) glavo “~~” in se imenuje /msg/jps/RT v ukazih GREIS.
V tem razdelku so opredeljeni formati teles za vsa standardna vnaprej določena sporočila. Upoštevajte, da ima vsako sporočilo v podatkovnem toku standardno glavo, ki jo določa tudi splošni format.
3.4.1 Razčlenjevanje teles sporočil
Dovoljene razširitve formata
Formati binarnih sporočil s fiksno velikostjo sporočila omogočajo dodajanje več podatkovnih polj v prihodnosti. Nova polja je dovoljeno vstaviti le na koncu telesa sporočila tik pred poljem kontrolne vsote (če obstaja). Takšne spremembe teles sporočil se štejejo za razširitve formata in ne za nezdružljive spremembe.
Čeprav standardna besedilna sporočila GREIS niso sporočila s fiksno velikostjo sporočila, se lahko v prihodnje v teh sporočilih vseeno pojavijo nova polja. Nova polja je mogoče vstaviti na konec obstoječega sporočila SMS tik pred poljem s kontrolno vsoto ali tik pred desnim oklepajem (}). Na primerample, sporočilo, ki se trenutno bere kot:
…1,{21,22},3,@CS
se lahko kasneje razširi na
…1,{2.1,2.2,2.3},3,4,@CS
kjer sta bili dodani dve dodatni polji, “2.3” in “4”.
Izvedite svoje algoritme za razčlenjevanje ob upoštevanju naslednjih pravil, da bodo delovali tudi s prihodnjimi razširitvami formata:
1. Ne domnevajte, da se mora velikost telesa prejetega sporočila natančno ujemati z določeno velikostjo, opredeljeno v tem dokumentu. Le če je sporočilo prekratko, to pomeni, da njegove vsebine ne morete uporabiti. Če je sporočilo daljše od pričakovanega, preprosto prezrite odvečne podatke.
2. Naslovite polje kontrolne vsote glede na konec telesa sporočila.

www.javad.com

67

SPOROČILA PREJEMNIKA Standardna vnaprej določena sporočila
Splošne opombe
3. Naslovite druga podatkovna polja glede na začetek telesa sporočila. 4. Upoštevajte zgornje pravilo za podaljšanje besedilnih sporočil, ko
pisanje ekstraktorjev podatkov za besedilna sporočila.
Kontrolne vsote
Ko je bilo sporočilo ekstrahirano iz podatkovnega toka s tehnikami, opisanimi v »Razčlenjevanje toka sporočil« na strani 65, in se zdi, da je identifikator sporočila eden od tistih, ki zanimajo aplikacijo, je treba telo sporočila razčleniti, da se izvlečejo podatki . Pred ekstrahiranjem vsebine je treba izračunati kontrolno vsoto sporočila in jo primerjati s kontrolno vsoto v sporočilu.
Večina vnaprej določenih sporočil vsebuje kontrolno vsoto. Kontrolna vsota se izračuna tako z uporabo glave sporočila (tj. »identifikator sporočila« plus »dolžina telesa sporočila«) kot telesa samega. Glejte “Izračunavanje kontrolnih vsot” na strani 579 za več informacij o izračunu kontrolnih vsot.
Kontrolna vsota je vedno postavljena čisto na konec telesa sporočila. Če se struktura sporočila spremeni z dodajanjem novih podatkovnih polj, bodo nova podatkovna polja dodana pred polje kontrolne vsote. To pojasnjuje, zakaj je priporočljivo nasloviti polje kontrolne vsote glede na konec telesa sporočila.
3.4.2 Splošne opombe
Časovne lestvice
Vaš sprejemnik lahko obvlada pet časovnih lestvic:
Tr čas sprejemnika Tg Sistemski čas GPS Tu UTC(USNO). Univerzalni koordinirani čas, ki ga podpira ameriška pomorska opazovalnica
vatory. Sistemski čas Tn GLONASS. Ts UTC(SU). Univerzalni koordinirani čas, ki ga podpirata Državni čas in Fre-
quency Service, Rusija.
»Čas sprejemnika« je edina časovna mreža, ki je vedno na voljo v vašem sprejemniku (tj. druge časovne mreže z zgornjega seznama so lahko trenutno na voljo ali pa tudi ne).
Pravzaprav sprejemnik JAVAD GNSS vedno sinhronizira svoj čas sprejemnika z eno od štirih globalnih časovnih lestvic: čas GPS, UTC(USNO), čas GLONASS ali UTC(SU). The

GREIS

www.javad.com

68

GREIS

SPOROČILA PREJEMNIKA Standardna vnaprej določena sporočila
Splošne opombe
Tako izbrana časovna mreža se v nadaljevanju v tem razdelku imenuje "referenčni čas sprejemnika" (Trr)1.
Različni časovni sistemi imajo lahko različne časovne zapise (formate), povezane z njimi (npr. za čas GPS uporabljamo izraze, kot so "številka tedna", "čas v tednu" itd.). Upoštevajte pa, da predstavitev "časa sprejemnika" ne bo odvisna od izbranega referenčnega časa sprejemnika in je vedno predstavljena kot datum in ura sprejemnika.
Večina vnaprej določenih sporočil ne vsebuje informacij o referenčnem času. V našem view, bi bilo pretirano uporabljati en in isti čas tag z vsemi številnimi sporočili, ki jih prejemnik ustvari v trenutni dobi. Pri pošiljanju informacij o sprejemniku, ki so na voljo za trenutno obdobje, običajno dobite različna sporočila. Namesto da bi vsakemu od njih priskrbeli individualni čas tag podatkovno polje, uporabljamo posebno sporočilo, ki nosi informacije o času prejemnika, ki so običajne za ta sporočila. To sporočilo se imenuje »Receiver Time« in ima identifikator [~~].
Obstaja pa način delovanja, imenovan način z zakasnitvijo RTK, ko lahko sprejemnik v dani epohi proizvede rešitev, ki se nanaša na neko drugo epoho v preteklosti. Za zagotovitev časa tag za takšno rešitev je poseben čas rešitveTag Uporabljeno je sporočilo [ST]. Pravzaprav to sporočilo zagotavlja pravi čas tag za rešitev v vseh načinih delovanja, čeprav ima v večini načinov popolnoma enak čas kot [~~].
Obstaja nekaj drugih sporočil, ki imajo čas tag podatkovno polje. To so sporočila, ki vsebujejo informacije, ki se neodvisno pojavljajo na mreži epoh sprejemnika. Bivšaampdatoteke takega sporočila je »Dogodek« [==].
Ločila
Pravzaprav naj bi bilo sporočilo »Čas prejema« pred vsemi drugimi sporočili, ustvarjenimi v trenutnem obdobju, s čimer bi razmejilo sporočila, ki ustrezajo različnim obdobjem. S formalnega vidika view, je odvisno od uporabnika, da določi vrstni red sporočil v izhodnem toku. Vendar je treba paziti, da vrstni red, v katerem so sporočila zapisana v izhodni tok, ne prekine "sinhronizacije epoh", ki je zelo pomembna za naknadno obdelavo zabeleženih podatkov s programskimi paketi JAVAD GNSS. Za več podrobnosti o privzetem nizu sporočil glejte “Sklopi sporočil” na strani 562.
Za aplikacije v realnem času je bistveno, da čim prej določimo konec epohe. Za takšne aplikacije samo razmejevanje epoh z oznako "začetek epohe" ni priročno. Predlagamo, da uporabite sporočilo »Epoch Time« [::](ET) kot oznako »konec epohe«. To sporočilo vsebuje isto polje za čas dneva, kot je v sporočilu »Čas prejemnika«, ki omogoča boljše preverjanje celovitosti. Ideja je primerjati čas tag

1. V trenutni vdelani programski opremi sprejemnika je referenčni čas sprejemnika sistemski čas GPS ali GLONASS, glejte /par/raw/time/ref na strani 220

www.javad.com

69

GREIS

SPOROČILA PREJEMNIKA Standardna vnaprej določena sporočila
Splošne opombe
iz sporočila [::] glede na čas tag iz ustreznega [~~] sporočila. Neujemajoče se tags so znak prekinjene epohe.
Opazili boste, da ima večina sporočil identifikatorje, ki vsebujejo le številke in/ali angleške črke. Pravzaprav je »Receiver Time« [~~] edino sporočilo, katerega identifikator uporablja znak »~«. To je smiselno, saj ima sporočilo [~~] zelo pomembno vlogo, saj služi kot ločilo epohe. Zato obstajajo posebni previdnostni ukrepi, da se zmanjša verjetnost izgube tega ključnega sporočila. Podobno mora biti tudi identifikator sporočila »Dogodek« ([==]) čim bolj izrazit, saj lahko aplikacijska programska oprema uporablja dogodke v prosti obliki le kot ločila.
Zamisel o uporabi "zelo razlikovalnih" identifikatorjev za sporočila, ki služijo kot ločila, je zelo jasna. Če je kontrolna vsota sporočila napačna, preprosto preverite njegov identifikator. Če nobeden od znakov identifikatorja ne sovpada z »~«, je zelo malo verjetno, da gre za poškodovano sporočilo [~~]. Zato vam v tem primeru ni treba preskočiti na naslednje [~~] sporočilo.
Po drugi strani pa, če ima sporočilo pravilno kontrolno vsoto, vendar je eden od identifikacijskih znakov »~«, bi bilo varneje obravnavati to sporočilo kot poškodovano sporočilo [~~]. V tem primeru preskočite na naslednje [~~] sporočilo.

Vrste rešitev

Polje »solType«, uporabljeno v številnih vnaprej določenih sporočilih, označuje vrsto ustrezne rešitve in ima lahko naslednje vrednosti:
Tabela 3-3. Vrste rešitev

Vrednost

Pomen

0

št

Dokumenti / Viri

Zunanji vmesnik GNSS sprejemnika JAVAD GREIS [pdf] Uporabniški priročnik
GREIS GNSS sprejemnik zunanji vmesnik, GREIS, GNSS sprejemnik zunanji vmesnik, sprejemnik zunanji vmesnik, zunanji vmesnik, vmesnik

Reference

Pustite komentar

Vaš elektronski naslov ne bo objavljen. Obvezna polja so označena *