Programando Arduino en Ambientes Industriales

                                 

Curso de 10 Capítulos de Contenido General [IS.AC001.GC]

MATERIAL BÁSICO PARA DESARROLLAR UN PROYECTO INDUSTRIAL CON ARDUINO

Imagino que ya sabrás qué es Arduino por lo que en este curso nos centraremos en cómo utilizar en entornos industriales placas Arduino y los PLCs basados en Arduino para realizar proyectos un 30% más rápido.

Utilizando diferentes herramientas simples conseguirás sacar un alto rendimiento a la programación de Arduino y a la creación de proyectos con Arduino. El tiempo en un proyecto industrial es dinero por lo que te vamos a mostrar cómo ahorrar un 30% de tu tiempo.

  1. Verifica y evalúa las diferentes variables y señales conectadas a tu PLC con una interfaz gráfica.
  2. Utiliza ejemplos ya creados para no tener que empezar desde cero. (Si, ejemplos, no hace falta que el código inicial sea tuyo.  Existen muchos ejemplos válidos para desarrollar tu proyecto)
  3. Utiliza librerías para tus funciones estándar.

(Recuerda: Para nosotros un PLC funciona cómo una placa Arduino. Nuestros PLCs utilizan placas Arduino originales por lo que puedes probar este curso utilizando placas Arduino originales).

Prepara este material en tu ordenador para empezar el capítulo 1.  

Utilizando una una simple plataforma gráfica se puede visualizar el estado del PLC cómodamente y de forma amigable. Esta también la puedes utilizar como SCADA en tu proyecto y lo podrás integrar en tus proyectos como interfaz Hombre-Maquina. Simple, fácil y sin coste. Te recomendamos utilizar una plataforma Open Source llamada PROCESSING. (El Arduino IDE se basa en esta plataforma por lo que te resultará muy familiar).

Utiliza el Arduino IDE para programar tu PLC. Repasar los diferentes ejemplos del Arduino IDE ayuda para no tener que empezar desde cero tu proyecto. Con el Arduino IDE sólo tienes que seleccionar la placa Arduino que utilizas y el puerto USB en el que está conectado el equipo.

Para la configuración de las diferentes entradas y salidas utilizando los PLCs Industrial Shields puedes utilizar nuestra librería almacenada en GitHub y olvidarte de revisar el pinout de los equipos. Consulta cómo cargar la librería en nuestro post del blog.

CONECTAR UNA PLACA ARDUINO AL ORDENADOR

Tienes que saber 2 cosas muy básicas:

Con Processing puedes hacer una Interfaz Gráfica de forma muy simple para Visualizar e interactuar con tu PLC y gobernar tu instalación.

El Arduino IDE permite utilizar librerías para que puedas estandarizar los algoritmos que mas utilizas y estructurar mejor tu programa. Te animamos a que veas la librería de Arduino de Industrial Shields en GitHub para que veas cómo están estructuradas las carpetas. En los próximos capítulos veremos cómo se estructura una librería y cómo se hacen llamadas a la acción de esta.

(Recuerda: Para nosotros un PLC funciona cómo una placa Arduino. Nuestros PLCs utilizan placas Arduino originales por lo que puedes probar este curso utilizando placas Arduino originales).

Links de interés:

Material para poder practicar:

  • Arduino Leonardo o Arduino Mega (También puedes utilizar una placa Arduino UNO si la tienes).

(Los equipos utilizados con la placa Arduino Mega y Arduino Leonardo en su interior han sido: de la familia Ethernet PLC; el M-duino21 y de los PLCs básicos de 20 I/Os; el  Ardbox Relay  ).

ENTRADAS

Tienes que saber 2 cosas muy básicas:

Si realizas las prácticas con una placa Arduino. En los diferentes PLCs utilizamos placas Arduino originales por este motivo no es necesario que realizas las prácticas con nuestros equipos. Puedes utilizar una placa Arduino Leonardo que es el modelo que utilizamos en nuestra familia 20I/Os PLC (los que llamamos Ardbox) y también puedes utilizar una placa Arduino Mega que es el modelo que utilizamos en nuestra familia de PLCs con Ethernet (llamados M-duino).

Alerta conexionado:

Es importante tener en cuenta que cuando conectes una entrada a una placa Arduino esta no puede ser superior a 5Vcc. Por lo que si utilizas un sensor industrial que trabaje a 24Vdc no lo podrás conectar directamente a esta placa. En cualquier caso con los diferentes PLCs puedes conectar sensores industriales hasta 24Vcc.

(Recuerda: Para nosotros un PLC funciona cómo una placa Arduino. Nuestros PLCs utilizan placas Arduino originales por lo que puedes probar este curso utilizando placas Arduino originales).

Si quieres utilizar sensores analógicos, la placa Arduino trabaja de 0 a 5Vcc. No puedes conectar tensiones superiores. Por otro lado, en la industria nos encontramos sensores analógicos que ofrecen una señal del tipo 4-20mA o señales de 0-10Vcc. La conversión de una señal analógica que funciona con intensidad es muy sencillo transformarlo a Voltaje ya que, por la LEY de OHM puedesconvertir 4-20mA a 0-10Vcc.

Links de interés:

Material para poder practicar:

  • Arduino Leonardo o Arduino Mega (También puedes utilizar una placa Arduino UNO si la tienes).

(Los equipos utilizados con la placa Arduino Mega y Arduino Leonardo en su interior han sido: de la familia Ethernet PLC; el M-duino21 y de los PLCs básicos de 20 I/Os; el  Ardbox Relay  )

SALIDAS

Tienes que saber 2 cosas muy básicas:

Si realizas las prácticas con una placa Arduino. En los diferentes PLCs utilizamos placas Arduino originales por este motivo no es necesario que realizas las prácticas con nuestros equipos. Puedes utilizar una placa Arduino Leonardo que es el modelo que utilizamos en nuestra familia 20I/Os PLC (los que llamamos Ardbox) y también puedes utilizar una placa Arduino Mega que es el modelo que utilizamos en nuestra familia de PLCs con Ethernet (llamados M-duino).

Alerta conexionado:

Las salidas de los PLCs ofrecen voltaje por lo que es importante que tengas en cuenta la polaridad de los diferentes elementos que conectes a estas. El voltaje de las salidas que no estén Opto-aisladas será el mismo que el voltaje de alimentación del equipo. Lo que será 12Vcc o 24Vcc en función de la tensión de alimentación del PLC. Para las salidas Opto-aisladas se puede conectar el voltaje de 5 a 24Vcc. Es importante conectar también el común a estas salidas, según se indica en el esquema del PLC. Para gobernar una salida digital utilizaras la sentencia DigitalWrite().

(Recuerda: Para nosotros un PLC funciona cómo una placa Arduino. Nuestros PLCs utilizan placas Arduino originales por lo que puedes probar este curso utilizando placas Arduino originales). 

Las salidas analógicas se programan exactamente igual que una salida PWM. En las placas Arduino las señales PWM trabajaran a 5Vcc. Para los PLCs el voltaje dependera del Vcc conectado al equipo. En caso de conectar las salidas Analógicas estas siempre serán de 0-10Vcc. La resolución de estas señales es de 8bits por lo que puedes variar el valor de la señal de 0 a 255 utilizando la sentencia AnalogWrite().

Material para poder practicar:

  • Arduino Leonardo o Arduino Mega (También puedes utilizar una placa Arduino UNO si la tienes).

(Los equipos utilizados con la placa Arduino Mega y Arduinoleonardo assembled inside have been: From the Ethernet PLCs; the M-duino21. From the 20I/Os PLC; The Ardbox Relay).

ENTRADAS ENTRADAS Y SALIDAS. TRABAJO SIMULTÁNEO

Tienes que saber algunas cosas muy básicas: 

Puedes realizar las prácticas con una placa Arduino. En los diferentes PLCs utilizamos placas Arduino originales por este motivo no es necesario que realizas las prácticas con nuestros equipos.

A menudo, cuando se leen entradas en un PLC se almacena su estado en una variable. Esta variable se puede utilizar para enviar su estado a través de algún sistema de comunicación (RS485, RS232, Ethernet, Serial TTL, etc) o tambien para realizar una serie de funciones tales cómo filtros, trabajar por flancos, contadores, etc.  Para activar una salida también es común utilizar una seria de variables que serán las encargadas de definir el estado de la salida en cuestión.

Trabajo para el alumno:

te vamos a hacer trabajar. Ahora deberías saber como leer una entrada digital y una entrada analógica. También deberías saber activar una salida digital y una salida analógica. (Recuerda que las salidas analógicas se programan igual que las salidas PWM si bien unas te dan una señal por pulsos y la otra te ofrece una señal analógica 0-10Vdc en función al valor que según las salidas de 8bits oscila entre 0-255.

(Recuerda: Para nosotros un PLC funciona cómo una placa Arduino. Nuestros PLCs utilizan placas Arduino originales por lo que puedes probar este curso utilizando placas Arduino originales).

Links de interés:

Material para poder practicar:

  • Arduino Leonardo or Arduino Mega (You can also use an Arduino UNO board if you have one).

(Los equipos utilizados con la placa Arduino Mega y Arduino Leonardo en su interior han sido: de la familia Ethernet PLC; el M-duino21 y de los PLCs básicos de 20 I/Os; el Ardbox Relay).

VARIABLES I

Al leer este capitulo tienes que tener en cuenta una serie de puntos:

Puedes realizar las prácticas con una placa Arduino. En los diferentes PLCs utilizamos placas Arduino originales por este motivo no es necesario que realizas las prácticas con nuestros equipos.

En este capitulo te contamos unas nociones básicas de los tipos de variables que tratamos en un programa.  Esto es importante ya que utilizar la variable del tipo adecuado en un proyecto es clave para evitar posibles problemas a la hora de operar con estas. También te permite optimizar bien el código cosa que agradecerás cuando vayas a utilizar diferentes sistemas de comunicación con los equipos (RS485, RS232, Ethernet, Serial TTL, etc) Todo lo que veremos en este capitulo te sirve tanto para la programación en General, no solo para la programación de Arduino pero es muy importante conocer y saber que existe diferencias entre los diferentes tipos de Variables. Y también ciertas similitudes entre una u otra por lo que tampoco será tienes que sentirte agobiado al ver este temario. Con los diferentes capítulos verás y asimilaras el uso de un tipo y otro.

Repaso del temario:

En este capitulo te vamos, a parte de ver el vídeo te recomendamos que te leas los diferentes tipos de variables que tratamos.

En el vídeo te mostramos de dónde puedes ver esta información por lo que de forma muy rápida puedes repasar el temario de este capitulo. El objetivo es que puedas identificar los diferentes tipos de variables tratados así como tener una idea de cuando utilizar un tipo u otro.

(Recuerda: Para nosotros a PLC works like an Arduino board, our PLCs use original Arduino boards so you can try this course using original Arduino boards).

Links de interés:

Material para poder practicar:

  • Arduino Leonardo o Arduino Mega (También puedes utilizar una placa Arduino UNO si la tienes).

(Los equipos utilizados con la placa Arduino Mega y Arduino Leonardo en su interior han sido: de la familia Ethernet PLC; el M-duino21 y de los PLCs básicos de 20 I/Os; el Ardbox Relay).

VARIABLES II

Al leer este capitulo tienes que tener en cuenta una serie de puntos:

Puedes realizar las prácticas con una placa Arduino. En los diferentes PLCs utilizamos placas Arduino originales por este motivo no es necesario que realizas las prácticas con nuestros equipos.

In this chapter we continue with the types of variables that we treat in a program, where we left it in the previous chapter. This is important since using the variable of the appropriate type in a project is key to avoid possible problems when operating with these. It also allows you to optimize well the code thing that you will appreciate when you go to use different systems of communication with the equipment (RS485, RS232, Ethernet, Serial TTL, etc) Everything what we will see in this chapter serves you so much for the programming in General, not only for Arduino programming but it is very important to know and know that there are differences between the different types of Variables. And also certain similarities between one or the other so you will not have to feel overwhelmed to see this agenda. With the different chapters you will see and assimilate the use of one type and another.

Variables:

Es importante tener claro como se declaran las diferentes veriables y que opciones tenemos en cada una de ellas. En la parte final del vídeo también te mostramos como se escriben estas variables en el Arduino IDE.

En el vídeo we show you where you can see this information so that very quickly you can review the agenda of this chapter. The objective is that you can identify the different types of variables treated as well as have an idea of when to use one type or another.

(Recuerda: Para nosotros a PLC works like an Arduino board, our PLCs use original Arduino boards so you can try this course using original Arduino boards).

Links de interés:

Material para poder practicar:

  • Arduino Leonardo o Arduino Mega (También puedes utilizar una placa Arduino UNO si la tienes).

(Los equipos utilizados con la placa Arduino Mega y Arduino Leonardo en su interior han sido: de la familia Ethernet PLC; el M-duino21 y de los PLCs básicos de 20 I/Os; el Ardbox Relay).

COMUNICACIONES

Al leer este capitulo tienes que tener en cuenta una serie de puntos:

Puedes realizar las prácticas con una placa Arduino. En los diferentes PLCs utilizamos placas Arduino originales por este motivo no es necesario que realizas las prácticas con nuestros equipos.

En este capitulo vamos a explicar los diferentes tipos de comunicaciones básicos de los que dispone una placa Arduino así como las diferentes adaptaciones industriales para conseguir comunicarse con equipos de uso industrial. Los diferentes tipos de comunicación habilitados en los PLCs basados en Arduino són: I2C, Serial TTL, RS232, RS485, y SPI, a través del cual conseguimos realizar una comunicación por Ethernet.

Comunicaciones:

Es importante tener claro como se conecta cada tipo de comunicación y que se puede realizar en cada uno de estas. Cuantos equipos se pueden conectar. Si se puede realizar un bus o simplemente permite comunicar 2 equipos uno con el otro. etc.

En el vídeo te mostramos diferencias entre las comunicaciones por parte de Arduino y en los PLCs basados en Arduino que permiten conectar directamente con otros equipos industriales. El objetivo es que entiendas que es mas recomendable utilizar en función de las necesidades para que en los proximos capitulos veamos mas en detalle cada uno de estos sistemas de comunicación.

(Recuerda: Para nosotros un PLC funciona cómo una placa Arduino. Nuestros PLCs utilizan placas Arduino originales por lo que puedes probar este curso utilizando placas Arduino originales). 

Links de interés:

Material para poder practicar:

  • Arduino Leonardo o Arduino Mega (También puedes utilizar una placa Arduino UNO si la tienes).

(Los equipos utilizados con la placa Arduino Mega y Arduino Leonardo en su interior han sido: de la familia Ethernet PLC; el M-duino21 y de los PLCs básicos de 20 I/Os; el Ardbox Relay).


ETHERNET

En este capítulo veremos cómo es el protocolo de comunicación Ethernet y cómo funciona en general y en nuestros equipos, teniendo en cuenta la plataforma Arduino IDE. Debemos recordar que cualquier equipo con puerto Ethernet se puede programar utilizando este protocolo, en nuestros dispositivos tenemos muchos con conexión Ethernet como la familia M-Duino y otros.


Introducción teórica

En primer lugar, es muy importante explicar el modelo OSI para comprender todos los elementos que conforman un sistema de telecomunicaciones. El OSI es el modelo de interconexión de sistemas abiertos y este es un modelo conceptual que caracteriza y estandariza las funciones de comunicación de un sistema de telecomunicaciones o informática sin tener en cuenta su estructura interna subyacente. Su objetivo principal es la interoperabilidad de diversos sistemas de comunicación con protocolos de comunicación estándar. Este modelo se divide en siete capas de abstracción diferentes.


Cada capa sirve a la capa de arriba y es servida por la capa debajo de ella. Por ejemplo, una capa que proporciona comunicaciones sin errores a través de una red proporciona la ruta requerida por las aplicaciones por encima de ella, mientras llama a la siguiente capa inferior para enviar y recibir paquetes que constituyen el contenido de esa ruta.


Las diferentes capas son:

1.-Capa de aplicación: es la más cercana al usuario, lo que significa que tanto este como el usuario interactúan directamente con la aplicación de software.

2.-Capa de presentación: establece el contexto entre las entidades de la capa de aplicación.

3.-Capa de sesión: controla las conexiones entre computadoras.

4.-Capa de transporte: proporciona los medios funcionales y de procedimiento para transferir secuencias de datos de longitud variable desde un host de origen a un host de destino, manteniendo la calidad de las funciones de servicio.

5.-Capa de red: proporciona los medios funcionales y de procedimiento para transferir paquetes de un nodo a otro conectado en diferentes redes.

6.-Capa de enlace de datos: proporciona transferencia de datos de nodo a nodo, un enlace entre dos nodos conectados directamente.

7.-Capa física: es responsable de la transmisión y recepción de datos brutos no estructurados entre un dispositivo y un medio de transmisión física.


Aquí, podemos ver un esquema de las capas:

Es importante tener en cuenta que hay dos tipos de Modbus; el Modbus TCP que usa Ethernet y está ubicado en la capa 7, y el Modbus 232/485 que usa estos protocolos y está ubicado en todas las capas. Tenemos que tener en cuenta que, muchas veces, las capas de red, datos y física están abarcadas como capas de medios y las otras como capas de host.


Ahora que estamos ubicados, podemos continuar con la explicación principal del video y, si desea descubrir más información relacionada con Ethernet, puede consultar los enlaces que se muestran a continuación.


Enlaces útiles:


Material para practicar:

  • Arduino Leonardo o Arduino Mega (También puedes utilizar una placa Arduino UNO si la tienes).

(El equipo utilizado con las placas Arduino Mega y Arduino Leonardo en su interior eran: la familia de PLC Ethernet, el M-Duino21 y los PLC básicos de 20 E / S, el relé Ardbox).

Get the next lesson by answering this Survey

Próximamente...

Próximamente...