Creación de PLC inalámbrico personalizado

Por Jacob Beningo

Colaboración de Editores de DigiKey de América del Norte

La IoT industrial está creciendo rápidamente, pero los ingenieros industriales necesitan una flexibilidad y una conectividad personalizadas superiores a la de PLC tradicionales. Sin embargo, crear una solución personalizada puede ser costoso y requerir mucho tiempo, ya que pocos ingenieros industriales cuentan con la experiencia necesaria para implementar una solución verdaderamente integrada basada en un microcontrolador.

Este artículo presenta una introducción rápida a los PLC antes de mostrar cómo los desarrolladores pueden crear su propio PLC inalámbrico, que puede usar la lógica en escalera para implementar aplicaciones.

Introducción a los PLC

Un PLC es una computadora reforzada que se utiliza para automatizar un proceso específico en una aplicación industrial. El proceso que se está automatizando puede ir desde la línea de montaje en una planta de fabricación hasta un sistema de control de iluminación de edificios de IoT y todo lo que se encuentre en el medio.

Una arquitectura de PLC típica incluye (Figura 1):

  • Una unidad central de procesamiento con RAM y ROM internos
  • Entradas analógicas y digitales
  • Salidas analógicas y digitales
  • Fuentes de alimentación de aplicación industrial
  • Aplicación lógica para ejecutar los comportamientos deseados

Diagrama de arquitectura de PLC típica con series de entradas analógicas y digitales.

Figura 1: Una arquitectura de PLC típica contiene una serie de entradas analógicas y digitales que se procesan y ejecutan contra una aplicación lógica que luego controla el comportamiento de sus salidas analógicas y digitales. (Fuente de la imagen: Unitronics)

Si bien hay muchas opciones disponibles en el mercado para el PLC tradicional, es probable que los desarrolladores quieran personalizar el comportamiento del PLC o crear un dispositivo por su cuenta. Existen varias formas distintas de hacerlo, pero una manera interesante en que un ingeniero de sistemas integrado tradicional puede hacer esto fácilmente es usar el ODE (entorno de desarrollo abierto) STM32.

Construcción de un PLC inalámbrico

Existen tres componentes de hardware principales que un desarrollador necesita para construir su propio PLC inalámbrico:

  • Un CPU
  • Acondicionamiento de señal de entrada/ salida
  • Un módulo de Wi-Fi

Un desarrollador puede comenzar desde cero y diseñar todos estos componentes, o puede aprovechar un ecosistema existente. STMicroelectronics ha simplificado la creación de un PLC al producir un paquete de desarrollo STM32 que incluye cada uno de estos componentes y, además, proporciona un software de línea de base para desarrollar aplicaciones de lógica en escalera.

Evaluemos ahora estos componentes primarios y las condiciones que deben cumplir para funcionar en un entorno industrial.

El primer componente a examinar es la CPU, que en este caso es un STM32F401RE de STMicroelectronics. El STM32F401RE es un procesador Arm® Cortex®-M4 de 32 bits que funciona a 84 MHz, tiene 512 Mbytes de espacio de flash para código de la aplicación, y 96 Kbytes de RAM. El STM32F401RE se proporciona en la placa de evaluación Nucleo-401RE que también incluye cabeceras Arduino para interactuar con otro hardware, y un ST-Link para programar el software integrado. El Nucleo-401RE es donde se ejecutará todo el código PLC.

Imagen de la placa de desarrollo Nucleo-401RE de STMicroelectronics

Figura 2: La placa de desarrollo Nucleo-401RE forma la base para el PLC y contiene 512 Mbytes de espacio de código de aplicación y 96 Kbytes de RAM para datos. (Fuente de la imagen: STMicroelectronics)

El segundo componente que se necesita para construir un PLC es una tarjeta de acondicionamiento de señal para entradas y salidas. Los desarrolladores tienen dos tableros que pueden elegir o combinar si la aplicación lo requiere.

El primero es la tarjeta de expansión de E/S industrial X-Nucleo-PLC01A1 (Figura 3). El X-Nucleo-PLC01A1 contiene ocho entradas condicionadas a través de un limitador de entrada digital de alta velocidad CLT01-38SQ7 . El CLT01-38SQ7 proporciona protección de entrada digital para el PLC al limitar la corriente que puede consumir el pin de entrada. Existen además ocho salidas industriales que se ven condicionadas por el uso de un controlador monolítico VNI8200XP de 8 canales. Esto presenta una corriente de suministro muy baja, con una interfaz SPI integrada y una conmutación descendente de 100 mA de alta eficiencia de micropoder. El VNI8200XP proporciona ocho relés de estado sólido en el chip que pueden manejar hasta 0.7 amperios. El X-Nucleo-PLC01A1 también incluye un indicador LED para ver visualmente el estado de cada entrada y salida, y tres luces de alarma para indicar temperatura excesiva y otras fallas de la placa. El X-Nucleo-PLC01A1 se comunica con el Nucleo-401RE a través de un enlace de comunicación SPI.

Imagen del X-Nucleo-PLC01A1 de STMicroelectronics

Figura 3: El X-Nucleo-PLC01A1 es una placa de grado industrial diseñada para proporcionar una aplicación de PLC con ocho entradas digitales y ocho salidas digitales. (Fuente de la imagen: STMicroelectronics)

Un PLC también puede requerir la capacidad de controlar señales analógicas y de alta corriente. El X-Nucleo-PLC01A1 está diseñado solo para señales digitales. Para controlar estas otras señales, un desarrollador podría usar el X-Nucleo-OUT01A1 (Figura 4). El X-Nucleo-OUT01A1 contiene el relé de estado sólido de potencia inteligente de nivel alto octal galvánicamente aislado ISO8200BQ de STMicroelectronics. La gran diferencia aquí al comparar estas salidas con el PLC01A1 es que la placa puede operar con voltajes que van desde 10.5 a 33 voltios, con aislamiento galvánico entre las señales analógicas y digitales. También, existen varios indicadores LED en la placa para indicar si se ha producido un fallo de comunicación o un evento de protección térmica.

Imagen del X-Nucleo-OUT01A1 de STMicroelectronics

Figura 4: El X-Nucleo-OUT01A1 es una placa de grado industrial diseñada para proporcionar una aplicación de PLC con ocho salidas de relé que pueden manejar hasta 0.7 amperios. (Fuente de la imagen: STMicroelectronics)

El componente final que puede usarse para proporcionar un mecanismo de programación inalámbrico o para crear un PLC conectado a IoT es un chip inalámbrico. Los desarrolladores pueden usar el X-Nucleo-IDW01M1, que es un módulo de expansión Wi-Fi compatible con 802.11 b/g/ n, también de STMicroelectronics (Figura 5). El X-Nucleo-IDW01M1 está certificado por FCC, IC y CE con una antena integrada que lo deja listo para un sistema de producción.

Imagen del X-Nucleo-IDW01M1 de STMicroelectronics

Figura 5: El X-Nucleo-IDW01M1 es un módulo de Wi-Fi de grado industrial que se puede integrar en un PLC para proporcionar conectividad inalámbrica. (Fuente de la imagen: STMicroelectronics)

Con cada uno de estos componentes disponibles, un desarrollador puede ensamblar su PLC de hardware en el orden que se muestra en la Figura 6. Se pueden instalar las placas al revés; esto no las dañarán, pero causará una depuración adicional. En caso de que necesite agregarse el hardware de un cliente al PLC, como un chip RS-485, los desarrolladores pueden usar un escudo de prototipos Arduino como el Proto Shield de Olimex o el Adafruit Proto Shield.

Diagrama del orden de montaje de la placa de desarrollo de STMicroelectronics

Figura 6: El orden en el que se ensamblan las placas de desarrollo de STMicroelectronics para lograr un PLC funcional. (Fuente de la imagen: Beningo Embedded Group)

Configuración del software de PLC

Se requieren varias piezas de software para configurar el PLC. Estos incluyen:

  • El software integrado del PLC
  • Un compilador incorporado
  • Una aplicación de lógica en escalera

El software integrado del PLC STMicroelectronics desarrolló el FP_IND_PLCWIFI1 que está disponible para descargar desde el sitio web de STM. Contiene todo el código necesario para hacer funcionar al STM32F401RE, y contiene varias configuraciones preestablecidas en función de las pilas de hardware necesarias. El software incorporado viene con tres proyectos ya configurados para STM System Workbench, IAR Workbench y Keil MDK, y se puede descargar en http://www.st.com/en/embedded-software/fp-ind-plcwifi1.html ( Figura 7). Un desarrollador puede usar cualquiera de estos para compilar e implementar el software incorporado en el PLC.

Imagen del paquete de aplicación de software del PLC integrado

Figura 7: El paquete de aplicación de PLC integrado que se requiere para ejecutar el PLC. (Fuente de la imagen: Beningo Embedded Group)

Una vez que se ha descargado la aplicación integrada, se puede importar en el IDE del compilador deseado y compilarlo. Un desarrollador verá que el código se compila sin problemas. Luego, la aplicación compilada se puede descargar al PLC mediante una conexión USB estándar a la PC.

Finalmente, STMicro también creó un programa de aplicación de PLC simple que se puede usar para crear aplicaciones de lógica en escalera. Esta aplicación está disponible para iOS y Android. La aplicación se puede descargar en los dispositivos móviles al buscar la aplicación ST PLC en las tiendas de aplicaciones para el dispositivo móvil.

Una aplicación de ejemplo simple

Una vez que se ejecuta el software integrado para el PLC, un desarrollador puede concentrarse en desarrollar su código de aplicación mediante la aplicación ST PLC. El código de la aplicación se desarrollará utilizando la lógica en escalera. Un desarrollador puede iniciar la aplicación y crear un nuevo proyecto basado en las placas de desarrollo que han seleccionado para incluir en su pila de hardware (Figura 8).

Imagen de la aplicación ST PLC

Figura 8: Desde la aplicación ST PLC, un desarrollador puede crear un nuevo proyecto (resaltado en rojo a la izquierda), seleccionar el nombre del proyecto (naranja a la derecha) y luego configurar el hardware que se está usando (verde a la derecha). (Fuente de la imagen: Beningo Embedded Group)

Una vez que el proyecto ha sido configurado, un desarrollador tiene una pizarra limpia para crear los peldaños de escalera para su aplicación. Un buen primer proyecto es simplemente probar si se puede leer una entrada y un conjunto de salida basado en esa entrada. Un desarrollador puede crear esta prueba haciendo clic en "Agregar peldaño" y luego implementar la lógica necesaria dentro de la aplicación. Una vez hecho esto, un desarrollador habrá creado un peldaño similar al del lado izquierdo de la Figura 9.

Imagen del software de la aplicación ST PLC

Figura 9: Desde la aplicación ST PLC, un desarrollador puede implementar su lógica para controlar su dispositivo como desee (izquierda). Una vez que se haya creado la aplicación, se puede enviar de forma inalámbrica al PLC haciendo clic en el botón de enviar aplicación (derecha). (Fuente de la imagen: Beningo Embedded Group)

Guardar el peldaño regresa al desarrollador a la pantalla principal del proyecto. Desde aquí, pueden editar un peldaño o crear peldaños adicionales en la aplicación. Si la aplicación está lista para ser implementada, al hacer clic en el botón de transmisión inalámbrica que se muestra en el lado derecho de la Figura 9, se conectará y luego se transmitirá la aplicación del PLC. Tenga en cuenta que un desarrollador necesita tener su dispositivo móvil conectado al punto de acceso del PLC y haber configurado su puerto y dirección IP para que la transmisión de la aplicación sea exitosa.

Consejos y trucos para construir un PLC inalámbrico

Existen varios consejos y trucos que los desarrolladores pueden seguir al crear su propio PLC inalámbrico personalizado. Estos incluyen:

  • Si la tarjeta inalámbrica no funciona, verifique que la tarjeta esté orientada correctamente en la pila (es decir, que se colocó en la dirección correcta).
  • Mejorar la seguridad de los sistemas al agregar una clave de seguridad al SSID.
  • Actualice el PLC al cambiar el comportamiento inalámbrico predeterminado al modo de estación y solo durante un cambio de actualización al punto de acceso.
  • Considere agregar protocolos de comunicación industrial tales como RS-485 y Modbus.
  • La mejor manera de ponerse al día con los PLC es pensar en un problema interesante y luego tratar de resolverlo con el PLC.
  • Utilice el IAR Embedded Workbench para Arm para compilar el software integrado el PLC. La herramienta integral tiene un código ilimitado durante 30 días.

Conclusión

Construir un PLC personalizado no tiene que ser difícil necesariamente. Como se muestra, el ecosistema proporcionado por STMicroelectronics permite que un desarrollador haga que el software de base del PLC empiece a funcionar muy rápidamente. Luego, la aplicación se puede modificar y personalizar fácilmente para satisfacer una amplia gama de aplicaciones y desafíos.

Si bien el objetivo principal sería crear el código de la aplicación final mediante la lógica en escalera, si un desarrollador tiene la experiencia y el conocimiento, puede realizar fácilmente ajustes en el software integrado y tener un sistema híbrido que sea mucho más poderoso y flexible.

DigiKey logo

Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.

Información sobre el autor

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo es un consultor de software integrado que actualmente trabaja con clientes en más de una docena de países para transformar drásticamente sus negocios mejorando la calidad del producto, el costo y el tiempo de comercialización. Ha publicado más de 200 artículos sobre técnicas de desarrollo de software embebido, es un conferenciante y entrenador técnico muy solicitado y tiene tres títulos que incluyen una Maestría en Ingeniería de la Universidad de Michigan. No dude en ponerse en contacto con él en jacob@beningo.com, en su sitio web www.beningo.com, y suscríbase a su boletín mensual Embedded Bytes Newsletter.

Información sobre la editorial

Editores de DigiKey de América del Norte