Teniendo la palabra napolitana en el título, podría decirse que vamos a hacer una trilogía italiana, como en El Padrino.
En la entrada de El caso del tracking de las napolitanas abríamos el melón viendo cómo podíamos realizar un tracking en TIA Portal usando arrays y SCL.
Pero claro, no solo de napolitanas y TIA Portal vive el hombre, por lo que varios lectores preguntaron cómo hacer esto mismo, pero en Step 7 clásico para la serie 300 de Siemens.
Contenido
El reto del tracking de la napolitana clásica
Como segunda parte de la trilogía, te voy a tentar a que realices el ejercicio previamente a la solución.
Como digo, esto proviene de que varios lectores, preguntaban cómo hacerlo con la serie 300 en S7 clásico.
Por tanto, las premisas, son las siguientes:
- Tenemos una célula a 300mm de un dosificador de huevo con el que se pintan las suculentas napolitanas
- El programa tiene que decir con una precisión de mm cuándo debe abrir/cerrar la EV del dosificador
- El programa tiene que ser genérico, y por ejemplo que si mañana está a 1500mm, también nos sirva con pequeños cambios.
- Tiene que estar realizado en Step 7 clásico de Siemens para la serie 300.
El problema
Dentro del caso en TIA Portal, usábamos un array de booleanas que poníamos a 1 o 0 en función de la existencia de napolitana bajo la célula, y luego movíamos el tracking.
Te invito a que veas la entrada si no lo recuerdas.
Claro, con TIA Portal y un 1200/1500 puedes hacer cosas que con un 300 no puedes, sea en TIA Portal o en S7 clásico.
La cuestión es que no hay un equivalente a mover un array en S7 pero si existe la posibilidad de mover con el SFC20.
Pero claro, el SFC20, tiene algunos requerimientos :
- Tienes que mover siempre empezando en un bit 0, es decir en el 1.0 o 27.0, pero no puedes empezar en el 1.1, o 14.5
- La resolución mínima a la hora de mover es el byte. Es decir, no puedo mover 27 bits porque no son múltiplo de byte.
Así que tenemos que compaginar que un milímetro se deba representar con un bit, con mover con el SFC20 usando mínimo bytes.
Solución
Hay varias formas de resolver este tipo de situaciones.
Esta solamente es una. Pero se trata de que uses esta forma de resolverlo, usando un buffer de posiciones de bits que indiquen cada milímetro.
Las pistas en el vídeo
Te dejo con el vídeo en el que te presento el reto, y te doy unas cuantas pistas.
¿Te animas a intentarlo?
Ya te he presentado el reto… ahora ¡¡faltas tú!!
Te animo a que intentes replicar la solución, o a encontrar una alternativa, ¡y que nos lo cuentes al resto!
Vemos la solución que yo he encontrado la semana que viene.
Posteriormente, podemos estudiar al menos otra forma de hacer este tipo de ejemplos.
¡¡Espero tus comentarios!!
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.
2 Comentarios
Muchas gracias Íñigo por tu rapidez,
Diste, como siempre, otro punto de vista más que válido al problema!
Vamos a ver qué sacamos estos días!
Gracias a ti por comentar Jorge.
La idea como digo, más que dar una solución específica a este problema, se trataría de dar la solución como yo lo he planteado para practicar.
En el futuro veremos como se puede hacer de otra forma radicalmente diferente.
Saludos!