¿Buscas alguna otra cosa?
Detalles del escenario:
- Se dispone de un PLC con protocolo Modbus RTU y dirección 1
- Se precisa leer mediante SMS varios registros Modbus del PLC. El registro 10 (temperatura actual), el registro 12 (presión) y el registro 14 (humedad actual)
- También se necesita poder escribir mediante un SMS un “1” en el registro Modbus 16. De esa manera el PLC activará un relé durante un tiempo preconfigurado
- Los SMS únicamente deben poder ser enviados por los teléfonos autorizados 666123456 y 666123457
- Los comandos SMS enviados deben ser simples, concretamente los textos: TEMP, PRES, HUM (para leer el registro 10,12 y 14 respectivamente). Un SMS con el texto RELE escribirá un “1” en el registro 16 para activar el relé
- También debe poderse realizar cambios de configuración remotamente mediante Telnet
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_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: none MTX_model: MTX-4G-JAVA-IOT-STD-N MTX_portAux: modbusmaster MTX_ping: 35 MTX_pingIP: 8.8.8.8 MTX_radioBand: europe SMS_allPhones: off SMS_validPhone1: +34666123456 SMS_validPhone2: +34666123457 SMS_sendIP: on SMS_ATEnabled: on SMS_ATResponse: on SMS_alias1: TEMP>AT^MTXTUNNEL=GETMODBUS,1;10;1;3 SMS_alias2: PRES>AT^MTXTUNNEL=GETMODBUS,1;12;1;3 SMS_alias3: HUM>AT^MTXTUNNEL=GETMODBUS,1;14;1;3 SMS_alias4: RELE>AT^MTXTUNNEL=SETMODBUS,1;16;1 SMS_aliasResponse: result SMS_aliasError: Error FIREWALL_enabled: off TELNET_enabled: on TELNET_login: user TELNET_password: 1234 TELNET_port: 20023 TELNET_firewall: off |
Serial port baud rate Number of bits No flow control No flow control 1 stop bit No parity APN of SIM card GPRS Login GPRS Password Modem is always GPRS connected SIM Card PIN Working mode set as none as we do not use them MTX modem model AUXILIAR COM port used as master modbus Ping every 35 minutes without comms IP address to ping If modem is installed in Europe SMS with commands sent from authorized phone Authorized mobile phone 1 Authorized mobile phone 2 Modem replies with its IP to a missed call or SMS Remote AT commands by SMS enabled Modem response to AT command with SMS Alias for temperature reading Alias for pressure reading Alias for humidity reading Alias for relay activation Modem returns the result only, no AT command Modem returns text “Error” when executing alias Any IP will be able to connect to the modem Telnet is activated Telnet login Telnet password Telnet port Any IP will be able to connect to the MTX |
Detalles:
- El hecho de especificar el parámetro SMS_aliasResponse al valor “result” hace que en el SMS de respuesta al ALIAS no se envíe el comando AT ejecutado.
Por ejemplo, en el caso de disponer en el parámetro SMS_aliasResponse un valor “full”,
ocurriría lo siguiente:
SMS enviado: TEMP
SMS recibido: AT^MTXTUNNEL=GETMODBUS,1;10;1;3
25
OK
En el caso de disponer en el parámetro SMS_aliasResponse un valor “result”, ocurriría lo
siguiente:
SMS enviado: TEMP
SMS recibido: TEMP > 25 - El hecho de especificar el parámetro SMS_aliasError con el texto “Error” hace que en el SMS de respuesta al ALIAS, en caso de error, tenga una respuesta así:
SMS enviado: TEMP
SMS recibido: TEMP > Error - Recuerde que el modelo de módem utilizado en este ejemplo dispone de 2 puertos serie. El puerto principal (RS232) y el puerto secundario (RS232 ó RS485) utilizado en este ejemplo. Para configurar el puerto secundario como RS485 debe poner a “ON” el microswitch 2, tal y como se indica en el Anexo A del presente manual