JAVAD GREIS GNSS imtuvo išorinė sąsaja

Specifikacijos
- Gaminys: GREIS GNSS imtuvas
- Programinės aparatinės įrangos versija: 4.5.00
- Paskutinį kartą peržiūrėta: 14 m. spalio 2024 d
Informacija apie produktą
GREIS GNSS imtuvas yra JAVAD GNSS sukurtas didelio tikslumo išorinės sąsajos įrenginys, siūlantis tikslią padėties nustatymo informaciją.
Įvadas
GREIS yra universalus įrenginys, naudojamas įvairioms reikmėms. Štai keletas pagrindinių punktų:
- Kas yra GREIS: Tai išorinis GNSS imtuvų sąsajos įrenginys.
- Kaip naudojamas GREIS: Jis naudojamas GNSS sistemų funkcionalumui ir tikslumui pagerinti.
- Sąrašai: Išsamų palaikomų funkcijų ir funkcijų sąrašą rasite vadove.
- Objektai: Naršykite įvairius objektus, kuriuos galima panaudoti su GREIS konkrečioms užduotims atlikti.
Imtuvo įvesties kalba
Imtuvo įvesties kalba leidžia vartotojams sąveikauti su įrenginiu naudojant konkrečias komandas ir sintaksę. Štai trumpa pabaigaview:
- Kalba Pvzampmažiau: Mokykitės iš pateiktų exampmažiau suprasti, kaip bendrauti su įrenginiu.
- Kalbos sintaksė: Susipažinkite su komandų siuntimo imtuvui sintaksės taisyklėmis.
- Komandos: Norėdami valdyti ir konfigūruoti įrenginį pagal savo poreikius, naudokite įvairias komandas.
Gavėjo pranešimai
Gavėjo pranešimų supratimas yra labai svarbus norint interpretuoti duomenis ir būsenos informaciją. Štai ką reikia žinoti:
- Susitarimai: Norėdami tiksliai interpretuoti pranešimus, laikykitės konkrečių formatų ir reikšmių.
- Standartinis pranešimų srautas: Išbandykite standartinį pranešimų formatą, kad būtų galima nuosekliai perduoti duomenis.
DUK
K: Ar galiu pakeisti GREIS GNSS imtuvo programinę-aparatinę įrangą?
A: Ne, pagal JAVAD GNSS autorių teisių taisykles keisti programinės įrangos neleidžiama.
Kl.: Kaip galiu pasiekti techninių problemų, susijusių su GREIS GNSS imtuvu, palaikymą?
A: Dėl techninės pagalbos susisiekite tiesiogiai su JAVAD GNSS.
Dėkojame, kad įsigijote JAVAD GNSS imtuvą. Šiame informaciniame vadove (toliau – vadovas) esančią medžiagą JAVAD GNSS produktų savininkams parengė JAVAD GNSS, Inc.. Jis skirtas padėti savininkams naudotis imtuvu, o jo naudojimui taikomos šios sąlygos (toliau – taisyklės ir sąlygos).
Taisyklės ir sąlygos
PROFESIONALUS NAUDOJIMAS JAVAD GNSS imtuvai skirti naudoti profesionalams. Tikimasi, kad naudotojas gerai išmanys ir supras naudotojo ir saugos instrukcijas, prieš pradėdamas dirbti, tikrinti ar reguliuoti. Dirbdami su imtuvu visada dėvėkite reikiamas apsaugas (apsauginius batus, šalmą ir kt.).
GARANTIJOS ATSAKOMYBĖS ATSISAKYMAS, IŠSKYRUS JOKIAS ŠIAME VADOVAS ARBA GARANTIJOS KORTELĘ, NURODYTAS GARANTIJĄ, NURODYTAS SU PRODUKTU, ŠIS VADOVAS IR GAVĖJAS PATEIKIAMI, TOKIOS, TOKIOS, KOKIA YRA. KITŲ GARANTIJŲ NĖRA. JAVAD GNSS NESUTEIKIA JOKIOS NUMANOMOS GARANTIJOS DĖL TINKAMUMO PARDUOTI AR TINKAMUMO BET KONKREČIAM NAUDOJIMO AR TIKSLUI. JAVAD GNSS IR JO PLATINTOJAI NEATSAKO UŽ ČIA ESANČIAS TECHNINIS AR REDAKCIJOS KLAIDAS AR TRŪKIMUS; NEI UŽ ATSITIKTINIUS AR ATSIJUSIUS ŽALUS, ATSIJUSIUS DĖL ŠIOS MEDŽIAGOS AR IMTUVO BALDŲ, ATLIKIMO AR NAUDOJIMO. Į TOKIĄ ATSAKOMYBĘ ŽALĄ ĮSKAIČIUOTA, BET JOMIS NEAPribojama, LAIKO NURAIDOJIMAS, DUOMENŲ ARBA NAIKINIMAS, PELNO, TAUPYMO AR PAJAMŲ NUTRAUKIMAS, ARBA NAUDOJANT PRODUKTĄ. BETO, JAVAD GNSS NEATSAKO AR NEATSAKO UŽ ŽALĄ AR IŠLAIDAS, PATIRTAS GAUJANT PAKEITALIUS PRODUKTUS AR PROGRAMINĖS ĮRANGOS, KITŲ PAREIŠKUS, NEPATOGUMUS AR JOKIUS KITAS IŠLAIDAS. JOKIU ATVEJU JAVAD GNSS NETURI JOKIOS ATSAKOMYBĖS UŽ ŽALOS AR KITAIP JUMS AR BET KITAM ASMENUI AR SUBJEKTUI, VIRŠIUS PIRKIMO KAINĄ GAVĖJUI.
LICENCIJOS SUTARTIS Naudojimasis bet kokiomis kompiuterinėmis programomis ar programine įranga, kurią teikia JAVAD GNSS arba atsisiųsta iš JAVAD GNSS websvetainė („Programinė įranga“), susijusi su imtuvu, reiškia sutikimą su šiomis šio vadovo sąlygomis ir susitarimu laikytis šių taisyklių ir sąlygų. Naudotojui suteikiama asmeninė, neišskirtinė, neperleidžiama licencija naudoti tokią Programinę įrangą pagal sąlygas
PRATARMĖ Sąlygos ir sąlygos
nurodyta čia ir bet kuriuo atveju tik su vienu imtuvu arba vienu kompiuteriu. Jūs negalite perleisti arba perduoti Programinės įrangos ar šios licencijos be aiškaus rašytinio JAVAD GNSS sutikimo. Ši licencija galioja iki jos galiojimo pabaigos. Galite bet kada nutraukti licenciją sunaikindami programinę įrangą ir vadovą. JAVAD GNSS gali nutraukti licenciją, jei nesilaikysite kokių nors sąlygų ar sąlygų. Nutraukus imtuvo naudojimą, sutinkate sunaikinti programinę įrangą ir vadovą. Visos nuosavybės, autorių teisės ir kitos intelektinės nuosavybės teisės į Programinę įrangą priklauso JAVAD GNSS. Jei šios licencijos sąlygos yra nepriimtinos, grąžinkite nenaudojamą programinę įrangą ir vadovą.
KONFIDENCIALUMAS Šis vadovas, jo turinys ir Programinė įranga (bendrai vadinama „Konfidenciali informacija“) yra konfidenciali ir patentuota JAVAD GNSS informacija. Jūs sutinkate su JAVAD GNSS konfidencialia informacija elgtis ne mažiau atsargiai, kaip ir rūpestingai, kad apsaugotumėte savo vertingiausias komercines paslaptis. Jokia šios pastraipos nuostata nedraudžia atskleisti konfidencialios informacijos savo darbuotojams, jei to gali prireikti arba tikslinga valdyti gavėją ar rūpintis juo. Tokie darbuotojai taip pat privalo laikyti konfidencialumo informaciją konfidencialia. Tuo atveju, jei būsite teisiškai priversti atskleisti bet kurią konfidencialią informaciją, nedelsdami pranešate JAVAD GNSS, kad ji galėtų prašyti apsaugos įsakymo ar kitos tinkamos teisės gynimo priemonės.
WEBSVETAINE; KITI PAREIŠKIMAI JAVAD GNSS nėra pareiškimų websvetainę (ar bet kurią kitą websvetainėje) ar bet kuriuose kituose skelbimuose ar JAVAD GNSS literatūroje arba JAVAD GNSS darbuotojo ar nepriklausomo rangovo sukurtuose skelbimuose, keičia šias sąlygas (įskaitant Programinės įrangos licenciją, garantiją ir atsakomybės apribojimą).
SAUGA Netinkamas imtuvo naudojimas gali sukelti sužalojimus žmonėms arba turtui ir (arba) gaminio gedimą. Imtuvą turėtų taisyti tik įgalioti JAVAD GNSS garantinio aptarnavimo centrai.
ĮVAIRŪS JAVAD GNSS gali bet kada keisti, modifikuoti, pakeisti arba atšaukti aukščiau nurodytas sąlygas ir sąlygas. Aukščiau pateiktoms taisyklėms ir nuostatoms taikomi Kalifornijos valstijos įstatymai ir jos aiškinamos pagal juos, neatsižvelgiant į įstatymų koliziją.
Kas yra GREIS
GREIS yra sąsajos kalba, leidžianti vartotojui efektyviai bendrauti su GNSS imtuvais, naudojant visas jų galimybes ir funkcijas.
GREIS yra bendra imtuvo kalbos struktūra visam JAVAD GNSS aparatūros diapazonui. Ši kalbos struktūra nepriklauso nuo imtuvo ir gali būti keičiama ar plečiama ateityje. GREIS yra pagrįstas vieningu požiūriu, leidžiančiu vartotojui valdyti JAVAD GNSS imtuvą naudojant atitinkamą įvardintų objektų rinkinį. Ryšys su šiais objektais pasiekiamas naudojant iš anksto nustatytas komandas ir pranešimus. Naudojamų imtuvo objektų skaičiui ar tipui nėra jokių konkrečių apribojimų.

Kaip naudojamas GREIS
Bet kuri sistema, bendraujanti su JAVAD GNSS imtuvu per vieną iš jo prievadų (serijinis, lygiagretus, USB, Ethernet ir kt.), naudos GREIS komandas ir pranešimus, kad atliktų reikiamą užduotį. Pora tipiškų programų, kuriose GREIS vaidina labai svarbų vaidmenį, yra, pirma, naudojant rankinius valdiklius, kad būtų galima susisiekti su imtuvais atliekant tyrimus ir RTK projektus, arba, antra, atsisiunčiant duomenis iš imtuvų į darbalaukio sistemas tolesniam įrašui. apdorojimas. Pati papildomo apdorojimo programa nenaudoja GREIS komandų, bet turi žinoti GREIS pranešimus, kad iš jų gautų duomenis files.

Viena svarbi GREIS ypatybė yra ta, kad ji gali būti efektyviai naudojama tiek automatiniam, tiek rankiniam JAVAD GNSS imtuvų valdymui. Rankiniam valdymui vartotojas per terminalą įveda reikiamas GREIS komandas į imtuvą. Tai lengvai pasiekiama, nes GREIS sukurta kaip žmogaus skaitoma teksto sąsaja. Kita vertus, GREIS laikosi gana griežtų taisyklių, todėl ją lengva naudoti programoms.
Sąrašai
GREIS labai naudoja sąrašų koncepciją. Sąrašai naudojami ir imtuvo įvesties kalba, ir standartiniuose tekstiniuose pranešimuose.

ĮVADAS Objektai
Sąrašai GREIS pavaizduoti elementų seka, atskirta kableliais (,, ASCII kodas 44) ir įterpta į skliaustus ({}, ASCII kodai 123 ir 125):
{element1,element2,element3}
Savo ruožtu sąrašo elementai patys gali būti sąrašai:
{e1,{ee21,ee22}, e3}
Taigi aukščiau pateiktas apibrėžimas yra rekursyvus, todėl leidžiami savavališko lizdo gylio sąrašai. Elementai, kurie nėra sąrašai, vadinami lapų elementais arba tiesiog lapais. Sąrašų elementai gali būti tušti, tokiu atveju sakome, kad elementas praleistas. Pavyzdžiui,ample, toliau pateiktame sąraše antrasis elementas praleistas:
{e1,,e3}
Tarpai prieš ir po skyriklius leidžiami ir nepaisomi. Jei visų sąrašo elementų pradžioje yra ta pati poeilutė (priešdėlis), ši poeilutė gali būti perkelta iš sąrašą supančių skliaustų, pvz.,
element{1,2,3}
yra trumpesnė forma
{element1,elem2,element3}

Elementai gali būti sudėti į dvigubas kabutes (ASCII kodas 34), kurios pašalinamos analizuojant. Cituojamo elemento viduje specialieji simboliai (skliaustai, kableliai ir kt.) praranda savo vaidmenį ir laikomi įprastais simboliais. Kitas kabučių panaudojimas yra atskirti sąlygas „elementas nenurodytas“ ir „nurodytas tuščias elementas“. Pirmasis žymimas tiesiog praleidžiant elementą iš sąrašo, o antrasis žymimas dvigubų kabučių pora tarp kablelių. Citata taip pat naudinga, kai eilutėje reikia tarpų priekyje arba gale. Jei norite įdėti dvigubą kabutę į elementą, cituokite šį elementą ir pašalinkite dvigubą kabutę naudodami pasvirąjį brūkšnį (, ASCII kodas 92). Jei į kabutę norite įtraukti pasvirąjį brūkšnį, išeikite jį kitu pasviruoju brūkšniu, pvz.,ampLe:
Example: "Eilutė su kabutėmis, pasviruoju brūkšniu \ ir specialiais simboliais, {}"
1.4 Objektai
Modelio, kuriuo remiasi GREIS, kontekste JAVAD GNSS imtuvas identifikuojamas su įvardintų objektų rinkiniu.
GREIS
www.javad.com
20
ĮVADAS Objektai
Objektų identifikatoriai
Objektas apibrėžiamas kaip imtuvo aparatinė arba programinė įranga, kurią galima adresuoti, nustatyti arba pateikti užklausą. Aparatinės įrangos objektai paprastai vadinami įrenginiais, o programinės įrangos objektai paprastai vadinami files ir parametrus. Imtuvo prievadai ir atminties moduliai yra geri, pvzampmažiau įrenginių. Visi įrenginiai, files ir parametrus GREIS traktuoja vienodai. Kiekvienas objektas turi susietą atributų rinkinį, kurį galima pasiekti, apibrėžti ir (arba) pakeisti per GREIS.

1.4.1 Objekto identifikatoriai
Jau minėta, kad imtuvas laikomas objektų (prietaisų, files, pranešimai, parametrai ir kt.) GREIS modelio kontekste. Norint adresuoti objektus imtuvo komandose, kiekvienam objektui turi būti priskirtas unikalus identifikatorius.

Objektai imtuve yra logiškai suskirstyti į grupes. Pati grupė taip pat yra objektas ir priklauso kitai grupei, nebent ji yra šakninė grupė. Taigi visi objektai imtuve yra suskirstyti į medį primenančią hierarchiją, pradedant nuo vienos šaknų grupės. Šis atstovavimas primena organizaciją files į katalogus (aplankus), kuriuos žino dauguma kompiuterių vartotojų.
GREIS objektų grupės vaizduojamos kaip atitinkamų objektų pavadinimų sąrašai. Objekto pavadinimas yra unikalus sąraše, kuriam priklauso objektas. Pasauliniu mastu unikalus objekto identifikatorius apibrėžiamas kaip visi objektų pavadinimai kelyje per objektų medį nuo šakninio sąrašo iki objekto, atskirti pasviruoju brūkšniu (/). Pats šakninis sąrašas identifikuojamas vienu pasviruoju brūkšniu.
ExampObjektų identifikatoriai yra šie:
Example: šakninė grupė:
/
Example: Imtuvo elektroninis ID:
/par/rcv/id
Example: nuosekliojo prievado A sparta:
/par/dev/ser/a/rate
Example: atributai (dydis ir paskutinio modifikavimo laikas). file VARDAS (file atributai skiriasi nuo toliau aptartų objekto atributų):
/log/NAME
Example: NMEA GGA sakinys:
GREIS
www.javad.com
21
ĮVADAS Periodinė išvestis
Objektų tipai
/msg/nmea/GGA
Visi objektai turi vieną ar daugiau su jais susijusių atributų. Objekto atributai identifikuojami pridedant & simbolį ir atributo pavadinimą prie objekto identifikatoriaus. Pagrindinis kiekvieno objekto atributas yra vertė. Šis atributas visada pasiekiamas netiesiogiai naudojant GREIS komandas. Kai kurie objektai gali turėti papildomų atributų, pvzample: pvzample: nuoseklusis prievadas Numatytasis duomenų perdavimo sparta:
/par/dev/ser/a/rate&def
Example: turinys file PAVADINIMAS:
/log/NAME&turinys
1.4.2 Objektų tipai
Kiekvienas imtuve esantis objektas turi su juo susietą GREIS tipą. Objekto tipas apibrėžia jo elgesį GREIS komandų atžvilgiu. Konkrečiai, tipas apibrėžia, kokias reikšmes objektas gali gauti ir kokios konkrečios komandos yra taikomos objektui.
Išsamų šiuo metu palaikomų objektų tipų aprašymą rasite „Pirminiai objektų tipai“ puslapyje 184.
GREIS
1.5 Periodinis išėjimas
Svarbų vaidmenį imtuvo veikime atlieka jo gebėjimas periodiškai išvesti tam tikrą informaciją, pvz., įvairių rūšių matavimus, apskaičiuotas vertes ir pan., pagal nurodytą tvarkaraštį. GREIS apibrėžia gausų pranešimų rinkinį, kuriame yra įvairių tipų informacijos skirtingais formatais, kurie yra minimalūs išvesties vienetai, ir pateikia metodus, leidžiančius periodiškai išvesti bet kokį pranešimų derinį bet kokia tvarka į bet kurią palaikomą laikmeną, tinkamą duomenims išvesti. Bet kuri palaikoma laikmena, tinkama duomenims išvesti, GREIS vadinama išvesties srautu.
Kiekvienam išvesties srautui imtuvas palaiko pranešimų, kuriuos šiuo metu įgalinta išvesti į srautą, sąrašą, vadinamą išvesties sąrašu. Pranešimų išvedimo tvarka atitinka pranešimų tvarką išvesties sąraše. Be to, kiekvienas pranešimas, esantis išvesties sąraše, turi savo planavimo parametrų rinkinį, susietą su juo. Planavimo parametrai, pridedami prie pranešimo išvesties sąraše, apibrėžia šio konkretaus pranešimo išvedimo į šį konkretų išvesties srautą grafiką. GREIS teikia tris ryšius
www.javad.com
22
ĮVADAS Periodinės išvesties išvesties laikotarpis ir fazė
mands, em, out ir dm, kad būtų galima efektyviai valdyti išvesties sąrašus ir planavimo parametrus.
Pranešimų planavimo parametrus sudaro keturi laukai: periodas, fazė, skaičius ir vėliavėlės, kurių kiekvienas atlieka skirtingą vaidmenį išvesties tvarkaraščio apibrėžime. Žemiau aprašysime, kaip tiksliai jų reikšmės veikia išvestį, tačiau iš esmės periodas nurodo intervalą tarp pranešimo išėjimų; fazė nurodo išėjimo momentų laiko poslinkį laiko momentų atžvilgiu, kai esamas laikas yra periodo kartotinis; skaičius, kai didesnis už nulį, riboja pranešimo išvesties skaičių; tuo tarpu vėliavos filed leidžia šiek tiek tiksliai sureguliuoti išvesties procesą.
1.5.1 Išvesties laikotarpis ir fazė
Pastaba:
Pranešimų planavimo parametrų periodo ir fazės laukai yra slankiojo kablelio reikšmės diapazone [0…86400) sekundžių. Tiksli jų reikšmė aprašyta žemiau.
Kai F_CHANGE bitas nustatomas planavimo parametrų vėliavėlių lauke, fazės laukas praranda įprastą vaidmenį ir vietoj jo tampa „priverstinės išvesties periodu“. Norėdami gauti daugiau informacijos, žr. toliau pateiktą F_CHANGE vėliavėlės aprašymą.
Imtuvas turi savo vidinį laiko tinklelį, kurį apibrėžia imtuvo laikrodis ir parametro /par/raw/curmsint reikšmė, apibrėžianti imtuvo vidinių epochų žingsnį. Imtuvo vidinės epochos atsiranda, kai imtuvo laikas yra daug kartų didesnis už žingsnį. Savo ruožtu imtuvo laikas apibrėžiamas kaip imtuvo laikrodžio modulio reikšmė vienai dienai (86400 sekundžių). Imtuvas nuskaito išvesties sąrašus tik vidinėmis imtuvo epochomis, todėl jokia išvestis negalėtų būti generuojama dažniau.
Atsižvelgiant į vidinį laiko tinklelį, periodo ir fazės kintamieji apibrėžia pranešimo išvesties laiko momentus taip: gavėjas išves pranešimą tik gavėjo laikais Tout, vienu metu tenkindamas šias dvi lygtis:
Toutmod periodas = fazė
(1)
Tout = N žingsnis (2)
GREIS
kur N yra sveikasis skaičius, kurio reikšmės yra [0,1,2,…,(86400/žingsnis)-1].
Pirmoji lygtis apibrėžia pagrindinę pranešimų išvedimo taisyklę, o antroji nustato papildomus apribojimus, susijusius su vidinėmis imtuvo epochomis. Atkreipkite dėmesį, kad įprastu atveju, kai ir periodas, ir fazė yra žingsnių kartotiniai, antroji lygtis tenkinama automatiškai, kai įvykdoma pirmoji lygtis. Taip pat atkreipkite dėmesį, kad jei
86400 (modiavimo laikotarpis) 0,
www.javad.com
23
ĮVADAS Periodinė išvestis
Išvesties skaičius
ExampLe:
Example: pvzampLe:
faktinis intervalas tarp paskutinio pranešimo, išsiųsto prieš dienos perkėlimą, ir pirmojo pranešimo po dienos keitimo skirsis nuo laikotarpio reikšmės.
Apsvarstykite porą buvusiųampiliustruoja šį mechanizmą:
Tarkime, kad periodas yra 10 s, fazė yra 2.2 s, o žingsnis - 0.2 s. Kadangi pagal antrąją lygtį Tout gali gauti tik tas vertes, kurios yra žingsnių kartotinės, pirmosios lygties kairioji dalis įgis tokias reikšmes: 0, 0.2, 0.4, …, 9.8, 0, …, iš kurių tik reikšmė 2.2 rungtynių fazė. Šios atitiktys įvyks ir pranešimas bus išvedamas kiekvieną kartą, kai „Tout“ įgaus vieną iš šių reikšmių: 2.2 s, 12.2 s, 22.2 s ir t. t.
Tarkime, kad periodas yra 10 s, fazė yra 2.2 s, o žingsnis - 0.5 s. Gavėjas neišsiųs pranešimo, nes aukščiau pateikta vienalaikių lygčių pora niekada neįvykdoma.
Tarkime, fazė > laikotarpis. Gavėjas visai neišduos pranešimo, nes pirmoji lygtis niekada nebus patenkinta.
1.5.2 Išvesties skaičius
Pastaba:
Pranešimų planavimo parametrų skaičiavimo laukas yra sveikasis skaičius diapazone [-256…32767) ir naudojamas dviem skirtingais tikslais:
1. Kai skaičius yra 0, bus išvestas neribotas pranešimų skaičius. Kai skaičius yra didesnis nei 0, jis apibrėžia, kiek kartų pranešimas bus išsiųstas. Šiuo atveju skaitiklis sumažinamas 1 kiekvieną kartą, kai išvedamas pranešimas, o kai jis tampa 0, F_DISABLED bitas nustatomas vėliavėlių lauke. Pranešimų planuoklis neišveda pranešimų su F_DISABLED bitais.
2. Kai skaičius nustatomas į reikšmę diapazone [-256…-1], pranešimo išvestis neslopinama, o skaičiavimo laukas atlieka visiškai kitą paskirtį. Tai leidžia suvynioti pranešimą į specialų [>>] pranešimą prieš išsiunčiant (žr. „[>>] Įvynioklis“ 132 psl.). Tada skaičiaus reikšmė naudojama norint nustatyti id lauką sugeneruotame [>>] pranešime, kad id būtų skaitine prasme lygus (-1 – skaičius).
Įvyniojimo funkcija yra naudinga, pvzample, serverio programai, kuri gauna pranešimus iš gavėjo ir persiunčia juos keliems klientams. Jis gali prašyti suvynioti savavališkus pranešimus į [>>] pranešimus su skirtingais identifikatoriais, išpakuoti gautus pranešimus ir išsiųsti duomenis konkrečiam klientui (-ams) pagal gautą ID. Naudojant šią funkciją, tokia programa neturi žinoti jokių kitų duomenų formatų, išskyrus [>>] pranešimo formatą, ir gali naudoti vieną ryšio kanalą su gavėju, kad gautų ir išsiųstų įvairių formatų pranešimus.
GREIS
www.javad.com
24
1.5.3 Išvesties vėliavėlės
ĮVADAS Periodinė išvestis
Išvesties vėliavėlės
Pranešimų planavimo parametrų vėliavėlių laukas yra 16 bitų pločio bitų laukas. Kiekvienas šio bitų lauko bitas yra atskira vėliavėlė ir atlieka skirtingą paskirtį. Toliau pateikiamas pranešimų planavimo vėliavėlių sąrašas.
1-1 lentelė. Pranešimų planavimo vėliavėlės
bitas#
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
Vardas
F_OUT F_CHANGE F_OUT_ON_ADD F_NOTENA F_FIX_PERIOD F_FIX_PHASE F_FIX_COUNT F_FIX_FLAGS rezervuota rezervuota rezervuota F_DISABLED rezervuota
Pastaba: laukų pavadinimai čia pateikiami tik siekiant juos nurodyti šiame vadove. Nėra galimybės jų naudoti GREIS komandose.
F_OUT Jei ši vėliavėlė nustatyta, pirmieji pranešimai po atitinkamos komandos iškvietimo bus išvesti vidinėje imtuvo epochoje, kuri yra arčiausiai komandos vykdymo laiko, nesvarbu, kas nurodyta periodo planavimo parametre.
F_CHANGE Jei ši vėliavėlė nustatyta, atitinkamas pranešimas bus išvestas tik tuo atveju, jei pranešimo duomenys pasikeitė nuo paskutinio pranešimo išvesties į nurodytą išvesties srautą. Gavėjas tikrina, ar pranešimo duomenys pasikeitė tik (1), (2) lygtimis apibrėžtais momentais, kai fazės kintamasis nustatomas į nulį, o periodo kintamasis – į periodo lauko reikšmę. Pranešimų planavimo parametrų fazė, kuri šiuo atveju praranda savo pradinę funkciją, dabar atlieka priverstinio išvesties laikotarpio vaidmenį. „Priverstinis išvestis“ reiškia, kad atitinkamas pranešimas bus išvestas neatsižvelgiant į tai, ar jo turinys pasikeis, ar ne laiko momentais, apibrėžtais (1), (2) lygtimis, kur periodo kintamasis nustatomas į fazės lauko reikšmę, ir fazė. kintamasis nustatytas į nulį. Jei lauko fazė lygi nuliui, imtuvas nevykdo priverstinės išvesties, todėl atitinkamas pranešimas bus išvestas tik tuo atveju, jei pasikeis jo duomenys.
GREIS
www.javad.com
25
ĮVADAS Periodinė išvestis
Išvesties vėliavėlės
F_OUT_ON_ADD Jei ši vėliavėlė nustatyta, tada pirmasis pranešimas bus išvestas iškart įvykdžius atitinkamą komandą em arba out. Ši vėliavėlė nepaisoma daugumos pranešimų1.
F_NOTENA Jei ši vėliavėlė nustatyta pranešimui išvesties sąraše, šio pranešimo vėliavėlė F_DISABLED nebus išvalyta, kai pranešimas bus įjungtas, todėl jo išvestis liks sustabdyta. Pavyzdžiui,ample, ši vėliavėlė naudojama tam, kad nebūtų išvedami kai kurie pranešimai iš numatytojo pranešimų rinkinio, kai vartotojas pakeičia išvesties laikotarpį, prieš tai neišjungęs išvesties.
F_FIX_PERIOD, F_FIX_PHASE, F_FIX_COUNT, F_FIX_PERIOD Jei planavimo parametruose nustatytas 1, neleiskite pakeisti atitinkamo (-ų) šio planavimo parametro lauko (-ų) naudodami em ir out komandas.
F_DISABLED Vartotojas nėra aiškiai programuojamas. Kai įjungiamas pranešimas su teigiamu skaičiumi, po to, kai šis pranešimas buvo išvestas skaičiuojant, pranešimų planuoklis nustato šią vėliavėlę į 1. Ši vėliavėlė išvaloma iki 0, kai pranešimas vėl įjungiamas, nebent F_NOTENA vėliavėlė nustatyta ši žinutė.
1. Šiuo metu tik du GREIS pranešimai, [JP] ir [MF], gerbia šią vėliavėlę.
GREIS
www.javad.com
26
2 skyrius
IMTUVO ĮVESTIES KALBA
Šiame skyriuje aprašoma imtuvo įvesties kalbos sintaksė ir semantika. Pradedame nuo kai kurių buvusiųampNorėdami suteikti skaitytojui kalbos jausmą, tada pereikite prie detalaus sintaksės apibrėžimo ir apibūdinkite visas apibrėžtas komandas kartu su jų semantika.
2.1 Kalba Pvzamples
Štai keletas buvusiųampmažiau realių teiginių, kuriuos gavėjas supranta kartu su gavėjo atsakymais. Rasite daugiau exampkonkrečių komandų naudojimo atitinkamuose poskyriuose. Imtuvo įvestis pažymėta simboliu, o imtuvo išvestis pažymėta simboliu:
Example: paprašykite gavėjo atspausdinti savo elektroninį ID. Gavėjas sugeneruoja rodomą atsakymo pranešimą:
ExampLe:
print,/par/rcv/id RE00C QP01234TR45
Paprašykite imtuvo nustatyti jo nuosekliojo prievado A perdavimo spartą iki 9600. Imtuvas sėkmingai vykdo komandą ir negeneruoja jokio atsakymo.
set,/par/dev/ser/a/rate,9600
Example: naudokite tą pačią komandą, kaip ir ankstesniame pvzample, bet priversti gavėją generuoti atsakymą naudojant teiginio identifikatorių.
ExampLe:
%set_rate%set,/par/dev/ser/a/rate,9600 RE00A %set_rate%
Pabandykite nustatyti per didelę duomenų perdavimo spartą. Gavėjas atsako klaidos pranešimu, net jei nenaudojome pareiškimo identifikatoriaus.
set,/par/dev/ser/a/rate,1000000 ER016{4, vertė nepatenka į diapazoną}
Pastaba:
Imtuvas visada pateikia įprastus ir klaidų atsakymus į du standartinius pranešimus, atitinkamai [RE] ir [ER]. Daugiau informacijos apie GREIS pranešimų formatą žr. „Bendras pranešimų formatas“ puslapyje 64. Patys [RE] ir [ER] pranešimai aprašyti „Interaktyvūs pranešimai“ 129 puslapyje.
GREIS
www.javad.com
27
IMTUVO ĮVESTIES KALBA Kalbos sintaksė
2.2 Kalbos sintaksė
GREIS apibrėžia savavališko ilgio1 ASCII simbolių eilutes, atskirtas karieta-grįžta ( , ASCII dešimtainis kodas 13) arba eilutės tiekimas ( , ASCII dešimtainio kodo 10) simboliai, kurie yra aukščiausio lygio kalbos sintaksės elementai. Tuščios eilutės leidžiamos ir ignoruojamos GREIS. Dėl to linija gali būti atskirta bet kokiu deriniu ir/arba simbolių. Tai leidžia GREIS sklandžiai palaikyti WindowsTM, MacTM ir UNIXTM linijų pabaigos konvencijas.
Imtuvo įvesties kalba skiriamos didžiosios ir mažosios raidės. Tai reiškia, kad pvzample, stygas GREIS, greis ir gReIs, kurios yra skirtingos stygos, imtuvas iš tiesų tokiomis laiko.
Skaičiaus ženklas (#, ASCII kodas 35) yra komentaro įvado simbolis. Imtuvas ignoruoja viską nuo šio simbolio iki eilutės pabaigos.
Po to, kai komentaras (jei yra) pašalinamas iš eilutės, imtuvas pašalina tarpus priekyje ir pabaigoje, o tada suskaido eilutę į teiginius. Teiginiai atskiriami kabliataškiu (;, ASCII kodas 59) arba dviem ampersands (&&, ASCII kodai 38), arba su dviem vertikaliomis juostomis (||, ASCII kodai 124). Tada eilutės teiginiai vykdomi eilės tvarka, iš kairės į dešinę. Jei sakinys, kuris baigiasi && skyrikliu, sukelia klaidą, likusieji eilutės teiginiai nevykdomi. Jei teiginys, kuris baigiasi || skyriklis sėkmingai vykdomas, likusieji eilutės teiginiai nevykdomi. Teiginys, kuris baigiasi kabliataškiu, niekada nesustabdo teiginių sekos vykdymo. Atminkite, kad eilutės pabaiga savaime yra teiginio pabaiga, todėl jums nereikia eilutės pabaigoje dėti vieno iš aiškių teiginių skyriklių.
Teiginio formatas yra toks:
[%ID%][COMMAND][@CS], kur laužtiniai skliaustai žymi pasirenkamus laukus, o prieš ir po kiekvieno lauko leidžiamas bet koks tarpų skaičius. Tokie tarpai yra ignoruojami, išskyrus kontrolinės sumos skaičiavimo tikslą, žr. toliau. Laukai yra:
%ID% teiginio identifikatorius, kur ID žymi savavališką eilutę, galbūt tuščią. Identifikatorių, jei yra, gavėjas nepakeistą nukopijuoja į atsakymo pranešimą. Bet koks teiginys su identifikatoriumi visada sugeneruos atsakymą iš gavėjo. Taip pat leidžiamas teiginys, kuriame yra tik identifikatorius; tokiu atveju gavėjas tiesiog sugeneruos atsakymo pranešimą.
COMMAND (galbūt tuščias) sąrašas, kuriame pirmasis elementas vadinamas komandos pavadinimu. Tai reiškia veiksmą, kurį reikia atlikti. Likę elementai (jei yra) yra komandos
GREIS
1. Dabartinis GREIS diegimas imtuvuose palaiko iki 256 simbolių ilgio eilutes.
www.javad.com
28
IMTUVO ĮVESTIES KALBA Kalbos sintaksė
argumentai. Galima praleisti skliaustus, supančius komandų sąrašą. Sąrašų sintaksę rasite „Sąrašai“ 19 puslapyje. @CS kontrolinė suma, kur CS yra 8 bitų kontrolinė suma, suformatuota kaip 2 baitų šešioliktainis skaičius. Prieš vykdydamas teiginį su kontroline suma, imtuvas palygins įvesties kontrolinę sumą CS su ta, kurią apskaičiavo programinė įranga, ir atsisakys vykdyti teiginį, jei šios kontrolinės sumos nesutampa. Kontrolinė suma skaičiuojama pradedant nuo pirmojo netuščio sakinio simbolio iki @ simbolio imtinai. Išsamesnės informacijos ieškokite skyriuje „Kontrinių sumų skaičiavimas“ puslapyje 579.
Pareiškimo identifikatorius %ID%, skirtas šiems tikslams:
1. Priverčia imtuvą reaguoti į komandą. 2. Leidžia imtuvui siųsti kelias komandas su skirtingais identifikatoriais
nelaukdami atsakymo į kiekvieną komandą, tada gaukite atsakymus ir nurodykite, kuris atsakymas atitinka kurią komandą. 3. Padeda nustatyti sinchronizaciją su imtuvu, leisdamas patikrinti, ar konkretus imtuvo atsakymas atitinka tam tikrą komandą, o ne kokią kitą komandą, duotą prieš ar po jos.
Sąrašas, vadinamas opcijomis, gali būti pridėtas prie bet kurio COMMAND elemento po dvitaškio (:, ASCII kodas 58). Jei parinkčių sąrašą sudaro vienas elementas, aplinkinių skliaustų galima praleisti. Parinkčių sąrašas, pridėtas prie sąrašo, perduodamas kiekvienam sąrašo elementui, nors parinktys, aiškiai pridėtos prie sąrašo elemento, turi viršenybę prieš platinamas parinktis. Pavyzdžiui,ample,
{e1,{e2:{o1,,o3},e3}}:{o4,o5}
yra lygiavertis:
{e1:{o4,o5},{e2:{o1,o5,o3},e3:{o4,o5}}}
Taip pat atkreipkite dėmesį, kaip praleista o2 parinktis leidžia o5 parinkčiai pereiti į e2 elemento parinkčių sąrašą.
Komandos argumentų ir parinkčių skaičius ir reikšmė priklauso nuo konkretaus komandos veiksmo ir yra apibrėžta kiekvienos imtuvo komandos aprašyme. Be to, jei komandos aprašyme nurodomos kai kurios parinktys, bet kai kurios arba visos jos praleistos sakinyje, pakeičiamos numatytosios praleistų parinkčių reikšmės. Numatytosios parinkčių reikšmės taip pat nurodytos kiekvienos imtuvo komandos aprašyme.
GREIS
www.javad.com
29
IMTUVO ĮVESTIES KALBA Kalbos sintaksė
Žemiau pateikiama lentelė, kurioje yra visos simbolių sekos, turinčios ypatingą reikšmę imtuvo įvesties kalba:
2-1 lentelė. Įvesties kalbos specialieji simboliai
Simboliai Dešimtainis ASCII kodas
Reikšmė
10
linijos skyriklis
13
linijos skyriklis
#
35
;
59
komentaro pradžios žymės teiginių skyriklis
&&
38
||
124
%
37
teiginiai ir skiriamieji sakiniai arba skiriamojo teiginio identifikatoriaus ženklas
@
64
{
123
}
125
,
44
:
58
kontrolinė suma sąrašo pradžia žyma sąrašo pabaiga žyma sąrašo elementai skyriklis parinktys ženklas
„
34
kabutes
92
pabėgti
GREIS
www.javad.com
30
IMTUVO ĮVESTIES KALBA komandos
2.3 Komandos
Šiame skyriuje aprašome visas GREIS apibrėžtas komandas. Prie kiekvienos komandos sintaksės ir semantikos specifikacijos pridedami paaiškinimai, pvzamples. Norėdami gauti išsamų objektų, naudojamų kaip argumentai, aprašymą examp4 skyrių 181 puslapyje.
GREIS
www.javad.com
31
2.3.1 rinkinys
RECEIVER INPUT LANGUAGE Komandos nustatytos
Vardas
nustatyti objekto nustatytą vertę.
Santrauka
Formatas: rinkinys, objektas, reikšmė Parinktys: nėra
Argumentai
objektas tikslinio objekto identifikatorius. Jei objektas neprasideda „/“, prieš vykdant komandą prieš objektą automatiškai įterpiamas priešdėlis „/par/“.
reikšmė, kuri turi būti priskirta tiksliniam objektui. Leidžiamų reikšmių diapazonas ir priskyrimo semantika priklauso nuo objekto tipo ir yra nurodyta vėliau šiame vadove kiekvienam palaikomam objektui.
Parinktys
Nėra.
Aprašymas
Ši komanda objektui priskiria vertę. Atsakymas nesugeneruojamas, nebent įvyksta klaida arba atsakymas yra priverstas teiginio identifikatoriaus.
Examples
Example: nustatykite nuosekliojo prievado C perdavimo spartą į 115200. Bet kuris iš:
rinkinys,/par/dev/ser/c/rate,115200 set,dev/ser/c/rate,115200
Example: nustatykite nuosekliojo prievado A perdavimo spartą į 9600 ir priverskite atsakyti:
%%set,dev/serv/a/rate,9600 RE002%%
GREIS
www.javad.com
32
2.3.2 spausdinti
RECEIVER INPUT LANGUAGE Komandos spausdinamos
Vardas
spausdinti objekto spausdinimo vertę.
Santrauka
Formatas: spausdinimas, objekto parinktys: {vardai}
Argumentai
objektas išvedamo objekto objekto identifikatorius. Jei objektas neprasideda „/“, prieš vykdant komandą prieš objektą automatiškai įterpiamas priešdėlis „/par/“.
Parinktys
2-2 lentelė. spausdinimo parinkčių santrauka
Vardo tipas
Vertybės
vardai loginiai įjungti, išjungti
Numatytoji
išjungti
pavadinimai, jei išjungti, išvesti tik objektų reikšmes. Kai įjungta, be objektų reikšmių išveskite objektų pavadinimus formatu PAVADINIMAS=VERTĖ.
Aprašymas
Ši komanda spausdina objekto vertę, pasirinktinai prieš ją pridedant atitinkamo objekto pavadinimą. Atsakymas visada generuojamas, o atsakant į vieną spausdinimo komandą gali būti sugeneruotas daugiau nei vienas [RE] pranešimas.
Objekto tipo sąrašo reikšmė spausdinama kaip kiekvieno sąrašo objekto reikšmių sąrašas. Tai taikoma rekursyviai, kol pasiekiami lapų objektai, todėl spausdinant nelapų tipo objektą efektyviai išvedamas visas pomedis, pradedant nuo nurodyto objekto. Sąrašų spausdinimo atveju gali būti sugeneruoti keli [RE] pranešimai. Tačiau išvestis gali būti padalinta tik iškart po sąrašo skyriklio simbolių.
GREIS
www.javad.com
33
RECEIVER INPUT LANGUAGE Komandos spausdinamos
Examples
Example: Spausdinkite esamą vidinio imtuvo laiko tinklelio laikotarpį. Bet kuris iš:
print,/par/raw/curmsint RE004 100 print, raw/curmsint RE004 100
Example: Spausdinkite esamą vidinio imtuvo laiko tinklelio laikotarpį kartu su objekto pavadinimu. Bet kuris iš:
spausdinti,/par/raw/curmsint:on RE015/par/raw/curmsint=100 print,neapdorotas/curmsint:on RE015/par/raw/curmsint=100
Example: Spausdinimo imtuvo versijos informacija:
print,rcv/ver RE028{“2.5 Sep,13,2006 p2″,0,71,MGGDT_5,nėra, RE00D {nėra,nėra}}
Example: Spausdinkite imtuvo versijos informaciją kartu su atitinkamais pavadinimais:
print,rcv/ver:on RE043/par/rcv/ver={main=”2.5 Sep,13,2006 p2”,boot=0,hw=71,board=MGGDT_5, RE00C modemas=none, RE017 pow={fw =nėra,hw=nėra}}
Example: Spausdinkite visus pranešimus, įgalintus išvesti į nuoseklųjį prievadą B, kartu su jų planavimo parametrais:
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×01}, RE1.00,0.00,0,0A jps/rc={0×01}, RE1.00,0.00,0,0A jps/ET={0×01}, RE10.00,5.00,0,0D nmea/GGA={0×XNUMX}}
GREIS
www.javad.com
34
2.3.3 sąrašas
RECEIVER INPUT LANGUAGE Komandų sąrašas
Vardas
objekto turinio sąrašas.
Santrauka
Formatas: sąrašas[,objektas] Parinktys: nėra
Argumentai
objektas išvedamo objekto objekto identifikatorius. Jei objektas praleistas, daroma prielaida, kad /log. Jei objektas neprasideda „/“, prieš vykdant komandą prieš objektą automatiškai įterpiamas priešdėlis „/log/“.
Parinktys
Nėra.
Aprašymas
Ši komanda išveda kiekvieno objekto nario pavadinimus. Atsakymas visada generuojamas, o atsakant į vieną sąrašo komandą gali būti sugeneruotas daugiau nei vienas [RE] pranešimas. Jei nurodytas objektas nėra sąrašo tipo, generuojamas tuščias [RE] pranešimas. Jei nurodytas objektas yra sąrašas, spausdinamas kiekvieno sąrašo objekto pavadinimų sąrašas. Tai taikoma rekursyviai, kol pasiekiami lapų objektai, todėl įtraukus ne lapo tipo objektą, išvedamas visas pomedis, pradedant nuo nurodyto objekto. Sąrašų spausdinimo atveju gali būti sugeneruoti keli [RE] pranešimai. Tačiau išvestis gali būti padalinta tik iškart po sąrašo skyriklio simbolių.
Examples
Example: Tuščias atsakymas į sąrašą neįtraukto objekto:
list,/par/rcv/ver/main RE000
Example: Klaidos atsakymas įtraukiant į sąrašą neegzistuojančio objekto:
sąrašas,/does_not_exist ER018{2,,neteisingas 1-as parametras}
GREIS
www.javad.com
35
RECEIVER INPUT LANGUAGE Komandų sąrašas
Example: gauti esamų žurnalų sąrašąfiles. Bet kuris iš
sąrašas, / žurnalo sąrašas
gamins tą pačią produkciją, pvz.:
RE013{log1127a, log1127b}
Example: Išvardykite visus standartinius GREIS pranešimus, kuriuos palaiko imtuvas:
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: išvardykite visus pranešimus numatytajame pranešimų rinkinyje:
sąrašas,/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 ir išeina
IMTUVO ĮVESTIES KALBA Komandos em & out
Vardas
em, out leidžia periodiškai išvesti pranešimus.
Santrauka
Formatas: Formatas: Parinktys:
em,[taikinys],pranešimai išeina,[tikslas],pranešimai {period, phase, count, flags}
Argumentai
nukreipti į bet kurį išvesties srautą arba pranešimų rinkinį. Jei tikslas nenurodytas, daroma prielaida, kad dabartinis terminalas /cur/term.
praneša pranešimų pavadinimų ir (arba) pranešimų rinkinių pavadinimų, kuriuos reikia įjungti, sąrašą (su aplinkiniais skliaustais arba be jų). Jei kai kurie iš nurodytų pavadinimų neprasideda „/“, prieš vykdant komandą prieš tokius pavadinimus automatiškai įterpiamas priešdėlis „/msg/“.
Parinktys
2-3 lentelė. em ir iš parinkčių santrauka
Vardo tipas
Vertybės
Numatytoji
laikotarpio plūdimas [0…86400)
–
fazinė plūdė [0…86400)
–
skaičiuoti sveikąjį skaičių [-256…32767] 0 em 1 out
žymės sveikasis skaičius [0…0xFFFF] –
laikotarpis, fazė, skaičius, žymi pranešimų planavimo parametrus.
Aprašymas
Šios komandos leidžia periodiškai išvesti nurodytus pranešimus į taikinį, todėl pranešimų planavimo parametrai turi būti tie, kurie nurodyti pasirinktyse. Atsakymas nesugeneruojamas, nebent yra klaida arba atsakymas yra priverstas teiginio identifikatoriaus.
Komandos em ir out yra tos pačios, išskyrus numatytąją skaičiavimo parinkties reikšmę em ir 0 out. Išvesties komanda yra tik patogesnis prašymo pateikimo būdas
www.javad.com
37
IMTUVO ĮVESTIES KALBA Komandos em & out
Pastaba:
vienkartinis pranešimo (-ų) išvedimas. Šiame aprašyme kalbėsime tik apie juos, nors viskas tinka ir išėjimui.
Toliau pateiktame aprašyme tikimasi, kad skaitytojas susipažins su medžiaga, esančia skyriuje „Periodinė išvestis“ 22 puslapyje.
Kiekvienam išvesties srautui yra atitinkamas išvesties sąrašas pranešimų1,2, kuriuos šiuo metu galima išvesti į nurodytą srautą. Kai pranešimo, perduoto kaip argumentas komandai em, šiuo metu nėra išvesties sąraše, komanda em prideda nurodytą pranešimą sąrašo pabaigoje. Kai komandai em perduotas pranešimas jau yra išvesties sąraše, komanda em tiesiog pakeičia šio pranešimo planavimo parametrus ir nekeičia pranešimo padėties sąraše.
Kadangi komanda em sujungia nurodytus pranešimus su išvesties sąrašu, dažnai naudinga naudoti komandą dm, kad išvalytumėte nurodyto srauto išvesties sąrašą prieš išduodant em komandas.
Komanda em apdoroja pranešimų sąrašą po vieną pranešimą, iš kairės į dešinę ir nuo pirmojo pranešimų rinkinio pranešimo iki paskutinio pranešimų rinkinio pranešimo. Jei jis aptiktų pavadinimą, kuris neatitinka jokio palaikomo gavėjo pranešimo ar pranešimų rinkinio, jis prisimena, kad vykdant įvyko klaida, tačiau pranešimų sąrašo apdorojimas nenustoja. Tokiu būdu bus įjungti visi pranešimai iš pranešimų sąrašo, kuriuos galima įjungti, ir bus pranešta tik apie vieną klaidą, kai vieno ar kelių nurodytų pranešimų negalima įjungti.
Kai komanda em apdoroja turimą pranešimą, galutiniai veikimo pranešimų planavimo parametrai atitinkamame išvesties pranešimų sąraše apskaičiuojami atsižvelgiant į kelis informacijos apie planavimo parametrus šaltinius, konkrečiai:
1. Reikšmės, aiškiai nurodytos komandos em parinktyse.
2. Numatytosios komandos em parinkčių reikšmės.
3. Planavimo parametrai, nurodyti duotam pranešimui kaip atitinkamo pranešimų rinkinio dalis. Į juos atsižvelgiama tik įjungiant pranešimą nurodant pranešimų rinkinį, o ne atskirą pranešimą.
4. Esami pranešimo planavimo parametrai atitinkamame išvesties sąraše (jei yra).
5. Numatytieji planavimo parametrai, nurodyti duotam pranešimui kaip atitinkamos pranešimų grupės dalis.
Pirmiau minėti parametrų šaltiniai yra išvardyti jų eiliškumo tvarka, o pirmasis turi didžiausią pirmenybę, ir yra taikomi atskirai kiekvienam iš keturių planavimo parametrų. Todėl vertės iš (1) nepaiso reikšmių iš (2), gautos vertės
GREIS
1. Srauto PAVADINIMAS atitinkamas išvesties sąrašas vadinamas /par/out/NAME 2. Dabartinė programinė įranga turi savavališką maksimalaus pranešimų skaičiaus išvesties sąraše apribojimą, nustatytą į 49.
www.javad.com
38
IMTUVO ĮVESTIES KALBA Komandos em & out
nepaiso reikšmės iš (3) ir tt Tačiau, jei kai kurie iš F_FIX_PERIOD, F_FIX_PHASE, F_FIX_COUNT arba F_FIX_FLAGS bitų yra nustatyti kito šaltinio vėliavėlių lauke, atitinkami šio kito šaltinio laukai nebus perrašyti.
Examples
Example: įgalinkite vienkartinį NMEA GGA pranešimo išvedimą į dabartinį terminalą:
em,,nmea/GGA:{,,1}
Tas pats, kas aukščiau, bet vietoj jų naudojamas out:
out,,nmea/GGA
Example: Įgalinkite numatytojo pranešimų rinkinio išvestį į dabartinį žurnaląfile A naudojant numatytuosius išvesties parametrus. Bet kuris iš:
ExampLe:
em,/cur/file/a,/msg/def em,/cur/file/a, def
Įgalinti numatytojo pranešimų rinkinio išvedimą į dabartinį žurnaląfile A kas 10 sekundžių Kitiems išvesties parametrams bus naudojamos numatytosios jų reikšmės:
em,/cur/file/a,def:10
Example: Įgalinti numatytojo pranešimų rinkinio išvestį į dabartinį terminalą naudojant numatytuosius išvesties parametrus. Bet kuris iš:
ExampLe:
em,/cur/term,/msg/def em,,/msg/def em,,def
Įgalinti GREIS pranešimų [~~](RT) ir [RD] išvestį į esamą terminalą. Bet kuris iš:
ExampLe:
em,,/msg/jps/RT,/msg/jps/RD em,,jps/{RT,RD}
Įgalinti NMEA pranešimų GGA ir ZDA išvestį į esamą terminalą kas 20 sekundžių:
ExampLe:
em,,nmea/{GGA,ZDA}:20
Įgalinkite pranešimų [SI], [EL] ir [AZ] išvestį į nuoseklųjį prievadą A. Nustatykite [SI] planavimo parametrus, kad intervalas tarp bet kurių dviejų paskesnių [SI] pranešimų būtų lygus 10 sekundžių, jei jie sutampa, ir 1 sekundė kitu atveju; išveda tik pirmuosius penkiasdešimt [SI] pranešimų. Be to, imtuvas [EL] ir [AZ] pranešimų išvesties intervalą nustato 2 sekundes:
em,/dev/ser/a,jps/{SI:{1,10,50,0×2},EL,AZ}:2
GREIS
www.javad.com
39
IMTUVO ĮVESTIES KALBA Komandos em & out
Example: įgalinkite RTCM 2.x pranešimų tipų 1 ir 31 išvestį į nuoseklųjį prievadą B su išvesties intervalu 3 sekundės ir RTCM 2.x pranešimų tipus 18, 19, 3, 22 į prievadą C su 1 sekundės išvesties intervalu 18 ir tipams 19; ir 10 sekundžių 3 ir 22 tipams:
em,/dev/ser/b,rtcm/{1,31}:3; em,/dev/ser/c,rtcm/{18:1,19:1,22,3}:10
Example: tinkinkite numatytąjį pranešimų rinkinį, kad juose būtų tik NMEA ZDA ir GGA:
dm,/msg/def em,/msg/def,/msg/nmea/{ZDA,GGA}
GREIS
www.javad.com
40
2.3.5 dm
IMTUVO ĮVESTIES KALBA Komandos dm
Vardas
dm išjungti periodinį pranešimų išvedimą.
Santrauka
Formatas: dm[,[target][,messages]] Parinktys: nėra
Argumentai
nukreipti į bet kurį išvesties srautą arba pranešimų rinkinį. Jei tikslas nenurodytas, daroma prielaida, kad dabartinis terminalas /cur/term. Jei kai kurie iš nurodytų pavadinimų neprasideda „/“, prieš vykdant komandą prieš tokius pavadinimus automatiškai įterpiamas priešdėlis „/msg/“.
pranešimai išjungiamų pranešimų sąrašas su aplinkiniais skliaustais arba be jų, arba bet kokia pranešimų grupė ar pranešimų rinkinys. Jei pranešimų nenurodyta, visa periodinė išvestis į taikinį yra išjungta.
Parinktys
Nėra.
Aprašymas
Ši komanda išjungia periodinį nurodytų pranešimų išvedimą į objekto tikslą. Atsakymas nesugeneruojamas, nebent yra klaida arba atsakymas yra priverstas teiginio identifikatoriaus.
Jei pranešimų nenurodyta, visa periodinė išvestis į taikinį yra išjungta. Jei tikslas yra dabartinis žurnalasfile ir jokie pranešimai nenurodomi, visa išvestis į file yra neįgalus, file yra uždarytas ir atitinkamas dabartinis žurnalasfile nustatytas į jokį.
Jei pranešimų sąraše nurodytas pranešimas, kurio šiuo metu neleidžiama išvesti į nurodytą tikslą, komanda dm nesukuria jokios atitinkamos klaidos. Nors ši sąlyga neleidžia pranešti apie kitas galimas klaidas.
Examples
Example: išjungti visus pranešimus, išvedamus į dabartinį žurnaląfile A ir uždarykite file:
dm,/cur/file/a
GREIS
www.javad.com
41
IMTUVO ĮVESTIES KALBA Komandos dm
Example: Išjunkite visą periodinę išvestį į dabartinį terminalą. Bet kuris iš:
dm,/cur/term dm
Example: Išjungti GREIS pranešimo [~~](RT) išvestį į nuoseklųjį prievadą B:
dm,/dev/ser/b,/msg/jps/RT
Example: išjungti GREIS pranešimo [DO] išvedimą į dabartinį žurnaląfile B:
dm,/cur/file/b,/msg/jps/DO
Example: Pašalinkite GREIS pranešimą [PM] iš numatytojo pranešimų rinkinio:
dm,/msg/def,/msg/jps/PM
Example: Išjungti visų NMEA pranešimų išvedimą į dabartinį terminalą:
dm,/cur/term,/msg/nmea
Example: išjungti NMEA pranešimų GGA ir ZDA išvestį į esamą terminalą. Bet kuris iš:
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 pradinis
RECEIVER INPUT LANGUAGE Komandos init
Vardas
init inicijuoti objektus.
Santrauka
Formatas: init,object[/] Parinktys: nėra
Argumentai
prieštarauja objektui, kurį reikia inicijuoti. / jei yra ir objektas yra sąrašo tipų, inicijuokite visus esančius objektus
paties objekto.
Parinktys
Nėra.
Pastaba: Pastaba:
Aprašymas
Ši komanda inicijuoja nurodytus objektus. Atsakymas nesugeneruojamas, nebent yra klaida arba atsakymas yra priverstas teiginio identifikatoriaus.
Tiksli inicijavimo semantika priklauso nuo inicijuojamo objekto, tačiau apskritai tai gali būti laikoma objekto pavertimu į „numatytąją“ arba „švarią“ būseną. Pavyzdžiui,ample, parametrams tai reiškia atitinkamų numatytųjų verčių nustatymą filesaugojimo įrenginys, tai reiškia, kad reikia iš naujo suformatuoti pagrindinę laikmeną ir pan.
Inicijuojus kai kuriuos objektus imtuvas bus paleistas iš naujo. Šiuo metu taip yra imtuvo nepastoviosios atminties (/dev/nvm/a) inicijavimo atveju.
Nors ateityje ji gali pasikeisti, dabartinis šios bendros komandos įgyvendinimas imtuvuose yra gana ribotas. Tiesą sakant, tik inicijuojami objektai, kurie randami examples žemiau šiuo metu palaikoma.
Examples
Example: Išvalykite NVRAM ir paleiskite imtuvą iš naujo. Visi NVRAM saugomi duomenys (almanachai, efemeridai ir kt.) bus prarasti, po perkrovimo visi parametrai bus nustatyti į numatytąsias reikšmes:
init,/dev/nvm/a
Example: Skaidrus efemeris:
init,/eph/
GREIS
www.javad.com
43
RECEIVER INPUT LANGUAGE Komandos init
Example: nustatykite visų imtuvo parametrų numatytąsias reikšmes:
init,/par/
Example: nustatykite visų WLAN parametrų numatytąsias reikšmes. Kad pakeitimai įsigaliotų, reikia iš naujo paleisti įrenginį:
init,/par/net/wlan/
Example: inicijuokite file sistema (ty iš naujo suformatuoti pagrindinę laikmeną). Visi fileimtuve saugomi s bus prarasti:
init,/dev/blk/a
Example: inicijuokite visus pranešimų rinkinius į numatytąsias reikšmes:
init,/msg/
GREIS
www.javad.com
44
2.3.7 sukurti
RECEIVER INPUT LANGUAGE Komandos sukurti
Vardas
sukurti sukurti naują objektą.
Santrauka
Formatas: sukurti[,objektas] Parinktys: {log}
Argumentai
objekto objekto kuriamo objekto identifikatorius. Jei objektas neprasideda „/“, prieš vykdant komandą prieš objektą automatiškai įterpiamas priešdėlis „/log/“. Jei praleista, sukuriama a file yra tariamas ir unikalus file vardas generuojamas automatiškai.
Parinktys
2-4 lentelė. sukurti parinkčių santrauką
Pavadinimas Tipas Reikšmės
žurnalo eilutė a,b,…
Numatytoji
a
registruoti žurnalą -file sukurtas file turi būti priskirtas. žurnalas-file pasirinkta /cur/log/X, kur X yra 1 parinkties reikšmė.
Aprašymas
Ši komanda sukuria naują objektą. Atsakymas nesugeneruojamas, nebent yra klaida arba atsakymas yra priverstas teiginio identifikatoriaus.
Tiek vietą medyje, tiek sukurto objekto tipą apibrėžia objekto argumentas.
Galima sukurti dviejų tipų objektus:
1. Files. Naujas file sukuriamas, kai objekto identifikatorius nurodo objektą /log antriniame medyje arba kai praleidžiamas objekto argumentas.
2. Pranešimų specifikacijos. Naujas pranešimo aprašas sukuriamas kiekvieną kartą, kai objekto identifikatorius nurodo objektą pranešimų rinkinyje (pvz., /msg/def).
GREIS
1. Dabartinė programinė įranga palaiko vieną arba du vienu metu vykdomus žurnalųfiles priklauso nuo konkretaus imtuvo.
www.javad.com
45
RECEIVER INPUT LANGUAGE Komandos sukurti
Kūrimas Files
Kuriant files, objekto argumentas yra praleistas arba jo formatas yra /log/NAME, kur PAVADINIMAS yra file turi būti sukurta, o /log/ yra neprivaloma. Pirmuoju atveju imtuvas automatiškai parinks unikalų pavadinimą file. Pastaruoju atveju nurodytas PAVADINIMAS turi būti iki 31 simbolio ilgio eilutė, kurioje neturėtų būti tarpų ar šių simbolių: „,{}()@&“/“.
Jei file /log/NAME jau egzistuoja, komanda sukurti nepavyks ir pateiks klaidos pranešimą. Dėl to nėra jokio būdo sugriauti kai kuriuos esamus files su komanda sukurti.
Po naujo file sėkmingai sukurtas, jis priskirtas vienam iš esamų žurnalųfiles priklausomai nuo log_ vertėsfile variantas. Jei atitinkamas žurnalas-file jau rodo į kitą file kai kūrimas vykdomas, senas žurnalasfile bus uždarytas, o išėjimas bus tęsiamas į naują file be jokių trukdžių.
Laiškų specifikacijų kūrimas
Pridedant pranešimus į pranešimų rinkinį, objekto argumento formatas yra /msg/SET/GROUP/MSG, kur SET yra pranešimų rinkinio, kuriame turėtų būti sukurtas naujas pranešimas, pavadinimas, GROUP yra grupės, kuriai priklauso pranešimas, pavadinimas. , o MSG yra paties pranešimo pavadinimas (pvz., /msg/def/nmea/GGA arba /msg/jps/rtk/min/jps/ET).
Pranešimų planavimo parametrai bus nukopijuoti iš tų, kurie apibrėžti tam tikram pranešimui pranešimų grupėje. Jei reikia, naudokite komandą set, kad pritaikytumėte planavimo parametrus.
Examples
Kūrimas Files
Example: sukurti naują file su automatiškai sugeneruotu pavadinimu ir priskirti jį dabartiniam žurnaluifile A (/cur/file/a). Bet kuris iš:
sukurti sukurti,:a
Example: sukurti naują žurnalą-file su vardu "mano_file“. Bet kuris iš:
sukurti,/log/my_file:a sukurti,mano_file
Example: Sukurti files“file1“ ir „file2“, ir priskirkite juos prie /cur/file/a ir /cur/file/b:
kurti,file1:a; kurti,file2:b
GREIS
www.javad.com
46
RECEIVER INPUT LANGUAGE Komandos sukurti
Laiškų specifikacijų kūrimas
Example: pridėkite /msg/jps/ET pranešimus prie numatytojo pranešimų rinkinio:
sukurti,/msg/def/jps/ET
Example: pridėkite NMEA GGA pranešimą prie numatytojo pranešimų rinkinio ir priverskite jo periodą bei fazę visada būti atitinkamai 10 ir 5, nesvarbu, kokios jų reikšmės bus nurodytos komandoje em arba out:
sukurti,/msg/def/nmea/GGA set,/msg/def/nmea/GGA,{10,5,,0×30}
GREIS
www.javad.com
47
2.3.8 pašalinti
RECEIVER INPUT LANGUAGE Komandos pašalinti
Vardas
pašalinti pašalinti objektą.
Santrauka
Formatas: pašalinti,objektas[/] Parinktys: nėra
Argumentai
objekto objekto pašalintino objekto identifikatorius. Jei objektas neprasideda „/“, prieš vykdant komandą prieš objektą automatiškai įterpiamas priešdėlis „/log/“.
/ jei yra ir objektas yra sąrašo tipo, pašalinkite visą objekto turinį, o ne patį objektą.
Parinktys
Nėra.
Aprašymas
Ši komanda pašalina (ištrina) esamą objektą. Atsakymas nesugeneruojamas, nebent yra klaida arba atsakymas yra priverstas teiginio identifikatoriaus. Jei nėra objekto nurodyto objekto arba jei objekto negalima pašalinti, sugeneruojama klaida. Galima pašalinti dviejų tipų objektus:
1. Files. Jei file yra vienas iš dabartinių žurnalųfiles, komanda nepavyks ir bus sugeneruotas klaidos pranešimas.
2. Pranešimų specifikacijos iš pranešimų rinkinių.
Examples
Example: Pašalinkite žurnaląfile su pavadinimu „VARDAS“. Bet kuris iš:
pašalinti,/log/NAME pašalinti,NAME
Example: Pašalinti visus žurnalus-files:
pašalinti,/log/
GREIS
www.javad.com
48
RECEIVER INPUT LANGUAGE Komandos pašalinti
Example: Pašalinkite GREIS standartinį [GA] pranešimą iš numatytojo pranešimų rinkinio:
pašalinti,/msg/def/jps/GA
Example: Pašalinkite visus pranešimus iš numatytojo pranešimų rinkinio:
pašalinti,/msg/def/
Example: Pašalinkite visus pranešimus iš minimalaus standartinių GREIS pranešimų rinkinio, tinkamų RTK:
pašalinti,/msg/rtk/jps/min/
GREIS
www.javad.com
49
2.3.9 įvykis
RECEIVER INPUT LANGUAGE Komandų įvykis
Vardas
renginys generuoja laisvos formos renginį.
Santrauka
Formatas: įvykis, eilutė Parinktys: nėra
Argumentai
string savavališką1 eilutę, kurią sudaro iki 63 simbolių.
Parinktys
Nėra.
Pastaba: PvzampLe:
Aprašymas
Ši komanda generuoja laisvos formos įvykį. Atsakymas nesugeneruojamas, nebent yra klaida arba atsakymas yra priverstas teiginio identifikatoriaus.
Duota eilutė kartu su įvykio komandos gavimo laiku yra saugoma imtuve specialiame įvykių buferyje2. Šio buferio turinys išvedamas į visus išvesties srautus, kuriuose įjungtas standartinis GREIS pranešimas [==](EV) (aprašytas 131 puslapyje).
Laisvos formos įvykių mechanizmas skirtas valdymo programoms persiųsti savavališką tekstinę informaciją į papildomo apdorojimo programas, neinterpretuojant šios informacijos imtuve. Imtuvo programinės aparatinės įrangos branduolys niekada pats negeneruoja laisvos formos įvykių ir kažkaip neinterpretuoja informacijos, siunčiamos per įvykių komandas.
Visos eilutės, prasidedančios apatiniu brūkšniu (ASCII 0x5F), yra rezervuotos JAVAD GNSS programoms. Reikėtų pasirūpinti, kad tokios eilutės nebūtų naudojamos su įvykių komandomis, nebent negalite kitaip atlikti savo užduoties arba ketinate bendradarbiauti su JAVAD GNSS programine įranga. Pastaruoju atveju žr. išsamų laisvos formos įvykių, skirtų JAVAD GNSS programoms, aprašymą „Frame Format for Free-Form Events“, kurį galite rasti adresu http://www.javad.com.
Sugeneruokite laisvos formos įvykį su eilute „Info1“:
renginys, info1
GREIS
1. Prisiminkite, kad jei eilutėje yra bet kuris iš imtuvo įvesties kalbai skirtų simbolių, šią eilutę turėtumėte įterpti į dvigubas kabutes.
2. Dabartinė programinė įranga suteikia pakankamai didelį buferį, kad būtų galima saugoti iki šešiolikos 64 baitų laisvos formos įvykių.
www.javad.com
50
RECEIVER INPUT LANGUAGE Komandų įvykis
Example: generuokite laisvos formos įvykį su rezervuotais simboliais:
įvykis „EVENT{DATA, SENT}“
Example: generuoti laisvos formos įvykį, skirtą JAVAD GNSS taikomajai programinei įrangai (šis įvykis praneša papildomo apdorojimo programai apie dinamikos pasikeitimą):
įvykis "_DYN=STATIC"
Example: sugeneruokite laisvą formą su tuščia eilute:
renginys“,“
Example: sugeneruokite keletą laisvos formos įvykių ir susigrąžinkite [==](EV) pranešimus ([==] pranešimų turinyje nespausdinami baitai pakeičiami taškais example):
em,,jps/EV %accepted% event,"some string" RE00A%accepted% ==011…..some_string. %1% įvykis,1; %2% įvykis,2 RE003%1% RE003%2% ==007…..1. ==007…2. dm,,jps/EV
GREIS
www.javad.com
51
2.3.10 gauti
IMTUVO ĮVESTIES KALBA Komandos gauti
Vardas
pradėti atgauti file turinį naudojant DTP1.
Santrauka
Formatas: gauti, objektas[, poslinkis] Parinktys: {timeout,block_size,period,phase,attempts}
Argumentai
objekto objekto identifikatorius file kad būtų atgautas. Jei objektas neprasideda „/“, prieš vykdant komandą prieš objektą automatiškai įterpiamas priešdėlis „/log/“. Jei objekto nėra arba jo negalima nuskaityti, sugeneruojamas klaidos pranešimas.
poslinkis poslinkis baitais nuo pradžios file nuo kurio pradėti atgauti. Jei praleista, laikoma, kad 0.
Parinktys
2-5 lentelė. gauti parinkčių santrauką
Vardas
Tipas
Vertybės
skirtas laikas
sveikasis skaičius [0…86400], sekundės
block_size sveikasis skaičius [1…163841]
laikotarpį
plūdė [0…86400), sekundės
fazė
plūdė [0…86400), sekundės
bando sveikasis skaičius [-257…100] 1. 2048 imtuvams, kurie nepalaiko TCP arba USB.
Numatytoji
10 512 0 0 10
timeout DTP skirtasis laikas. block_size DTP duomenų bloko dydis. periodas yra filtravimo išvesties laikotarpis (žr. toliau). fazė išvesties fazė filtravimui (žr. toliau). bando skirti skirtingą reikšmę, priklausomai nuo diapazono, kaip nurodyta toliau:
1. Žr. „Duomenų perdavimo protokolas“ 580 puslapyje.
GREIS
www.javad.com
52
IMTUVO ĮVESTIES KALBA Komandos gauti
[1…100] didžiausias DTP siųstuvo bandymų skaičius siųsti vieną bloką. Nustačius 1, įjungiamas specialus srautinio perdavimo režimas (žr. toliau).
0, o ne paleisti DTP, išveda neapdorotą objekto turinį. [-256…-1], užuot paleidę DTP, išveskite įvynioto objekto turinį
[>>] žinutės.
-257, užuot paleidę DTP, išveskite objekto turinį, supakuotą į [RE] pranešimus.
Aprašymas
Ši komanda pradeda gauti a file į pagrindinį kompiuterį, naudojant duomenų perdavimo protokolą (DTP) arba neapdorotą išvesties formatą. Atsakymas nesugeneruojamas, nebent yra klaida arba atsakymas yra priverstas teiginio identifikatoriaus.
Kai veikia DTP režimas, sėkmingai gavus komandą, DTP siųstuvas paleidžiamas imtuve ir laukia, kol DTP imtuvas bus paleistas pagrindiniame kompiuteryje. Todėl norint iš tikrųjų gauti bet kokius duomenis, pagrindiniame kompiuteryje reikia įdiegti DTP imtuvą.
Neprivalomas poslinkio argumentas leidžia pagrindiniam kompiuteriui įdiegti palaikymą, kad būtų atnaujintas nutrauktas duomenų perdavimas. Atminkite, kad norint pasiekti didelį poslinkį imtuve gali prireikti gana daug laiko. Norėdami tinkamai įgyvendinti pagrindinio kompiuterio programinės įrangos atnaujinimą, priverskite imtuvą reaguoti į komandą gauti naudodami sakinio identifikatorių ir palaukite atsakymo iš imtuvo, prieš paleisdami DTP pagrindiniame kompiuteryje. Šis metodas yra pažangustage faktas, kad imtuvas atsako į komandą gauti po to, kai buvo atlikta paieška.
Kai bandymų parinktis nustatyta į 1, DTP siųstuvas bus įjungtas į vadinamąjį srautinio perdavimo režimą. Šiuo režimu, gavęs pirmąjį NACK iš DTP imtuvo, DTP siųstuvas perduos duomenų blokus nelaukdamas ACK iš DTP imtuvo, o siųstuvas nedelsiant nutrauks duomenų perdavimą, jei bus gautas NACK. Šis metodas leidžia žymiai greičiau perduoti duomenis patikimomis jungtimis, turinčiomis didelę delsą (pvz., TCP) arba santykinai didelę krypties perjungimo funkciją (pvz., USB). Teisingai įgyvendinta protokolo dalis nereikalauja jokios ypatingos priežiūros, kad būtų palaikomas šis metodas.
Kai periodo parinktis yra ne nulis, įjungiamas specialus filtravimo režimas. Pavyzdžiui,ample, leidžia atsisiųsti 1Hz duomenis iš a file kuri buvo parašyta naudojant 10Hz atnaujinimo dažnį. Tiksliau, imtuvas siųs duomenis tik tų epochų, kai imtuvo laikas modulio viena diena (Tr) atitinka šią lygtį:
Tr {mod periodas} = fazė
Kad tai pasiektų, imtuvas analizuoja turinį file ir išfiltruoja kai kuriuos pranešimus. Atminkite, kad pertraukto atsisiuntimo atnaujinimo įgyvendinimas yra labai sunkus, jei
GREIS
www.javad.com
53
IMTUVO ĮVESTIES KALBA Komandos gauti
šiuo atveju nėra neįmanoma dėl to, kad šeimininkas neįsivaizduoja, kokiame imtuvo poslinkyje file atsisiuntimas buvo nutrauktas.
Bet kuris iš perdavimo tipų gali būti nutrauktas duomenų gavimo pabaigoje siunčiant bet kokį DTP klaidos simbolį (pvz., ASCII „#“).
Perduodant duomenis [RE] pranešimuose, block_size reikšmė lems maksimalų kiekvieno [RE] pranešimo naudingosios apkrovos dydį (taip pat riboja vidinio programinės įrangos buferio dydis). Kaip įprasta, kiekvienas [RE] pranešimas bus pradėtas naudojant komandos ID (jei toks yra).
Perkeliant duomenis [>>] pranešimuose, bandymų parinkties reikšmė nustatys [>>] pranešimų ID lauką taip:
id = -1 – bandymai
o „block_size“ reikšmė nustatys maksimalų kiekvieno [>>] pranešimo naudingo duomenų kiekio dydį (taip pat riboja vidinio programinės įrangos buferio dydis).
Kitas baitas po id (pirmasis duomenų lauko baitas) [>>] pranešime bus sekos simbolis, prasidedantis ASCII simboliu 0 ir didėjantis modulo 64 kiekvienam pranešimui, todėl ASCII simbolių seka bus nuo 0 iki o, imtinai:
seka = 0 kilpa { seq_char = '0' + (seq++ % 64) }
Sekos simbolis leidžia gavimo pabaigai aptikti [>>] pranešimo (-ių) praradimą sekoje.
Tada seks objekto duomenų naudingoji apkrova iki block_size baitų, o tada kontrolinė suma pagal [>>] pranešimo formatą.
Sėkmingas išvestis vyniojimo režimu visada bus baigtas [>>] pranešimu be naudingų duomenų, kad gavimo pabaiga būtų patikimai nustatyta perdavimo pabaiga.
Examples
Example: pradėkite nuskaityti turinį file NAME naudojant DTP. Bet kuris iš:
ExampLe:
get,/log/NAME get,NAME
Pradėkite nuskaityti turinį file NAME prasideda nuo baito numerio 3870034 (baitai skaičiuojami nuo nulio). Tikėtis, kad nuo komandos iki atsakymo praeis gana ilgas laikas:
%%get,NAME,3870034 RE002%%
GREIS
www.javad.com
54
IMTUVO ĮVESTIES KALBA Komandos gauti
Example: pradėkite nuskaityti turinį file mano_logasfile pradedant nuo 3000 baito, naudojant 50 sekundžių skirtąjį laiką ir 8192 baitų bloko dydį:
gauk, mano žurnalasfile:{50,8192},3000
Example: pradėkite nuskaityti turinį file NAME išfiltruoja epochas, kad gauta informacija būtų nuskaityta file būtų 0.1 Hz duomenys:
gauti,NAME:{,,10}
Example: pradėkite nuskaityti turinį file NAME naudojant srautinio perdavimo režimą (bandymo parinktis nustatyta į 1):
gauti,NAME:{,,,,1}
Example: Siųsti turinį file NAME supakuotas į [>>] pranešimus, kurių ID 61 (yra ASCII simbolis '='), naudojant iki 128 baitų duomenų viename pranešime:
gauti,NAME:{,128,,,-62}
Example: Siųsti turinį file NAME supakuotas į [RE] pranešimus, naudojant iki 190 baitų duomenų viename pranešime, pridėjus %MY_ID%:
%MY_ID%gauti,NAME:{,190,,,-257}
GREIS
www.javad.com
55
2.3.11 įdėti
IMTUVO ĮVESTIES KALBA Įdėti komandas
Vardas
įdėti pradžią file įkėlimas naudojant DTP1.
Santrauka
Formatas: įdėti, objektas[, poslinkis] Parinktys: {timeout, block_size}
Argumentai
objekto objekto identifikatorius file įrašyti duomenis. Jei objektas neprasideda „/“, prieš vykdant komandą prieš objektą automatiškai įterpiamas priešdėlis „/log/“.
poslinkis poslinkis baitais nuo pradžios file nuo kurio pradėti rašyti. Jei praleista, laikoma, kad 0.
Parinktys
2-6 lentelė. pirkimo parinkčių santrauka
Vardas
Tipas
Vertybės
Numatytoji
skirtas laikas
sveikasis skaičius [0…86400], sekundės 10
block_size sveikasis skaičius [1…163841]
512
1. 2048 imtuvams, kurie nepalaiko TCP arba USB.
timeout DTP skirtasis laikas. block_size DTP duomenų bloko dydis.
Aprašymas
Ši komanda pradeda duomenų įkėlimą iš pagrindinio kompiuterio į a file imtuve naudojant duomenų perdavimo protokolą (DTP). Atsakymas nesugeneruojamas, nebent yra klaida arba atsakymas yra priverstas teiginio identifikatoriaus.
Įdėjus komandą sėkmingai, imtuve paleidžiamas DTP imtuvas ir laukiama, kol DTP siųstuvas bus paleistas pagrindiniame kompiuteryje. Todėl norint iš tikrųjų įkelti bet kokius duomenis, pagrindiniame kompiuteryje reikia įdiegti DTP siųstuvą.
1. Žr. „Duomenų perdavimo protokolas“ 580 puslapyje.
GREIS
www.javad.com
56
IMTUVO ĮVESTIES KALBA Įdėti komandas
Neprivalomas poslinkio argumentas leidžia pagrindiniam kompiuteriui įdiegti palaikymą, kad būtų atnaujintas nutrauktas duomenų perdavimas. Ne nulinė poslinkio vertė leidžia pagrindiniam kompiuteriui pateikti užklausą pridėti duomenis prie esamo pabaigos file atitinkančio dydžio.
Jei poslinkis yra 0 ir file objektas neegzistuoja, imtuvas bandys sukurti ir atidaryti, kad parašytų naują file objekto apibrėžtu pavadinimu. Tokiu atveju komanda nepavyks, jei jau yra a file su duotu vardu.
Jei poslinkis didesnis nei 0, ir yra a file objektas ir file dydis yra lygus poslinkio reikšmei, tada komanda „put“ atidarys file objektas, skirtas pridėti. Tokiu atveju komanda nepavyks, jei jos nėra file su vardu arba jei esamo dydžio file neatitinka nurodytų poslinkyje.
Examples
Example: pradėkite duomenų įkėlimą į naują file „NAME“ naudojant DTP. Bet kuris iš:
ExampLe:
įdėti,/log/NAME, įdėti,NAME
Pradėkite įkelti duomenis ir pridėkite juos prie esamų file „VARDAS“. Naudokite numatytąjį DTP skirtąjį laiką ir 4096 baitų DTP bloko dydį. Gaukite dydį file prieš pradėdami įkėlimą (atminkite, kad file dydis vis tiek reikalingas pagrindiniame kompiuteryje, kad jis galėtų praleisti šį baitų skaičių iš savo šaltinio duomenų file):
ExampLe:
print,/log/NAME&dydis RE008 3870034 put,/log/NAME:{,4096},3870034
Pradėkite duomenų įkėlimą į naują file „mano_žurnalasfile“ naudojant 50 sekundžių skirtąjį laiką ir 8192 baitų bloko dydį:
įdėti, mano žurnalasfile:{50,8192}
GREIS
www.javad.com
57
2.3.12 fld
IMTUVO ĮVESTIES KALBA Komandos fld
Vardas
Įkeliama fld programinė įranga.
Santrauka
Formatas: fld,id,objekto parinktys: {timeout, block_size}
Argumentai
id eilutė, kurioje yra imtuvo elektroninis ID1. Jei nurodytas ID neatitinka tikrojo elektroninio imtuvo ID, komanda nepavyks ir bus pateiktas klaidos pranešimas.
Įkeliamos programinės įrangos šaltinio objekto objekto identifikatorius. Arba imtuvo pavadinimas filearba įvesties prievado pavadinimą. Kai tai yra įvesties prievado pavadinimas, reikia nurodyti /cur/term arba tikrąjį dabartinio prievado pavadinimą, kitaip bus pranešta apie klaidą.
Parinktys
2-7 lentelė. fld parinkčių santrauka
Vardas
Tipas
Vertybės
skirtas laikas
sveikasis skaičius [0…86400], sekundės
block_size integer [1…163841] 1. 2048 imtuvams, kurie nepalaiko TCP arba USB.
Numatytoji
10 512
timeout DTP skirtasis laikas. block_size DTP duomenų bloko dydis.
Aprašymas
Ši komanda įkelia programinę įrangą iš nurodyto objekto į imtuvą ir iš naujo nustato imtuvą. Atsakymas nesugeneruojamas, nebent yra klaida arba atsakymas yra priverstas teiginio identifikatoriaus.
1. ID galima gauti naudojant komandą print,/par/rcv/id.
GREIS
www.javad.com
58
IMTUVO ĮVESTIES KALBA Komandos fld
Įspėjimas:
Jei įkėlimo metu nutrūktų maitinimas arba mirtinai nutrūktų programinės aparatinės įrangos perdavimas per prievadą, imtuvas gali pereiti į pusiau darbo būseną, kur galima tik programinės įrangos įkėlimas per RS-232 prievadus naudojant „įjungimo fiksavimo“ metodą.
Jei objektas nurodo esamą file1, imtuvas pirmiausia patikrins, ar file yra tinkama imtuvo programinė aparatinė įranga (užtrukti keletą sekundžių). Jei patikrinimas pavyks, imtuvas įkels programinę-aparatinę įrangą ir atliks savaiminį atstatymą. Atminkite, kad atsakymas į komandą (jei yra) bus išsiųstas atlikus patikrinimą, bet prieš pradedant programinės įrangos įkėlimą. Šiuo atveju nepaisoma laiko ir block_size parinkčių.
Jei objektas nurodo įvesties srautą, komanda išsiųs atsakymą (jei toks yra) ir paleis DTP imtuvą, kuris lauks, kol DTP siųstuvas bus paleistas pagrindiniame kompiuteryje. Todėl norint iš tikrųjų įkelti programinę-aparatinę įrangą, pagrindiniame kompiuteryje reikia įdiegti DTP siųstuvą. Sėkmingai baigus arba pertraukus įkėlimą, imtuvas atliks savaiminį atstatymą (perkrovimą).
Examples
Example: Įkelkite programinę-aparatinę įrangą iš file „firmware.ldp“ į imtuvą su elektroniniu ID 123456789AB. Tikėtis, kad nuo komandos išsiuntimo iki atsakymo gavimo praeis kelios sekundės, o imtuvas patikrins file programinės įrangos galiojimui:
%%fld,123456789AB,/log/firmware.ldp RE002%%
Example: pradėkite programinės įrangos įkėlimą iš USB prievado naudodami 16384 baitų bloko dydį ir 20 sekundžių skirtąjį laiką. Prieš duodami komandą, gaukite elektroninį ID:
print,rcv/id RE00C 8PZFM10IL8G fld,8PZFM10IL8G,/dev/usb/a:{20,16384}
GREIS
1. Tikimasi, kad file su programine įranga iš anksto įkeliama į imtuvą, pvz., naudojant komandą put.
www.javad.com
59
IMTUVO ĮVESTIES KALBA Komandos fld
GREIS
www.javad.com
60
3 skyrius
PRANEŠIMŲ GAVĖJAS
Šiame skyriuje aprašomas bendras GREIS standartinių pranešimų formatas ir visų iš anksto nustatytų pranešimų konkretūs formatai. Be GREIS standartinių pranešimų, imtuvas palaiko nemažai įvairių formatų pranešimų, tokių kaip NMEA arba BINEX. Tų „užsienio“ pranešimų formatai aprašyti šio skyriaus pabaigoje.
3.1 Sutartys
3.1.1 Formato specifikacijos
Norėdami apibūdinti tam tikrą formatą kaip baitų1 seką kompaktiškoje formoje, apibrėžiame kelių pirminių laukų tipų formatus ir naudojame žymėjimus, panašius į naudojamus C programavimo kalboje, kad sukurtume sudėtingesnių formatų apibrėžimus:
struct PAVADINIMAS {ILGIS} { TIPO LAUKAS[SKAIČIUS]; // APRAŠYMAS … TIPO LAUKAS[SKAIČIUS]; // APRAŠYMAS
};
kur:
PAVADinkite šiam formatui priskirtą pavadinimą. Jis gali būti naudojamas kituose formato apibrėžimuose kaip lauko TIPAS.
LENGTH visos sekos ilgis baitais. Fiksuoto ilgio formatui tai yra skaičius, kintamo ilgio pranešimui tai gali būti aritmetinė išraiška, priklausomai nuo kai kurių kitų kintamųjų parametrų, arba tik eilutė var.
TIPO LAUKAS[COUNT] lauko aprašas. Jame aprašoma COUNT to paties TYPE elementų seka, kuriai priskirtas pavadinimas FIELD. TYPE gali būti vienas iš toliau aprašytų pirminių lauko tipų arba kito formato PAVADINIMAS. Kai [COUNT] nėra, lauką sudaro tiksliai vienas elementas. Kai COUNT nėra (ty yra tik tušti laužtiniai skliaustai, []), tai reiškia, kad lauką sudaro nenurodytas elementų skaičius.
GREIS
1. Šio skyriaus kontekste „baitas“ reiškia 8 bitų objektą. Mažiausiai reikšmingo baito bito indeksas yra nulis.
www.javad.com
61
PRANEŠIMŲ GAVĖJAS Sutarimai
Formato specifikacijos
APRAŠYMAS lauko aprašymas kartu su jo matavimo vienetais ir leidžiamais verčių diapazonais, jei reikia. Matavimo vienetai yra apsupti laužtiniais skliaustais.
Apibrėžiami šie pirminių laukų tipai:
3-1 lentelė. Pirminiai laukų tipai
Įveskite pavadinimą
Reikšmė
Ilgis baitais
a1
ASCII simbolis
1
i1
pasirašytas sveikasis skaičius
1
i2
pasirašytas sveikasis skaičius
2
i4
pasirašytas sveikasis skaičius
4
u1
sveikasis skaičius be ženklų
1
u2
sveikasis skaičius be ženklų
2
u4
sveikasis skaičius be ženklų
4
f4
IEEE-754 vieno tikslumo slankiojo kablelio
4
f8
IEEE-754 dvigubo tikslumo slankiojo kablelio
8
g
nulio pabaigos ASCII simbolių kintamojo seka
Norėdami visiškai apibrėžti konkretų formatą, taip pat turime nurodyti baitų tvarką pirminiuose neapibendrintuose laukuose, kurie yra kelių baitų (i2, i4, u2, u4, f4, f8). GREIS pranešimams ši tvarka apibrėžiama [MF] pranešimu, daugiau informacijos rasite „[MF] pranešimų formatas“ puslapyje 74.
Naudojant aukščiau pateiktus apibrėžimus, galima (rekursyviai) išplėsti bet kurią formato specifikaciją iki atitinkamos baitų sekos. Pavyzdžiui,ample, formatas
struktūra Pvzample {9} { u1 n1; f4 n2; i2 n3[2];
};
išplečiama iki šios baitų sekos, darant prielaidą, kad pirmiau reikšmingas baitas (LSB) yra:
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
PRANEŠIMŲ GAVĖJAS Standartinis pranešimų srautas
Ypatingos vertybės
ir į šią baitų seką, darant prielaidą, kad svarbiausias baitas pirmas (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)
kur x[i](j) žymi i-ojo lauko x elemento j-ąjį baitą (baitas #0 yra mažiausiai reikšmingas).
3.1.2 Specialios vertybės
Dvejetainių pranešimų atveju kai kuriuose jų sveikųjų skaičių ir slankiojo kablelio laukuose gali būti specialių reikšmių, kurios naudojamos vietoj faktinių duomenų, kai lauko duomenų nėra. Dvejetainiai laukai, kuriems išgaunant duomenis reikia tikrinti, ar nėra specialių verčių, pažymėti šauktuku „! pirmame lauko apibrėžimo stulpelyje.
Šioje lentelėje apibrėžiamos specialios įvairių tipų duomenų laukų reikšmės:
3-2 lentelė. Specialios laukų vertės
Lauko tipas
i1 u1 i2 u2 i4 u4 f4 f8
Ypatinga Vertė
127 255 32767 65535 2147483647 4294967295 tylus NaN tylus NaN
HEX atstovybė
7F FF 7FFF FFFF 7FFF_FFFF FFFF_FFFF 7FC0_0000 7FF8_0000_0000_0000
3.2 Standartinis pranešimų srautas
Standartinis GREIS pranešimų srautas yra daugiausia dviejų rūšių pranešimų seka: standartiniai GREIS pranešimai ir nestandartiniai tekstiniai pranešimai.
Svarbiausias ir plačiausiai naudojamas pranešimų tipas yra gausus GREIS standartinių pranešimų rinkinys. Jų bendras formatas yra kruopščiai sukurtas, kad būtų galima naudoti tiek dvejetainius, tiek tekstinius pranešimus.
www.javad.com
63
PRANEŠIMŲ GAVĖJAS Bendras pranešimų formatas
Standartiniai pranešimai
išminčius, ir kad programos galėtų efektyviai praleisti pranešimus, kurių programa nežino arba jais nesidomi.
Nestandartinių tekstinių pranešimų, kurie vis tiek turėtų atitikti šiame vadove jiems nustatytą formatą, palaikymas leidžia maišyti GREIS standartinius pranešimus su kai kurių kitų formatų pranešimais standartiniame GREIS duomenų sraute. BuvęsampTokio formato žinutės yra NMEA.
Ypatingo atvejo nestandartiniai tekstiniai pranešimai, pranešimai, kuriuose yra tik ASCII ir/arba simbolius, įterpia pranešimų formatavimo variklis imtuve tarp standartinių GREIS pranešimų, kad gautas pranešimų srautas būtų lengviau skaitomas žmonėms, kai jis siunčiamas į terminalą arba bendrąjį tekstą. viewer arba redaktoriaus programa.
Be GREIS standartinių pranešimų ir nestandartinių tekstinių pranešimų, JAVAD GNSS imtuvai paprastai palaiko daugybę kitų formatų (pvz., RTCM, BINEX, CMR). Tačiau šie formatai nesuderinami su standartinio GREIS pranešimų srauto formatu. Jei sraute yra tų formatų pranešimų, jis nebegali būti vadinamas GREIS standartiniu pranešimų srautu ir negali būti analizuojamas pagal tas pačias taisykles kaip ir standartinis srautas.1
3.3 Bendras pranešimų formatas
3.3.1 Standartiniai pranešimai
Kiekvieno standartinio pranešimo formatas yra toks:
struct StdMessage {var} {
a1 id[2];
// Identifikatorius
a1 ilgis[3];
// Šešioliktainis kūno ilgis, [000…FFF]
u1 korpusas [ilgis]; // Kūnas
};
Kiekvienas standartinis pranešimas prasideda unikaliu pranešimo identifikatoriumi, kurį sudaro du ASCII simboliai. Identifikatoriuje leidžiami bet kokie simboliai nuo poaibio „0“ iki „~“ (ty dešimtainiai ASCII kodai diapazone [48…126]).
GREIS
1. Tiesą sakant, GREIS standartinių pranešimų formatas yra toks lankstus, kad gali įtraukti bet kokį duomenų srautą į standartinį GREIS duomenų srautą, tačiau tada originalus nesuderinamas srautas turėtų būti suvyniotas į specialių GREIS pranešimų seką. Tam skirtas iš anksto nustatytas pranešimas su identifikatoriumi „>>“.
www.javad.com
64
PRANEŠIMŲ GAVĖJAS Bendras pranešimų formatas
Nestandartinės teksto žinutės
Po pranešimo identifikatoriaus nurodomas pranešimo teksto lauko ilgis. Šiame lauke, kurį sudaro trys šešioliktainės didžiosios raidės, nurodomas pranešimo ilgis baitais. Taigi maksimalus pranešimo ilgis yra 4095 (0xFFF) baitai.
Pranešimo tekstas yra iškart po ilgio lauko ir jame yra tiksliai tiek baitų, kiek nurodyta ilgio lauke. Bendrajame formate nėra jokių apribojimų pranešimo turiniui. Pranešimo teksto formatą laiške netiesiogiai apibrėžia pranešimo identifikatorius. Visų iš anksto nustatytų pranešimų pranešimų turinio formatai
3.3.2 Nestandartiniai teksto pranešimai
Nestandartinių tekstinių pranešimų formatas yra toks:
struct NonStdTextMessage {var} {
a1 id;
// Identifikatorius, [!…/]
a1 kūnas[];
// Savavališko ilgio kūnas, [0…)
a1 eom;
// Pranešimo pabaiga ( arba )
};
Pranešimo identifikatorius yra bet koks simbolis diapazone [!… /] (dešimtainiai ASCII kodai diapazone [33…47]). Pranešimo identifikatorius yra neprivalomas. Jei jo nėra, pranešimo teksto ilgis turi būti nulinis (ty jo taip pat neturėtų būti).
Pranešimo tekstas yra ASCII simbolių seka, išskyrus (dešimtainis kodas 13) ir (dešimtainis kodas 10) simbolių. Formatas neriboja kūno ilgio.
Pranešimo pabaigos žymeklis yra arba arba charakteris.
Atminkite, kad šis formatas leidžia siųsti nestandartinius pranešimus, sudarytus tik iš CR arba LF simbolių. Ši funkcija leidžia padaryti, kad standartiniai GREIS pranešimų srautai atrodytų lengviau įskaitomi, kai duomenys išvedami į bendrosios paskirties terminalą arba viewsu bendriniu tekstu viewer arba redaktorius.
Vienas iš nestandartinių teksto pranešimų identifikatorių, simbolis „$“, jau rezervuotas kaip standartinių NMEA pranešimų identifikatorius. Jokiuose kituose nestandartiniuose teksto pranešimuose neturėtų būti naudojamas „$“ kaip identifikatorius.
3.3.3 Pranešimų srauto analizė
Šiame skyriuje rasite keletą užuominų ir patarimų, kaip parašyti kodą, skirtą GREIS gavėjo pranešimų srautams analizuoti. Nors šiame informaciniame vadove šios temos nenagrinėsime išsamiai, čia norėtume pabrėžti, kad tai standartinis pranešimas
GREIS
www.javad.com
65
PRANEŠIMŲ GAVĖJAS Bendras pranešimų formatas
Nagrinėjamas pranešimų srautas
formatas leis efektyviai apdoroti / išanalizuoti beveik bet kokį GREIS pranešimų srautą, su kuriuo galite susidurti praktikoje.
Pastaba:
Sinchronizavimas
Analizuodami pranešimų srautą, pirmiausia turite rasti artimiausią pranešimo ribą. Tai paprastai vadinama „sinchronizavimu“. Pranešimų sinchronizavimas atliekamas pradėjus analizuoti arba kai sinchronizavimas prarandamas dėl klaidos duomenų sraute. Tiesą sakant, norėdami supaprastinti algoritmą, galite manyti, kad jau esate sinchronizuoti, kai pradedate analizuoti duomenų srautą. Jei taip iš tikrųjų nėra, turėtų įvykti analizės klaida. Tada praleidžiate vieną simbolį iš įvesties srauto ir apsimetate, kad vėl esate sinchronizuotas. Toks metodas efektyviai pašalina sinchronizavimo užduotį kaip atskirą analizavimo algoritmo dalį.
Dėl to, kad klaidų lygis pakankamai naudingame duomenų sraute turėtų būti gana mažas, sinchronizavimas neturėtų būti dažna užduotis. Be to, GREIS duomenų srautas paprastai susideda iš gana trumpų pranešimų, todėl atstumas iki artimiausios pranešimų ribos paprastai yra mažas. Atsižvelgiant į šias aplinkybes, nėra reikalavimo, kad sinchronizavimo algoritmas būtų labai greitas.
Pastaba:
Perėjimas prie kito pranešimo
Turėdami standartinių GREIS pranešimų bendrąjį formatą, galite lengvai ignoruoti pranešimus, nežinant jų turinio formato. Iš tiesų primygtinai rekomenduojame rašyti analizatorius, kad jie praleistų nežinomus pranešimus.
Norėdami pereiti nuo dabartinio pranešimo prie kito, atlikite šiuos veiksmus:
1. Tarkime, kad dabartinis pranešimas prasideda „N“ padėtyje. Nustatykite dabartinį pranešimo ilgį (dekoduokite simbolius ## N+2, N+3, N+4). Tarkime, kad pranešimo ilgis yra lygus L. Praleiskite pirmuosius L+5 simbolius, pradedant nuo „N“ padėties.
2. Praleiskite viską ir simboliai (jei yra).
Griežtai kalbant, analizavimo kode nerekomenduojame naudoti jokios apriori informacijos apie pranešimų korpusų dydžius ir turinį. Jei laikysitės šios rekomendacijos, neturėsite problemų su analizavimo programa, jei pasikeis kai kurie pranešimai.
Taisyklės ir patarimai, kaip analizuoti standartinių iš anksto nustatytų GREIS pranešimų pranešimų turinį, aptariami vėliau skyriuje „Pranešimų dalių analizavimas“, 67 puslapyje.
GREIS
www.javad.com
66
GREIS
PRANEŠIMAI GAVĖJAS Standartiniai iš anksto nustatyti pranešimai
Pranešimų korpusų analizė
3.4 Standartiniai iš anksto nustatyti pranešimai
Šiame skyriuje skaitytoją supažindinsime su iš anksto nustatytu standartinių GREIS pranešimų rinkiniu. Kai nurodome pranešimą su identifikatoriumi XX, naudojame žymėjimą [XX]. Nors dauguma pranešimų GREIS iškviečiami pagal pranešimo identifikatorių, kai kurių jų, ypač tų, kurių identifikatoriai nėra raidiniai ir skaitiniai, pavadinimai skiriasi. Tokiems pranešimams naudojamas žymėjimas [XX](NN), kur XX yra pranešimo identifikatorius, o NN yra pranešimo pavadinimas, naudojamas GREIS komandose. Pavyzdžiui,amplaiškas [~~](RT) turi antraštę "~~" ir GREIS komandose vadinamas /msg/jps/RT.
Šiame skyriuje apibrėžiami visų standartinių iš anksto nustatytų pranešimų korpusų formatai. Turėkite omenyje, kad duomenų sraute kiekvienas pranešimas turi standartinę antraštę, apibrėžtą ir bendruoju formatu.
3.4.1 Pranešimų elementų analizė
Leidžiami formato plėtiniai
Dvejetainių pranešimų formatai su fiksuotu pranešimo dydžiu leidžia ateityje pridėti daugiau duomenų laukų. Naujus laukus leidžiama įterpti tik pranešimo teksto pabaigoje prieš pat kontrolinės sumos lauką (jei yra). Tokie pranešimų tekstų pakeitimai laikomi formato plėtiniais, o ne nesuderinamais pakeitimais.
Nors standartiniai GREIS tekstiniai pranešimai nėra fiksuoto dydžio pranešimai, ateityje šiuose pranešimuose vis tiek gali būti rodomi nauji laukai. Nauji laukai gali būti įterpti esamo tekstinio pranešimo pabaigoje prieš pat kontrolinės sumos lauką arba prieš pat bet kurį dešinįjį skliaustą (}). Pavyzdžiui,ample, pranešimas, kuris šiuo metu skaitomas taip:
…1,{21,22},3,@CS
vėliau gali būti pratęstas iki
…1,{2.1,2.2,2.3},3,4,@CS
kur buvo pridėti du papildomi laukai „2.3“ ir „4“.
Įdiekite analizavimo algoritmus atsižvelgdami į šias taisykles, kad jie veiktų net su būsimais formato plėtiniais:
1. Nemanykite, kad gauto pranešimo teksto dydis turi tiksliai atitikti konkretų šiame dokumente nurodytą dydį. Tik jei pranešimas per trumpas, tai reiškia, kad negalite naudoti jo turinio. Jei pranešimas ilgesnis nei tikėtasi, tiesiog nekreipkite dėmesio į perteklinius duomenis.
2. Kreipkitės į kontrolinės sumos lauką, susijusį su pranešimo turinio pabaiga.
www.javad.com
67
PRANEŠIMAI GAVĖJAS Standartiniai iš anksto nustatyti pranešimai
Bendrosios pastabos
3. Spręskite kitus duomenų laukus, susijusius su pranešimo teksto pradžia. 4. Atsižvelkite į pirmiau pateiktą tekstinių pranešimų pratęsimo taisyklę, kai
tekstinių pranešimų duomenų ištraukėjų rašymas.
Kontrolinės sumos
Po to, kai pranešimas buvo ištrauktas iš duomenų srauto, naudojant metodus, aprašytus skyriuje „Pranešimų srauto analizavimas“, 65 psl., ir atrodo, kad pranešimo identifikatorius yra vienas iš tų, kuriuos domina programa, pranešimo turinys turi būti išanalizuotas, kad būtų galima išskirti duomenis. . Prieš ištraukiant turinį, reikia apskaičiuoti pranešimo kontrolinę sumą ir palyginti ją su pranešime esančia kontroline suma.
Daugumoje iš anksto nustatytų pranešimų yra kontrolinė suma. Kontrolinė suma apskaičiuojama naudojant pranešimo antraštę (ty „pranešimo identifikatorius“ ir „pranešimo teksto ilgį“) ir patį turinį. Daugiau informacijos apie kontrolinių sumų apskaičiavimą žr. „Kontrinių sumų skaičiavimas“ puslapyje 579.
Kontrolinė suma visada dedama pačiame pranešimo teksto gale. Jei pranešimo struktūra modifikuojama pridedant naują (-us) duomenų lauką (-us), nauji duomenų laukai bus pridėti prieš kontrolinės sumos lauką. Tai paaiškina, kodėl rekomenduojama nurodyti kontrolinės sumos lauką, palyginti su pranešimo turinio pabaiga.
3.4.2 Bendrosios pastabos
Laiko svarstyklės
Yra penkios laiko skalės, kurias imtuvas gali apdoroti:
Tr imtuvo laikas Tg GPS sistemos laikas Tu UTC(USNO). Visuotinis koordinuotas laikas, palaikomas JAV karinio jūrų laivyno stebėjimo tarnybos
privalomas. Tn GLONASS sistemos laikas. Ts UTC (SU). Visuotinis koordinuotas laikas, palaikomas valstybės laiko ir Fre-
quency Service, Rusija.
„Imtuvo laikas“ yra vienintelis laiko tinklelis, kuris visada pasiekiamas jūsų imtuve (ty kiti laiko tinkleliai iš anksčiau pateikto sąrašo šiuo metu gali būti arba nebūti).
Tiesą sakant, JAVAD GNSS imtuvas visada sinchronizuoja imtuvo laiką su viena iš keturių pasaulinių laiko skalių: GPS laikas, UTC (USNO), GLONASS laikas arba UTC (SU). The
GREIS
www.javad.com
68
GREIS
PRANEŠIMAI GAVĖJAS Standartiniai iš anksto nustatyti pranešimai
Bendrosios pastabos
Taip pasirinktas laiko tinklelis toliau šiame skirsnyje vadinamas „imtuvo atskaitos laiku“ (Trr).
Skirtingos laiko sistemos gali turėti skirtingus laiko žymėjimus (formatus), susijusius su jomis (pvz., GPS laikui vartojame tokius terminus kaip „savaitės numeris“, „savaitės laikas“ ir kt.). Tačiau atminkite, kad „imtuvo laiko“ vaizdas nepriklauso nuo pasirinkto imtuvo atskaitos laiko ir visada rodomas kaip imtuvo data ir paros laikas.
Daugumoje iš anksto nustatytų pranešimų nėra informacijos apie atskaitos laiką. Mūsų view, būtų per daug naudoti vieną ir tą patį kartą tag su visais daugybe pranešimų, kuriuos gavėjas generuoja dabartinėje epochoje. Išvedant esamos epochos imtuvo informaciją, dažniausiai gaunate įvairių pranešimų. Užuot aprūpinęs kiekvieną iš jų individualų laiką tag duomenų lauką, naudojame specialų pranešimą, kuriame pateikiama šiems pranešimams įprasta gavėjo laiko informacija. Šis pranešimas vadinamas „Receiver Time“ ir turi identifikatorių [~~].
Tačiau yra veikimo režimas, vadinamas RTK uždelstomu režimu, kai tam tikroje epochoje imtuvas gali sukurti sprendimą, susijusį su kita praeities epocha. Suteikti laiko tag tokiam sprendimui specialus Sprendimo laikas-Tag Naudojamas [ST] pranešimas. Iš tikrųjų šis pranešimas nurodo teisingą laiką tag sprendiniui visuose veikimo režimuose, nors daugumoje režimų jis turi lygiai tiek pat laiko kaip [~~].
Yra ir kitų žinučių tag duomenų lauką. Tai yra pranešimai, kuriuose yra informacijos, kuri nepriklausomai rodoma imtuvo epochos tinklelyje. Buvęsamptokio pranešimo le yra „Įvykis“ [==].
Skirstytuvai
Tiesą sakant, pranešimas „Gavėjo laikas“ turėtų būti prieš visus kitus pranešimus, generuojamus dabartinėje epochoje, tokiu būdu atskiriant pranešimus, atitinkančius skirtingas epochas. Iš formalios pusės view, vartotojas gali nustatyti pranešimų tvarką išvesties sraute. Tačiau reikia pasirūpinti, kad pranešimų rašymo į išvesties srautą tvarka nenutrauktų „epochos sinchronizacijos“, kuri yra labai svarbi užregistruotų duomenų apdorojimui JAVAD GNSS programinės įrangos paketais. Daugiau informacijos apie numatytąjį pranešimų rinkinį rasite „Pranešimų rinkiniai“ 562 puslapyje.
Realaus laiko programoms labai svarbu kuo greičiau nustatyti epochos pabaigą. Tokioms programoms tiesiog atskirti epochas „epochos pradžios“ žymekliu nėra patogu. Siūlome naudoti pranešimą „Epochos laikas“ [::](ET) kaip „epochos pabaigos“ žymeklį. Šiame pranešime yra tas pats paros laiko laukas, kuris yra pranešime „Gavėjo laikas“, kuris leidžia geriau patikrinti vientisumą. Idėja yra palyginti laiką tag
1. Dabartinėje imtuvo programinėje įrangoje imtuvo atskaitos laikas yra GPS arba GLONASS sistemos laikas, žr. /par/raw/time/ref puslapyje 220
www.javad.com
69
GREIS
PRANEŠIMAI GAVĖJAS Standartiniai iš anksto nustatyti pranešimai
Bendrosios pastabos
iš [::] žinutės prieš laiką tag iš atitinkamo [~~] pranešimo. Neatitinka tags yra nutrūkusios epochos požymis.
Pastebėsite, kad daugumos pranešimų identifikatoriai susideda tik iš skaitmenų ir (arba) angliškų raidžių. Tiesą sakant, „Gavėjo laikas“ [~~] yra vienintelis pranešimas, kurio identifikatoriuje naudojamas simbolis „~“. Tai prasminga, nes [~~] žinutė vaidina labai svarbų vaidmenį ir yra epochos ribotuvas. Taigi yra specialių atsargumo priemonių, kad būtų sumažinta tikimybė prarasti šį pagrindinį pranešimą. Panašiai pranešimo „Įvykis“ ([==]) identifikatorius taip pat turi būti kuo išskirtinis, nes taikomoji programinė įranga gali naudoti laisvos formos įvykius kaip skirtukus.
Idėja naudoti „labai skiriamuosius“ identifikatorius pranešimams, kurie yra skiriamieji ženklai, yra labai aiški. Jei pranešimo kontrolinė suma neteisinga, tiesiog patikrinkite jo identifikatorių. Jei nė vienas identifikatoriaus simbolis nesutampa su „~“, tai mažai tikėtina, kad tai sugadintas [~~] pranešimas. Todėl šiuo atveju nereikia pereiti prie kito [~~] pranešimo.
Kita vertus, jei žinutėje yra teisinga kontrolinė suma, tačiau vienas iš identifikatoriaus simbolių yra „~“, būtų saugiau laikyti šį pranešimą sugadintu [~~] pranešimu. Tokiu atveju pereikite prie kito [~~] pranešimo.
Sprendimo tipai
Laukas „solType“, naudojamas daugelyje iš anksto nustatytų pranešimų, nurodo atitinkamo sprendimo tipą ir gali turėti šias reikšmes:
3-3 lentelė. Sprendimo tipai
Vertė
Reikšmė
0
ne
Dokumentai / Ištekliai
![]() |
JAVAD GREIS GNSS imtuvo išorinė sąsaja [pdfVartotojo vadovas GREIS GNSS imtuvo išorinė sąsaja, GREIS, GNSS imtuvo išorinė sąsaja, imtuvo išorinė sąsaja, išorinė sąsaja, sąsaja |

