Vai al contenuto
PLC Forum


Seriale Con Elap Cm76 - problemi invio comandi da pc rs232 al posizionatore elap CM76


falco_1982

Messaggi consigliati

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 rs232

dopo 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+006000011CR

dove w sta per scrittura

11 è il nimero che mi identifica il posizionatore (salvato nelle costanti)

R è il Registro di conteggio

+006000 è il valore con il segno

0011 è 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 trasmissione

dove sbaglio? cosa mi sfugge?

grazie

Paolo

Link al commento
Condividi su altri siti


è 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

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=517

La 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

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...