Cómo comunicarme a largas distancias (60 m) usando comunicación serial desde múltiples dispositivos seriales conectados a mi PC

ingrese la descripción de la imagen aquí

Publicación anterior

Según mi publicación anterior, que implicó determinar qué tipo de conexión en serie es apropiada, es decir, RS232 o USB. Esto era claramente RS232.

Como un seguimiento en la publicación de esa pregunta. Tengo la siguiente configuración y quisiera algunos consejos si esta configuración cumplirá su propósito para una comunicación confiable a través de la comunicación en serie con la PC de escritorio.

Actualmente, he escrito una aplicación simple en Visual Studio que permite que mi computadora portátil se conecte a un solo lector, a través de un adaptador RS232 a USB (el adaptador mide 2 m de largo). Solo estoy usando este lector con fines de prueba. El lector envía números de etiquetas RFID a través de esta conexión en serie a mi PC. Este sistema funciona perfectamente.

Ahora me gustaría conectar 4 lectores RFID a mi PC. Así que utilizaría 4 puertos USB en mi PC (mi PC como 8 puertos USB). Mi pregunta es, por lo tanto, ¿cómo debo conectar estos lectores con las siguientes distancias entre cada lector y PC?

En la publicación anterior, se hicieron recomendaciones para usar un cable RS485. Por lo tanto, ¿está bien convertir primero el RS232 en el lector a RS485, luego conectar el cable RS485 a la PC y finalmente usar un adaptador RS485 a USB para conectarlo a los puertos USB de mi PC?

Respuestas (1)

En la publicación anterior, se hicieron recomendaciones para usar un cable RS485. Por lo tanto, ¿está bien convertir primero el RS232 en el lector a RS485, luego conectar el cable RS485 a la PC y finalmente usar un adaptador RS485 a USB para conectarlo a los puertos USB de mi PC?

Eso funcionaría, sí.

Pero con toda honestidad, su dispositivo tiene ethernet... Use ethernet. Es exactamente lo que necesita para conectar muchos dispositivos a larga distancia. Sin adaptadores, sin complicaciones. Incluso podría hacer un túnel a través de su infraestructura de red existente, si la hay, usando VLAN o encapsulación.

Si esto es "porque mi software ya es compatible con la serie": la depuración del software en una PC tiende a ser más fácil que la depuración de problemas de conexión en serie de largo alcance. Ethernet es muy robusto.

Los cables Ethernet son muy baratos. Hay conectores industriales para ellos. Son de largo alcance. Es trivial ampliar el alcance de ethernet, si por alguna razón de repente necesita más de lo que normalmente no puede hacer el tramo único de ethernet de 100 ma 200 ma.

Usa Ethernet. No convierta varios puertos serie.

Gracias, no fui con la raíz de ethernet porque no estoy seguro de cómo escuchar varias conexiones de ethernet a la vez usando el código. Publicaré en el desbordamiento de la pila para obtener consejos.
... trivialmente. Necesitas aprender sobre lo que es un socket...
@Joey está de acuerdo con Marcus, Ethernet (e IP) está diseñado para admitir muchas conexiones separadas, ¿cómo crees que funciona Internet?
@Joey Escuchas múltiples sockets tcp/udp de la misma manera que abres el socket del puerto serie. Solo tiene que especificar alguna dirección IP en lugar de COMx.
Windows tiene diferentes llamadas para las comunicaciones de socket IP frente a las seriales, a diferencia de la mayoría de los otros sistemas operativos, pero los conceptos aún deberían traducirse de manera bastante simple.