falco_1982 Inserito: 20 gennaio 2007 Segnala Share Inserito: 20 gennaio 2007 Salve a tutti,ho un problema con la comunicazione tramite rs232 ed un posizionatore Elap CM76:devo scrivere nel registro di conteggio un valore (006000) tramite rs232dopo aver aperto la porta con i settaggi giusti (Baud rate 9600 parità nessuna bit stop 1 bit dato 8)invio questo comando che molto probabilmente non è corretto ... ma non ho capito quale sia il corretto...[at]w11R+006000011CRdove w sta per scrittura11 è il nimero che mi identifica il posizionatore (salvato nelle costanti)R è il Registro di conteggio+006000 è il valore con il segno0011 è il check sum (molto probabilmente è questo di errato ma non saprei in che altro modo calcolarlo... è la somma dei caratteri tranne [at],w,CR)e CR è il carattere di fine trasmissionedove sbaglio? cosa mi sfugge?grazie Paolo Link al commento Condividi su altri siti More sharing options...
mf2hd Inserita: 21 gennaio 2007 Segnala Share Inserita: 21 gennaio 2007 è la somma dei caratteri tranne [at],w,CR)ciao,premetto che non conosco il dispositivo in questione, dai pdf che ci sono sul sito del produttore e' specificato solo che la comunicazione avviene con stringhe ascii...L' "[AT] "che metti in testa alla stringa e' richiesto dalle specifiche del protocollo (hai qualche dato in piu' sul formato delle stringhe)?Nella forma che hai scritto sembra la richiesta per una comunicazione via modem con comandi hayes, anche se i caratteri dopo l' "at" non mi sembrano per questo tipo.Che programma usi per la comunicazione? Link al commento Condividi su altri siti More sharing options...
falco_1982 Inserita: 26 gennaio 2007 Autore Segnala Share Inserita: 26 gennaio 2007 mi rispondo per completezza...il programma che uso per la comuncazione è fatto da me in visual basic (mscomm component)la stringa funziona in questo modo (comunicazione ascii)Checksum= somma di tutti i caratteri ascii escluso [at], w e CR.Quindi nel caso proposto il checksum si calcola come segue.1 1 R + 0 0 6 0 0 0 49+49+82+43+ 48+48+54+48+48+48=517La stringa corretta risulta: [at]w11R+006000517 e va terminata con il carattere CR (ascii 13) il carriage return che in visual basic si esprime con CHR$(13)ciao e grazie Paolo Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora