Vai al contenuto

Interpretazione stringhe GLL e CMT protocollo NMEA

Home Forum Programmazione IEC 61131 (LogicLab) Interpretazione stringhe GLL e CMT protocollo NMEA

Stai visualizzando 3 post - dal 1 a 3 (di 3 totali)
  • Autore
    Post
  • #36001
    Anonimo
    Inattivo

    Utilizzo la CPUSlimLine per ricevere una stringa da GPS e vorrei interpretarla. ho 2 domande:

    1-il GPS ritorna la stringa GLL (che la vostra libreria scaricabile dal sito dovrebbe gestire) ma dal blocco GLL non esce nulla (tutti i campi a zero) ed la chiamata SysGetLastError da zero (Screenshot).

    2- il GPS ritorna anche la stringa RMC. Guardando però il manuale LogicLab non capisco bene come scomporre la stringa in parti (avendo come delimitatore la virgola). Con la funzione SysStrFind potrei trovare la posizione delle virgole ma per l’estrazione da->a non trovo nulla. La funzione SysVarsscanf non capisco se potrebbe essermi utile.

    #39544
    Sergio Bertana
    Amministratore del forum

    Intanto vedo che non hai messo la spunta su Case sensivity nel tuo progetto (Screenshot) e quindi hai tutte le variabili scritte in maiuscolo… Aborro questa scelta…

    In risposta al punto 1 andrebbe capito se il FB NMEASInterface riceve correttamente le stringhe NMEA. Per fare questo dovresti gestire un set di un BOOL o meglio incrementare una variabile ad ogni  impulso di Done della FB NMEARX. Perchè solo se questo FB interpreta correttamente le stringhe i FB connessi a lui possono interpretarle.

    Da quanto vedo mi sembra che non hai definito correttamente il DID, hai usato il DID del mio esempio II, Integrated Instrumentation, mentre come vedi dallo screenshot che hai postato il tuo dispositivo e di tipo GP, Global Positioning System receiver.

    #39545
    Sergio Bertana
    Amministratore del forum

    In risposta al punto 2 da come riportato nel manuale citato in questo topic, la stringa RMC è del tipo:

    $GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,191194,020.3,E*68

    225446 -> Time of fix 22:54:46 UTC
    A -> Navigation receiver warning A = OK, V = warning
    4916.45,N -> Latitude 49 deg. 16.45 min North
    12311.12,W -> Longitude 123 deg. 11.12 min West
    000.5 -> Speed over ground, Knots
    054.7 -> Course Made Good, True
    191194 -> Date of fix  19 November 1994
    020.3,E -> Magnetic variation 20.3 deg East
    *68 -> mandatory checksum

    Ecco lo screenshot di un esempio di interpretazione della stringa, allego anche il programma NMEASentence per il download.

Stai visualizzando 3 post - dal 1 a 3 (di 3 totali)
  • Devi essere connesso per rispondere a questo topic.