¿Buscas alguna otra cosa?
Detalles del escenario:
- Disponemos de un PLC Modbus RTU. Este PLC dispone en su memoria interna de una serie de variables/registros (por ejemplo, una temperatura y 3 contadores…) 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 RS485, al PLC para leer dichos registros. Los registros a leer son, para la temperatura el registro nº20, y los contadores están en los registros 21,22 y 23 respectivamente
- Debe enviar tras cada lectura el valor de los registros a un servidor web vía HTTP GET usando un objeto JSON. En caso de fallo de comunicaciones 2G/3G/4G, debe almacenar en memoria flash hasta 1500 lecturas que enviará cuando se restauren las comunicaciones
- El PLC dispone de un puerto serie RS232 que se utiliza para actualizar el firmware. Debe poderse acceder en cualquier momento al puerto de programación del PLC, para ello se utilizará el puerto RS232 del módem MTX-4G-JAVA-IOT-STD-N
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_autorts: on COMM_autocts: on COMM_stopbits: 1 COMM_parity: none COMM2_baudrate: 9600 COMM2_bitsperchar: 8 COMM2_autorts: off COMM2_autocts: 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: server 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 TCP_port: 20010 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 MODBUS_start: 20 MODBUS_numwords: 4 MODBUS_period: 900 |
Data rate Number of bits There is flow control There is flow control 1 stop bit No parity Serial port baud 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 Gateway activated for the PLC upgrade 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 TCP port for upgrade firmware gateway 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 Any IP will be able to connect to the MTX 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 Sending data mode HTTP GET (JSON) Modbus address of device to be read Address of first modbus record to be read Number of records read from each meter Frequency of readings in seconds |
Detalles:
- El resumen de este ejemplo es el siguiente: el módem va leyendo periódicamente, cada 15 minutos una serie de registros ModBus del PLC y los va enviando mediante un objeto JSON a un servidor web (a la url especificada en el parámetro 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 especificada en LOGGER_server está codificado de la siguiente manera, a modo de ejemplo:
{“IMEI”:353234028103206,”P”:”ID00001”,”A”:1,”TS”:”20/08/12 08:31:44”,”ST”:20,”V1”:23,”V2”:275,”V3”:274,”V4”:32765}
- Es decir, el servidor web recibe un objeto JSON con el IMEI (IMEI) del módem, un campo password (P) que también puede utilizarse para identificar el equipo (si no se quiere usar el IMEI), la dirección modbus del equipo (A), el time stamp (TS) de cuando se han leído los datos modbus, la dirección inicial de las variables leídas (ST) y V1,V2, … con cada una de las variables leídas
- Para la pasarela 2G/3G/4G-Serie de actualización de firmware del PLC se ha escogido
trabajar en modo Server (MTX_mode: server) de esa manera resulta muy sencillo conectarse remotamente al MTX-Tunnel vía el programa habitual de actualización de firmware del PLC, simplemente indicando la dirección IP y puerto del MTX-Tunnel (la IP si no es fija puede obtenerse mediante una llamada perdida, un SMS o incluso utilizando DynDNS entre otras formas). Si su software de actualización de firmware del PLC no permite introducir una dirección IP, sino únicamente un puerto COM, puede usar un puerto COM virtual - Al final del manual encontrará cómo configurar el microswitch interno para activar el bus RS485 de este modelo de módem (Por defecto está activado como RS485, por lo que no es necesario cambiarlo)