Protokol NMEA-0183
Podporované typy a verzie zariadení
Konfigurácia komunikačnej linky
Konfigurácia komunikačnej stanice
Konfigurácia meraných bodov
Chyby a problémy
Geofencing - podpora lokalizácie polohy
Literatúra
Zmeny a úpravy
Revízie dokumentu
Podporované typy a verzie zariadení
Protokol podporuje komunikáciu s GPS prijímačmi vysielajúcimi údaje podľa štandardu NMEA-0183. Protokol podporuje iba príjem údajov.
Konfigurácia komunikačnej linky
- Kategória komunikačnej linky: Serial, SerialOverUDP Device Redundant alebo File I/O.
- Parametre linky Serial sa nastavujú podľa nastavenia GPS zariadenia.
Použitie linky File I/O
Implementácia protokolu NMEA-0183 podporuje čítanie súborov, v ktorých sú uložené NMEA pakety/vety. Keďže NMEA-0183 vety sú čisto textové reťazce zakončené CR-LF, v jednom riadku súboru musí byť uložená jedna NMEA-0183 veta.
Súbory sa vyhľadávajú v adresári podľa nastavenia parametra "Vstupný súbor" záložky "File I/O" konfigurácie linky. Súbor musí zodpovedať maske podľa parametra protokolu stanice "Filename Mask".
Súbor sa analyzuje čítaním zhora dole, po spracovaní sa presúva do archívneho adresára podľa nastavenia parametra "Archívny adresár" záložky "File I/O" konfigurácie linky. V tomto adresári vznikajú podľa potreby podadresáre s časom vzniku alebo s časom analýzy údajov - viď parameter protokolu linky "Archive subdirectory time mask".
Parametre protokolu linky
Dialóg konfigurácia linky - záložka "Parametre protokolu", vyberte protokol NMEA-0183.
Ovplyvňujú niektoré voliteľné parametre protokolu. Môžu byť zadané nasledovné parametre protokolu linky:
Tab. č. 1
Plný názov | Popis | Jednotka / rozmer | Náhradná hodnota |
---|---|---|---|
Archive Subdirectory Time Mask | Maska použitá pre vytváranie archívnych podadresárov pre ukladanie spracovaných súborov (má význam iba pre kateg. linky File I/O). Pre vytvorenie masky sú povolené nasledovné textové reťazce: "rr" alebo "yy" - rok (krátky formát), "rrrr" alebo "yyyy" - rok (dlhý formát), "mm" - mesiac, "dd" - deň. | - | rrrrmm |
Geofencing Polygons Definition File | Plná cesta na súbor s definíciou polygónov pre podporu detekcie polohy v polygóne - geofencing. Prázdny text vypína podporu detekcie polohy. Viď kapitolu Geofencing -Podpora lokalizácie polohy. | - | - |
Files Checking Period | Perióda načítavania obsahu zdrojového adresára. | mi:ss | 01:00 |
Unknown Files Backup Directory | Adresár pre odkladanie neznámych súborov. | - | - |
After Processing Timeout | Oneskorenie po spracovaní súboru. | ss.mss | 00.100 |
Future Data Filter | Časový filter hodnôt. Ak majú získané hodnoty časovú značku odlišnú o viac ako uvedený počet hodín v budúcnosti od aktuálneho času, sú ignorované. Pre ignorovanie časového filtra zadajte hodnotu 0. | hours | 0 |
History Data Filter | Časový filter hodnôt. Ak majú získané hodnoty časovú značku odlišnú o viac ako uvedený počet dní v minulosti od aktuálneho času, sú ignorované. Pre ignorovanie časového filtra zadajte hodnotu 0. | days | 0 |
Additional Error Logfile | Doplnkový trace súbor pre sledovanie chýb komunikácie | - | - |
Konfigurácia komunikačnej stanice
- Komunikačný protokol "NMEA-0183".
- Adresný parameter sa v prípade liniek Serial a SerialOverUDP Device Redundant (t.j. v prípade asynchrónnej sériovej komunikácie) nepožaduje žiadny (zadáva sa prázdny text). Protokol NMEA-0183 nepodporuje adresáciu zariadení, údaje sú vysielané spontánne. Na jednej sériovej asynchrónnej komunikačnej linke môže byť pripojené iba jedno zariadenie.
- V prípade linky File I/O je možné voliteľne ako adresu použiť ľubovoľný textový reťazec s jeho následným využitím pri hľadaní správneho súboru s NMEA údajmi pre danú stanicu (viď parameter protokolu stanice "Filename Mask").
Parametre protokolu stanice
Dialóg konfigurácia stanice - záložka "Parametre protokolu".
Ovplyvňujú niektoré voliteľné parametre protokolu. Môžu byť zadané nasledovné parametre protokolu stanice:
Tab. č. 2
Plný názov | Popis | Jednotka / rozmer | Náhradná hodnota |
---|---|---|---|
Maximum Wait Retry | Maximálny počet opakovaní čítania linky pre skompletovanie prijatia NMEA paketu/vety (má význam iba pre kateg. linky Serial a SerialOverUDP Device Redundant). | - | 40 |
Wait Timeout | Oneskorenie medzi čítaniami linky do skompletovania prijatia NMEA paketu/vety (má význam iba pre kateg. linky Serial a SerialOverUDP Device Redundant). | ms | 50 ms |
Position Data Format | Prevod údajov zemepisnej polohy z NMEA viet GPRMC.3, GPRMI.1, GPGGA.2, GPGLL.1 a PGRMF.6 pre zemepis. šírku a GPRMC.5, GPRMI.3, GPGGA.4, GPGLL.2 a PGRMF.8 pre zemepis. dĺžku. Voľba medzi "deg/min" (natívna forma NMEA, presne taká hodnota, aká bola prečítaná) alebo "deg" (prepočet na stupne). | deg/min deg | deg |
Speed Units | Prevod údajov o rýchlosti na požadovanú tech. jednotku (GPRMC.7 a GPVTG.3 v knots, GPVTG.4 a PGRMF.12 v km/hod). | knots km/hour | knots |
Trace Received Data | Zobrazuj informácie o prijatých surových dátach. | YES/NO | YES |
Trace Received Values | Zobrazuj detailné informácie o analyzovaných hodnotách meraných bodov. | YES/NO | YES |
Filename Mask | Maska pre vyhľadávanie súborov s NMEA informáciami (má význam iba pre kateg. linky File I/O). Maska sa zadáva ako textový reťazec s podporou špeciálnych znakov uvedených v zložených zátvorkách {}: {N...N} - adresa stanice, počet znakov 'N' musí byť zhodný s dĺžkou textu adresy stanice, {yyyy} alebo {yy} - rok (dlhý/krátky formát), {mm} - mesiac (1 až 12), {dd} - deň (1 až 31), {hh} - hodina (0 až 23), {mi} - minúta (0 až 59), {ss} - sekunda (0 až 59). Podporený je štandardný zástupný znak '*' aj uprostred masky. Príklady: nmea_data.* nmea_data*.txt nmea_data{NNN}.txt nmea_data{yyyy}{mm}{dd}_{hh}.txt station_{NNNNNN}* | - | |
Synchronize Time Delta | Kladná hodnota zapína korekciu systémového času z GPS údajov. V prípade, že rozdiel systémového času a času prijatého z GPS je väčší ako hodnota parametra (v milisekundách), spustí sa task, ktorý v malých intervaloch zrýchľuje alebo spomaľuje čas počítača. Zabráni sa tak skokovej zmene, ktorá nie je väčšinou želaná. Prednastavená hodnota parametra je 0 a znamená vypnutú časovú synchronizáciu. | ms | 0 |
Long Difference Time | Pokiaľ je zistená časová diferencia medzi GPS časom a časom počítača v absolútnej hodnote väčšia ako parameter Long Difference Time, tak sa korekcia systémového času nezačne vykonávať okamžite. Namiesto toho sa zisťuje, či sa táto diferencia opakuje aspoň Long Difference Count po sebe. Ak áno a rozdiel po sebe idúcich diferencií v absolútnej hodnote nie je väčší ako Long Difference Time, tak sa začne vykonávať korekcia systémového času. Parametre teda slúžia ako ochrana voči náhodnému výskytu "uleteného" času. Hodnota 0 parametra Long Difference Time túto ochranu vypína. | sec | 0 |
Long Difference Count | - | 0 | |
Align To Minutes | KOM proces zverejňuje iba hodnoty prijaté na hrane novej minúty (sec = 0). Pre správnu funkčnosť je potrebné, aby perióda pollingu bola menšia ako jedna minúta. | YES/NO | NO |
External Command File | Plná cesta na externý príkazový súbor, ktorý sa volá s definovanou periódou. Prázdny textový reťazec znamená nepoužívanie externého príkazového súboru. | - | |
External Command Period | Perióda volania externého príkazového súboru. V prípade nastavenia hodnoty na 0 sekúnd sa volá externý príkazový súbor vždy pred čítaním hodnôt z danej stanice. | min:sek | 60 sek. |
Call External Command Synchronously | Volaj externý príkazový súbor synchrónne (YES) alebo asynchrónne (NO). | YES/NO | YES |
Konfigurácia meraných bodov
Možné typy hodnôt meraných bodov: Ai, Ci, Di, TiA, TiR, TxtI.
Adresa meraného bodu sa zadáva vo formáte:
SSSSS.I
kde SSSSS je identifikácia NMEA vety (napr. "GPRMC") a I je index v poradí údajov v NMEA vete. Index je pozitívne celé číslo, kde index 0 je indexom identifikátora NMEA vety a index 1 je indexom prvej hodnoty.
Je možné nakonfigurovať špeciálny meraný bod typu hodnoty Ci alebo Ai s adresou $POLY, ktorý nadobúda hodnotu kódu polygónu, v ktorom bola lokalizovaná aktuálna poloha. Viď kapitolu Geofencing - podpora lokalizácie polohy.
Príklady sú uvedené v tabuľke č. 3.
Tab. č. 3
Adresa | Typ hodnoty | Popis |
---|---|---|
GPGGA.7 | Ci | Počet zachytených satelitov. |
GPRMC.3 | Ai | Latitude. |
GPRMC.4 | Ci | Latitude hemisphere, nadobúda hodnoty 78 (N) alebo 83 (S). |
GPRMC.4 | TxtI | Latitude hemisphere, nadobúda hodnoty "N" alebo "S". |
GPRMC.5 | Ai | Longitude. |
GPRMC.6 | Ci | Longitude hemisphere, nadobúda hodnoty 69 (E) alebo 87 (W). |
GPRMC.6 | TxtI | Longitude hemisphere, nadobúda hodnoty "E" alebo "W". |
GPRMC.1 | TiR | Čas. |
GPRMC.9 | TiA | Dátum. |
Implementácia protokolu povinne vyžaduje príjem NMEA paketu/vety "GPRMC" (Recommended Minimum Specific GPS/TRANSIT Data). Z časových údajov UTC date/time v tomto pakete je vytvorená časová značka, ktorá je prevedená z UTC do lokálneho času a následne je použitá pre prideľovanie časovej značky (času hodnoty) všetkým hodnotám prijatých meraných bodov.
Geofencing - podpora lokalizácie polohy
V prípade úspešného načítania súboru s definíciami polygónov je aktivovaná podpora lokalizácie polohy v polygóne. Formát súboru je nasledovný:
[meno_polygónu1,kód_polygónu1] latitude1 <tab> longitude1 latitude2 <tab> longitude2 latitude3 <tab> longitude3 .... latitudeN <tab> longitudeN [meno_polygónu2,kód_polygónu2] latitude1 <tab> longitude1 latitude2 <tab> longitude2 latitude3 <tab> longitude3 .... latitudeN <tab> longitudeN
Definícia polygónu začína menom a unikátnym celočíselným kódom polygónu v prvom riadku, za ktorým nasledujú všetky známe hraničné polohy polygónu. Hraničné polohy polygónu sú číselné údaje latitude a longitude oddelené tabelátorom. V súbore je možné definovať maximálne 100 polygónov.
Zjednodušený príklad súboru s definíciami polygónov:
[SVK,1]
49.510531 18.597243
49.508383 18.56925
49.500642 18.544688
49.490084 18.53395 [CZ,2]
49.517426 18.85232
49.516242 18.812956
49.504529 18.778742
49.502553 18.710839
49.507645 18.675815
[PL,3]
50.870486 14.82294
50.869251 14.839542
50.876814 14.867844
50.867136 14.896914
V prípade úspešnej lokalizácie aktuálnej polohy získanej z komunikácie vnútri niektorého z polygónov nadobúda meraný bod s adresou $POLY hodnotu kódu príslušného polygónu. Poloha sa vyšetruje zhora od prvej definície v súbore a končí prvým úspešným nájdením. V prípade neúspešnej lokalizácie je nastavený kód polygónu 0, preto je hodnota 0 v definíciách kódov polygónov zakázaná.
Chyby a problémy
Vo fáze štartu, alebo aj počas komunikácie, sa môžu vyskytovať nasledovné chybové hlásenia. Pre ľahšiu identifikáciu problému zapnite úroveň sledovania komunikácie v konfigurácii príslušnej linky minimálne na úroveň "Monitor", najlepšie však dočasne na úroveň "Monitor & Disk" alebo "Disk". V prípade nastavení "Monitor & Disk" alebo "Disk" bude v podadresári "\TRACE" adresára aplikácie na počítači, kde je bežiaci komunikačný proces, vznikať súbor "meno_linky.LOG", v ktorom sa nachádzajú všetky ladiace a chybové informácie.
Chyba: | Unsupported mask item 'maskitem' ! |
Popis: | Nepodporovaný item v maske súboru pre vyhľadávanie súborov na načítavanie. |
Chyba: | Cannot open file 'FileName' ! |
Popis: | Nepodarilo sa otvoriť súbor na čítanie. |
Chyba: | Unconvertible value: 'ValueString' for I/O tag 'I/O tag_name'! |
Popis: | Nie je možné previesť prijatú hodnotu z NMEA paketu/vety na hodnotu meraného bodu. |
Chyba: | Unconvertible value: 'ValueString' for I/O tag 'I/O tag_name', unsupported type value_type! |
Popis: | Meraný bod má nepodporovaný typ hodnoty. |
Chyba: | Error in address, I/O tag: 'I/O tag_name', Address: 'PointAddress' ! |
Popis: | Meraný bod má zlú adresu nezodpovedajúcu požadovanému formátu. |
Chyba: | Checksum ERR! Received=XX, Expected=YY |
Popis: | Nájdená chybná kontrolná suma v prijatom pakete. |
Chyba: | Cannot open geofencing polygons definition file 'filename'! |
Popis: | Súbor s definíciami polygónov, hodnota parametra protokolu linky "Polygons definition file", nebol nájdený. |
Chyba: | Problems detected in geofencing polygons definition file 'filename'! |
Popis: | Súbor s definíciami polygónov, hodnota parametra protokolu linky "Polygons definition file", nezodpovedá požadovanej špecifikácii a bol ignorovaný. |
Chyba: | Error during geofencing position detection for I/O tag 'I/O tag_name'! |
Popis: | Pri detekcii polohy v polygóne došlo k neočakávanej chybe. Kód polygónu je neplatný. |
Literatúra
- http://www.nmea.org
- Manuály zariadení Garmin http://www.garmin.com
Zmeny a úpravy
- 21. aug. 2009 - podpora lokalizácie polohy v polygóne.
- 19. feb. 2015 - doplnený parameter "Synchronizing time" do parametrov stanice.
Revízie dokumentu
- Ver. 1.0 - 8. feb. 2008 - vytvorenie dokumentu.
- Ver. 1.1 - 13. mar. 2008 - úprava parametrov protokolu.
- Ver. 1.2 - 21. aug. 2009 - aktualizácia dokumentu.
- Ver. 1.3 - 19. feb. 2015 - doplnený parameter do parametrov stanice.
Súvisiace stránky:
Pridať komentár