¿Buscas alguna otra cosa?

Tunnel – Lectura y envío periódico a un servidor Web de los registros de 5 Contadores eléctricos con protocolo ModBus RTU.

Detalles del escenario:

  • Disponemos de 5 contadores eléctricos con protocolo modbus rtu. Estos contadores disponen en su memoria interna de una serie de variables/registros (por ejemplo, consumo acumulado y consumo medio) las cuales deben leerse y enviarse periódicamente a un servidor Web
  • Por ello, el MTX-Tunnel debe interrogar periódicamente, cada 15 minutos, por un puerto serie, a los 5 contadores para leer dichos registros. Los registros a leer son para el consumo acumulado el registro nº20, y para el consumo medio el registro nº 21
  • El MTX-Tunnel debe enviar tras cada lectura el valor de los registros a un servidor web vía HTTP GET usando un objeto JSON, pero debe ser capaz, en caso de fallo de comunicaciones 2G/3G/4G, de almacenar en memoria flash hasta 1500 lecturas que enviará cuando se restauren las comunicaciones. Para cada contador enviará una trama JSON, donde se indica
    con un identificador (la dirección modbus) el contador leído
  • Hay que acceder al MTX-Tunnel en cualquier momento para poder leer en tiempo real los registros del PLC, y para poder escribir en ellos y modificar registros de configuración del PLC

Solución: MTX-Tunnel firmware + MTX-Java-IoT/MTX-Java-T/MTX-Java-T2

Archivo de configuración config.txt:

Configuración Observaciones
COMM2_baudrate: 9600
COMM2_bitsperchar: 8
COMM2_autorts: off
COMM2_autorts: off
COMM2_stopbits: 1
COMM2_parity: none
GPRS_apn: movistar.es
GPRS_login: MOVISTAR
GPRS_password: MOVISTAR
GPRS_timeout: 0
MTX_PIN: 0000
MTX_mode: none
MTX_model: MTX-4G-JAVA-IOT-STD-N
MTX_portAux: modbusmaster
MTX_TPProtocol: ntp
MTX_TPServer: ntp.roa.es
MTX_TPServer2: es.pool.ntp.org
MTX_ping: 35
MTX_pingIP: 8.8.8.8
SMS_allPhones: on
SMS_sendIP: on
SMS_ATEnabled: on
SMS_ATResponse: on
FIREWALL_enabled: off
TELNET_enabled: on
TELNET_login: user
TELNET_password: 1234
TELNET_firewall: off
LOGGER_enabled: on
LOGGER_password: ID00001
LOGGER_server: www.miservidorWeb.com/json.asp?data=
LOGGER_registerSize: 300
LOGGER_numRegistersFlash: 1500
LOGGER_httpMode: getjson
MODBUS_address: 1;2;3;4;5
MODBUS_start: 20
MODBUS_numwords: 4
MODBUS_readCommand: 3
MODBUS_period: 900
Serial port (where internal GPS is connected) rate
Number of bits
No flow control
No flow control
1 stop bit
No parity
APN GPRS from your network operator
GPRS Login
GPRS Password
Modem is always GPRS connected
SIM Card PIN
MTX-Tunnel mode
MTX modem model
AUXILIAR COM port used as master modbus
Time synch. protocol
Time server
Backup time server
Ping every 35 minutes without comms
IP address to ping
All phone numbers are authorized
IP sent to phone which called or “on” SM
Remote AT commands by SMS enabled
Modem response to AT command with SMS
Any IP will be able to connect to the modem
Telnet is activated
Telnet login
Telnet password
Telnet port 20023
We enable the MTX Logger, to store the records
Password field can be used as ID device
Server URL, will receive JSON data
Register size
Maximum number of records in MTX
HTTP GET (JSON) mode
ModBus equipment address
ModBus register address to be read
Number of registers read
Reading command
Timing -seconds- read is repeated

Detalles:

  • El módem lee y envía cada 15 minutos 2 registros modbus de cada contador via un objeto JSON a un servidor web (LOGGER_server). En caso de no poder enviar el registro (por no haber cobertura gprs en ese momento o estar el servidor caído) almacena los datos en memoria para enviarlos posteriormente. Mediante Telnet es posible conectarse al equipo directamente y consultar/cambiar en tiempo real los registros del PLC (para ello buscar en este manual los comandos AT^MTXTunnel=getmodbus y AT^MTXTUNNEL=setmodbus)
  • El objeto JSON enviado a la URL (LOGGER_server) está codificado de la siguiente manera:
{“IMEI”:353234028103206,”P”:”ID00001”,”TYPE”:”MODB”,”A”:1,”TS”:”20/04/13 08:31:44”,”V1”:23,”V2”:275}
  • El servidor web recibe un objeto JSON con el IMEI (IMEI) del módem, un password (P) que puede utilizarse para identificar el equipo, la dirección modbus del contador (A) para distinguirlos, el time stamp (TS) de cuando se han leído los datos modbus de cada contador, la dirección inicial leída (ST) y V1,V2 con cada 1 de los registros leídos
  • Al final del manual está cómo configurar el microswitch interno para activar el RS485