Introducción al OpenPLC

PLC Siemens
Fuente: Wikimedia

El PLC o Controlador Lógico-Programable es un dispositivo de control flexible y robusto, ampliamente utilizado en la industria, para el monitoreo y automatización de procesos. Usualmente es un computador con mayores prestaciones  (energía, durabilidad, confiabilidad, inmunidad al ruido y resistencia física) y con capacidad para recibir y procesar múltiples señales de entrada y salida. Dependiendo de las señales, un PLC puede monitorear y registrar datos, iniciar y detener procesos, generar alarmas, etc.

Primer PLC Modicom
Fuente: unicrom

Los primeros PLCs fueron diseñados y desarrollados por MODICON para reemplazar los sistemas de control de Lógica de Contactos, basados en dispositivos electromecánicos llamados Relés. Estos sistemas eran muy difíciles de modificar y documentar debido a la cantidad de cables y conexiones necesarias para un proceso en particular. Al eliminar todo el cableado y los relés, un PLC permite modificar y aumentar las funcionalidades con mayor facilidad, simplemente modificando la programación de este dispositivo.

Un PLC se compone básicamente de:

  • Una unidad central de procesamiento (CPU)
  • Una unidad de almacenamiento
  • Interfaces de Entrada y Salida
  • Interfaces de Comunicación
  • Una fuente de Alimentación

Las señales que puede manejar se dividen en Señales Digitales: aquellas que denotan dos estados discretos (por ejemplo Encendido / Apagado  o Abierto / Cerrado) y las señales Analógicas: aquellas que representan un valor contínuo y proporcional a algún fenómeno físico, como ser: la temperatura, presión, velocidad, etc. Estas señales se tranducen a una señal eléctrica (normalmente de corriente 4 a 20mA o voltaje 0 a 10VDC) y éstas a su vez se cuantifican mediante un conversor A/D, por ejemplo 4mA equivale a un valor entero 0 y 20mA a un valor entero de 32767

Diagrama Escalera
Fuente: Wikimedia

El uso de estos dispositivos está orientada a Profesionales sin una base en programación, por lo que se utiliza habitualmente lenguajes gráficos como el Diagrama Escalera (LD), Diagrama de Bloques (FBD),  GRAFCET  (SFC) y otros lenguajes textuales como la Lista de Instrucciones (IL) y el Texto Estructurado (ST), los cuales se hallan bajo el estándar IEC 61131-3.

Acerca de OpenPLC

Desarrollado por Thiago Alves, OpenPLC es una amalgama de proyectos de código abierto para ofrecer un PLC funcional tanto el software como hardware, como una alternativa de bajo costo para la automatización y la investigación.

Se compone de tres partes:

  • El Editor es una instancia del proyecto Beremiz, el cual se adecúa al estándar IEC-61131 para implementar un Entorno de Desarrollo Integrado (IDE) para la creación y modificación de los programas en LD, FBD SFC, IL y ST; y el proyecto MATIEC que permite interpretar los programas en IEC-61131 y generar el código ANSI C.
Ejemplo de programa IEC-61131
  • El RunTime es el sistema que se encarga de ejecutar el programa del PLC, posee una interfaz web para facilitar la administración. Se puede ejecutar en una plataforma embebida con linux como ser un Raspberry Pi  y derivados, o como softPLC en un ordenador Linux (o windows). Incluye otra instancia de MATIEC, librerías y código adicional para la compilación nativa de los programas así como la comunicación con dispositivos esclavos, permitiendo de esta forma la expansión de Entradas/salidas por MODBUS RTU, TCP o cualquier otro protocolo que se desee implementar.
Ejemplo de Monitoreo del RunTime
  • Interfaz HMI. basado en el proyecto ScadaBR, un sistema de Adquisición de Datos, Control y Supervisión (SCADA) que permite comunicarse con diferentes PLCs incluyendo el runtime de OpenPLC. Esta Interfaz Hombre-Máquina se comunica mediante MODBUS y permite el monitoreo de datos históricos, gestión de alarmas y notificaciones.
Ejemplo de Interfaz HMI

El ejemplo del programa se puede consultar aquí.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *