Vai al contenuto
PLC Forum


E' Possibile Connettere Un Dispositivo Rs232 Con 2 Convertitori Rs232-Rs485?


texamicomio

Messaggi consigliati

Salve a tutti,

spero di aver iniziato la discussione nel forum corretto.

Mi sono autocostruito un sistema di allarme. Tra le cose che ho installato ci sono 5 lettori RFID connessi ad un bus RS485. Dal lato del PC ho un convertitore USB-RS232 e poi in cascata un convertitore RS232-RS485. I lettori funzionano correttamente. Inoltre ho una scheda I/O connessa attraverso una connessione RS232 su un'altra porta seriale del PC. Anche questa funziona correttamente ma ho la necessità di collocarla in un'altra posizione, ma non posso sfruttare la RS232 per il limite di distanza. Vorrei chiedervi se secondo voi è possibile collegare la scheda I/O sul bus RS485 utilizzando un altro convertitore RS232-RS485. Io non penso che sia fattibile, però prima di acquistare una nuova scheda I/O direttamente con interfaccia RS485, vorrei chiedere a qualcuno più informato l'eventuale fattibilità.

Per porre la domanda in un altro modo: se il PC ha una porta RS232 ed ho un dispositivo RS232, posso collegarli attraverso una coppia di convertitori RS232-RS485?

Spero di aver reso comprensibile il quesito.

Ringrazio anticipatamente tutti quanti vorranno disporre il proprio contributo.

Link al commento
Condividi su altri siti


I livelli di tensione 232 sono +/- 12V, quello 485 è 5V differenziale. 232 lavora con 3 fili, 485 con 2. 232 è ful duplex, 485 è half duplex.. Come vedi non c'è proprio compatibilità.

meglio se acquisti un convertitore USB-rs485, fai rima, lavori meglio ed è più sicuro.

Link al commento
Condividi su altri siti

Ciao Livio, ti ringrazio per la tua risposta.

Forse non sono stato felice nell'esporre il mio problema. E' ovvio che la RS232 e la RS485 sono diverse tra di loro, ma la cosa che vorrei fare è collegare un dispositivo RS232 attraverso un bus RS485 utilizzando due convertitori RS232-RS485.

Grazie per la vostra disponibilità

Link al commento
Condividi su altri siti

Con i convertiori adatti i livelli elettrici; rimane il fatto che 485 è half duplex, ovvero uno parla e gli altri ascoltano, mentre 232 è punto punto full duplex, ovvero possono connetersi solo 2 utenti e parlare contemporaneamente.

Link al commento
Condividi su altri siti

  • 3 weeks later...

In realtà non è del tutto corretto. Se i due dispositivi Full Duplex non parlano contemporaneamente, è possibile connetterli tramite un bus Half Duplex senza problemi.

E' sufficiente che i convertitori RS232-RS485 gestiscano la direzione dei dati in maniera automatica.

In pratica il dispositivo master interroga la periferica e i dati viaggiano in una direzione, dopodichè la periferica risponde e i dati viaggiano in direzione opposta.

Oppure, se non si è sicuri di come vengono trasmessi i dati, si possono usare dei convertitori RS232 RS422 (punto-punto Full Duplex).

C'è poi un'altra possibilità di connettere più dispositivi RS232 su un bus RS485. Si possono sfruttare due o più velocità di comunicazione sulla stessa linea.

In pratica si può parlare con un dispositivo a 19.2Kbps e subito dopo cambiare la velocità di trasmissione e parlare con un secondo dispositivo, per esempio, a 57.6Kbps.

E' un pò come parlare con due persone una volta in francese e un'altra in tedesco: ognuna capirà (e risponderà) soltanto nella sua lingua.

Ovviamente è necessario che i convertitori possano adattarsi in maniera automatica e istantanea a questi cambi di velocità.

Nel sito **********si può trovare tutta una serie di convertitori adatti a questo tipo di connessioni.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

è possibile connetterli tramite un bus Half Duplex senza problemi.

No se non c' un arbitro. Con 2 semplici convertitori questo non è possiible. Il rischio, tuttaltro che teorico, è che uno dei 2 dispositivi abbiasempre e comunque la trasmissione bloccata.

L'unica soluzione possibile per il problema proposto da texamicomio è l'uso di convertitori RS232-RS422; si mantiene la connessione full duplex con livello e caratteristiche di immunità tipiche dei bus differenziali.

Link al commento
Condividi su altri siti

Ma infatti io ho scritto "se i due dispositivi NON parlano contemporaneamente".

E' ovvio che con una linea RS422 si risolve a monte qualsiasi problema di collisione.

Tuttavia, se il protocollo di comunicazione prevede l'interrogazione e la successiva risposta dal dispositivo, due convertitori RS485 vanno benissimo.

E, se come mi sembra di capire, Texamicomio ha sviluppato personalmente il programma del PC, ha il controllo completo del flusso di trasmissione.

Per cui può decidere con cognizione di causa se usare un bus a due fili RS485 o a 4 fili RS422.

Anche perchè, con la RS485, rimane aperta la possibilità di connettere due o più dispositivi RS232 sulla stessa linea, usando il trucchetto che ho indicato sopra.

PS.: @Livio Orsini: ho visto che hai cancellato il link. Scusami ma sono nuovo e non sapevo che non si poteva.

Però, ho visto diverse volte che nei forum si rimanda a questo o a quel prodotto.

Qualè la regola generale per questo genere di indicazioni?

Grazie, ciao.

Link al commento
Condividi su altri siti

Ma infatti io ho scritto "se i due dispositivi NON parlano contemporaneamente".

Il problema sta nella rs232 che non ha alcun controllo. Una volta che nel buffer di uscita dello USART/UART c'è un carattere, questo viene sparato fuori, bisognerebbe intervenire a monte, riconoscendo che la linea non è libera e non mettere caratteri nel buffer di uscita.

E' per questo motivo che una semplice conversione 232-485 dopo il connettore di uscita dell 232 non è possiible se non c'è la sicurezza che dall'altra parte c'è uno slave.

Tipica applicazione sono i dispositivi di interfaccia PC-PLC. Il PC dispone di una RS232 (mi riferissco ad apparati di qualche anno fa), il PLC ha una porta RS485; si fa una conversione Hw 232-485 a livello PC, ma è il software di comunicazione del drive PC che fa la differenza, perchè sa che il PLC risponde, quindi impegna li linea di trasmisione, solo se interrogato con comando specifico. Quindi il protocollo prevede che il PC invi i comadi e le informazioni necessari, mandi il carattere di fine trasmissione, dopo di che si mette in attesa della risposta. In questo modo la linea 232 da ful duplex diviene half duplex di fatto.

ho visto che hai cancellato il link.

Contemporaneamente alla cancellazione ti ho avvisato con un MP.

Per prima cosa ti invito a leggere attentamente, se ancora non lo hai fatto, il regolamento ed anche le FAQ; possono risolvere molti dubbi.

Poi nel caso specifico.

Non esiste una regola specifica anche perchè è impossibile avere un confine univoco e preciso tra informazione e pubblicità, salvo quando la forma pubblicitaria è evidentissima (purtroppo quasi ogni giorno c'è qualcuno che ci prova, iscrivendosi solo per "spammare" pubblicità). Questi casi evidenti in genere si individuano perchè un nuovo utente risponde ad alcune discussioni, anche vecchie di mesi o di anni, mettendo solo link al medesimo sito o al medesimo produttore.

Nel tuo caso ho lasciato il primo link perchè mi è parso congruo con il contenuto della discussione. Il secondo, ovvero questo, mi ha insospettito non tanto perchè non pertinente con la discussione, ci può stare benissimo, ma perchè i primi tuoi 2 messaggi portavoino tutti e due al medesimo produttore.

In genere si considera come informazione quando è una risposta ad una richiesta o è un'indicazione per risolvere un problema; è sempre meglio, quando è possiibile, dare più di un'indicazione di produttore anche se si può tranquillamente indicare la propria preferenza.

Poi ci sono marchi talmente noti che non è più pubblicità citarli.

pensa agli impostatori decadici, sono comunemente noti come Contraves, anche quasta azienda Elvetica che oduceva motori e convertitori di ottime prestazioni, nonchè apparati militari, in pratica ha cessato la produzione da anni.

Link al commento
Condividi su altri siti

Si, verissimo. Però in pratica è un falso problema e non serve verificare se per caso la linea sia libera perchè la linea E' libera.

L'esempio che hai fatto con il PLC è tanto più vero con dispositivi più poveri.

Difficile trovare una schedina che processi la ricezione di un dato e contemporaneamente trasmetta qualcosa; semplicemente i microcontrollori non hanno potenza di elaborazione sufficiente per fare questo.

Certo, ci possono essere le eccezioni. Però di solito la trasmissione di uno slave è sempre una risposta ad un'interrogazione e pertanto è assolutamente sotto controllo e con tempistiche precise e definite.

Comunque non voglio insistere, la davo solo come possibilità che di solito non crea problemi.

Riguardo al link, era certamente interessato. Forse non era tanto pertinente con l'argomento, però l'avevo visto come un suggerimento per ovviare a un problema che ogni tanto si pone.

Se a qualcuno poteva interessare la possibilità di connettere due / tre o più dispositivi RS232 su una linea RS485, i classici convertitori con i dip-switch da settare ovviamente non possono essere utilizzati.

I convertitori che avevo indicato sono tra i pochi sul mercato ad adattarsi in maniera continua e automatica alla velocità di trasmissione.

Comunque OK, non era mia intenzione spammare o altro.

Scusa di nuovo. Ciao

Link al commento
Condividi su altri siti

Però in pratica è un falso problema e non serve verificare se per caso la linea sia libera perchè la linea E' libera.

Questa è solo una tua supposizione.

Bisogna esaminare di volta in volta le condozioni.

In linea generale non è possibile fare quello che viene chiesto come titolo della discussione. In alcuni casi particolari, forse è possibile.

Comun que chiudo qui, perchè tutto quello che dovevo dire sia come utente che come moderatore l'ho detto.

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