Esta semana vamos a hacer de teóricos del balón: vamos a hablar de cómo se puede organizar un programa en TIA Portal.
Tal vez no sea aplicable en todos los casos, pero sí que te servirá seguramente en alguno (o muchos) de ellos.
Contenido
¿En qué ejemplo nos vamos a basar?
Para practicar esta teoría, y verla en la práctica, nos vamos a basar en el programa que estoy desarrollando para una nueva línea que vamos a implantar.
Sí, esta línea va a existir de verdad.
En este caso, se trata de hacer un revamping de la línea existente, ya que parte de la máquina la vamos a reutilizar. Es una mezcla porque vamos a añadir transportadores nuevos, un nuevo cuadro eléctrico, pero reutilizando como digo parte de la maquinaria y algunos cuadros remotos.
No voy a entrar en detalle de por qué lo vamos a hacer así: es así, y ya está. Para el caso nos vale igualmente.
Además, aunque el cuadro eléctrico es nuevo, vamos a reutilizar un S7-300 que ya teníamos y que está en perfectas condiciones. La razón de usar este PLC y no meter uno de la serie S7-1200, es que como las remotas que vamos a utilizar están comunicadas por profibus, y tenemos ese PLC muerto de risa, tampoco se trata de gastar por gastar.
¿Qué parte tiene la línea?
La línea básicamente está dividida en 7 estaciones:
- Estación donde un robot deja el parabrisas que se está produciendo
- Estación centradora lateral
- Estación de colocación de separadores doble
- Estación de giro de 180º
- Estación de colocación de separador simple
- Estación centradora lateral
- Estación de plegado en caja
Como ves, cada estación es diferente al resto. Incluso las estaciones centradoras van a ser diferentes entre sí.
División del programa
Ahora, toca plantear el programa. El programa tendrá muchos detalles en los que no vamos a entrar de primeras, pero parece lógico una división por cada uno de las estaciones.
Eso es bueno hacerlo así para que puedas trabajar sobre una de las estaciones como si el resto de las estaciones no existieran.
Lógicamente habrá partes comunes a todas ellas como pueden ser los modos de trabajo, tracking de datos, alarmas, o lo que sea, pero digamos que la lógica de funcionamiento, tenemos que intentar hacerlo lo más independiente unas de otras.
Para ello, vamos a dividir cada estación en estas partes:
- Entradas: físicas, comunicaciones, permisos, o cualquier input que necesite la estación para funcionar.
- Modos: vamos a adaptar fundamentalmente el modo manual y automático general, a la estación en particular ya que vamos a permitir manejar en manual una estación mientras el resto está en automático. Esto lo hacemos para poder salir de un estado de fallo de una forma más sencilla.
- Enganche al segmento: Se podrá resetear la estación y engancharse a uno de los pasos en función del estado del vidrio y actuadores.
- Lógica en automático: la lógica normal de cómo debe funcionar el programa en modo automático.
- Salidas: salidas para los actuadores y comunicaciones con el resto de estaciones (cuando aplique).
Además, voy a seguir un poco la filosofía que hay en otras partes de la línea para que a la hora de mantenerlo, todo tenga la mayor coherencia posible.
El vídeo de organizar un programa en TIA Portal
Vamos a ver un pequeño resumen de todo esto en el siguiente vídeo, para que te hagas una idea más real.
¿Qué te ha parecido?
Espero que te haya servido como referencia para tus futuros proyectos.
Recuerda que ejemplos completos como este los puedes encontrar en el Curso completo de TIA Portal así como en el Curso Express de TIA Portal.
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.
18 Comentarios
Hola
Cada uno tiene su manera de programar, pero lo del bit «busy», no lo conocía, me ha parecido una idea excelente.
Gracias por tus vídeos de ayuda.
Saludos
Desde luego, cada maestrillo.. y está bien hacer la programación de diferentes formas de vez en cuando porque encuentras las bondades y los inconvenientes.
Muy buen ejemplo , haber si los puedes colgar en Guorker y así lo podemos echar un vistazo
Algo haré David 🙂
MARAVILLOSO …. MUY UTIL.
Amigo, me gustaria si en un proximo BLOG, nos ensenaras la programacion interna del FB3, que controla el variador G120 C, en el ejemplo mostrado por ti esta llamado en el bloque: fc120, en el Segmento 30 – Manejo de variador, y es el FB-Variador G120 C. Me gustaria mucho saber la forma como tu controlas los variadores …..
Disculpa el abuso ….
Me lo apunto. La verdad es que en este caso como es transporte sencillo, solo uso el telegrama estándard 1. Aún no lo he probado, ojo. Cuando lo tenga claro, esté todo funcionando y todo Ok, haré una entrada.
No quiero enseñarlo ahora, porque lo mismo hay algún problema todavía. Piensa que estoy escribiendo aún sobre «papel» y el papel lo aguanta todo.
Ha sido genial el video Iñigo. Yo quería proponer si es posible , que preparas como ejercicio práctico de algunas de estas estaciones sin dar la solución. Y que nosotros leyendo lo que tu nos digas , es decir, las entradas y salidas que llevará la estación, que es lo que hace , y así nosotros podamos rompernos el coco en hacer nuestro esquema general de proceso de la estación e implementar esta manera de organizar el programa en tiaportal. Y luego por último nos darías tu solución. Muchas gracias. Un saludo Iñigo. Tu enseñanza ayuda mucho.
Kevin.B
Es una buena idea, si no es con este proyecto, con otro que podamos hacer.
Saludos!
Buenas Iñigo! No sé si había vivido despistado hasta ahora pero me he quedado flipando viendo el vídeo … los FC en Tia Portal tienen constantes??? Disculpa porque yo sigo programando con Simatic Manager V5.6, donde queda clara la diferencia entre FB y FC. Viendo el vídeo empleas un FC para la estación y tiene sus variables constantes, ¿qué diferencia hay entonces entre los FBs y los FCs en Tia Portal? Realmente en Simatic Manager también se podría hacer una temporal como constante. Por ejemplo en el primer segmento del FC hacer un MOVE del valor que deseemos a esa temporal, pudiendo luego utilizarla en el resto del FC. Pero esto de poder declarar esas constantes directamente en la tabla de variables del FC me ha descolocado. ¿Podría entonces utilizar unas variables constantes en un FC del tipo bool para hacer un grafcet seteando y reseteando esas variables?
Me autorespondo Iñigo … Me he hecho la picha un lío con temporales, constantes y estáticas. Intuyo que las constantes pueden servir para tener siempre el mismo valor en una variable y de ahí que sean practicas de utilizar, tanto en FB como en FC.
Efectivamente, te has liado con las estáticas.
Respecto a hacer los move, puedes hacerlo pero no es lo mismo ya que de primeras las variables temporales usadas así ocupan memoria y tiempo de ejecución al tener que hacer en casa ciclo de scan el move. Si son pocas, no pasa nada, pero estamos hablando a lo largo del programa de muchas decenas de ellas.
Por lo que he podido ver, no parece que consuman especialmente recursos.
Muchísimas gracias por la respuesta! Un saludo
Hola Iñigo tenia rato de no ver este tipo de video, que bueno que hoy lo pude ver, esta excelente, dime que posibiliad hay que compartas el programa para revisarlo y practicar
Saludes Iñigo, sigue asi siempre sorprendiendonos
No se lo que haré. Si lo comparto, será porque hago algunos vídeos y será como siempre para alumnos
Hola Iñigo, esta tarde tengo tiempo para visitarte.
Primero deciros por aquí, concretamente a Kevin Bacilio y a
Noeli que si el programa es parte de la empresa, o es parte de tu
trabajo, lo normal es que no se comparta.
Segundo comentarte que yo pienso cómo Kevin Bacilio.
Podrías hacer lo que él dice, de hecho más de una vez lo
has hecho, participaríamos incluso los de Schneider, podrías
poner cómo condición que se suba por aquí un vídeo
de lo que se haya hecho, dando cómo premio al mejor, una suscripción
a GUORKER.com., yo participaría, si gano yo la suscripción, se pondría
otro nuevo ejercicio a tus alumnos, volviéndose a poner de premio esa
misma suscripción.
Por cierto, quiero que veas esta otra forma de hacer un Vsnap7.
sólo que en este caso ya está todo realizado por nosotros.
Esta es la idea general:
https://youtu.be/sQJ1NYCHWCM
A partir de ahí ir viendo las partes.
Este vídeo lo he realizado hoy, creo que es interesante:
Receta, o cómo ustedes llamen a esta función:
https://youtu.be/wW1aZZmTugI
Espero tu opinión, porque para mí tu opinión es importante.
Gracias por tu blog, yo soy de Schenider pero aún así aprendo.
Hola Luis,
Gracias por los comentarios.
Solo una cosa. A partir de ahora, no voy a dejar en los comentarios temas ni enlaces que no sean referentes con las entradas del blog, y ciñéndose a lo visto en el blog.
Entiende que no pinta nada hablar del HMI que estás realizando en Schneider en una entrada de cómo organizar un programa en Siemens.
Todo lo que no sea relacionado con la temática de la entrada, o que pueda surgir de ella relacionado con Siemens, los voy a filtrar para mantener el blog lo más limpio posible.
Espero que se entienda.
Saludos
«no sea relacionado con la temática de la entrada, o que pueda surgir de ella relacionado con Siemens»
Hola Iñigo, te entiendo perfectamente, ya sé que no tiene nada que ver lo que yo estoy haciendo con una entrada que va de cómo organizar un programa en Siemens, piensa que si yo supiese programar en Siemens, podría participar en vuestros temas con vuestra plataforma usando vuestros conceptos, pero no es así, yo únicamente puedo aportar con Schneider, puedo aportar mis ideas cómo tú aportas las tuyas, para que ustedes lo mismo que yo aplico con Schneider lo que veo en Siemens, si quieren ustedes los apliquen en Siemens a la inversa, ese es el motivo de mi participación en tu blogs, y no otro, dicho esto, obviamente yo podré participar en la temática de la entrada si pusieses algún ejercicio que yo realice en Schneider, aún así, no será nunca relacionado con la temática de la entrada porque son diferentes plataformas que no tienen ni tendrán nunca nada que ver entre ellas.
Te reitero que me gusta tu blogs, me gusta leerte, me gusta lo que publicas, me gusta tu forma de hacer las cosas, es más, sin ser de Siemens, gracias a tus aportes he aprendido mucho en Schneider, que tampoco tiene nada que ver con Siemens una cosa con la otra, resumiendo, que la entrada no tiene nada que ver con mi HMI, pero en el fondo la cuestión para mi, ni es la entrada, ni es Siemens ni es Schneider, es compartir conocimientos.
No te preocupes, no participaré en tu blog si es lo que deseas.
Saludos.
Hola Luis!
No hombre! no se trata de no participar en el blog, faltaría más.
Solo que nos ciñamos a la temática, nada más.