Início / Descargas / Siemens / Automatas / S7-1200 / Enviar correos electrónicos con el S7-1200 utilizando TM_MAIL

Enviar correos electrónicos con el S7-1200 utilizando TM_MAIL

  • Publicado: 24 Julio 2013
  • Automatas
  • Leído Visto: 9027 veces

 

1826_00

 

La máquina inteligente, cada vez es más normal que la máquina sea más y más inteligente, capaz de tomar decisiones por si sola y de notificar datos de forma autónoma, por ejemplo averías, datos de producción etc. Cada vez más autómatas están conectados a redes LAN tanto internas como a Internet y comienza a ser muy normal que el PLC envíe esta información por email.

La instrucción TM_MAIL envía un correo electrónico usando SMTP (Simple Mail Transfer Protocol) a través de TCP/IP sobre la conexión Industrial Ethernet de la CPU. Se necesita una conexión a Internet basada en Ethernet o un adaptador de TeleService para la conexión con líneas de red telefónica.

Requisitos de hardware

Este ejemplo envía correos electrónicos a través de una conexión a Internet basada en Ethernet. Para ello se emplean los siguientes componentes de hardware:

 - CPU S7-1200

 - Router ADSL para el acceso a Internet

La siguiente imagen muestra la llamada a la instrucción TM_MAIL incluyendo el bloque de datos de instancia DB3 y un ejemplo de cómo parametrizar las entradas y salidas de la instrucción TM_MAIL.

1826_01

La imagen a continuación muestra un ejemplo de cómo parametrizar los parámetros estáticos en el bloque de datos de instancia de la instrucción TM_MAIL.

1826_02

Visión general de las entradas, salidas y parámetros estáticos de la instrucción TM_MAIL

La siguiente tabla ofrece una visión general de las entradas de la instrucción TM_MAIL.

Entrada Tipo de dato Descripción
REQ BOOL La instrucción se inicia con un flanco positivo (de 0 a 1).
ID Int ID del enlace
TO_S String 'TO: <wenna@mydomain.com>,'
CC String Dirección de receptor para la copia CC (opcional)

'CC: <admin@mydomain.com>,'

SUBJECT String Asunto del correo electrónico
TEXT String Texto del correo electrónico (opcional)

Nota
Si este parámetro incluye una cadena de caracteres vacía, el correo electrónico se envía sin un mensaje de texto.

ATTACHMENT Variante Puntero al adjunto del correo electrónico (debe ser un array de bytes)

Nota
Si no se ajusta ningún valor, el correo electrónico se envía sin ningún adjunto.

 

La tabla dada más abajo ofrece una visión general de las salidas de la instrucción "TM_MAIL".

Salida Tipo de dato Descripción
DONE BOOL 0: Trabajo no iniciado aún o no ejecutado todavía.
1: Trabajo ejecutado sin errores.
BUSY BOOL 0: No hay ningún procedimiento en marcha
1: Procedimiento en marcha
ERROR BOOL El bit de ERROR tiene el valor 1 durante un ciclo después de que la última petición haya terminado con un error. El código de error en la salida STATUS sólo es válida en el ciclo en el que ERROR = 1.
STATUS Word Valor de retorno o información del error de las instrucciones TM_MAIL

 

Para los siguientes valores ha de asignar valores en el bloque de datos de instancia de la instrucción TM_MAIL.

Parámetro Tipo de dato Descripción
ADDR_MAIL_SERVER DWord Dirección IP del servidor de correo electrónico

Nota
Convertir el valor decimal de la dirección IP a un valor hexadecimal.

Ejemplo:
Dirección IP = 172.16.1.1
ADDR_MAIL_SERVER = DW#16#AC100101, en donde:

  • 172 = 16#AC
  • 16 = 16#10
  • 1 = 16#01
  • 1 = 16#01
WATCH_DOG_TIME Time El período de tiempo máximo durante el cual TM_MAIL tiene que establecer una conexión con el servidor. Cuando se sobrepasa ese tiempo, la ejecución de la instrucción TM_MAIL finaliza con un error.
USERNAME String Nombre de usuario de la cuenta de correo
PASSWORD String Contraseña para el servidor de correo
FROM String Dirección del emisor

'FROM: <admin@mydomain.com>'

 

Reglas para la introducción de direcciones de recepción (para copia CC) y dirección de emisor

Se deben respetar las reglas dadas a continuación para la introducción de las direcciones de recepción (para copia CC) y la dirección del emisor.

- Los caracteres "TO:", "CC:" y "FROM:" se deben introducir incluyendo los dos puntos.

- Antes de cada dirección de correo electrónico se debe poner un espacio y el paréntesis puntiagudo de apertura "<". Por ejemplo, debe haber un espacio entre los caracteres "TO:" y .

- Después de cada dirección de correo electrónico se debe poner un paréntesis puntiagudo de cierre ">".

- Para las direcciones de correo electrónico "TO:" y "CC:" se debe introducir una coma "," después de cada dirección de correo electrónico. Por ejemplo, es necesaria una coma después de cada dirección de correo electrónico independiente en "TO: ,".

- Para la entrada de "FROM:" se puede introducir sólo una dirección de correo electrónico sin coma al final.

 

TM_MAIL sólo puede comunicar con un servidor de correo electrónico usando SMTP a través del puerto 25. No se puede modificar el número de puerto asignado.

La mayoría de departamentos IT y servidores de correo externos bloquean el puerto 25 mientras tanto para prevenir que un PC infectado con virus se convierta en un generador de correo electrónico peligroso.

Se puede establacer una conexión a través de SMTP con un servidor de correo electrónico interno y dejar al servidor interno gestionar las ampliaciones de seguridad actuales necesarias para el envío de correos electrónicos a través de Internet a un servidor de correo electrónico externo.

Se puede usar, por ejemplo, Microsoft Exchange como servidor de correo electrónico interno. Se puede configurar el servidor de modo que el acceso SMTP esté permitido desde la dirección IP que está asignada al S7-1200. Configurar la consola de gestión de Exchange: Server Configuration > Hub Transport > Receive Connectors >IP Relay. En la pestaña "Networks" (redes) está el campo "Receive e-mails from remote servers with the following IP addresses" (recibir correos electrónicos desde servidores remotos con las siguientes direcciones IP). Aquí se introduce la dirección IP del equipo PLC que ejecuta la instrucción TM_MAIL. Para este tipo de conexión no se necesita autentificación con un servidor Microsoft Exchange interno.

También se crea una cuenta compatible en el servidor de correo electrónico para aceptar el registro SMTP remoto. Entonces se edita el bloque de datos de instancia para la instrucción TM_MAIL y se introducen la cadenas de caracteres TM_MAIL USERNAME y PASSWORD por medio de las que se autentificará la conexión a su cuenta de correo electrónico.

Aviso de seguridad Advertencia

Las funciones y soluciones descritas en este artículo están reservadas en sí predominantemente a la realización de tareas de automatización. Además, se ruega tener en cuenta además que se han de establecer las medidas de protección correspondientes en el contexto de la seguridad industrial cuando se conectan los equipos a otras partes de la planta, la red corporativa o Internet.