WinCC Diseño por Ventana de Imagenes y Nombre Pantalla Actual

“La gratitud en silencio no sirve a nadie”. Gladys Bronwyn Stern

Anteriormente comentaba lo siguiente, cuando empezamos a diseñar como será nuestro Scada, podriasmos decir que tenemos dos opciones principales, o bien trabajar con cada pantalla individual, y vamos cambiando cada una de ellas, que será el ejemplo que vamos a ver hoy, y por otra parte, la opción que yo prefiero es trabajar con ventanas de Imagenes a partir de una pantalla Base, que será la introduccion que veremos hoy

Lo que se trata es de obtener el nombre de la pantalla actual en la que estamos, para posteriores acciones, cuando se este en una pantalla especifica, y de paso, como cambiar de pantallas...

Como podemos ver en la imagen siguiente, tenemos una pantallas principal, que será sobre la que iremos viendo todas las demas pantallas y que cambiaremos en la ventana de Imagen, al igual que podriamos hacer con el menu, un menu diferente para cada zona, o area

Por poner un ejemplo, vamos a suponer que las siguientes pantallas, serian las que pertenece a nuestro proceso, para comprobar la diferencia, les he puesto un color que llama bien la atencion al fondo de pantalla.

El nombre como bien se aprecia es 000_start_1 - 2 - 3

En cada pantalla e insertado un campo de entrada y salida, vinculado con la variable que almacenara el nombre de la pantalla actual.

Ahora pasemos a la parte del código que vamos a emplear, y para cambiar de pantallas, lo que se trata es sobre la ventana de Imagen, cambiar la pantalla que vamos a mostrar, para eso utilizamos la siguiente sentencia, referenciamos la Pantalla principal con HMIRuntime.Screen("NombrePantallaPrincipal") , donde se encuentra la ventana de Imagen, referenciamos este objeto con su nombre .ScreenItems("NombreDelObjeto") cambiamos la propiedad PictureName, con la pantalla que nos interese.

Con el código superior, ya tenemos solucionado como vamos a cambiar de Pantalla, ahora solo nos queda guardar el nombre de la pantalla en la variable que hemos declarado para este fin. Para ello, vamos a aprovechar el evento del cambio de Picture Name, de nuestra ventana de Imagen, y utilizamos el siguiente código.

Si directamente guardamos en la variable el argumento de Value, se nos guardara la pantalla con la extencion .pdl, de ahí el motivo de utilizar la funcion Replace, para eliminar la extención, aunque lo mejor es probarlo, para experimentar por uno mismo.

Por último, lo ponemos en funcionamiento y vamos comprobando como se comporta y como funciona, a partir de aquí, lo mejor es probarlo...

13 de Diciembre del 2014

Si te ha gustado o te ha sido de utilidad, compartelo :-)