Blog

De Arduino a Codesys con Modbus

Si estás buscando una forma para comunicar Arduino y un PLC, este post te va a interesar. Te explicaremos como llevar datos de Arduino a Codesys, uno de los entornos de programación más dinámicos en el mundo de la automatización industrial.

¿Cómo ir de Arduino a Codesys?

Los habituales del blog ya saben que Modbus es uno de los protocolos más famosos en el mundo de la automatización industrial. Es un protocolo ideal porque se puede implementar en todo tipo de dispositivos, y es un protocolo muy fiable en cuanto a comunicaciones industriales.

Es tan versátil que se puede implementar sobre placas Arduino, y como no, cualquier dispositivo basado en Codesys (incluido un PLC). Por lo tanto, es el medio que usaremos para generar la comunicación entre ambos.

Vídeo

Sin entrar todavía en más detalles, y como un vídeo vale más que mil palabras, vamos a ver el vídeo donde veremos los detalles de la comunicación entre ambos:

¿Cómo funciona la comunicación entonces? Pues básicamente con un equipo Codesys que hace peticiones periódicas a nuestro dispositivo Arduino. Ambos hablan Modbus para comunicar datos.

Particularidades de la comunicación

Para aquellos que no están habituados a Modbus, seguramente han visto varias palabras que les pueden sonar a chino: Holding Registers, slave id, canal… Todos son conceptos importantes que definen una comunicación. En nuestro caso, usar 2 holdings es sólo un ejemplo para ilustrar cómo funciona la comunicación. Merece la pena mencionar que si necesitáis más información sobre Modbus, tenemos un curso disponible.

Por otro lado, el programa desarrollado en Codesys ha mantenido la llamada “jerarquía IEC 61131-3”. Para aquellos que no saben que es Codesys, aquí tenemos una serie de entradas.

Últimos detalles

Arduino y Codesys (o cualquier otro PLC) son perfectamente integrables. Y no sólo con Modbus. Hay muchas más alternativas posibles. ¿Estás trabajando con algún proyecto similar? ¿Dudas o consultas? Entonces no dudes en contactarnos!

Serie de articulos sobre Modbus
Serie de articulos sobre OPC UA

Caso de éxito: Sistema de Reportes en planta Agro

Hoy traemos otra novedad en forma de caso de éxito.

¿Trabajas en el sector agro? ¿Te interesaría tener reportes de tu producción de forma automática?

Esta entrada te va a interesar.

¿Por qué un sistema de reportes?

Cuando hablamos de sistemas de reportes, hablamos de herramientas que permitan tomar decisiones basadas en informes claros. Un buen sistema de reportes es importante, porque se necesita:

  • Tener información clara y concisa de la planta de producción
  • Analizar y tomar mejores decisiones
  • Definir indicadores de rendimiento clave de manera dinámica

Pero sobretodo, un buen sistema de reportes estimula el análisis entre las personas que lo usan. Y esto es importante porque si se hacen reportes, es para que se tomen más y mejores decisiones.

Características de la solución

Dicho todo lo anterior, nuestro cliente necesitaba una herramienta dinámica, innovadora y que le permitiese hacer análisis de datos de forma intuitiva.

El cliente tenía algunos PLC’s y pensaba que Excel podía ser una buena solución, pero nosotros le propusimos combinar una base de datos con un sistema de visualización Web.

Dashboard Agro

Pequeña demostración del sistema

 

Y la solución que implementamos  se basa en una plataforma de visualización y análisis muy potente, que tiene una comunidad muy grande detrás. Entre sus principales características están:

  • Gráficos elegantes para la visualización de datos
  • Dashboards personalizables, privados y públicos
  • Posibilidad de autenticación con LDAP y Google Auth, entre otros
  • Integración con bases de datos de todo tipo (MySQL, SQL, InfluxDB, etc.)
  • Comunicación con PLC’s de todo tipo (Siemens, Allen Bradley, Codesys…)

¿Qué le pediría a un buen sistema de reportes?

Cierra los ojos y piensa en cómo sería un sistema de reportes excelente:

  • Reportes personalizables-> Edita cómo y cuando necesites
  • Reportes que se puedan compartir -> Olvídate de si uno tiene que tener un software instalado y otras incompatibilidades, aquí se trata de acceder a una dirección web y ponerse a trabajar
  • Crear cuantos informes quiera, y que además, pueda compartir los que me interese, y guardarme para mí los que que quiera analizar a modo personal

Suena bien, ¿No? Pues todo esto y bastante más fue lo que entregamos a nuestro cliente.

¿Cómo conseguirlo?

Nuestro Gateway Data Reports es la solución que estás buscando:

Si te interesa o simplemente quieres charlar, no dudes en contactarnos, estaremos encantados de hablar contigo 🙂

 

 

 

Caso de éxito: Red Modbus RTU con en sector Aguas

Nuevo caso de éxito. En este caso, para contarte cómo hemos implementado una red de comunicación Modbus RTU con PLC’s en una estación de bombeo de aguas pluviales.

El caso inicial

Empecemos por el principio. Tenemos un cliente que necesitaba integrar datos de varios equipos dedicados a controlar sistemas de bombeo de agua.

En este caso, estos equipos se comercializan como máquinas que controlan las bombas de agua con un programa determinado, y dejan la posibilidad de ser comandados y comunicarse a través de Modbus RTU. Además, hay algunas válvulas y medidores que también usan este protocolo.

El caso es que nuestro cliente quería controlar estos equipos a través de un PLC con un programa un poco más complejo. Además, este PLC se tenía que comunicar con un sistema SCADA.

¿Qué pasos seguir para implementar una red Modbus RTU?

En resumen, que teníamos que comunicar varios equipos con el protocolo en cuestión, y para ello teníamos que implementar una red de comunicaciones.

Si tienes equipos Modbus RTU, y quieres comunicarlos con un PLC, debes seguir varios pasos:

  1. Hacer un listado de cada equipo y asignarle una dirección.
  2. Registrar el mapa de memoria de cada equipo y saber dónde están las variables que necesitas.
  3. Hacer una prueba de comunicación individual con cada equipo y el PLC.
  4. Probar la red con todos sus equipos.
  5. Implementar el código sobre el PLC y probar el funcionamiento.
  6. Finalmente, diseñar el sistema de visualización que necesitas.

Te puedes estar preguntando si hay que ser muy riguroso con cada una de las pruebas que necesitas hacer… La respuesta es sí. ¿Por qué? Porque cuanto más riguroso seas, menos probabilidades de fallo habrá en cada uno de los pasos, y más fácil será detectar donde puede estar el error en caso de problema.

¿Cómo funcionó todo?

Luego de haber diseñado y probado el sistema, podemos decir que la instalación quedó funcionando perfectamente. Por experiencia, sabemos que las comunicaciones Modbus, una vez se testean, son muy fiables.

De hecho, nuestro cliente va a seguir el mismo patrón de ingeniería en cada una de las instalaciones que van a seguir a esta. Vamos, todo un éxito.

Antes de irte…

Si necesitas implementar una red, no olvides que tenemos un curso de Modbus disponible. En cambio, si prefieres que te ayudemos en su implementación, no dudes en contactarnos. Ofrecemos soporte y asistencia.

 

¿Que es un SDK?

Si has llegado hasta probablemente buscas información sobre los SDK

¿Qué es un SDK? ¿En qué consiste?

En este post tratamos de dar luz a tus consultas.

¿Qué es un SDK?

La primera consulta es válida.

Un SDK es un Kit de Desarrollo de Software.

Es decir, se trata de un conjunto de librerías que permiten que los programadores puedan desarrollar aplicaciones sin partir de cero, o, dicho de otra forma, con una sólida base ya construida.

Los SDK en definitiva son aplicaciones que ayudan a desarrollar otras aplicaciones.

Hay muchos tipos de SDK’s. En el ámbito que nos ocupa, por ejemplo, hay muchos SDK’s de comunicaciones OPC UA, para hacer otras aplicaciones OPC UA.

Si ya hay aplicaciones, ¿Para qué voy a hacer una?

Buena pregunta. El SDK te da la libertad de desarrollar tu propia aplicación y ser el dueño de la misma. Eso tiene dos ventajas fundamentales:

  • Te liberas del modelo de licenciamiento por máquina, tan típico en el mundo del software
  • Eres libre de desarrollar aplicaciones que se ajusten más a tu medida,y
  • Puedes distribuir tus desarrollos

Como ves, hay razones de peso para tener un SDK, ¿No crees?

Si al final tengo que desarrollar, ¿Por qué pagar por un SDK?

Esta es otra buena pregunta. Seguramente no lo has pensado pero, ¿Cuánto tardarías en desarrollar una tecnología desde la nada? ¿No sería mejor empezar con un esqueleto ya hecho?

Esto es como quien quiere construir una casa. Por supuesto que uno puede ingeniárselas para hacer sus propios ladrillos (juntando agua, tierra, paja y demás), y luego irse al bosque a por leña, etc. Pero, ¿Y la calidad de los materiales? ¿Y el tiempo que te va a llevar hacerlo todo?… ¿No tendría más sentido comprarte un kit de materiales de calidad?

Pues esto mismo es un SDK, un kit de herramientas de software para que puedas empezar a hacer tus aplicaciones fácilmente. Con menos tiempo de desarrollo, y con mayor calidad final.

SDK’s OPC UA

En Opiron ofrecemos SDK’s centrados en tecnología OPC UA, para que ingenieros y empresas puedan desarrollar nuevas aplicaciones OPC UA.

En concreto, tenemos disponibles los siguientes:

¿Más información?

Como siempre, estamos disponibles por cualquier consulta!

4 Pasos para convertir tus Datos en Conocimiento

Quieres convertir datos en conocimiento…

Tienes un PLC, una RTU, un equipo o lo que sea…

Necesitas analizar información, medir KPI’s, sacar un informe, generar un Dashboard, algo…

Y lo que quieres en definitiva es tener información clara de tu sistema, algo que realmente te permita tomar decisiones rápidas y claras…

¿Cómo se hace? ¿Por dónde comienzo? Veamos 4 pasos:

Paso 1: Genera una infraestructura de datos comprensible

Es simple, necesitas extraer los datos de tu caja negra (El PLC o lo que sea). Pero lo que necesitas realmente es generar una capa de información que sea lo máximo transparente posible para que otras aplicaciones puedan consultar la información.

¿La respuesta a lo que necesitas? Implementa OPC (o su variante OPC UA). Se trata de una tecnología abierta, coste – efectiva, y, sobretodo, altamente probada.

Otra opción cada vez más posibles es MQTT.

Paso 2: Guarda la información de forma efectiva

Claro! Necesitas una plataforma que almacene la tus datos de forma segura.  Seguramente has pensado en una base de datos. Ahora bien, ¿Te has hecho estas preguntas?

  • ¿Cuántos usuarios necesitan consumir los datos? Esto va a limitar el lugar donde instales tu repositorio.
  • ¿Cuántas aplicaciones necesitan consumir los datos? Esto es, ¿Vas a querer que los datos se lean sólo en Excel? ¿O también necesitas que se lean en un ERP o cualquier otra aplicación? ¿Dónde están estas aplicaciones?
  • ¿Cada cuánto tiempo vas a guardar datos? Esto es, ¿Has contemplado que algunas bases de datos pierden rendimiento cuando guardas grandes cantidades de datos?
  • ¿Cuántos equipos van a proveer los datos? Esto es, ¿Todos los datos que se envían son iguales? Esto puede terminar llevándote a que necesites un modelo de información.

Todas estas preguntas van a terminar llevándote a conocer el tipo de base de datos que realmente necesitas.

Paso 3: Entrega los datos

Lógico, necesitas una herramienta que te entregue los datos de forma clara para convertir datos en conocimiento.¿Cómo lo harás? En este paso deberías responderte:

  • ¿Necesitas una plataforma muy flexible para analizar los datos? Por ejemplo, algo con lo que pueda personalizar los dashboards constantemente.
  • ¿Excel, Web o múltiples aplicaciones?

Estas últimas preguntas van a delimitar el último paso, determinar la aplicación qué va a ayudarte a analizar los datos.

Paso 4: Implementa

Son 4 pasos, y el último consiste en implementar el plan. ¿Por qué no dejarte asesorar por profesionales?

Estamos a disposición para ayudarte a obtener la información que tanto necesitas!

Somos expertos en gestión de información

¿Dónde necesitas llevar tus datos?

  • De PLC a SQL
  • De PLC a Historian (Canary, Osisoft PI,  etc.)
  • De PLC a la nube (plataformas IoT, AWS, etc.)
  • De cualquier otro (SCADA, RTU…) a cualquier otro (MS Excel, SCADA…)

Somos expertos en tecnologías de gestión de información!

historiador de datos

De OPC UA a Power BI

¿Usas Power BI para hacer análisis de datos?, ¿Estás pensando en incorporar fuentes de datos de equipos industriales a Power BI? ¿Has pensado en OPC UA como la tecnología para hacer este trabajo? Si la respuesta a las tres preguntas anteriores es que sí, sigue leyendo.

¿Por qué de OPC UA a Power BI?

OPC UA es la tecnología de comunicación industrial por excelencia para conectar dispositivos de planta, como PLC’s, sensores, etc., con todo tipo de aplicaciones, ya sean Windows, Android, etc. Sin duda, usar OPC UA es garantizar el éxito en materia de comunicaciones. Si te interesa saber más sobre OPC UA, no deberías dejar de leer:

Power BI  es una herramienta que permite hacer análisis de datos empresariales mediante dashboards que pueden compartirse y visualizarse de forma amigable.

La conexión de ambos sin duda puede traer grandes beneficios, puesto que en muchos casos, los datos que generan los equipos de planta se necesitan analizar en la empresa.

¿Por dónde empezar?

Lo primero que tienes que tener claro es que OPC UA es una arquitectura cliente – servidor. Esto significa que vas a necesitar al menos dos aplicaciones para generar la comunicación:

    • Un servidor OPC UA que te genere el mapeado con el equipo o equipos a los que quieras conectarte
    • Un cliente OPC UA que vincule la información en Power BI

De clientes y servidores hay muchos, pero seguramente lo más interesante para empezar es revisar si tienes alguno ya disponible.

Un ejemplo y otros datos a tener en cuenta

Un servidor OPC UA es un software que expone datos de un equipo ligado a él. Esto significa que, debajo del propio servidor OPC UA, el equipo y su comunicación no son propios del servidor.

La traducción práctica a lo anterior es que deberás asegurarte que tu servidor implementa una comunicación con tu equipo de forma fiable. Por ejemplo, si tu equipo es Modbus, probablemente necesitarás un OPC UA Server para Modbus.

Un buen ejemplo de esto es una estación metereológica para conectar datos de OPC UA con Power Bi, en una web de Azure de nuestro partner Prosys OPC.

¿Cómo implementarlo?

Si estás evaluando integrar y conectar OPC UA a Power Bi no dejes de escribirnos, será un placer tener noticias tuyas 🙂

Somos expertos en tecnología OPC UA e integración de sistemas 🙂

Caso de éxito: De Modbus a Internet

Tengo un equipo en una instalación con Modbus, que tiene un puerto serie y…

Necesito llevar los datos a alguna plataforma para poder visualizar la información…

Ah, y a ser posible, que la plataforma esté en Internet, así podré visualizarlo todo cómodamente…

¿Te sientes identificado? Sigue leyendo.

¿Cuál es el problema?

Pues que no sabes cómo leer los datos. Porque tienes un equipo antiguo, con un puerto RS-485, que ya ni siquiera tiene manual. Está instalado desde hace tanto tiempo que ni siquiera sabes quién lo instaló.

El caso es que necesitas extraer algunos datos, como alguna variable como la temperatura, el voltaje… lo que sea, pero esos datos los necesitas fuera, y no cerrados como están ahora mismo.

¿Y qué puedo hacer?

En el caso que no tengas ni siquiera un manual, lo más común es aplicar aquello que conocemos como ingeniería inversa. Básicamente, tratamos de obtener información del equipo para poder saber el protocolo y el mapa de memoria de las variables, para luego extraerlas.

En el caso que tengas alguna referencia, entonces el proceso es un poco más simple, puesto que podemos tirar de ese dato (marca del equipo, mapa de memoria, lo que sea…), para comenzar a investigar y poder conocer el funcionamiento interno del equipo.

Luego de esto, claro está, comienza el proceso de extracción de datos y comunicación con la herramienta o herramientas que desees: una plataforma en internet, una base de datos, lo que sea…

Javi y su medidor de energía

Esto que hemos contado hasta ahora es lo que le pasaba a Javi, un encargado de mantenimiento de una planta de energía fotovoltaica. Javi básicamente se encontró con algunos equipos Modbus que ya llevaban tiempo instalados, pero que contaban con muy pocas referencias para poder comunicarse.

Y el caso es que quería comunicarlos con alguna herramienta que le permitiese graficar la información, generar alertas, etc.

Desde Opiron le ofrecimos una solución que implementamos en apenas 14 días. Desde la aplicación de la ingeniería inversa, hasta la inserción de los datos en una base de datos, a la que luego conectamos con un sistema de generación de dashboards para comenzar a tener datos de forma ilimitada e intuitiva.

Vale, me has convencido, ¿Cómo contacto?

¿Necesitas llevar datos de Modbus a Internet o a cualquier otro software?  Entonces no dudes en contactar con nosotros

¿Qué es una topología de red?

Si trabajas con redes, o intentas comunicar un dispositivo con otro, tarde o temprano te enfrentas al término topología. ¿Qué es?

La forma física en cómo se conectan nodos (ya sean pc’s, servidores, etc.) es lo que llamamos como topología de red. Existen diferentes topologías más o menos estandarizadas que tiene cada una sus propias características y que también son aplicables al protocolo TCP. En este post repasaremos algunas de las más comunes.

Topologías Estrella y Anillo

La del tipo estrella, es una de las configuraciones de red más comunes. En esta configuración, cada nodo se conecta a un dispositivo de red central, como un concentrador o un conmutador.

Esta topología tiene la principal característica que la comunicación de todos los nodos pasa por un nodo central. Esto significa que si se produce un fallo en el nodo central, todos los demás perderán la comunicación entre sí. Por lo tanto, en esta configuración es muy importante asegurar que las capacidades de este nodo serán las suficientes por el alto tráfico que deberá soportar.

 

Por otro lado, la topología ring (o anillo) es una configuración de red en la que las conexiones de dispositivos crean una ruta de datos circular

Por lo tanto, en esta configuración, cada nodo es transmisor y receptor al mismo tiempo, pasando las señales de una estación a otra. En estas configuraciones existe el conocido “paso de token” o testigo, porque se necesita saber si el tráfico ya ha pasado por un nodo determinado. Una derivación de esta topología es la red de doble anillo.

Bus y otras topologías

Es una configuración que tiene todos los nodos conectados a un circuito común. En este caso por lo tanto, toda la información viaja por un cable – el bus -.

Este tipo de configuración se caracteriza porque, si alguno de los nodos falla, la comunicación se va a mantener, puesto que la comunicación del bus es independiente del buen funcionamiento de un nodo determinado.

¿Otras topologías? ¿Cuál es la correcta?

Hay muchísimas topologías: algunas de ellas son las Line, Fully connected, Tree y Mesh, entre otras, cada una con sus propias características.

La elección de una u otra depende de múltiples factores. Por un lado, la disponibilidad, ya que no siempre están disponibles en todos los protocolos de comunicación o recursos disponibles. Por el otro, cada una tiene sus propias ventajas e inconvenientes, por lo que en función de tu caso, va a depender mucho del proyecto que tengas que implementar.

¿Quieres aprender más sobre redes?

Si estás buscando información clara y concisa, en forma de un curso online, te recomendamos sin duda nuestro Curso de Redes TCP.

Llamadas a funciones en PLC’s

En informática y en programación en general, estamos acostumbrados a hablar de funciones. Las funciones también son comunes dentro de la programación industrial y en los PLC’s en particular.

¿Que es una función? ¿Para qué sirve?

Una función es una pequeña parte de un programa que realiza un trabajo muy concreto. Son muy útiles porque generan una independencia del programa principal, y se caracterizan porque son llamadas ya sea desde el mismo programa principal u otra función.

Ejemplos hay muchos. Por ejemplo, si yo hago un programa que sea una calculadora, es posible que quiera tener una función dedicada para los cálculos (suma, resta, etc.), y que el programa principal sea el gestor que haga las llamadas pertinentes, además de gestionar la comunicación con el usuario.

¿Y en un PLC? ¿Y en Codesys? 

En el mundo de los PLC, las funciones siguen las líneas mismas líneas maestras que en la informática, pero además cumplen otro rol: la mejor organización del programa. 

Ya lo sabemos, los programas de los PLC’s pueden ser muy largos, y seguramente la independencia de ciertas tareas en funciones, del programa principal, agrega mejor lectura y versatiladidad al programa.

¿Cómo se programa una función en Codesys?

Las funciones en Codesys son POU’s. En Codesys tenemos tres grandes grupos de bloques de programación (POU’s):

  • Programas (PRG)
  • Funciones con memoria (FB)
  • Funciones sin memoria (FC)

Por lo tanto, las funciones se programan ya sea con los FB o los FC, cada uno tiene sus propias características, pero la principal diferencia, es que los primeros tienen memoria, a diferencia de los segundos.

¿Un ejemplo?

Hay algunos ejemplos en los que son especialmente útiles, como por ejemplo, en la realización de cálculos matemáticos.  Un ejemplo muy bueno es la programación de una calculadora.

¿Te gustaría ver el ejemplo? No te pierdas esta entrada al blog, con vídeo incluido: 

¿Te gustaría seguir aprendiendo sobre Codesys?

Si quieres seguir aprendendiendo a programar PLC’s y Codesys no deberías perder la oportunidad de echar un vistazo a los links que te dejamos más a bajo, contamos con múltiples formas de ayudarte 🙂 

Soluciones Codesys

Workshop Nivel 1 y 2
Soluciones System Partner
Consultoría y Soporte

Programar una Calculadora sobre un PLC Codesys

¿Quién no ha usado una calculadora alguna vez? Todos, ¿Verdad? En esta entrada explicamos cómo programar una calculadora con PLC’s, bajo el entorno de programación Codesys. Veamos:

¿Cómo se programa una calculadora con un PLC?

Dicen que una imagen vale más que mil palabras… ¿Y un vídeo? Veamos a continuación cómo programar una calculadora con un PLC:

Interesante, ¿Verdad? Pues a continuación veamos al detalle cómo funciona el programa.

¿Cómo funciona?

¿Detalles de funcionamiento? Veamos: Aunque no es un programa complejo, existen dos POU’s:

  • PLC_PRG
  • Calculos

El primero es el programa principal, y gestiona las variables que comunican entre la interfaz de visualización, así como la ejecución en orden de la secuencia de operación. También llama a la función especifica dedicada a los cálculos, que realmente se dedica sólo a calcular, en función de los parámetros que reciba del programa principal.

Hay todavía otro elemento importante, que es el objeto visualización. La visualización, al tener teclado, cumple también la función de teclado, por lo que en realidad es el elemento que hace toda la interacción con el usuario. En función de cómo se interactúe, el objeto visualización va pasando valores diferentes al programa principal.

¿Alguna particularidad más?

Habrás notado que una de las particularidades más interesantes es que usamos un FC para realizar los cálculos. Los FC son POU’s sin memoria, que devuelven resultados diferentes en función de las entradas instantáneas del momento.

¿Por qué hemos usado un FC? Porque justamente es el POU apropiado para esto: el resultado de la suma siempre dependerá de los dos operandos que usemos, así como la resta o la división…

Otra característica importante, es que al FC lo hemos alimentado con variables de entrada, y el mismo nos ha devuelto variables de salida.

¿Nuevo en Codesys? 

Si este es tu caso, te recomendamos que leas algunas de estas entradas en nuestro blog. Te dejamos aquí sólo algunas:

Soluciones Codesys

Workshop Nivel 1 y 2
Soluciones System Partner
Consultoría y Soporte