Seguro que en algún momento has necesitado (o vas a necesitar) realizar algún tipo de registro de datos.
Dependiendo del tamaño, y el uso que se le vaya a dar, será tan simple como almacenar estos datos en el PLC, o en un HMI, si tiene esta capacidad.
Pero hay más formas, como usar un OPC, por ejemplo, o crear un registro usando UDP y Step 7
La solución del OPC, si bien funciona muy bien tiene el inconveniente de necesitar una licencia del tipo que sea.
Para temas serios y sesudos, puede que sea la mejor opción.
Pero ¿qué pasa si no tienes mas que un PLC y un PC con Windows?
¿Podemos realizar algún tipo de comunicación sencilla y registrar datos sin tener que recurrir a licencias?
La respuesta es Sí, y ahí entran otras soluciones como Snap 7 o usar comunicaciones como UDP de forma nativa.
Con Snap 7 el puedes realizar HMI completos sin pagar por una licencia ya que es libre.
Como ya sabrás, tienes un curso de Snap 7 disponible para ello, con un montón de controles ya creados para realizar tus proyectos de una forma más rápida y sencilla.
La cuestión es que hay más alternativas, cada una con sus pros y contras.
En este caso, como lo único que queremos hacer es un registro, podemos hacerlo incluso sin Snap 7.
Podemos crear un pequeño (o gran) registro usando UDP y Step 7.
Contenido
Crear un registro usando UDP y Step 7
¿Por qué usar UDP?
La ventaja de usar UDP para realizar la comunicación entre el PLC y el PC, es que podrás conectar/desconectar el PC sin que eso al PLC le afecte en absoluto.
Como ya hemos visto en el curso de comunicaciones industriales, UDP no necesita del establecimiento de la comunicación entre ambos interlocutores para que los datos sean enviados.
El emisor, simplemente envía datos a una dirección IP a través de un puerto, y se desentiende de que estos datos lleguen o no.
Para este tipo de registros, puede ser ideal, ya que simplifica muchísimo la programación y su mantenimiento.
Debemos tener en cuenta la criticidad del sistema y cómo de importante es que algunos datos se puedan perder.
En general, que algún que otro dato no llegue no suele ser de vital importancia, por lo que esta solución puede ser óptima si vemos la relación existente entre el coste de programarlo, y el resultado obtenido.
¿Qué vamos a necesitar para realizar la comunicación?
Pues la verdad es que no son demasiados ingredientes.
Por un lado, meteremos en un DB, los datos que queramos mandar al PC para su registro. Pueden ser completamente heterogéneos, ya que luego realizaremos un desentramado de estos.
Necesitaremos un software de programación en el PC como podrás imaginar.
Es indiferente el lenguaje utilizado. Solo es necesario que puedas crear un cliente udp con él.
En mi caso, como otras veces, voy a usar VB .NET por su simplicidad.
Siendo sinceros, nunca había creado un cliente UDP, así que googleando un poco me encontré con esta página de codeproject.com de donde aprender a realizar el cliente.
En el lado del PLC, tan solo hay que configurar el TCON y TUSEND.
Finalmente, una de los problemas que te puedes encontrar es cómo deshacer el ovillo de la trama de bytes. Para eso, he usado la clase S7 de Snap7.
El código fuente lo puedes encontrar en http://snap7.sourceforge.net/
Mezclas todo un poco, ajuste aquí y allá… y el resultado lo vemos en el vídeo.
El vídeo de cómo comunicar mediante UDP
Te cuento cómo lo he realizado.
¿Qué te ha parecido?
Igual no te habías planteado que este tipo de cosas se pueden hacer de una manera bastante sencilla teniendo ciertos conocimientos.
Este ejemplo, con su código fuente (incluyendo la clase S7) lo cuelgo en el curso de comunicaciones industriales, en su apartado de Anexo.
Como digo en el vídeo, si os interesa, podría realizar un curso (pequeño) de cómo sacarle partido a esta forma de trabajar tanto para escribir como para leer del PLC.
La parte positiva es que no necesitas licencias de ningún tipo, y es realmente rápida.
Recuerda que puedes apuntarte en Guorker.com donde por una cuota mensual, tendrás tarifa plana en todos los cursos disponibles en la plataforma.
Enseño a programar PLC de Siemens a través de mis cursos.
Más información sobre mi aquí
Puedes seguirme en cualquiera de las siguientes redes sociales.
Deja un comentario