WinCC Confirmar la entrada de un valor de proceso

Este es un ejemplo planteado en el foro de siemens, donde el objetivo es antes de cambiar un valor de proceso de un campo de entrada y salidas, confirmarlo con un botón de Ok! , Hay varias formas de hacerlo, pero yo he planteado la siguiente.

Primero de todo, vamos a considerar que las variables que queremos confirmar son las siguientes, que esas ya estarian declaradas en nuestro proyecto. TagName1,TagName2 ...

Lo que hemos creado es una variable interna del tipo Text tag (String)

Vamos a poner de ejemplo esta pantalla, donde tenemos una serie de campos de Entrada y Salida, todos ellos estan vinculados con sus variables, pero hemos cambiado una de sus propiedades, para que sea solo de salida

 

A su vez, cada uno de los objetos, tienen el mismo nombre que el Tag que tienen vinculado

 

Y cada uno de los campos de entrada y Salida tienen asociado un evento, que si hemos configurado los pasos anteriores nos servira el mismo evento para todos los objetos, solo tendremos que copiar y pegar en todos ellos, o bien programar una macro en VBA para todos los campos

 

Si no hemos puesto el nombre del objeto igual que el nombre de la variable, podemos declarar una constante y asignar el nombre de la variable que queremos cambiar de valor. Serian dos opciones posibles, la mas fácil es la primera, porque así evitamos equivocarnos.

Por otra parte, tenemos una ventana de imagen que ahora veremos, y lo que hacemos es hacerla visible, el segundo paso.

Una vez que la tenemos visible, podemos acceder a sus objetos, y ahora vamos a transferir el valor actual del campo de entrada y salida a otro campo llamado ActualValue

Y por ultimo vamos a guardar en la variable interna del tipo String que hemos declarado al principio el nombre de la variable que vamos a manipular.

Por ese motivo, este código es el mismo en todos los campos de Entrada y Salida

La ventana de imagen anterior, tiene una pdl, con dos campos de entrada y salida, el primero de ellos que es ActualValue, de solo salida y el de new value, es de entrada y salida, que sera donde vamos a escribir el valor de proceso que queremos asignar.

Ambos objetos no tienen asociada ninguna variable, tiene asignada en la propiedad Valor de Salida / Output Value el siguiente código en VBScript. OutputValue_Trigger = item.ImputValue, eso quiere decir, que cualquier valor que nosotros introducimos es el vamor que vamos a mostrar, el trigger para esta propiedad, es el ciclo de ventana, si se deja por defecto, habrá una advertencia de que no es aconsejable.

 

Y por último el botón de confirmar lo que hacemos es transferir el valor que hemos introducido en el objeto NewValue, a la variable que hemos guardado en la variable interna, una vez transferido el valor, cerramos la ventana.

El botón cancelar, tendria el codigo de cerrar la ventana sin transferir el valor.

Con eso lo tenemos funcionando correctamente.

Un pequeño video demostrativo en You Tube.

 

08 de Marzo del 2018

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