Hace unos días uno de mis alumnos del curso de Snap7 (gracias Sergio), me comentó que le vendría bien la posibilidad de crear recetas con Snap7.
Como supongo que sabrás, en el curso de Snap7, además de explicar cómo funciona esta biblioteca de comunicación con los PLC de Siemens, suministro una plantilla con la que crear tus HMI.
La gracia del invento, es que esta plantilla es un framework con el que desarrollar HMI con Snap7 sin apenas conocimientos de Visual Basic.
Como hay varios de vosotros que me han preguntado cómo es el curso, y cómo funciona la plantilla, me he decidido a hacer este post aprovechando la inclusión de los controles de generación de recetas con snap7
¿En qué consiste el framewok del curso de Snap7?
La idea es muy sencilla.
A grandes rasgos, y para que se entienda fácilmente, es como tener un WinCC Flexible, pero cuyos objetos y marco de trabajo, es Visual Basic.
Para realizar la comunicación, nos apoyamos en la biblioteca gratuita Snap7.
Así, tienes disponibles una serie de controles (29 en estos momentos) para crear tus HMI arrastrando y soltando el control.
Además, y aquí está parte de la gracia, es que el código está disponible para que en un futuro, puedas modificar o añadir, tus propios controles.
La forma de enlazar el PLC con el HMI es muy fácil, y muy similar lo que tienes que hacer en WinCC Flexible: elegir el DB donde están los datos, el byte, el tipo de datos (entero, real, booleana...), y poco más.
Cómo crear recetas con Snap7
Como he comentado en el punto anterior, la plantilla o framework está abierta a nuevas incorporaciones, y de hecho, desde que nació el curso, he ido añadiendo nuevos controles para que el framework cada vez sea más completo (el curso nacio con 15, ahora son 29).
Por ejemplo, añadí un registro de datos como ya comentamos en su día.
Esta vez, he añadido dos controles nuevos controles en la versión 1.6.0:
- Un botón que guarde los datos en forma de receta
- Un botón que lea una receta y la vuelque en el HMI
Para ello, me he apoyado en los controles ya existentes como son los controles de formulario como luego veremos.
Solo tendremos que usar los controles de formulario para crear la plantilla de la receta.
De esta forma, podemos pasar del PLC al HMI, y del HMI al disco duro. O al revés, leer desde el disco duro, cargarlo en el HMI y posteriormente mandarlo al PLC.
Algo así como resumen: PLC <--> HMI <-->Disco duro
Las recetas se guardarán en texto plano editable.
La razón de hacerlo así, es porque es la forma más sencilla, y que no necesitas ningún tipo de base de datos adicional.
Puede que estés acostumbrado a trabajar con BD tipo SQL.
Lógicamente se podría haber hecho, pero eso obligaría a tener este software instalado, y quiero que las aplicaciones desarrolladas con la plantilla pueda correr en un PC sin software adicional.
Lo más lean posible.
El framework que te propongo es algo liviano, que sirva como propósito general para aplicaciones no críticas o exigentes.
Si necesitas algo super sofisticado, seguramente tengas que irte a WinCC, Intouch o iFix y sus miles de euros de licencia.
Veamos en un vídeo cómo funciona
Como casi todas las semanas, te traigo un vídeo enseñándote cómo funciona.
¿Qué te ha parecido?
Espero que haya quedado más o menos claro en qué consiste en framework del curso.
Ni que decir tiene que puedes fabricarte tu propia plantilla, en visual basic, o en cualquier otro lenguaje de alto nivel, como C#, por ejemplo.
También puedes realizar cada proyecto por separado, y crear desde cero todo cada vez. Pero no parece la opción óptima.
La gracia, es hacer una plantilla para así trabajar una vez, de tal forma que las siguientes veces, todo sea mucho más rápido.
En fin, que espero que te haya gustado la idea, y si te interesa tener gran parte del trabajo, en el curso de HMI en VB con Snap7 tendrás siempre la plantilla en su última versión siempre actualizada.

Comentarios (12)