MPROG – Módulo SMS

Creada por Luiza Holtz, Modificado el Mar., 30 Dic., 2025 a las 9:27 A. M. por Luiza Holtz

INTRODUCCIÓN 


El módulo SMS implementa soporte para el envío y la recepción de mensajes SMS en equipos con conexión a la red celular. 


La configuración y el envío del mensaje SMS se realizan a través del bloque SMS_MESSAGE. VLos valores de la lógica pueden insertarse mediante tags especiales en el mensaje y a través de los bloques SMS_SEND y SMS_RECV. Los bloques SMS_SEND ponen a disposición datos de la lógica para su uso en los mensajes. Los bloques SMS_RECV permiten recibir datos mediante comandos específicos enviados vía SMS. 


Existen dos tipos de bloques: uno para el envío de SMS (SMS_SEND_xxx) y otros para la recepción de comandos (SMS_RECV_xxx). 


BLOQUE SMS_MESSAGE    


El bloque CLIENT es responsable de gestionar la conexión del controlador con el servidor MQTT (broker). Solo puede existir una única instancia de este bloque en el programa.


 

El bloque SMS_MESSAGE se utiliza para controlar y configurar el envío de un SMS a la red celular. En la configuración de este bloque se define el destinatario del mensaje y el contenido a enviar. El envío del mensaje se controla mediante la entrada SEND. Un flanco de subida en esta entrada genera el envío del mensaje. En caso de que ocurra algún error en el envío, la salida ERROR indicará el código de error (distinto de cero). 


Cada bloque permite la configuración de un solo número destinatario. Si es necesario enviar el mismo mensaje a varios destinatarios, basta con crear copias del bloque y conectar todas las entradas SEND a la misma señal. 


BLOQUES SMS_SEND     


Los bloques SMS_SEND sirven para poner a disposición valores de la lógica para el módulo SMS. Cada entrada tiene un TAG asociado que puede ser sustituido en el texto del mensaje. 


El bloque también permite definir cómo se convertirá el texto. En los bloques SMS_SEND_BOOL, es posible definir un texto para cada valor (true/false) de la entrada. En los bloques SMS_SEND_FLOAT es posible definir el número de decimales.



BLOQUES SMS_RECV      


Los bloques SMS_RECV sse utilizan para recibir datos vía SMS mediante comandos especiales, detallados a continuación.


Cada bloque tiene un TAG definido que sirve para identificar el bloque. 


La salida UPDATE se activa durante un ciclo para indicar que el valor ha sido actualizado. 



FORMATO DEL TEXTO DEL MENSAJE        


El mensaje a enviar se configura libremente en el bloque SMS_MESSAGE livremente en formato de texto. Los valores de las entradas pueden insertarse en el texto mediante etiquetas especiales indicadas por el carácter %


Para insertar el valor de un bloque (SMS_SEND o SMS_RECV), basta usar el formato %TAG% , donde TAG es el nombre definido para el bloque. El nombre del tag no distingue entre mayúsculas y minúsculas, para facilitar el envío del mensaje desde el celular. 


Para insertar el carácter %, basta usar una etiqueta vacía %%


El controlador dispone de las etiquetas especiales DATE y TIME que indican la fecha y la hora actuales del controlador. 


COMANDOS EXTERNOS        


Es posible enviar comandos externos al controlador vía SMS. Varios comandos pueden enviarse en el mismo mensaje, uno por línea. Los siguientes comandos están disponibles:  


  • PASS: define la contraseña que se utilizará para el acceso. Sintaxis: PASS senha 
  • READ: permite leer el valor de uno o más TAGs del controlador (bloques SMS_SEND o SMS_RECV). Sintaxis: READ tag1, tag2, ... 
  • WRITE: permite escribir en un TAG determinado del controlador (bloque SMS_RECV). Sintaxis: WRITE tag1=valor1, tag2=valor2, ... 


Para valores booleanos, el valor debe ser “0” o “1”. Para escribir en bloques FLOAT, el separador decimal debe ser el punto. 

¿Le fue útil este artículo?

¡Qué bueno!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Díganos cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
La verificación de CAPTCHA es obligatoria.

Comentarios enviados

Agradecemos su iniciativa, e intentaremos corregir el artículo