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í.

Introducción a la Impresión 3D

Por Andrea Pelaez Perez

Al hablar de impresión 3D nos viene a la cabeza un aparato complicado solo para expertos, pero si conocemos un poco más sobre ellos, podemos ver que está al alcance de todo el público. ¿Cómo funciona la impresión 3D? ¿Cómo empezar en la impresión 3D? ¿Qué es la comunidad Maker? En este artículo, daremos los conceptos básicos de todo lo que necesitas.

La impresión 3D o fabricación aditiva es la tecnología que hace posible la fabricación de objetos sin diferenciar su complejidad, permite reducir el tiempo necesario para obtener un producto sin restricción de los métodos convencionales rápidamente y a bajo consto, las libertades de esta tecnología nos permiten tocar con la mano algo que al principio solo podemos apreciar de manera digital. Hoy en día, la impresión 3D abarca muchos campos, desde la ingeniería hasta la medicina y la educación.

La comunidad Maker, es la que hizo posible que ahora tengamos esta tecnología a nuestro alcance, esta tecnología ya existía antes de su globalización, pero gracias al proyecto RepRap “replicating rapid prototyper” en 2005, al mando de Adrian Bowyer, un profesor de la universidad de Bath, doctorado de la ingeniería mecánica, esta tecnología avanzó tanto con los años. Su meta era conseguir un objeto autorreplicante que pueda llegar a cualquier parte del mundo con una inversión mínima “open source”. Cuando él se enteró del vencimiento de la patente de las impresoras 3D, creó el primer modelo, conocido como Darwin, inspirado en el creador de La Teoría de la Evolución; empezando así la evolución de las impresoras 3D, con lo cual inició la lógica comunitaria en la que se añadieron mejoras y adaptaciones, viajando por todo el mundo donde cada quien añade su granito de arena y así creando la comunidad Maker.

Impresora Darwin
Fuente: RepRap

Para incursionar en la impresión 3D se debe empezar con el diseño de la pieza que deseas plasmar en la vida real, para esto se necesita un programa CAD. Los programas gratuitos mas usados son Blender, FreeCAD, LibreCAD, el programa de paga más utilizado es SolidWorks; sobre estos programas realizamos el diseño de la pieza deseada en formato STL para posteriormente traducirlo a código G, el cual es el propio de las impresoras 3D, un ejemplo del código G es el siguiente, “G1 X95.622 Y93.385 E0.06435”, este tipo de código tiene comandos para mover el cabezal por los ejes X,Y,Z, extruir una cantidad de filamento y cambiar la temperatura, los programas que nos permiten hacer esta traducción son Repetier Host, Ultimaker Cura, Slic3r, existen muchas mas aplicaciones que nos permiten el diseño y conversión de nuestras piezas las mas utilizadas son las anteriormente mencionadas. Otra alternativa es descargar el archivo desde internet, existen varias plataformas web en las cuales los usuarios comparten sus diseños en formato STL con el resto de los usuarios,entre las más conocidas están Thingiverse, GitHub, Cults3D, de estas páginas se puede descargar modelos listos, o subir modelos propios para que la comunidad pueda mejorarlos.

Al tener nuestro archivo en código G, procedemos a elegir el material para la impresión, los más comunes y fáciles de conseguir con algunas de sus características son: PLA (facilidad de impresión, estable, no necesita cama caliente, velocidad de impresión rápida, material ecológico y reciclable, poca resistencia térmica, material frágil, sensible a la humedad), ABS (estable a altas temperaturas, conserva su tenacidad a temperaturas extremas, alta capacidad de mecanizado, resistente a ataques químicos, resistente a los impactos, dificultad media de impresión, contracción entre capas mas rápida que el PLA) PET (alta transparencia, alta resistencia a desgaste, resistencia química, resistencia a impactos, impermeable, baja absorción de humedad, levemente tóxico, no se vuelve endeble a partir de los 70ºC). 

Impresión propia

Procedemos a la impresión 3D, podemos encontrar varios sitios en los cuales la impresión se realiza en base a la cantidad de filamento que requiere o el tiempo necesario para la impresión de la pieza, o podemos adquirir nuestra propia impresora contemplando el rango de precios y la calidad de producto final, entre las más utilizadas para el uso personal están la Ender 3 pro, Artillery Sidewinder y Prusa i3.

Con esto llegamos al final, al tener la pieza impresa, si todo el proceso ha sido realizado de manera adecuada, la pieza está lista para ser utilizada.

RFC 8240: Informe del taller sobre actualizaciones de software en Internet de las Cosas (IoTSU 2016)

Este texto es una traducción del artículo RFC 8240: Report from the Internet of Things (IoT) Software Update (IoTSU) Workshop 2016 [fr] publicado el 12 de septiembre de 2017 en el blog del especialista en DNS y seguridad Stéphane Bortzmeyer, quien estuvo en La Paz en el mes de abril de 2017 para un seminario sobre seguridad informática. Describe y comenta los resultados del evento de la IETF que tuvo lugar en Dublín en junio de 2016, que trató de la seguridad del Internet de la Cosas, en particular la dificultad de contar con software actualizado para los aparatos conectados, lo que permitió por ejemplo ataques masivos como Mirai [en] que dejó sin Internet a un millón de personas al atacarse a enrutadores. Más allá del caso particular de los pequeños aparatos conectados, enseña muchos conceptos sobre la actualización de software.

Como lo acostumbra hacer Stéphane en su blog [fr], el artículo traducido es una ficha de lectura de un RFC, en este caso el RFC 8240 [en], en la cual repasa todo el contenido y aporta con comentarios sobre el contexto.

Traducción el 19 de septiembre de 2017 por Sylvain Lesage y editado por Natalia Antezana. Publicado bajo la licencia GFDL.

Leer más…

¿Algún día será simple usar la firma digital?

En Bolivia, la firma digital goza del mismo valor jurídico que la firma manuscrita desde la Ley 164 de 2011. La ADSIB inició operaciones en abril del año 2016, emitiendo a la fecha ochocientos certificados digitales. La firma digital es una promesa de desburocratización, digitalización y simplificación de los trámites y procesos administrativos. Sin embargo, a pesar de existir por más de quince años en el mundo, esta tecnología sigue muy difícil de usar, no solamente por la complejidad de sus conceptos para un usuario común, sino también porque no existe un entorno tecnológico óptimo para su uso. Leer más…