¿Buscas alguna otra cosa?
Detalles del escenario:
- Aunque el MTX-Tunnel permite realizar lecturas de dispositivos ModBus de forma autónoma (ver ejemplos de los Anexos 6), en este ejemplo consideraremos que es un PLC el que va a hacer de master en una comunicación MODBUS con una red de contadores
- El PLC únicamente permite el uso de protocolo MODBUS y se desea poder enviar ciertos datos de los contadores a un servidor central
- Para ello el PLC considerará el MTX-Tunnel como un dispositivo modbus (esclavo) más, con dirección @100. Es decir, el MTX-Tunnel debe enviar vía GPRS no todo el tráfico del bus RS485 (es decir, no todo el tráfico entre el PLC de control y los contadores), sino únicamente las tramas que vayan encaminadas a la dirección @100, de esa manera, en el servidor central únicamente se recibirán dichos datos
- La comunicación debe ser en modo TCP Client, es decir, el MTX-Tunnel debe conectarse en modo cliente contra la IP del servidor (200.1.2.3) y puerto TCP 20010
Solución: MTX-Tunnel firmware + MTX-Java-IoT/MTX-Java-T/MTX-Java-T2
Archivo de configuración config.txt:
Configuración | Observaciones |
COMM_baudrate: 9600 COMM_bitsperchar: 8 COMM_autocts: off COMM_autorts: 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: client MTX_model: MTX-4G-JAVA-T MTX_ping: 35 MTX_pingIP: 8.8.8.8 MTX_radioBand: europe MTX_filter: 100 MTX_msToSend: 200 TCP_IP: 200.1.2.3 TCP_port: 20010 |
Serial port baud rate 8 bit data No flow control No flow control 1 stop bit No parity GPRS APN by GSM operator GPRS Login GPRS Password GPRS connection is active 100% of time If SIM card does not have PIN, leave as 0000 Working mode is TCP client MTX model Ping every 35 minutes without comms IP address to ping Not necessary if the MTX is installed in Europe Only frames beginning by byte 100 will be sent Minimum stop with no data to be a new frame IP of the server the MTX-Tunnel will connect to Minimum stop with no data to be a new frame |
Detalles:
- En una trama MODBUS el primer byte indica la dirección. Por ello, al especificar en el parámetro MTX_filter el valor 100, únicamente las tramas que empiecen por 100 serán enviadas al servidor central
- Si por ejemplo se quisiera reenvíar al servidor únicamente las tramas cuyo comando modbus fuera el de escritura (0x10), como este, el byte de comando, es el segundo byte en una trama modbus, el parámetro MTX_filter tendría que ser:
MTX_filter: 100,16 (100 corresponde a la dirección modbus 100 y 16 al valor decimal del comando 0x10)