¿Buscas alguna otra cosa?
Detalles del escenario:
- Disponemos de un PLC con comunicaciones Modbus RTU RS485 que, actuando como master, realiza lecturas periódicas de 3 dispositivos esclavo también con comunicaciones Modbus RTU RS485
- Se necesita replicar ese mismo escenario, con los mismos dispositivos RS485, pero con
comunicaciones IP, ya que no es posible realizar un cableado al encontrarse los distintos
elementos ubicados a distancias kilométricas entre ellos - Se utilizarán tarjetas SIM muy económicas, con IP dinámica y privada, por lo que no será posible comunicar directamente los equipos entre ellos. Se utilizará como intermediario un bróker MQTT. El master enviará las peticiones modbus al bróker MQTT, que reenviará a los esclavos vía MQTT. Las respuestas de los módems esclavos son reenviadas al bróker MQTT que a su vez son reenviardas al módem master
Solución: MTX-Tunnel firmware + MTX-Java-IoT/MTX-Java-T/MTX-Java-T2
Archivo de configuración config.txt (master):
Configuración | Observaciones |
COMM_baudrate: 9600 COMM_bitsperchar: 8 COMM_autorts: off COMM_autocts: off COMM_stopbits: 1 COMM_parity: none GPRS_apn: movistar.es GPRS_login: MOVISTAR GPRS_password: MOVISTAR GPRS_timeout: 0 MTX_PIN: 0000 MTX_mode: mqtt MTX_model: 199801445 MTX_ping: 35 MTX_pingIP: 8.8.8.8 MTX_invertedCom: on MTX_msToSend: 250 SMS_allPhones: on SMS_sendIP: on SMS_ATEnabled: on SMS_ATResponse: on FIREWALL_enabled: off MQTT_enabled: on MQTT_server: tcp://test.mosquitto.org:1883 MQTT_id: [IMEI] MQTT_attopic1: [IMEI]/AT MQTT_atrtopic: [IMEI]/ATR MQTT_keepalive: 300 MQTT_commrxtopic: rxmaster MQTT_commrxtopic: txmaster |
Serial port baud rate 8 bit data No flow control No flow control 1 stop bit No parity GPRS APN from your network operator GPRS Login GPRS Password MTX-Tunnel is always GPRS connected If SIM card has no PIN security, use 0000 value MQTT serial gateways will be used MTX-Terminal modem model used One ping every 35 min. without communications Ping address Gateway port RS485 No fragmented networks Send SMS with commands from any phone Modem responds with its IP to a missed call/SMS Commands can be sent to the MTX by SMS MTX responds with an SMS to a command SMS Any incoming connection form any IP is allowed MQTT service enabled Broker IP/DNS specified, including identifying port Identifier MQTT topic to send AT commands Topic to send replies to commands to Connection keep alive (300 seconds) Data received will be retransmitted via serial Data received v/serial, retransmitted to this topic |
Archivo de configuración config.txt (slave):
Configuración | Observaciones |
COMM_baudrate: 9600 COMM_bitsperchar: 8 COMM_autorts: off COMM_autocts: off COMM_stopbits: 1 COMM_parity: none GPRS_apn: movistar.es GPRS_login: MOVISTAR GPRS_password: MOVISTAR GPRS_timeout: 0 MTX_PIN: 0000 MTX_mode: mqtt MTX_model: 199801445 MTX_ping: 35 MTX_pingIP: 8.8.8.8 MTX_invertedCom: on MTX_msToSend: 250 SMS_allPhones: on SMS_sendIP: on SMS_ATEnabled: on SMS_ATResponse: on FIREWALL_enabled: off MQTT_enabled: on MQTT_server: tcp://test.mosquitto.org:1883 MQTT_id: [IMEI] MQTT_attopic1: [IMEI]/AT MQTT_atrtopic: [IMEI]/ATR MQTT_keepalive: 300 MQTT_commrxtopic: txmaster MQTT_commrxtopic: rxmaster |
Serial port baud rate 8 bit data No flow control No flow control 1 stop bit No parity GPRS APN from your network operator GPRS Login GPRS Password MTX-Tunnel is always GPRS connected If SIM card has no PIN security, use 0000 value MQTT serial gateways will be used MTX-Terminal modem model used One ping every 35 min. without communications Ping address Gateway port RS485 No fragmented networks Send SMS with commands from any phone Modem responds with its IP to a missed call/SMS Commands can be sent to the MTX by SMS MTX responds with an SMS to a command SMS Any incoming connection form any IP is allowed MQTT service enabled Broker IP/DNS specified, including identifying port Identifier MQTT topic to send AT commands Topic to send replies to commands to Connection keep alive (300 seconds) Data received will be retransmitted via serial Data received v/serial, retransmitted to this topic |
Detalles:
- El resumen del escenario es el siguiente. El módem que actúa de master reenvía todas las peticiones modbus que recibe en su puerto serie RS485 al bróker MQTT, concretamente al topic “txmaster”. Los módems esclavos, como están subscritos al topic “txmaster” del bróker MQTT, reciben automáticamente dichas peticiones del master que, a su vez reenvían por su puerto serie RS485.
Y al revés. Los módems esclavos reenvían todos los datos que reciben por su puerto serie
RS485 (las respuestas modbus) al bróker mqtt, al tópic “rxmaster”. Como el módem
que actúa de master está subscrito a dicho topic “rxmaster”, el bróker MQTT le envía
inmediatamente dichas respuestas, que son reenviadas por su puerto serie RS485 - Tenga presente que las latencias de las comunicaciones pueden ser algo mayores que con una comunicación directa (ya que hay un intermediario, el bróker mqtt, y la velocidad de las comunicaciones dependerán de la potencia de éste). Ajuste los tiempos de timeout en caso de ser necesario