Mostrar lista de artículos
WinCC -- Creación de la configuración HMI -- Utilizar variables
¿Cómo se puede dividir en WinCC una variable de proceso (16 bits) en 2 variables internas de 8 bits cada una?
¿Cómo se puede direccionar una variable de manera indirecta a través de un Script en C?
¿Cómo se puede direccionar un bit en el controlador con una conexión FMS entre dicho controlador y el WinCC?
Conversión de variables INTEGER en variables ASCII en el WinCC
¿Por qué en mi valor de seguimiento de proceso (texto) del WinCC se representan caracteres vacíos al comienzo y se cortan caracteres al final?
¿Cómo se puede acelerar la primera llamada de las funciones GetTag o SetTag?
¿Qué operaciones lógicas de variables son posibles en los Scripts en C?
¿Cómo se utilizan las funciones GetTagMultiWait y SetTagMultiWait para Strings en el WinCC?
¿Qué particularidad hay que tener en cuenta en la concatenación de variables bit a bit dentro de un VBScript y cómo se puede activar el bit más significativo (bit 31 / bit 32) en el WinCC con ayuda del VBS?
¿Cómo se pueden utilizar las funciones "SetTagMulti()" para escribir varias variables de WinCC?
¿Cómo se pueden utilizar las funciones "GetTagMulti()" para leer varias variables de WinCC?
¿Por qué el acceso a variables - con el dato del prefijo en el nombre de la variable - puede provocar errores de acceso dentro de las ventanas de imagen?
¿Cómo se puede activar y desactivar una variable de WinCC de tipo binario con ayuda de un VBS?
¿Por qué no se muestra el valor correcto de una variable cuando ésta se escribe con el VBS y a continuación se lee directamente?
¿Cómo se puede averiguar el tamaño de memoria para los tipos de datos o las variables de C?
¿Por qué no se muestra el valor correcto de una variable cuando ésta se escribe con el VBS y a continuación se lee directamente?
Referencia:

 

Descripción:  
Por ejemplo, se dispone de las siguientes líneas de código en un VBS y se comprueba que no siempre funciona.

 

HMIRuntime.Tags("NewTag_2").Write HMIRuntime.Tags("NewTag_1").Read
HMIRuntime.Tags("NewTag_3").Write HMIRuntime.Tags("NewTag_2").Read
HMIRuntime.Tags("NewTag_4").Write HMIRuntime.Tags("NewTag_3").Read
HMIRuntime.Tags("NewTag_5").Write HMIRuntime.Tags("NewTag_4").Read

 

En el caso descrito arriba, las variables se leen y escriben a través de la imagen de dichas variables. Para estar seguro que las variables han sido leidas antes de escribir, se puede utilizar un servicio síncrono de lectura/ escritura. Por eso, hay que modificar los servicios de lectura de "Read" a "Read(1),1", tal como se muestra en el siguiente ejemplo:

 

HMIRuntime.Tags("NewTag_2").Write HMIRuntime.Tags("NewTag_1").Read(1) ,1
HMIRuntime.Tags("NewTag_3").Write HMIRuntime.Tags("NewTag_2").Read(1) ,1
HMIRuntime.Tags("NewTag_4").Write HMIRuntime.Tags("NewTag_3").Read(1) ,1
HMIRuntime.Tags("NewTag_5").Write HMIRuntime.Tags("NewTag_4").Read(1) ,1

 

Indicación:
Los servicios de lectura y escritura síncronos se corresponden con las funciones GetTagxxxWait y SetTagxxxWait del ANSI C. Estas funciones tiene las desventaja de duran mucho ya que dependen del acoplamiento y el AS. El tratamiento del resto de Scripts se quedan esperando hasta que se recibe una respuesta del AS. Por tanto, puede haber una pérdida de rendimiento y sólo se deben usar en casos excepcionales.  Son mucho más efectivos los servicios de lectura y escritura asíncronos, ya que estos se ejecutan a través de la imagen. En este caso, la lectura y actualización de las variables se separa del resto de procesos activos. 
Los servicios síncronos sólo se deben usar si se está seguro de que las variables han sido leidas o escritas antes de continuar con la elaboración del Script. 

 

Advertencia:
Tenga en cuenta las descripciones sobre las funciones GetTag y GetTagWait del sistema de información del WinCC, bajo el punto:

  • WinCC V6.0 - "Trabajar con WinCC -> ANSI-C para crear funciones y acciones -> Descripción de las funciones -> Funciones internas -> tag -> get -> GetTagBit -> Funcionamiento de las funciones GetTag".

  • WinCC >= V6.2 - "Trabajar con WinCC -> ANSI-C para crear funciones y acciones -> Funciones internas -> tag -> Funcionamiento de las funciones GetTag".

 Nr. de identificación (ID):18943009   Fecha:2010-10-04 
Este artículo...me ayudóno me ayudó                                 
mySupport
My Documentation Manager 
Boletín 
CAx-Download-Manager 
Support Request
Sobre este artículo
Imprimir
Crear PDF 
Enviar artículo
QuickLinks
Herramienta de compatibilidad 
Ayuda
Ayuda en línea
Guided Tour