Cambio de Pantallas automático por Tiempos o Variables

Esta práctica esta dedicada a un compañero que me dejo un comentario de como poder cambiar las imagenes automaticamente cada cierto tiempo, sin intervención del operario, he querido implementar unas lineas de código que puede ser útil en otras situaciones, como crear un flip-flop temporizado y un registro de desplazamiento basado en el tiempo anterior.

Partire de la base que ya tenemos creado nuestro proyecto en el TIA Portal, tanto para el PLC como la HMI, y este es el aspecto que muestra

Adobe Flash Player downloading here.

En este primer segmento ya he incluido su descripción, vamos a cargar el tiempo de 5 segundos por temporizador que nos dara un tiempo de activacion de 10 segundos para cada imagen y la marca que vamos a utilizar va a ser la MW0 que iniciamos a 1, este segmento no se volvera a repetir, hasta que no se pase la CPU a Stop y Run nuevamente, al no ser que hagamos un reset a la marca M100.0

Ahora vamos a crear el Flip-Flop temporizado, este lo creamos con dos Temporizadores TON, donde el PT tiempo predeterminado esta referenciado a su DB de correspondiente que posteriormente puede ser utilizado para cambiar dichos tiempos desde la pantalla.

En el siguiente segmento, lo que hacemos es un Registro de desplazamiento de 1 bit cada vez que se activa el temporizador asociado en el segmento anterior, y cuando llegamos al bit numero 7 que tiene un valor de 128 volvemos a empezar el bucle

MW0 = 1

M1.0

MW0 = 2

M1.1

MW0 = 4

M1.2

MW0 = 8

M1.3

MW0 = 16

M1.4

MW0 = 32 

M1.5

MW0 = 64 

M1.6

MW0 = 128 

M1.7

Vinculamos el Tag_2 a nuestra pantalla y todas las que necesitemos, pero para el desarrollo de este ejemplo con esta es suficiente

Ahora biene la parte mas interesante, que es la creación de un Script al que llamo ChangeScreens, que lo que hace es comparar el valor del Tag_2 (MW0) y comprobar que bit tiene activo y en función de este bit activamos la pantalla que nos interese.

Una vez creado el Script y lo hemos compilado con éxito, ya podemos utilizar nuestro Procedimiento, y lo vamos a asociar al evento del Tag_2 en Value change, esto quiere decir que cada vez que cambie su valor ejecutaremos el script y con ello activaremos la pantalla correspondiente

Y para mostrar su funcionamiento un pequeño video demostrativo, como siempre cualquier sugerencia, rectificación ,error es bien recibido

1 de Noviembre del 2012