Vai al contenuto
PLC Forum


Comunicazione Seriale


cleman

Messaggi consigliati

salve vorrei possibilmente alcune dritte

il problema e il seguente noi abbiamo un contatore elettronico elap cm78 collegato ad un encoder bidirezionale.il quale tramite seriale dovrebbe comunicare con un programma sotto linux(programma gia pronto da modificare) io posso provare tramite hyper terminal se questa seriale comunica correttamente ,sapendo che ha bisogno :esempio per darmi la lettura conteggio di rmandargli una stringa tipo [at]Ccc(cr) per vere una risposta del conteggio sotto forma di [at]Sxxxxxx(cr) dove s e il segno x il valore e cr il carriage return .

e possibile.

secondo voi mi basta sapere che per comunicare con la seriale ho bisogno di inviargli una stringa ?ed e possibile gestire questa stringa tramite linux per poter comunicare con il cm78?datemi una risposta perche il programmatore dice che non gli basta sapere solo questo pero il manuale dice questo e ci da come riferimento una serie di strinche alle quali corrisponde una risposta del tipo lettura conteggio,reset conteggio, ecc.

vi prego rispondetemi in maniera celere.e in ballo la mia carriera.

Link al commento
Condividi su altri siti


cleman per favore niente drammi che passa la voglia di risponderti

Le informazioni che devi avere per provare sono:

Capire il tipo d'interfaccia 232 o 485

Verificare il pinout per la connessione alla porta seriale nel caso di porta 232.

Se 485 collegare al PC con convertitore 485/232 (Meglio se a commutazione automatica)

Devi conoscere il formato dati e la velocità di trasmissione.

baudrate (i valori più comuni sono 9600 o 19200)

parità (di solito non c'è ma ....)

stop bit normalmente 1

Se usi hyperterminal imposta a nessuno il controllo di flusso

Non conosco il dispositivo ma sembra che il protocollo si a simile a quello di un modem.

Perciò puoi inviare le stringhe come descrivi tu seguite da return

Ti consiglio di procurarti un tester a led per la seriale

Questo è un esempio trovato a caso per farti capire cosa intendo. Li trovi facilmente anche in italia a prezzi contenuti. Ti permette di capire subito se i collegamenti sono corretti e se i messaggi vengono inviati/ricevuti.

Se invi un messaggio e non vedi risposta controlla i collegamenti sai usare un tester?

Se usi 485 ricordati che devi abilitare la direzione TX/RX

Se tutto funziona ma vedi risposte strane con caratteri incomprensibili probabilmente hai sbagliato parametri di trasmissione. Consulta il manuale dello strumento

Link al commento
Condividi su altri siti

grazie molto esaurinte comunque si tratta di una seriale rs232 come faccio a controllare il pinout per la connessione ,

conosco i dati di trasmissione sono baud 9600

bit di stato 8

bit di stop 1

parita nessuna

conosco il protocollo di comunicazione le stringhe

ma non conosco i comandi da usare su hyperterminal

per comunicare spresti indicarmeli grazie aspetto indicazioni da te mo,lto gentile.

Link al commento
Condividi su altri siti

ciao cleman

allora per il pinout devi verificare se ti basta un a seriale a tre fili o ti servono anche le linee di controllo.

Come ho detto non conosco il dispositivo ma "a naso" non dovrebbero servirti.

Cosa esce dal tuo strumento un DB9 o una morsettiera ?

Dovresti avere una tabella sul manuale dello strumento che ti indica le connessioni

Vado avanti ancora "a naso" se usi comandi stile modem probabilmente anche la connessione lo è (ripeto mia ipotesi).

Non si rompe nulla se provi a utilizzare un cavo che utilizzi per collegare un modem al PC.

Comunque alla fine il pin2 del DB9 del PC riceve i dati è un input e va collegato all'output del tuo strumento

il pin 3 del DB9 del PC trasmette i dati è un output e va collegato all'input del tuo strumento

il pin5 del DB9 del PC è il riferimento di massa e va collegato alla massa del tuo strumento

Se guardi i pin del DB9 accanto ai pin ci dovrebbero essere i numeri.

Trovi un sacco di documentazione in internet su questo.

Se hai individuato i due pin di comunicazione e sai/puoi misurare tensioni è facile sapere qual'è l'output della comunicazione. Accendi lo strumento senza collegare niente sull'input trovi tensione attorno allo zero. Sull'output misuri una tensione negativa da -5V a -12V. un valore qualsiasi va bene

A questo punto dovrebbe essere chiaro come fare connessioni altrimenti mandami info in privato così non intasiamo il forum. Non sbagliare il collegamento della massa gli atri due puoi sbagliarli senza compromettere nulla non funziona ma non si rompe.

Per l'utilizzo quando avvi Hyperterminal ti chiede il nome della connessione e qui scrivi quello che vuoi

Quando ti chiede i numero telefonico seleziona nell'ultima stringa la porta a cui colleghi lo strumento sarà COM1 o COM2 o COMqualcosa.

Poi ti chiede la configurazione della porta e quella la sai Ricordati di disabilitare il cotnrollo di flusso

A questo puntodal menu seleziona

File->proprietà e dalla finestra che appare la linguetta impostazioni dovresti trovare il pulsante impostazioni ASCII e qui spunta i due box di avanzamento riga e "eco dei caratteri digitati localmente"

dovresti essere pronto per inviare stringhe al tuo strumento.

Non ci sono comandi scrivi ATecc.ecc. come descritto sul manuale

ricordati che se sbagli non vale cancellare premi return e ricomincia

Potresti avere problemi di timeout scrivi la stringa rapidadamente.

Modificato: da accacca
Link al commento
Condividi su altri siti

esistono degli oggetti chiamenti manuali

leggendo gli stessi si aprende il protocollo dell'oggetto, ovvero come lo stesso puo' essere interrogato e cosa risponde

la connessione 232 e cosi' realizzata

il tx dell'uno collegato all'rx dell'altro e viceversa

i due gnd collegati tra loro

sempre il manuale dice se devono essere collegati i segnali di controllo, se su uno o ambedue i lati, taluni segnali devono essere collegati tra loro, oppure se non servono a nulla

cio' detto si realizza il collagamento seriale, si verifica cha sia corretto

per scrupolo si controlla che il potenziale delle due apparecchiatura, riferito al gnd non sia dannoso

se il protocollo e semplice si puo' provare con hyperterminal ad inviare un comando e si analizza la risposta

se il protocollo e' piu' complesso si utilizza un software che e' sicuramente compatibile (magari verificando cio' con il fornitore)

cio' fatto ed arrivato ai primi risultati positivi, DOPO, si puo' sperimentare ogni nostra fantasia

Link al commento
Condividi su altri siti

accacca a naso hai individuato il tutto da premettere che il cavo e gia stato fatto grazie alle indicazioni trovate sul manuale,mi trovo perfettamente con i pin da te descritti

pin2 rxd

pin 3 txd

pin 5 gnd

in piu ho pin 4 pin 6 ponticellati

ed il pin 7 con il pin 8 ponticellati ma solo suklla rs 232 che arrica al pc

quindi fino a qui e tutto chiaro,come avrai capito io nella vita mi occupo di manutenzio e programmazione molto limitata dei plc siemes in particolare step 7 logo e non mi era mai capitato di avere questo problema in quanto gli encoder presenti allinterno della nostra azienda sono tutti controllati da plc tramite ingressi veloci.

allora stamattina controllo se riesco a comunicare con il cm78 tramite com utilizzando hyperterminal sicuramente i comandi saranno simili alla configurazione di un modem anche se il mio manuale parla solo di inviare una stringa senza quindi effetture un interrogazione per poi di conseguenza ricevere una stringa comke risposta quindi presumo che questo sia il nostro protocollo di comunicazione.

ti faccio sapere com'e andata grazie........

n.b pensa che il nostro programmatore esterno deve apportare una modifica al programma di gestione lavorati fatto in ambiente linux e pretende che noi gli diamo chiarimenti su come avviene la comunicazione , quando poi a mio parere e chirissimo il tipo di protocolla da usare ma sara incapace?

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...