Paso A Paso IOT2000

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 33

P a g e 1 | 33

INDICE
• Materiales Necesarios------------------------------ Hoja 3

• Registro en el foro------------------------------ Hoja 4

• Carga de Imagen en SD (DiskImager) ------------------------------ Hoja 5 al 6

• Colocación del SD en el IOT------------------------------ Hoja 6 al 7

• Descarga del Putty e inicio de sesión------------------------------ Hoja 8 al 10

• Configuración del IOT ------------------------------ Hoja 11 al 12

• Instalación de Paquetes del Node-Red e Inicio------------------------------ Hoja 12 al

15

• Configuración del TIA PORTAL------------------------------ Hoja 15 al 17

• Configuración de Node-Red------------------------------ Hoja 18 al 21

• Configuración de la Interfaz para PLC------------------------------ Hoja 21 a 22

• Envió de Información a E-Mail------------------------------ Hoja 22

• Ejemplo de OPC_UA 1------------------------------ Hoja 23 a 26

• Ejemplo de OPC_UA 2------------------------------ Hoja 26 a 29

• Configuración S7 (Node-Red) ------------------------------ Hoja 29 a 30

• Contenido Adicional------------------------------ Hoja 31

P a g e 2 | 33
Materiales Necesarios
• Tarjeta MicroSD (tamaño mínimo 8GB, tamaño máximo 32GB)

• Adaptador y lector de tarjetas para lectura de la PC

• 2 cables Ethernet

• Fuente de Alimentación

• SIMATIC IOT2040

• Adaptador WIFI USB

• Conexión a Internet

• PLC Siemens con (Comunicación UA o Comunicación S7)

• Scalance M874-3

P a g e 3 | 33
Registro en el foro Siemens y descarga de archivos necesarios
En primera instancia, Siemens provee la imagen de firmware que necesitaremos para el
MicroSD el cual contiene el sistema operativo Yocto Linux con configuraciones útiles para
proyectos con el IOT2040. En resumen, nos registraremos y descargaremos la imagen para el
dispositivo SIMATIC IOT2040.https://support.industry.siemens.com/tf/ww/en/conf/60/

https://support.industry.siemens.com/cs/document/109741799/simatic-iot2000-sd-card-
example-image?dti=0&lc=en-WW

P a g e 4 | 33
Descarga de DiskImager y carga de imagen en SD
Luego de la descarga de la imagen en la PC, debe ser instalada para posteriormente ser
introducida en el IOT2040. Para cargar la imagen se necesita el programa Win32DiskImager.

https://sourceforge.net/projects/win32diskimager/

Una vez instalada con éxito, se procede a abrir el programa, seleccionamos el archivo.wic de
la imagen (descomprimimos él .zip de la imagen) y lo ubicamos en donde fue guardado, se
especifica en que unidad se encuentra la tarjeta MicroSD y se carga la imagen.

Nota: Para escribir la imagen en la tarjeta MicroSD debe estar vacía, en caso de no ser así
formatearla.

En caso de una operación fallida se recomienda formatear desde las propiedades de Windows
en la sección de almacenamiento (administrador de discos) o desde un programa externo.

P a g e 5 | 33
La escritura de la imagen toma un par de minutos

Una vez cargada la imagen se puede observar que el nombre de la tarjeta ha cambiado y dentro de la
misma hay dos carpetas y un archivo.

A modo de comprobación, en el administrador de discos de Windows se debería visualizar que


la tarjeta contiene 3 particiones: una de 22mb, otra de 1019mb, y una tercera sin asignar con
el resto de la memoria. Para acceder al administrador de discos se siguen los siguientes
pasos:

• Desde el escritorio o menú de inicio de Windows, clic derecho en equipo

• Clic izquierdo en Administrar

En el menú del a izquierda, dentro de almacenamiento, clic izquierdo en opción administrador

de discos.

P a g e 6 | 33
Colocación del SD en el IOT
En tercera Instancia, deberemos colocar la tarjeta SD en el SIMATIC IOT2040. Las siguientes

imágenes nos mostraran el slot donde se conectará correctamente en el dispositivo.

Se puede observar el slot donde se colocará el MicroSD Se observa en que posición se colocará el

MicroSD

Colocar la Tarjeta SD Bloquear la ranura deslizando hacia


arriba

P a g e 7 | 33
Luego de ser colocada, se alimenta el dispositivo a través del puerto X80. Se encenderá el led
PWE indicando que el dispositivo esta alimentado, y unos segundos después se encenderá el
led USB que indica el estado del IOT.

En tercer lugar, se encenderá el LED SD y estará intermitente parpadeando o en encendido


fijo durante unos minutos. En el primer arranque del IOT el sistema redimensiona la tarjeta
MicroSD, es decir, asigna parte de la memoria del “sin asignar” del punto anterior. Durante el
redimensionamiento el LED SD pasa a estar apagado significando esto la finalización del
redimensionado de la tarjeta.

Descarga de Putty e inicio de sesión en IOT2040


Para poder acceder al dispositivo a través del PC se necesita la herramienta Putty, que se
puede descargar en la web http://www.putty.org/

Para acceder al IOT2040 se conecta un cable ethernet desde el puerto X1 al PC. Por defecto
el dispositivo tiene asignada la IP “192.168.200.1”. Para que nuestro PC pueda detectarlo.
Debe ubicarse en la misma red IP. Para modificar la red del PC seguiremos los siguientes
pasos.

Panel de control -> Redes e Internet -> Centro de redes y recursos compartidos.

P a g e 8 | 33
En el menú de la izquierda, clic en Cambiar configuración del adaptador.

P a g e 9 | 33
Clic con el botón derecho en Conexión de área local o Local Area Connection.

Clic con el botón izquierdo en Propiedades.

Clic con el botón izquierdo en Protocolo de Internet versión 4 (TCP/IPv4) y clic en


Propiedades.

Seleccionar Usar la siguiente dirección IP.

Se introduce:

IP Address: 192.168.200.2 hasta 192.168.200.254

Subnet Mask: 255.255.255.0

P a g e 10 | 33
Con la herramienta Putty configuramos una conexión por SSH al dispositivo. Para ello, el
dispositivo debe estar conectado mediante cable ethernet al PC.
En la primera conexión del dispositivo aparece una alerta de seguridad.

Dentro de la interfaz, el usuario para iniciar sesión es root. Por defecto no tiene configurada
ninguna contraseña de acceso por lo tanto que directamente entraría en el terminal de Linux
del dispositivo. Para configuraciones adicionales tales como usuario/contraseña, interfaces,
direcciones IP, etc., a través del comando “iot2000setup” se accede a un menú que permite
realizar estos ajustes.

Configuraciones del IOT


Para configurar una conexión Wifi se basa en definir la interfaz que se va a utilizar para la
conexión. Para ello, accedemos al Putty y a través de la ventana de comando modificamos
el archivo interfaces siguiendo los siguientes pasos:
Comando “cd /etc/network/” para acceder al directorio en el que se encuentra el
archivo

Comando “nano interfaces” para modificar el archivo.

Al final del archivo añadimos:

allow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant.conf
P a g e 11 | 33
Ctrl + X -> Y para guardar las modificaciones del archivo
Allow-hotplug wlan0 es para permitir detectar eventos de conexión o desconexión de
hardware (cable, usb, etc.) en la interfaz, auto wlan0 inicia automáticamente la interfaz
cuando se inicia el dispositivo, iface wlan0 inet dhcp indica que se le va a asignar una
dirección IP dinámica, y wpa-conf /etc/wpa_supplicant.conf indica el directorio en el que
se encuentra el archivo de configuración de la interfaz.

Luego, indicamos la conexión Wifi que vamos a utilizar a través del archivo
wpa_supplicant.conf.
Comando “cd /etc”

Comando “nano wpa_supplicant.conf” para modificar el archivo

Modificamos el apartado network con los datos de nuestra conexión


key_mgmt=WPA-PSK
ksid=” nombre_de_la_conexión”
psk=” contraseña_de_la_conexión”
- Ctrl + X -> Y para guardar las modificaciones del archivo
En este caso se va a conectar a la conexión de internet compartida de un teléfono móvil, en el
que el usuario es AndroidAP y la contraseña kvvg6362

P a g e 12 | 33
Nota: podremos proveerle Wifi al dispositivo mediante un cable usb/micro usb conectado al
celular.

Una vez se ha configurado la interfaz y la conexión en el dispositivo, se introduce el adaptador


Wifi en el puerto USB y nos aseguramos de que la conexión Wifi a la que nos vamos a
conectar está habilitada. Por último, para proporcionar conexión de red al dispositivo es
reiniciar las interfaces para que nuestra conexión wlan0 adquiera una IP y se conecte a la red.
- Comando “/etc/init.d/networking restart”.

Instalación de paquetes del Node-red e Inicio


La forma más sencilla de programar aplicaciones en Simatic IOT2040 es a través de la
herramienta de programación visual Node-Red. Con esta herramienta se puede programar una
aplicación sin necesidad de conocer el lenguaje. La herramienta se basa en nodos que ya
tienen una función programada, y la forma de programar es configurar dichos nodos y definir
el flujo de programa a través de la conexión de nodos.
Nuestro programa va a leer datos de un PLC utilizando el protocolo S7 y va a enviar dichos
datos por email. Para ello, en primer lugar, debemos iniciar Node-Red, ver qué paquetes de
nodos están instalados por defecto, y qué paquetes de nodos necesitamos instalar para las
funcionalidades que queremos.
Comando “node /usr/lib/node_modules/node-red/red &” para iniciar Node-Red.
Una vez node-red se ha iniciado, abrimos un explorador y navegamos a “192.168.200.1:1880”
(o la IP que tengamos asignada al puerto Ethernet al que estamos conectados).
Para nuestro programa vamos a necesitar los siguientes nodos:

NODO TIPO
S7 Input

P a g e 13 | 33
FUNCTION Function
SWITCH Function
DEBUG Output
E-mail Social
Todos vienen instalados por defecto con node-red, excepto el nodo S7, que debemos
instalarlo.
Lo instalaremos a través de Node-Red. Para la instalación es necesario que el dispositivo
tenga conexión a internet:
Menú esquina superior derecha -> Manage palette

Menú de la izquierda -> Pestaña Install -> Buscar “node-red-contrib-s7” -> Install

P a g e 14 | 33
Una vez se ha instalado -> Done
En este caso no es necesario reiniciar el dispositivo.

Ejemplo Presentado: Estamos en una fábrica de producción de zumos, necesitamos que el


encargado de mantenimiento reciba una notificación cada día cuando la producción cumpla el
objetivo de 4000 zumos embotellados y además le indique el nivel de los tanques de materia
prima. Uno de los PLCs de planta contiene esa información; la presión, temperatura, nivel de
los tanques, el núm. de zumos embotellados, materia prima necesaria para cada zumo, etc.

Nuestro programa de Node-Red debe obtener estos datos de planta, comprobar si se ha


llegado al objetivo fijado, y enviar la notificación.
i. Flujo de programa en Node-red.
ii. Configuración de nodos.
Seleccionando un nodo en el Workspace, en la columna de la parte derecha el apartado info

nos da información sobre el funcionamiento de dicho nodo y sobre cómo configurarlo.

Nodo S7: Con doble clic se accede a la configuración del nodo. El primer paso es añadir la
conexión al PLC. Para ello pulsamos sobre el icono de modificar a la derecha de Add new s7
endpoint.

P a g e 15 | 33
Aparecen 2 pestañas; la primera para definir la conexión y la segunda para definir las
variables a leer. Colocar la IP “192.168.200.20”.

Configuración TIA PORTAL


Para obtener los datos de la conexión abrimos el proyecto de TIA Portal del PLC. En el menú
de la izquierda, abrimos el PLC y doble click en Configuración de dispositivos. Desde este
menú podemos ver el rack y el slot del PLC, y en el menú inferior, en el apartado Direcciones
Ethernet de la pestaña General, la dirección IP.

P a g e 16 | 33
En este caso la dirección IP es “172.168.200.20”, el rack es 0 y el slot es 1.
Importante: En el PLC debemos habilitar el acceso vía comunicación PUT/GET. Para ello en
el menú inferior vamos a General -> Protección & Seguridad -> Mecanismos de conexión -
> Permitir acceso vía comunicación PUT/GET del interlocutor remoto.

Para configurar las variables a leer debemos conocer el tipo de variable, el DB y la región de
memoria que ocupan dichas variables en el PLC. Para ello, lo más sencillo y recomendable es

P a g e 17 | 33
crear un DB en el programa del PLC en el que agrupemos todas las variables que queremos
leer a través del IOT.

Una vez hemos terminado de añadir las variables, clic en Add. Luego activaremos una opción.

S7_Value (DB2) -> Atributes -> DB accesible from OPC UA.

Al finalizar, en el menú del nodo seleccionamos el modo All variables, y clic en Done.

P a g e 18 | 33
Configuración de Node-Red
Nodo function
En este nodo vamos a programar una función sencilla que compruebe cuántas botellas se han
producido y que en el momento en el que se llegue a las 4000 habilite la notificación. Además,
vamos a definir el texto de la notificación.
Con doble clic accedemos al nodo. El apartado “Name” es para dar un nombre a la función
para que desde el Workspace podamos identificar qué hace el nodo, este nombre solo es
informativo. En el cuerpo de la función copiamos el siguiente texto:
if (msg.payload == 4000){
msg.notificar = 1;
msg.topic = "Botellas producidas"
msg.payload = "Le informamos de que ya se han producido 4000 botellas y los niveles de
los tanques son los siguientes: \n\n Tanque 1: " + msg.payload.nivel_tanque_1 +"% \n
Tanque 2: " + msg.payload.nivel_tanque_2 + "% \n Tanque 3: " +
msg.payload.nivel_tanque_3 + "% \n\n Un saludo, \n PLC.";
}else{
msg.notificar = 0;
}
return msg;
La función comprueba el número de botellas, en caso de que sea 4000, pone la variable
notificar a 1. Como veremos más adelante, el nodo email indica como asunto del correo
electrónico el campo topic, y en el cuerpo del correo envía el contenido del campo payload,
por lo que definimos dichos campos. En caso de que las botellas producidas no sean 1000, la
variable notificar será 0. De esta forma nos aseguramos de que solo envía un correo
electrónico.

P a g e 19 | 33
Nodo switch
El nodo switch sirve para definir distintos caminos del flujo en función de alguna variable. En
nuestro caso lo vamos a utilizar para que en caso de que la variable notificar esté a 1 vaya por
un camino, y en caso de que esté a 0 vaya por otro.
Para ello en el campo property, borramos payload y escribimos notificar, que es el campo que
nos dice si hay que enviar email o no. En cuanto a las posibles ramas, en la primera
cambiamos el tipo de string a number y le damos valor 1, y añadimos una segunda para el
valor 0, y done. Ahora en la salida del nodo switch aparece una segunda rama.

Nodo debug.
El nodo debug se utiliza para mostrar mensajes en la pestaña debug o en la ventana de
comandos. En nuestro caso lo vamos a utilizar para que en los casos en los que no haya que
notificar por email, nos muestre todas las variables y podamos ver cómo va la producción.
Para ello, doble clic para acceder a la configuración del nodo, en output seleccionamos
complete msg object, y en to seleccionamos debug tab o debug tab and console en función de
si queremos que muestre los mensajes en la columna debug o en la columna y en la ventana
de comandos.
P a g e 20 | 33
Nodo email.
La configuración del nodo email es bastante sencilla. Debemos rellenar los datos del
destinatario y del remitente. En el caso del destinatario, únicamente hace falta la dirección de
correo electrónico. Para el caso del remitente, necesitamos conocer el servidor de correo
electrónico y el puerto, para el caso de Gmail ya viene indicado. Además, se debe indicar el
usuario y contraseña del correo electrónico. Debemos pensar que el envío de correo
electrónico se hace de la misma forma en la que se hace manualmente, hay que acceder a la
cuenta, redactar el correo y enviarlo, por ello, necesitamos indicar el usuario y la contraseña ,
para que nuestro programa pueda acceder a él.

P a g e 21 | 33
Nota: En caso de ser Gmail.

Dentro de configuración de Google. Sera necesario habilitar la opción de “Acceso a Apps no


seguras” en la sección “seguridad”.

iii. Conexión de nodos.


Finalmente, para terminar el programa de node-red, el último paso es conectar los nodos.

Una vez conectados los nodos, se pulsa Deploy en la esquina superior derecha para compilar
el programa. Si hemos seguido todos los pasos correctamente, la compilación debería ser
satisfactoria. En cambio, si vamos a la pestaña debug del menú derecho, aparece un error de
conexión al PLC.

Para poder conectar el PLC al IoT2040, debemos configurar la interfaz del IoT a la que se va a
conectar el PLC.

Configuración de la Interfaz para PLC


Vamos a conectar el PLC con un cable Ethernet al puerto X2 del IoT2040. Para ello, la interfaz
del IoT debe estar en la misma red que el PLC, por lo que debemos configurar la dirección IP.
Esta configuración se puede hacer a través del menú iot2000setup.

- Comando “iot2000setup” en el terminal para entrar en el menú

- Descendemos hasta la opción Networking y pulsamos Enter

P a g e 22 | 33
En este caso entramos en la opción Configure Interfaces
- Vamos a la interfaz eth1 y la modificamos introduciendo la IP que le vamos a asignar al
puerto, es decir, “172.168.200.1”

- Pulsamos el tabulador para ir a OK, y Enter


En este caso no es necesario reiniciar las interfaces para que se apliquen los cambios.
Nota: Eth1 = IP dinámica(DHCP).
Eth0 = IP Fija.

Envió de Información al Mail


Si hemos seguido todos los pasos correctamente nuestro programa debería estar funcionando
y cuando el programa alcance las 4000 botellas producidas nos enviará un e-mail.

P a g e 23 | 33
OPC_UA Ejemplo A
Las Librerias del OPC_UA se instalarán de la misma forma que el S7.

Menú esquina superior derecha -> Manage palette


Menú de la izquierda -> Pestaña Install -> Buscar “node-red-contrib-opcua” -> Install

NODO
OPC UA CLIENT
INJECT
GAUGE
• OPC_UA_CLIENT (NODO)

Añadiremos la IP y el puerto para el OPC_UA_SERVER la cual puede ser:


“opc.tcp//:192.168.200.20:4840”.

P a g e 24 | 33
Luego de agregar la IP , configuraremos el Nodo para que pase a modo de Suscribe, el cual
necesita agregar intervalos de tiempo.

• INJECT (NODO)

P a g e 25 | 33
En la pestaña para editar el nodo elegiremos String en la opción de Payload, al agregar el
NodeID es necesario un valor para el Topic. El cual es
“ns=3,s=”OPC_UA_Values”.”Temperature”.

• GAUGE(NODO)

Luego de agregarle un grupo al Gauge, configuramos (Label/Value Format/Units/Range).

P a g e 26 | 33
Value Format: “{{value | number 1 }}°C”.

Al finalizar de configurar los anteriores nodos, cargaremos y conectaremos los mismos.

Al Cargar el programa y conectarlo, colocaremos en la URL la IP “192.168.200.1/ui”

OPC_UA Ejemplo B
Con el programa que tu puedas cargar valores de la variable Mode en el software de los
controladores del S7-1500 con un menú desplegable en la UI de Node-Red. Además de
mostrar el valor actual.

NODO
Dropdown
OPC UA Ítem

P a g e 27 | 33
OPC UA Client x2
Text

Luego de desplazar y conectar los nodos correctamente, procederemos a editarlos

• Dropdown (NODO).
Le agregaremos el grupo al que esta asociado y las opciones para elegir.

P a g e 28 | 33
• OPC_UA ITEM(NODO).
Agregaremos el NodeID del valor para escribir en Ítem y Elegiremos el tipo de datos

• OPC_UA CLIENT
Editaremos ambos nodos con una distinta función y le colocaremos la IP y el puerto del
OPC_UA .

P a g e 29 | 33
• TEXT (NODO).
Editaremos el nodo colocando el grupo asociado y el diseño de cómo será visualizado.

P a g e 30 | 33
Al Finalizar de editar los nodos, le daremos a Deploy y luego iremos a UI.

Configuración S7 (Node-Red)

NODO
Storage
S7

• S7 (NODO).
Utilizaremos el Nodo configurado anteriormente.

• STORAGE
Configuraremos el nombre del archivo y la acción.

Luego de editar el Nodo, lo guardaremos.


P a g e 31 | 33
Podremos observar dentro de la interfaz del IOT2040 que en todo momento los valores diferentes son cargados y
son guardados en el archivo.

Contenido Adicional
OPC-UA (Links Relacionados)

Topic
1 SIMATIC IOT2000 forum
www.siemens.com/iot2000-forum
2 SIMATIC IOT2000 Setting Up
https://support.industry.siemens.com/tf/ww/en/posts/155642/
3 SIMATIC IOT2000 Getting Started
https://support.industry.siemens.com/tf/ww/en/posts/155643/

Comunicación S7 (Links Relacionados)

P a g e 32 | 33
Topic
1 Descripción del Nodo S7
https://github.com/plcpeople/nodeS7
Versión
Versión Fecha Modificaciones

V1.0 8/2019 Primera versión

P a g e 33 | 33

También podría gustarte