WinCC Crear Controles .Net

Como en la practica anterior hemos creado un propio Control ActiveX *.ocx con Visual Basic, y ya queda un poco obsoleto, aunque se sigue utilizando!!!. Hoy vamos a dar ese paso hacia adelante y vamos a crear nuestro propio Control .Net para nuestro WinCC.

Una de las cosas mas importantes es trabajar con .Net Framework 3.5 como máximo, los controles creados con el .Net Framework 4, no funcionan!!!

Para la creación de este control he utilizado el Visual Studio 2008. Empezamos con la creación de un nuevo proyecto y este será del tipo Windows Forms Control Library.

Una vez creado, y asignado el nombre que le hemos dado a nuestra Clase, la imagen que se muestra a continuacion es donde se ve claramente la creación de dos propiedades, que serán las que posteriormente interactuan con WinCC, aqui tambien es importante declarar las propiedades de Lectura y Escritura

A continuación de las propiedades estan las funciones, metodos y el constructor, pero en esos detalles en esta primera practica no vamos a entrar, si estais interesados, creariamos un control desde 0, dando mas explicaciones al codigo VB.Net o C++

En la parte del diseño grafico, implementariamos nuestro Objeto, en mi caso he simulado una tarjeta de 1Byte, no sera la primera vez que hay que hacer en el Scada una pantalla con el estado de las Entradas/Salidas

Considerando que hemos realizado toda la programación correspondiente, el siguiente paso es la creacion de nuestra *.dll, para ello vamos a Build --> Build NombreProyecto, con esto ya hemos generado nuestra WinCC.dll

Una vez generada interesa saber su ubicación, para posteriormente ir a referenciarla desde WinCC, si nos vamos a las propiedades del proyecto, en el apartado compilacion, podemos observar el destino de nuestra *.dll

El Siguiente paso es abrir nuestro WinCC y a su vez el Grapics Designer. Tenemos dos opciones a la hora de insertar un Control .Net / WFP, bien lo podemos hacer como un objeto Smart, que es el metodo seguido aqui, o bien desde Controles, como hicimos con el Control ActiveX, insertamos un Control .Net en nuestra pantalla y automaticamente carga todos los controles disponibles, nosotros, utilizaremos el botón Examinar y buscaremos el directorio donde esta nuestro *.dll (La imagen anterior).

Aqui ya se puede observar, que nos aparece WinCC.Tarjeta8bits, aceptamos y ...

Ya tenemos nuestro Control .Net listo para configurar y utilizar, en las propiedades del Objeto, estan las heredades del UserControl y las que hemos agregado nosotros, que son las que mas nos interesan, ya que son las que interactuaran con WinCC.

Configuramos nuestras propiedades y su funcion es la siguiente: EstadoByte, aqui le vamos a pasar el Byte que nos interese y veremos que bits tiene activos o no...

A su vez en Entradas_Salidas le vamos a pasar el nombre con el que vamos a etiquetar ese byte, asignando el primero, tal y como se puede observar en esta imagen.

Para ver su funcionamiento, en vez de propiedades estaticas como en la imagen anterior, se le ha configurado una variable del tipo 8 bits sin signo y se han creado unos campos de entrada/salida. Ejecutamos el Runtime y observamos su funcionamiento, en este caso la variable se actualiza cada 2 segundos y vemos que funciona correctamente.

Ya podemos crear nuestros propies controles .Net y utilizarlos en WinCC. Si alguien se anima a crear alguno, que lo envie y lo pondremos para su descarga.

Para la próxima semana haremos lo mismo, pera esta vez crearemos un control con WPF

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