WinCC Crear Controles ActiveX

Aprovechando que tengo la versión de Visual Basic Instalada, la cual aproveché para crear el AddIn en la práctica anterior, vamos a ver otro ejemplo, la creación de un propio control ActiveX, hoy ya no se suele usar Visual Basic para estos fines, se suele crear un *.dll en vez del *.ocx usando .net, pero bueno como ejemplo hay queda...

Iniciamos el Visual Basic y creamos un nuevo proyecto Control ActiveX

Creamos las propiedades, eventos, metodos que correspondan a nuestro control, según el comportamiento que queremos que tenga, no entraremos en estos detalles, por ser un poco obsoleto, como ya he mencionado.

Una vez creado nuestro Control, ya podemos generar nuestro archivo *.ocx, para ello nos vamos a Archivo --> Generar

En el directorio de nuestro proyecto ya tenemos nuestro *ocx, este mismo lo copiamos dentro del directorio Windows --> System32, estos pasos nos serviran para registrar cualquier control *ocx / *.dll

Procedemos a registrarlo, abrimos la consola y ejecutamos regsvr32 nombre.ocx, si todo es correcto nos mostrara una ventana emergente, informando que se ha ejecutado correctamente.

Ya podemos iniciar el WinCC y a su vez el Graphics Designer, nos vamos al directorio de Controles ActiveX Agregar/Quitar y buscamos nuestro Control, en este ejemplo ActiveX.PieChart

Ya lo tenemos listo para insertarlo en nuestra pantalla y procedemos a ello, si nos vamos a sus propiedades comprobaremos las propiedades que previamente habiamos confiturado para dicho control

Asignamos unas variables a sus correspondientes propiedades, que serán las que mostraran el porcentaje en nuestra tarta.

Ejecutamos el Runtime y comprobamos nuestro control, donde se actualizara según el tiempo de Refresco que le hayamos asignado o por defecto el que tiene configurado, los colores que nos interesen y el estilo. Si probamos el botón el cual tiene el cambio de la propiedad Estilo_3D, comprobamos que funciona correctamente.

8 de Febrero del 2014

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