Vous êtes sur la page 1sur 160

I.

INDICE
I. INDICE.................................................................................................................................1
II. Scripts...................................................................................................................................1
Tipos de Scripts.......................................................................................................................1
Para abrir un Script.................................................................................................................1
Para abrir un script de ventana...............................................................................................2
Scripts de la ventana...............................................................................................................2
Para abrir una secuencia de comandos de eventos ActiveX..................................................2
Para abrir un script de acción.................................................................................................2
Para abrir una clave, una condición o un script de cambio de datos.....................................2
Guardar o descartar cambios en un script..............................................................................2
Para guardar los cambios y mantener el script abierto..........................................................2
Para guardar los cambios y cerrar el script............................................................................2
Para descartar cambios y mantener el script abierto.............................................................3
Para descartar cambios y cerrar el script...............................................................................3
Copiar, cortar y pegar texto.....................................................................................................3
Inserción de elementos de código..........................................................................................3
Para insertar una función en un script....................................................................................3
Para insertar una variable en un script...................................................................................3
Para insertar un campo de puntos en un script......................................................................3
Para insertar un nombre de ventana en un script...................................................................3
Para insertar un método o propiedad ActiveX en un script.....................................................4
Para insertar una palabra clave o un operador en un script...................................................4
Desencadenadores de script..................................................................................................4
Tipos de desencadenadores de secuencias de comandos....................................................4
Uso de disparadores múltiples................................................................................................5
Ejecución periódica de secuencias de comandos..................................................................5
Configuración de scripts de aplicación....................................................................................5
Para configurar un script de aplicación...................................................................................5
Para eliminar una secuencia de comandos de la aplicación..................................................5
Limitaciones de secuencias de comandos de aplicación.......................................................6
Script de ventana....................................................................................................................6
Script de claves.......................................................................................................................7
Scripts de Condición...............................................................................................................8
Script de cambio de datos.......................................................................................................9
Configuración de secuencias de comandos de acción...........................................................9
Script de acción.....................................................................................................................10
Comandos de eventos de ActiveX........................................................................................11
Ejecución de secuencias de comandos................................................................................13
Etiqueta del sistema $LogicRunning.....................................................................................13
The Script Language.............................................................................................................14
Reglas básicas de sintaxis....................................................................................................14
Sintaxis para llamadas a funciones estándar........................................................................15
Pasar parámetros a una función...........................................................................................15
Llamada de funciones (QuickFunctions)...............................................................................16
Pasar parámetros a una función rápida................................................................................16
Asignación de valores y operadores.....................................................................................16
Desplazar hacia la izquierda: SHL y desplazar a la derecha: SHR......................................18
Bit a bit AND: &......................................................................................................................18
OR de bits: |...........................................................................................................................19
XOR a bit: ^...........................................................................................................................19
Conjunción lógica: AND.........................................................................................................19
Disyunción lógica: OR...........................................................................................................19
Negación lógica: NOT............................................................................................................20
Comparaciones: <,>, <=,> =, ==, <>.....................................................................................20
Establecer el orden de evaluación de los operadores..........................................................20
Conversión implícita de tipos de datos.................................................................................21
Ejemplos de expresiones......................................................................................................21
Programas condicionales......................................................................................................21
Estructura Condicional Simple..............................................................................................22
Estructura condicional anidada.............................................................................................22
Bucles de programa..............................................................................................................23
Uso de variables locales.......................................................................................................25
Denominación de conflictos entre variables locales y etiquetas..........................................26
III. WindowMaker: Su Entorno de Desarrollo......................................................................27
WindowMaker........................................................................................................................27
Configuración de las preferencias de WindowMaker............................................................27
Para establecer las propiedades de WindowMaker..............................................................28
Uso de la cuadrícula de pantalla y la regla...........................................................................29
Para configurar la cuadrícula................................................................................................29
Uso de la regla......................................................................................................................29
Para mostrar u ocultar las reglas..........................................................................................29
Panorámica y zoom...............................................................................................................29
Para mostrar u ocultar la barra de herramientas Panorámica y Zoom.................................29
Uso de la ventana de miniaturas para desplazar y ampliar..................................................29
Uso de la rueda del ratón para hacer zoom y panorámica...................................................30
Limitaciones de panorámica y zoom.....................................................................................30
Administrar barras de herramientas......................................................................................30
Para mostrar u ocultar una barra de herramientas...............................................................30
Para cambiar el tamaño de una barra de herramientas flotante..........................................30
Para ocultar todas las barras de herramientas a la vez.......................................................31
Uso del Explorador de aplicaciones......................................................................................31
Navegación en el Explorador de aplicaciones......................................................................31
Adición de aplicaciones al explorador de aplicaciones.........................................................31
Configurar Explorador para abrir archivo, como documento u hoja de cálculo....................31
Uso de paletas de colores.....................................................................................................32
Apertura de la paleta de colores...........................................................................................32
Para crear un color personalizado........................................................................................32
Para seleccionar un color personalizado con la herramienta Cuentagotas.........................33
Para establecer los valores predeterminados de la fuente...................................................33
Uso del modo de pantalla completa......................................................................................33
Cortos de ratón......................................................................................................................33
Para acceder a los comandos de menú de los elementos de WindowMaker......................33
Para abrir el cuadro de diálogo Enlaces de animación........................................................33
Para acceder a la etiqueta dotfields......................................................................................33
Para abrir una definición de tagname en el Diccionario Tagname.......................................34
Mover objetos con las teclas de flecha.................................................................................34
Cuando la cuadrícula está mostrando:.................................................................................34
Cuando la cuadrícula no se muestra:...................................................................................34
IV. Aplicaciones Windows....................................................................................................34
Para crear una nueva ventana..............................................................................................34
Configuración de Windows para que aparezca en tiempo de ejecución..............................35
Modificación de las ventanas de la aplicación......................................................................35
Apertura, almacenamiento y cierre de Windows..................................................................35
Para abrir una ventana..........................................................................................................35
Para guardar una ventana....................................................................................................36
Cerrar una ventana...............................................................................................................36
Duplicación de Windows.......................................................................................................36
Eliminación de Windows.......................................................................................................36
V. Objetos de WindowMaker...............................................................................................37
Objetos simples.....................................................................................................................37
Creación de líneas y formas.................................................................................................37
Creación de botones.............................................................................................................37
Creación de polilíneas y polígonos.......................................................................................38
Creación de texto..................................................................................................................38
Objetos complejos.................................................................................................................38
Células y Símbolos................................................................................................................38
Agrupación de objetos en celdas:.........................................................................................39
Agrupación de objetos con símbolos:...................................................................................39
Manipulaciones comunes......................................................................................................39
Selección de objetos.............................................................................................................39
Mover Objetos.......................................................................................................................40
Alineación de objetos............................................................................................................41
Capas de objetos (Layering Objects)....................................................................................41
Control del espaciado horizontal y vertical...........................................................................42
Volteo de objetos y celdas.....................................................................................................42
Cambiar el tamaño de los objetos.........................................................................................42
Objetos giratorios..................................................................................................................42
Cambiar la apariencia del texto.............................................................................................43
Cambio de líneas y esquemas..............................................................................................43
Cambio de relleno.................................................................................................................44
Eliminación de objetos..........................................................................................................44
Deshacer cambios.................................................................................................................44
Cortar, copiar y pegar objetos...............................................................................................45
Cortar, copiar y pegar vínculos de objetos............................................................................45
Duplicación de objetos..........................................................................................................45
Cambiar la configuración de objetos de polilínea y polígono...............................................46
Trabajar con contenedores de mapa de bits.........................................................................46
Definición de la transparencia de mapa de bits....................................................................47
Cambio del radio de un rectángulo redondeado...................................................................47
Sustitución de texto de objeto...............................................................................................47
VI. Animación de objetos......................................................................................................48
Dos tipos de enlaces de animación:.....................................................................................48
Animaciones de visualización de datos................................................................................48
Creando Movimiento.............................................................................................................49
Creación de rotación.............................................................................................................50
Animación de tamaños..........................................................................................................51
Animación de colores............................................................................................................52
Animación de niveles de llenado...........................................................................................54
Cómo hacer que los objetos parpadeen...............................................................................55
Habilitación de la visibilidad..................................................................................................56
Desactivación de objetos......................................................................................................56
Configuración de las sugerencias de herramientas..............................................................57
Posicionamiento de una ventana sensible al tacto...............................................................58
Animaciones de entrada de datos.........................................................................................59
Habilitación de entradas discretas........................................................................................59
Activación de la entrada analógica.......................................................................................60
Activación de la entrada de cadena......................................................................................60
Activación de deslizadores (Sliders).....................................................................................61
Activación de botones pulsadores........................................................................................62
Para crear un enlace de script de acción..............................................................................62
Apertura y cierre de ventanas...............................................................................................62
Configuración de teclados en pantalla..................................................................................63
DialogStringEntry() Function.................................................................................................64
DialogValueEntry() Function..................................................................................................64
Tareas comunes de animación.............................................................................................66
Creación de un filtro de etiquetas.........................................................................................66
Cambiar la vista en el cuadro de diálogo Seleccionar etiqueta............................................67
Crear atajos de teclado.........................................................................................................68
Cambiar las referencias de variables....................................................................................68
VII. Secuencias de comandos con objetos OLE...................................................................69
Función OLE_CreateObject ()...............................................................................................70
Función OLE_IsObjectValid ()...............................................................................................70
Función OLE_ReleaseObject ()............................................................................................70
Asignar varios punteros al mismo objeto OLE:.....................................................................72
Solucionar errores OLE.........................................................................................................73
Cosas que puedes hacer con OLE.......................................................................................74
Panel de propiedades de fecha y hora de Windows abierto................................................76
Minimizar Windows...............................................................................................................76
VIII. Introducción a la gestión de datos..................................................................................77
Trabajar con las etiquetas de InTouch..................................................................................77
Tipos de etiquetas InTouch...................................................................................................78
Etiquetas de memoria...........................................................................................................78
Etiquetas de E / S..................................................................................................................79
Etiquetas indirectas...............................................................................................................79
Etiquetas varias.....................................................................................................................80
Propiedades de la etiqueta...................................................................................................81
Propiedades de la etiqueta de memoria...............................................................................82
Propiedades de la etiqueta de E / S......................................................................................83
Referencias de etiquetas remotas........................................................................................84
IX. Administrar etiquetas con el TagnameDictionary............................................................84
Planificación del uso de etiquetas.........................................................................................84
Creación de nuevas etiquetas...............................................................................................85
Configuración de propiedades de etiqueta...........................................................................86
Propiedades comunes de la etiqueta....................................................................................86
Convenciones de nombre de etiqueta..................................................................................86
Automáticamente nombrar etiquetas....................................................................................86
Comentarios de la etiqueta...................................................................................................87
Descripción de las propiedades de las etiquetas..................................................................87
Rangos de valor, unidades de medida y un valor inicial.......................................................87
Tag Deadbands. (Etiqueta Bandas muertas)........................................................................87
Retención de valor de etiqueta.............................................................................................88
Registro de etiquetas............................................................................................................89
Creación de etiquetas enteras y reales................................................................................90
Creación de etiquetas de mensaje........................................................................................90
Creación de etiquetas de E / S.............................................................................................91
Modificación de etiquetas......................................................................................................91
Eliminación de etiquetas.......................................................................................................91
Impresión de una lista de etiquetas e información de uso....................................................91
X. Uso de etiqueta Dotfields para ver o cambiar propiedades de etiqueta........................91
Dotfields disponibles para tipos de etiquetas........................................................................92
Cambiar los límites de valor de una etiqueta........................................................................92
Visualización del límite de valor bruto. (The Raw Value Limit).............................................93
.MinRaw Dotfield...................................................................................................................93
.MaxRaw Dotfield..................................................................................................................93
Visualización del valor bruto de una etiqueta. (The Raw Value of a Tag).............................94
.RawValue Dotfield................................................................................................................94
Visualización del límite de valor de las unidades de ingeniería............................................94
.MaxEU Dotfield....................................................................................................................94
.MinEU Dotfield......................................................................................................................95
Cambio de las unidades de ingeniería de una etiqueta........................................................95
.EngUnits Dotfield..................................................................................................................95
Visualización del valor de una etiqueta en unidades de ingeniería......................................96
.Value Dotfield.......................................................................................................................96
Visualización o cambio de mensajes de etiqueta discreta...................................................96
.OnMsg Dotfield.....................................................................................................................96
.OffMsg Dotfield.....................................................................................................................97
Cómo ver o cambiar el comentario de una etiqueta.............................................................97
XI. Datos de marcas de tendencias.....................................................................................98
Tipos de tendencias de InTouch............................................................................................98
Comprensión de las tendencias históricas...........................................................................98
Mostrar valores de etiqueta guardados en una tendencia histórica.....................................99
Uso de objetos de tendencia histórica..................................................................................99
Creación de una tendencia histórica.....................................................................................99
Configuración de etiquetas que se muestran desde una tendencia histórica......................99
Configuración del intervalo de tiempo de una tendencia histórica.....................................100
Configuración de las opciones de visualización de tendencias históricas.........................101
Cambio de la configuración de tendencia en tiempo de ejecución....................................102
Control de una tendencia histórica utilizando campos de puntos......................................103
.DisplayMode Dotfield.........................................................................................................103
.MinRange Dotfield..............................................................................................................103
.MaxRange Dotfield.............................................................................................................104
.UpdateCount Dotfield.........................................................................................................104
.UpdateInProgress Dotfield.................................................................................................105
.UpdateTrend Dotfield.........................................................................................................105
.ChartLength Dotfield..........................................................................................................106
.ChartStart Dotfield..............................................................................................................107
.Pen1-8 Dotfields.................................................................................................................107
.TagID Dotfield.....................................................................................................................108
.ScooterLockLeft Dotfield....................................................................................................108
.ScooterLockRight Dotfield..................................................................................................109
.ScooterPosLeft Dotfield......................................................................................................109
.ScooterPosRight Dotfield...................................................................................................110
Uso del Asistente para tendencias históricas......................................................................111
Creación de una tendencia con el Asistente para tendencias históricas............................111
Configuración de las etiquetas a mostrar en el gráfico de tendencia.................................112
Configuración de la tendencia histórica..............................................................................112
Configuración de las opciones de visualización..................................................................113
Cambiar la configuración en tiempo de ejecución..............................................................114
Control Asistente de tendencia histórica mediante secuencias de comandos...................114
Actualización de la tendencia a la hora actual....................................................................114
Cambio de la configuración de tendencias.........................................................................114
Función HTSelectTag()........................................................................................................115
Función HTSetPenName()..................................................................................................115
Recuperación de información sobre la tendencia y los datos históricos............................116
Función HTGetTimeAtScooter()..........................................................................................116
Función HTGetTimeStringAtScooter ()...............................................................................117
Función HTGetValue ()........................................................................................................117
Función HTGetValueAtScooter ()........................................................................................118
Función HTGetValueAtZone ()............................................................................................118
Panorámica y zoom de la tendencia...................................................................................119
Función HTScrollRight ().....................................................................................................120
Función HTZoomIn ()..........................................................................................................120
Función HTZoomOut ().......................................................................................................120
Impresión de la tendencia...................................................................................................121
Función PrintHT()................................................................................................................121
Solución de problemas de la tendencia..............................................................................121
Función HTGetLastError ()..................................................................................................121
Visualización de valores en tiempo real en una tendencia.................................................122
Uso de objetos de tendencia en tiempo real.......................................................................122
Creación de una tendencia en tiempo real.........................................................................122
Configurar qué etiquetas mostrar en una tendencia en tiempo real...................................123
Configuración de opciones de visualización de tendencias en tiempo real.......................124
Impresión de una tendencia en tiempo de ejecución.........................................................125
Uso del InTouch HMI con el Historiador de Wonderware...................................................126
Configuración de plumas para mostrar datos de tendencia remota...................................127
Explorador de etiquetas para asignar pluma a proveedor de historial remoto...................127
Utilizar QuickScript para asignar pluma a un proveedor de historial remoto.....................128
XII. Asistentes. (Wizards.)...................................................................................................128
Trabajar con asistentes.......................................................................................................128
Tipos de asistentes..............................................................................................................128
Adición de asistentes a la barra de herramientas...............................................................128
Cómo pegar instancias del asistente..................................................................................129
Configuración de asistentes................................................................................................129
Realización de operaciones estándar en asistentes..........................................................129
Instalación y eliminación de asistentes...............................................................................129
Objetos de tendencias.........................................................................................................130
Asistentes de controles de Windows..................................................................................131
Creación y configuración de controles de Windows...........................................................131
Creación de un cuadro de texto. (Text Box)........................................................................132
Creación de un cuadro de lista. (List Box)..........................................................................132
Creación de un cuadro combinado. (Combo Box)..............................................................133
Creación de una casilla de verificación. (Check Box).........................................................133
Creación de un grupo de botones de radio.........................................................................134
Scripting de controles de Windows.....................................................................................134
Cómo obtener o establecer el valor de un control..............................................................134
Activación o desactivación de un control para entrada de usuario....................................136
Ocultar controles de Windows dinámicamente...................................................................136
Agregar y eliminar elementos en cuadros combinados......................................................137
Cargar y guardar elementos de la lista desde o hacia un archivo......................................139
El ControlType es COMBOBOX o LISTBOX......................................................................140
Trabajar con índices de elementos en un cuadro combinado o lista..................................141
Recuento de caja de lista o elementos de cuadro combinado...........................................143
Cómo obtener o establecer el valor de un elemento de lista..............................................143
Cómo obtener el nombre de un elemento de lista..............................................................144
Cargar el contenido de un cuadro de texto.........................................................................145
Comprobar si un cuadro de texto es de sólo lectura..........................................................146
Obtener o establecer la etiqueta de una casilla de verificación.........................................146
Descripción de los mensajes de error de los controles de Windows.................................147
II. Scripts.

Tipos de Scripts.
• Los scripts de aplicación se ejecutan de forma continua mientras se está ejecutando WindowViewer o una vez
cuando se inicia o se cierra WindowViewer.
• Los scripts de ventana se ejecutan periódicamente cuando una ventana de InTouch está abierta o una vez
cuando se abre o cierra una ventana de InTouch.
• Los scripts de teclas se ejecutan una vez o periódicamente cuando se presiona o libera una determinada tecla
o combinación de teclas.
• Los scripts de condición se ejecutan una vez o periódicamente cuando una determinada condición se cumple
o no se cumple.
• Los scripts de cambio de datos se ejecutan una vez cuando cambia el valor de una determinada etiqueta o
expresión.
• Los scripts de acción se ejecutan una vez o periódicamente cuando un operador hace clic en un objeto gráfico
InTouch HMI.
• ActiveX scripts de eventos se ejecutan una vez cuando se produce un evento de ActiveX, haga clic en el
control ActiveX.

Fig.1: Ejemplo de scripts de aplicación.

Para abrir un Script.


Los pasos para abrir un script existente varían ligeramente dependiendo del tipo de script.
Para abrir un script de aplicación:

 En la vista Clásica, en el panel Scripts, haga doble clic en Aplicación.


 En el menú especial, seleccione Scripts ya continuación, haga clic en Scripts de aplicación.
En la lista Tipo de condición, haga clic en el tipo de secuencia de comandos que desea editar.

58
Para abrir un script de ventana.
 Utilizando la vista clásica, en el panel de Windows, haga clic con el botón secundario en el nombre de la
ventana y, a continuación, haga clic en Scripts de ventana.
 Utilizando la vista de proyecto, expanda Scripts ya continuación, haga doble clic en la secuencia de
comandos.
 Abra la ventana a la que está asociado el script.
En el menú especial, seleccione Scripts y a continuación, haga clic.

Scripts de la ventana.
 Abra la ventana a la que está asociado el script.
 Haga clic con el botón secundario en un área en blanco en la ventana y, a continuación, haga clic en
Scripts de ventana.
En la lista Tipo de condición, haga clic en la condición para que se ejecute el script.

Para abrir una secuencia de comandos de eventos ActiveX.


 Utilizar la Vista clásica, en el panel Scripts, expanda Evento ActiveX ya continuación, haga doble clic en
el nombre de secuencia de comandos.
 Utilizando la vista de proyecto, expanda Scripts ya continuación, haga doble clic en la secuencia de
comandos.
 Haga doble clic en la instancia de control ActiveX a la que está asociada la secuencia de comandos.
Haga clic en la ficha Eventos y, a continuación, haga doble clic en la celda que contiene el nombre de
secuencia de comandos.

Para abrir un script de acción.


 Abra la ventana que contiene el elemento gráfico al que está asociado el script de acción.
 Haga doble clic en el elemento gráfico al que está asociado el script de acción.
 En el área Botones de pulsación, haga clic en Acción. Aparece el Editor de secuencias de comandos.
 En la lista Tipo de condición, haga clic en la acción para que se ejecute el script.

Para abrir una clave, una condición o un script de cambio de datos.


 En la vista clásica, en el panel Scripts, expanda la categoría de secuencia de comandos y, a
continuación, haga doble clic en el nombre de secuencia de comandos.
 Utilizando la vista de proyecto, expanda Scripts ya continuación, haga doble clic en la secuencia de
comandos.
 En el menú especial, seleccione Scripts ya continuación, haga clic en el tipo de secuencia de comandos
relevante. Aparecerá el Editor de secuencias de comandos. Haga clic en el botón Examinar y haga clic
en el nombre del script.
 Si procede, en la lista Tipo de condición, haga clic en la condición. Para que el script se ejecute.

Guardar o descartar cambios en un script.


Mientras trabaja en el Editor de secuencias de comandos, o cuando termine, puede guardar su secuencia de
comandos de forma manual o automática. O puede descartarlo por completo. La opción de restauración no está
disponible para los scripts de ventana y aplicación.

Nota: Guardar y descartar cambios siempre se aplica a todos los tipos de condición para un tipo de secuencia
de comandos, no sólo al tipo de condición que está actualmente visible.

Para guardar los cambios y mantener el script abierto.


 En el menú Script, haga clic en Guardar.

Para guardar los cambios y cerrar el script.


 Haga clic en Aceptar.

58
Para descartar cambios y mantener el script abierto.
 Haga clic en Restaurar.

Para descartar cambios y cerrar el script.


 Haga clic en Cancelar.

Copiar, cortar y pegar texto


Copiar, cortar y pegar texto en el Editor de secuencias de comandos funciona de la misma manera que en
cualquier otra aplicación de Windows. Utilice los atajos de teclado estándar Ctrl-C, Ctrl-X y Ctrl-V o los botones
de la barra de herramientas. Búsqueda y / o reemplazo de texto Puede buscar y reemplazar texto en un script.
Para buscar y / o reemplazar texto

 En el menú Edición, haga clic en Buscar. Aparecerá el cuadro de diálogo Reemplazar.


Las opciones de este cuadro de diálogo funcionan de la misma manera que en otras aplicaciones de Windows,
como el Bloc de notas.

Inserción de elementos de código.


Puede insertar automáticamente varios elementos de código en su secuencia de comandos seleccionándolos
en las listas. Esto ahorra tiempo y reduce el riesgo de errores de escritura.

Para insertar una función en un script.


 En el menú Insertar, seleccione Funciones y, a continuación, haga clic en el nombre de la categoría de
función. Aparece el respectivo cuadro de diálogo de función de selección. Si no puede ver la función
que le interesa, haga clic en Siguiente página en la parte inferior de la lista para ir a la página siguiente.
 Haga clic en la función que desea utilizar. El cuadro de diálogo se cierra y la función se inserta en el
script en la ubicación del cursor.

Para insertar una variable en un script.


 En el menú Insertar, haga clic en Tagname. Aparecerá el cuadro de diálogo Seleccionar etiqueta.
 Haga clic en la variable a utilizar. Alternativamente, puede hacer doble clic en una variable para insertar.
El campo de etiqueta y punto actualmente seleccionado en la lista de campos de puntos.
 Para incluir un campo de puntos, haga clic en él en la lista de campos de puntos.
 Haga clic en Aceptar. El cuadro de diálogo Seleccionar etiqueta se cierra y el nombre de etiqueta (con el
campo de puntos, si lo hay) se inserta en el script en la ubicación del cursor.

Para insertar un campo de puntos en un script.


 Escriba la variable y un punto.
 Haga doble clic a la derecha del período. Aparece el cuadro de diálogo Elegir nombre de campo.
 Haga clic en el campo de punto a utilizar. El cuadro de diálogo se cierra y el campo de puntos se inserta
en el script en la ubicación del cursor.

Para insertar un nombre de ventana en un script.


 En el menú Insertar, haga clic en Ventana. Aparecerá el cuadro de diálogo Nombre de ventana a
insertar.
 Haga clic en el nombre de la ventana que desea usar. El cuadro de diálogo se cierra y el nombre de la
ventana se inserta en el script en la ubicación del cursor.

58
Para insertar un método o propiedad ActiveX en un script.
 En el menú Insertar, haga clic en ActiveX. Aparecerá el cuadro de diálogo Explorador de control ActiveX.
 En la lista Nombre de control, haga clic en la instancia de control ActiveX cuyas propiedades y métodos
desea listar.
 En la lista Método / Propiedad, haga clic en el método o propiedad.
 Haga clic en Aceptar. El cuadro de diálogo se cierra y se inserta el método o la referencia de propiedad
en su secuencia de comandos en la ubicación del cursor.

Para insertar una palabra clave o un operador en un script.


 Haga clic en el botón correspondiente en la parte inferior del Editor de secuencias de comandos. La
palabra clave u operador se inserta en el script en la ubicación del cursor.

Desencadenadores de script.
Todas las secuencias de comandos de InTouch HMI se ejecutan mediante desencadenadores de script. Cada
tipo de secuencia de comandos tiene uno o más disparadores para iniciarlo.
En el Editor de secuencias de comandos, puede seleccionar el desencadenador de secuencia de comandos
que desea utilizar para ejecutar el script. Seleccione un desencadenador de secuencia de comandos basado en
cuándo y cómo se ejecuta un script.
Puede configurar varios disparadores basados en acciones de usuario, estados internos y cambios de valores
de variables. Las acciones del usuario incluyen presionar las teclas y hacer clic en elementos gráficos.
Los disparadores internos del estado pueden incluir iniciar WindowViewer.

Las secuencias de comandos se activan mediante este tipo de acciones:

 Inicio y cierre de WindowViewer. Configuración de secuencias de comandos de aplicaciones.


 Apertura y cierre de una ventana. Configuración de secuencias de comandos de la ventana.
 Presionar una tecla o combinación de teclas. Configuración de secuencias de comandos de claves.
 Cumplir con una condición determinada, como Tagname o un valor de expresión. Configuración de las
secuencias de condiciones.
 Cambiar los valores de las variables o los valores de los campos de variables. Configuración de
secuencias de comandos de cambio de datos.
 Hacer clic en un objeto gráfico. Configuración de scripts de acción.
 Eventos que se producen en un control ActiveX, como hacer clic en el control. Configuración de
secuencias de comandos de eventos de ActiveX.

Tipos de desencadenadores de secuencias de comandos.


En InTouch HMI, los scripts se dividen en siete tipos. Cada tipo de secuencia de comandos tiene uno o más
disparadores que puede seleccionar para iniciar un script.

 Un script de aplicación tiene tres disparadores: en el inicio, en el apagado y durante la ejecución. Cada
desencadenador puede ejecutar un script diferente.
 Un script de ventana tiene tres disparadores: en mostrar, en ocultar y mientras se muestra. Cada
desencadenador puede ejecutar un script diferente.
 Un script de clave tiene tres disparadores: en la tecla arriba, en la tecla hacia abajo, o mientras está
abajo. Cada desencadenador puede ejecutar un script diferente.
 Un script de condición tiene cuatro disparadores: true, while true, false y false. Cada desencadenador
puede ejecutar un script diferente.
 Un script de cambio de datos se ejecuta cuando el valor de una determinada etiqueta o expresión
cambia.
 Un script de acción se ejecuta una vez o periódicamente cuando un operador hace clic en un objeto
gráfico InTouch HMI.
 Un script de sucesos ActiveX se ejecuta una vez cuando se produce un cierto evento ActiveX, como un
clic en el control ActiveX.

58
Uso de disparadores múltiples.
Para la mayoría de los tipos de script, puede utilizar varios desencadenadores y asociar diferentes scripts con
cada desencadenador.
Por ejemplo, puede configurar una secuencia de comandos de aplicación para ejecutar una secuencia de
comandos cuando se inicia WindowViewer y otra secuencia de comandos periódicamente mientras se está
ejecutando WindowViewer. Seleccione el desencadenador en la lista Tipo de condición para ver el script
existente para un disparo.

Ejecución periódica de secuencias de comandos.


Los scripts que se ejecutan periódicamente no se ejecutan inmediatamente después del desencadenamiento,
sino después del período especificado por primera vez. Por ejemplo, si configura un script de clave para
ejecutar cada 5000 ms mientras se pulsa una tecla específica, se ejecuta 5 segundos después de presionar y
mantener pulsada la tecla y luego cada 5 segundos después.

Configuración de scripts de aplicación.


Los scripts de aplicación están vinculados a toda la aplicación InTouch HMI. Puede utilizar scripts de aplicación
para:

 Ejecutar un script una vez cuando se inicia WindowViewer.


 Ejecutar un script periódicamente mientras WindowViewer se está ejecutando.
 Ejecutar un script una vez cuando se cierra WindowViewer.

Para configurar un script de aplicación.


 En el panel Scripts, haga clic con el botón secundario en Aplicación y, a continuación, haga clic en Abrir.
Aparecerá el cuadro de diálogo Script de aplicación.
 En la lista Tipo de condición, haga clic en la condición
para la ejecución del script:
 Haga clic en inicio para configurar una secuencia de
comandos para ejecutar una vez cuando se inicia
WindowViewer.
 Haga clic en ejecución para configurar una
secuencia de comandos para ejecutar
periódicamente mientras se está ejecutando
WindowViewer.
 Haga clic en Apagar para configurar una
secuencia de comandos para que se ejecute una
vez cuando se cierra WindowViewer.
 Si ha seleccionado While Running en el paso anterior,
escriba un intervalo de tiempo entre 1 y 360000
milisegundos en el cuadro Every. El intervalo de tiempo especifica la frecuencia con la que se ejecuta
el script.
Fig.2: Cuadro de dialogo
 Escriba su secuencia de comandos en la ventana.
Aplicación Script.
 Haga clic en Aceptar.

Para eliminar una secuencia de comandos de la aplicación.


 En el panel Scripts, haga clic con el botón secundario en Aplicación y, a continuación, haga clic en Abrir.
Aparecerá el cuadro de diálogo Script de aplicación.
 En la lista Tipo de condición, haga clic en la condición para que el script se elimine. La secuencia de
comandos aparece en la sección principal del cuadro de diálogo Script de aplicación.
 En el menú Edición, haga clic en Borrar. El script de la sección principal se borra y el script asociado se
elimina.

58
Limitaciones de secuencias de comandos de aplicación.
Las secuencias de comandos de aplicación que se ejecutan cuando se inicia o se cierra WindowViewer tienen
limitaciones en su interacción con otros objetos.
No puede utilizar las secuencias de comandos de On Startup para:

 Referencia de métodos ActiveX, propiedades o eventos.


 Leer o escribir en controles y etiquetas de E / S o referencias remotas.
 Ejecutar scripts de cambio de datos y de condición.
No puede utilizar las secuencias de comandos de On Shutdown para:

 Leer o escribir en controles y etiquetas de E / S o referencias remotas.


 Iniciar otras aplicaciones.

Script de ventana
Configuración de secuencias de script de ventana:

Los scripts de ventana son scripts que están vinculados a ventanas específicas. Puede utilizar scripts de
ventana para:

 Ejecutar un script una vez cuando se abre una ventana de InTouch.


 Ejecutar un script periódicamente mientras una ventana InTouch está abierta.
 Ejecutar un script una vez cuando se cierra una ventana de InTouch.

Nota: Abrir una ventana InTouch también se conoce como "mostrar una ventana InTouch”. También se hace
referencia al cierre de una ventana InTouch. Como "ocultar una ventana InTouch".

Para configurar un script de ventana:

 Utilizando la vista clásica, en el panel de Windows, haga clic con el botón secundario en una ventana y,
a continuación, haga clic en Scripts de ventana. Aparecerá el cuadro de diálogo Window Script for
Window Name.
 En la lista Tipo de condición, realice una de las siguientes
acciones:
 Haga clic en Mostrar para configurar una
secuencia de comandos para ejecutar una vez
cuando se inicia la ventana asociada.
 Haga clic en Si bien se muestra para configurar
una secuencia de comandos para ejecutar
periódicamente mientras la ventana asociada está
abierta.
 Haga clic en Ocultar para configurar una
secuencia de comandos para que se ejecute una
vez cuando se cierra la ventana asociada.
 Si selecciona While Showing en el paso anterior, escriba un
intervalo de tiempo entre 1 y 360000 milisegundos en el cuadro Cada.
Fig.3: Cuadro de dialogo
 Escriba su secuencia de comandos en la ventana.
Window Script.
 Haga clic en Aceptar.

Para eliminar un script de ventana:

 En el panel de Windows, haga clic con el botón secundario del mouse en una ventana y haga clic en
Window Scripts. Aparecerá el cuadro de diálogo Window Script for Window Name.
 En la lista Tipo de condición, haga clic en el disparador de secuencia de comandos para que el script se
elimine. El script aparece en la sección principal del cuadro de diálogo Window Script for Window
Name.
 En el menú Edición, haga clic en Borrar.

58
Script de claves.
Configuración de secuencias de Script de claves:
Las secuencias de comandos clave son secuencias de comandos que están vinculadas a la pulsación de una
tecla específica o combinación de teclas. Puede utilizar los scripts clave para:
 Ejecutar un script una vez cuando se presiona una tecla o combinación de teclas.
 Ejecutar un script periódicamente mientras se presiona una tecla o combinación de teclas y no se
suelta.
 Ejecutar un script una vez cuando se libera una combinación de teclas o teclas.
Un script clave se identifica con el nombre de la clave que inicia el script. Por ejemplo: Ctrl + q.

Nota: Si ha configurado una secuencia de comandos de acción que utiliza la misma clave o combinación de
teclas para activarla, se omite el script de claves y, en su lugar, se ejecuta el script de acción.
Para configurar un script de clave:

 En la vista Clásica, en el panel Scripts, realice una de las siguientes acciones:

 Para configurar una nueva secuencia de comandos


de claves, haga clic con el botón derecho en Clave
y, a continuación, haga clic en Nuevo. Aparecerá el
cuadro de diálogo Scripts clave.

 Para configurar una secuencia de comandos de


clave existente, expanda Clave, haga clic con el
botón secundario en el nombre de secuencia de
comandos y, a continuación, haga clic en Modificar.
Aparecerá el cuadro de diálogo Editar secuencia de
comandos de claves.

 Haga clic en Tecla y seleccione una tecla en el cuadro de


diálogo elegir clave. Fig.4: Cuadro de dialogo Key Script.

Fig.5: Cuadro de
dialogo elegir
clave.

 Seleccione las casillas de verificación Ctrl y / o Mayúsculas para asignar una combinación de teclas de
control y / o de cambio a la tecla seleccionada.
 En la lista Tipo de condición, realice una de las siguientes acciones:
 Haga clic en On Key Down para configurar una secuencia de comandos para que se ejecute
una vez cuando se presiona la tecla asociada o la combinación de teclas.
 Haga clic en Aceptar para configurar una secuencia de comandos para que se ejecute
periódicamente mientras se presiona la tecla asociada o la combinación de teclas.
 Haga clic en On Key Up para configurar una secuencia de comandos para que se ejecute una
vez cuando se suelta la combinación de teclas o teclas asociada.
 Si seleccionó While Down en el paso anterior, escriba un intervalo de tiempo entre 1 y 360000
milisegundos en el cuadro.
 Escriba su secuencia de comandos en la ventana.

58
 Haga clic en Aceptar.

Para eliminar todos los scripts de teclas asociados con una clave:
 Utilizando la Vista clásica, en el panel Scripts, expanda Clave, haga clic con el botón secundario en el
nombre de secuencia de comandos de claves y, a continuación, haga clic en eliminar. Cuando aparezca
un mensaje, haga clic en Sí.
Para eliminar un script de clave asociado a una clave:
 En la vista Clásica, en el panel Scripts, expanda Clave, haga clic con el botón secundario en el nombre
de secuencia de comandos de claves y, a continuación, haga clic en Modificar. Aparecerá el cuadro de
diálogo Editar secuencia de comandos de claves.
 En la lista Tipo de condición, haga clic en el disparador de secuencia de comandos para que el script se
elimine. El script aparece en la sección principal del cuadro de diálogo Editar secuencia de comandos
de claves.
 En el menú Edición, haga clic en Borrar. El script de la sección principal se borra y el script asociado se
elimina.

Scripts de Condición.
Configuración de Scripts de Condición:
Los scripts de condición se activan dependiendo de cuándo se cumplen ciertas condiciones lógicas. Utilice
scripts de condición para ejecutar un script:
 Una vez cuando se cumple una condición.
 Una vez cuando una condición no se cumple.
 Periódicamente mientras se cumple una cierta condición.

 Periódicamente mientras no se cumple alguna condición.


Un script de condición identifica por la sintaxis de condición que inicia el script. Ejemplo: tag1> = 13

Nota: Una secuencia de comandos que se asigna al tipo de condición On True sólo se ejecuta si la condición
cambia de False a True. Un script al que se le asigna el tipo de condición Falso sólo se ejecuta si la condición
cambia de Verdadero a Falso.
Para configurar un script de condición:
 En la vista Clásica, en el panel Scripts:
 Haga clic con el botón secundario en Condición y haga clic en Nuevo. Aparece el cuadro de diálogo
Scripts de condiciones.
 Para editar una secuencia de comandos de condición existente, haga clic en el signo más junto a
Condición, haga clic con el botón secundario en el nombre de secuencia de comandos de condición y, a
continuación, haga clic en Editar. Aparecerá el cuadro de diálogo Editar secuencia de estado.
 En el cuadro Condición, escriba la expresión que desea utilizar
como condición.
 Puede introducir un comentario en el cuadro Comentario.
 En la lista Tipo de condición, realice una de las siguientes
acciones:
 Haga clic en Falso para configurar una secuencia de
comandos para que se ejecute una vez cuando la condición
se convierte en falsa.
 Haga clic en While False para configurar una secuencia de
comandos para ejecutar periódicamente mientras la
condición es falsa.
 Haga clic en Aceptar para configurar una secuencia de
comandos para que se ejecute una vez cuando la condición
se convierta en verdadera.
 Haga clic en While True para configurar una secuencia de
comandos para ejecutar periódicamente mientras la
condición es verdadera. Fig.6: Cuadro de dialogo
Condition Script.

58
 Si seleccionó While False o While True en el paso anterior, escriba un intervalo de tiempo entre 1 y
360000 milisegundos en el cuadro Cada.
 Escriba la secuencia de comandos o modifique la secuencia de comandos existente en la ventana.
 Haga clic en Aceptar.
Eliminar todos los scripts de condición que están asociados a una condición:

 Utilizando la vista clásica, en el panel Scripts, expanda Condición, haga clic con el botón secundario en
el nombre del script de condición y haga clic en Eliminar. Cuando aparezca un mensaje, haga clic en Sí.
Para eliminar secuencias de comandos de condición individuales que están asociadas con una
condición:

 En la vista Clásica, en el panel Scripts, expanda Condición, haga clic con el botón secundario en el
nombre de la secuencia de comandos de claves y haga clic en Editar. Aparecerá el cuadro de diálogo
Editar secuencia de estado.
 En la lista Tipo de condición, haga clic en el disparador de secuencia de comandos para que el script se
elimine. La secuencia de comandos aparece en la sección principal del cuadro de diálogo Editar
secuencia de estado.
 En el menú Edición, haga clic en Borrar. El script de la sección principal se borra y el script asociado se
elimina.

Script de cambio de datos.


Configuración de secuencias de Script de cambio de datos:

Puede utilizar scripts de cambio de datos para ejecutar un script una vez cuando un determinado campo de
variables o puntos cambie por más de su banda muerta definida.
Un script de cambio de datos es identificado por el campo tagname o tagname que inicia el script. Por ejemplo:
Tag1 o Tag2.HiHiLimit.
Para configurar un script de cambio de datos:

 Utilizando la Vista clásica, en el panel Scripts, haga clic con el


botón derecho cambio de datos y haga clic en Nuevo. El
cuadro de diálogo Scripts de cambio de datos. Aparece el
cuadro de diálogo.
 En el cuadro Tagname [.field], ingrese un campo tagname o
tagname.
 Escriba su secuencia de comandos en la ventana.
 Haga clic en Aceptar.

Fig.7: Cuadro de dialogo de Script de cambio de datos.

Para eliminar un script de cambio de datos:


 Utilizando la Vista clásica, en el panel Scripts, expanda Cambio de datos, haga clic con el botón
secundario en el nombre de la secuencia de comandos de cambio de datos y haga clic en Eliminar.
Cuando aparezca un mensaje, haga clic en Sí.

Configuración de secuencias de comandos de acción.


Utilice secuencias de comandos de acción para asociar acciones del operador con objetos gráficos. Puede
configurar uno o más de los siguientes eventos con un objeto gráfico:

 Haciendo clic en el botón izquierdo, central o derecho del ratón.


 Haciendo clic y manteniendo presionado el botón izquierdo, central o derecho del ratón.
 Soltar el botón izquierdo, central o derecho del ratón.

58
 Haga doble clic en el botón izquierdo, central o derecho del ratón.
 Presionar una tecla o combinación de teclas.
 Presionar y mantener presionada una tecla o combinación de teclas.
 Soltar una combinación de teclas o teclas.
 Mover un puntero del ratón sobre un objeto.

Un script de acción sólo se puede configurar en el enlace de animación. Panel de selección del propio objeto.

Importante: Si existe un script de clave que se activa mediante la misma combinación de teclas o de teclas
que el script de acción, se ejecuta el script de acción y se ignora el script de clave.

Script de acción.
Para configurar un script de acción:

 Haga doble clic en el objeto gráfico. Los Enlaces de Animación


Aparece el panel de selección.
 Haga clic en Acción. Aparecerá el cuadro de diálogo Touch -> Action Script.

F ig .8:
Panel de selección para configurar script. Fig.9: Cuadro de dialogo Touch-> Action script.

 En la lista Tipo de condición, haga clic en uno de los siguientes:

Para configurar una secuencia de comandos


Click
que se ejecuta en esta condición
Una vez que se presiona el botón izquierdo del ratón o
On Left Click/Key Down
una cierta tecla o combinación de teclas.
Periódicamente mientras se presiona el botón izquierdo
While Left/Key Down
del ratón o una cierta tecla o combinación de teclas.
Una vez que se suelta el botón izquierdo del ratón o una
On Left/Key Up
cierta tecla o combinación de teclas.
Una vez cuando el botón izquierdo del ratón es doble clic. On Left Double Click
Una vez que se presiona el botón derecho del ratón On Right Click
Periódicamente mientras se presiona el botón derecho
While Right Down
del ratón.
Una vez que se suelta el botón derecho del ratón. On Right Up
Una vez que el botón derecho del ratón es doble clic On Right Double Click
Una vez que se presiona el botón central del ratón On Center Click
Periódicamente mientras se presiona el botón central del
While Center Down
ratón
Una vez que se suelta el botón central del ratón On Center Up

58
Una vez, cuando el botón central del ratón es doble clic On Center Double Click
Una vez que el ratón se mueve sobre el objeto. On Mouse Over

 Si selecciona En Clic Izquierdo / Tecla Abajo, Mientras Izquierda / Tecla Abajo, o En Izquierda / Tecla
Arriba:
a) Haga clic en Clave. Aparecerá el cuadro de diálogo Elegir clave.
b) Haga clic en una tecla.
c) Seleccione las casillas de verificación Ctrl y / o Mayúsculas para asignar una combinación de teclas de
control y / o de cambio a la tecla seleccionada.

 Si selecciona While Left / Key Down o While Right Down, escriba un intervalo de tiempo entre 1 y
360000 milisegundos en el cuadro Cada.
 Si selecciona En el ratón sobre, en el cuadro Después, escriba el número de milisegundos entre 1 y
360000 para pasar después de que el mouse se ha movido sobre el objeto antes de ejecutar el script.
 Escriba su secuencia de comandos en la ventana.
 Haga clic en Aceptar.

Eliminar todos los scripts de acción asociados a un objeto gráfico de InTouch:

 Haga doble clic en el objeto gráfico. Aparece el


panel de propiedades del objeto.
 Haga clic para desactivar la casilla de verificación
Acción. Los scripts de acción no se ejecutarán
durante el tiempo de ejecución. Si hace clic en el
botón Acción, el editor se abre con el último
guardado para cualquier objeto.

Fig.10: Panel de propiedades del objeto.

Para eliminar un Script de acción individual:

 Haga doble clic en el objeto gráfico que tiene el script de acción que desea eliminar. Aparece el panel
de propiedades del objeto.
 Haga clic en el botón Acción. Aparecerá el cuadro de diálogo Touch -> Action Script.
 En la lista Tipo de condición, haga clic en el desencadenador de secuencia de comandos. (script
trigger).
 En el menú Edición, haga clic en Borrar. El script de la sección principal se borra y el script asociado se
elimina.

Comandos de eventos de ActiveX.


Configuración de secuencias de comandos de eventos de ActiveX.

Utilice secuencias de comandos de eventos ActiveX para ejecutar una secuencia de comandos cuando se
produce un suceso ActiveX. Dependiendo del control ActiveX, tales eventos pueden incluir:
 Se inicia el control ActiveX: Inicio
 El control ActiveX está cerrado: Apagado
 El usuario hace clic en el control ActiveX: haga clic en
 El usuario hace doble clic en el control ActiveX: Doubleclick

Un script de evento ActiveX se identifica con un nombre. De forma predeterminada, InTouch HMI agrega
automáticamente el nombre del control y el evento al que está asociado el script. Por ejemplo:

58
MyActiveXScript (AlarmViewerCtrl1::Click).

Para configurar un nuevo script de evento ActiveX:

 Haga doble clic en el control ActiveX para


configurarlo. Aparecerá el cuadro de diálogo
Propiedades de control ActiveX.

Fig.11: Cuadro de dialogo de propiedades de Control


ActiveX.

 Haga clic en la pestaña Eventos.

Fig.12: Click en pestaña eventos (Events).

 Seleccione un evento como haga clic, haga doble clic, apague o inicie.
 Haga clic en la celda Scripts para ese evento. Aparecen los corchetes.
 Escriba un nuevo nombre para un script de evento y haga clic en Aceptar. Cuando aparezca un
mensaje, haga clic en Aceptar para crear un nuevo script. Aparecerá el cuadro de diálogo ActiveX Event
Scripts.

58
 En el cuadro Nombre, puede realizar cambios en el
nombre del script de sucesos de ActiveX.
 Escriba su secuencia de comandos en la ventana.
 Haga clic en Aceptar.

Fig.13: Cuadro de dialogo ActiveX Event Scripts.

Para editar un script de evento ActiveX existente:

 En la vista Clásica, en el panel Scripts, expanda Evento ActiveX, haga clic con el botón secundario del
mouse en el nombre del script ActiveX y haga clic en Editar. Aparecerá el cuadro de diálogo ActiveX
Event Scripts.
 Realice los cambios necesarios en el script y haga clic en Aceptar.

Para eliminar un script de evento ActiveX existente:

 Asegúrese de que ningún control ActiveX esté utilizando la secuencia de comandos de eventos ActiveX
que desee eliminar. Si hay controles ActiveX que utilizan el script, haga lo siguiente primero:
 Elimine las referencias de secuencia de comandos de eventos ActiveX en el panel Eventos de
cada control ActiveX que pueda estar utilizando.
 Cierre todas las ventanas y actualice las cuentas de uso.

 En la vista Clásica, en el panel Scripts, expanda Evento ActiveX, haga clic con el botón secundario en el
nombre del script ActiveX y haga clic en Eliminar. Cuando aparezca un mensaje, haga clic en Sí. Se
elimina la secuencia de comandos de eventos ActiveX.

Ejecución de secuencias de comandos.


Pausar la ejecución de secuencias de comandos en tiempo de ejecución:

De forma predeterminada, cuando se inicia WindowViewer, la lógica se está ejecutando y se ejecutan


secuencias de comandos síncronas. Puede detener la ejecución de secuencias de comandos en tiempo de
ejecución deteniendo la lógica. Después de pausar, puede reanudar la ejecución de la secuencia de comandos.

Detener la ejecución de secuencias de comandos en tiempo de ejecución desde el menú:

 En el menú Lógica, haga clic en Halt Logic. Los scripts síncronos dejan de ejecutarse. Los scripts
asíncronos continúan ejecutándose pero no se inician nuevos scripts asíncronos.

Detener la ejecución de secuencias de comandos en tiempo de ejecución con secuencias de comandos:

 Escriba el valor 0 en la etiqueta de sistema discreta $LogicRunning. Los scripts síncronos dejan de
ejecutarse. Los scripts asíncronos continúan ejecutándose pero no se inician nuevos scripts asíncronos.

Reanudar la ejecución de secuencias de comandos en tiempo de ejecución:

58
 En el menú Lógica, haga clic en Iniciar lógica. Se reanuda la ejecución del script.

Reanudar la ejecución de secuencias de comandos en tiempo de ejecución con secuencias de


comandos:

 Escriba el valor 1 en la etiqueta de sistema discreta $LogicRunning. La etiqueta del sistema $


LogicRunning debe estar contenida en una secuencia de comandos asincrónica que se está ejecutando
en el momento en que se pausa la lógica.

Etiqueta del sistema $LogicRunning.


Esta etiqueta de sistema monitorea y / o controla el funcionamiento de los scripts.
Uso: $LogicRunning
Observaciones:
 Al establecer el valor en 1 se inicia el script. Establecer el valor en 0 detiene el script en ejecución.
 Esta etiqueta de sistema equivale a seleccionar Inicio de lógica o Halt lógica en el menú Lógica de
WindowViewer.
 No puede detener secuencias de comandos asincrónicas que se están ejecutando actualmente. Sin
embargo, puede evitar que se ejecuten nuevas secuencias de comandos.
 Tipo de datos: Discreto (lectura / escritura).

The Script Language.


El lenguaje de secuencia de comandos.

Reglas básicas de sintaxis.


Las reglas básicas de sintaxis cubren estos aspectos del lenguaje de script InTouch HMI:
 Subrutinas.
No hay concepto de subrutinas separadas dentro de la misma secuencia de comandos, como
procedimientos "Sub" en Visual Basic. Para estructurar un script en varias subrutinas, debe crear una
QuickFunction personalizada para cada subrutina. Funciones de escritura personalizadas.

 Declaraciones.
 Una sentencia puede ser una asignación de valor, una llamada de función o una estructura de control.
 Cada instrucción en un guión debe terminar con un punto y coma (;).
 Puede tener varias sentencias en la misma línea, siempre y cuando cada sentencia termine con un punto
y coma.
 Puede distribuir una sentencia a través de varias líneas utilizando saltos de línea (presionando Enter).

 Indentación (Sangría).
Puede indentar el código de secuencia de comandos de cualquier manera. Las sangrías no tienen
relevancia funcional.

 Comentarios.
Para marcar el texto como un comentario, ciérrelo entre llaves {}. Los comentarios pueden abarcar
varias líneas.

 Referencias de etiquetas.
 Para referirse a una etiqueta que se define en el TagnameDictionary local, simplemente use la variable.
 Para referirse a un campo de punto específico, utilice el formato de referencia regular (Tagname.Dotfield).
 Para referirse a un elemento de datos en un nodo remoto, utilice una referencia de etiqueta remota regular
(AccessName: Ítem).
 También puede definir variables locales cuyo ámbito se limita al script actual. Consulte Uso de variables
locales.

58
 Valores de datos literales.
 Puede especificar valores enteros en notación decimal o hexadecimal. Por ejemplo, 255 o 0xFF.
 Puede especificar valores de coma flotante en notación decimal o científica. Por ejemplo, 0,001 o 1E-3.
 Para especificar un valor booleano, utilice los valores numéricos 0 para FALSE y 1 para TRUE.
 Para especificar un valor de cadena, colóquelo entre comillas dobles. Por ejemplo: "Esto es una cadena".

 Expresiones de valor.
Las expresiones de valor pueden incluir valores literales, referencias de etiquetas y llamadas a
funciones, todas enlazadas entre sí por operadores adecuados .

 Validación de sintaxis.
Cuando guarda una secuencia de comandos, el Editor de secuencias de comandos comprueba
automáticamente la sintaxis correcta. También puede iniciar esta validación manualmente haciendo clic
en el botón Validar.

Sintaxis para llamadas a funciones estándar.


Sintaxis para llamadas a funciones estándar:

La sintaxis para llamar a una función de script predefinida depende de si y cómo la función devuelve un
resultado.
Algunas funciones no devuelven ningún resultado; Algunas funciones devuelven un resultado opcional que se
puede asignar a una etiqueta o utilizar en una expresión; Algunas funciones devuelven un resultado que debe
asignarse a una etiqueta o utilizarse en una expresión.
Para determinar el tipo de función, observe la descripción de la función. Cada descripción de función tiene una
lista de sintaxis que muestra si la función devuelve un resultado y si ese resultado es opcional.

Para llamar a una función que no devuelve un resultado:

 Utilice sólo el nombre de la función (y los parámetros, si los hay) en una sentencia. Por ejemplo:

FunctionName(Parameters);
Para llamar a una función que requiere asignar su resultado:

 Utilice el nombre de la función (y los parámetros, si los hay) en cualquier lugar de una secuencia de
comandos donde pueda utilizar un valor literal o una variable del tipo de datos relevante. Por ejemplo,
en una asignación de valor:

ResultsTagname = FunctionName(Parameters);
O en una llamada de función anidada, usándola como parámetro para
Otra función:
OtherFunction(FunctionName(Parameters));
Para llamar a una función que devuelve un resultado opcional:

 Utilice cualquiera de los procedimientos anteriores.

Pasar parámetros a una función.


Los parámetros de las funciones predefinidas estándar normalmente se pasan por valor. Esto significa que
puede pasar cualquier expresión válida como parámetro, siempre y cuando la expresión se evalúe en el tipo de
datos que se requiere para el parámetro.

Tales expresiones pueden incluir valores literales, referencias de etiquetas y llamadas a funciones, todas
enlazadas entre sí por operadores adecuados.

58
Cuando el script llama a la función, la expresión se evalúa y el valor resultante se pasa a la función.
Sin embargo, hay algunas funciones que requieren una referencia de etiqueta como un parámetro. Por ejemplo:

RecipeSelectRecipe(Filename, RecipeName, Number);

En este ejemplo, el parámetro RecipeName debe ser una referencia de etiqueta (es decir, debe utilizar una
variable literal para el parámetro RecipeName). No puede pasar una expresión de cadena en su lugar, incluso si
esa expresión se evalúa como una variable válida.

Nota: Algunas funciones legadas predefinidas con sólo un parámetro (por ejemplo, la función Ack ()) no siguen
la sintaxis estándar de pasar parámetros entre paréntesis. En su lugar, el parámetro se separa del nombre de la
función por un espacio. Compruebe la descripción de la sintaxis en la documentación de la función si tiene
dudas acerca de una función en particular.

Llamada de funciones (QuickFunctions).


Llamada de funciones personalizadas (Funciones rápidas (QuickFunctions)).

Llamar a una función rápida personalizada difiere ligeramente de llamar a una función estándar predefinida:

 La palabra clave CALL debe preceder al nombre de QuickFunction.


 Los resultados devueltos por QuickFunctions son siempre opcionales; Puedes usarlos, pero no tienes
que hacerlo.

Para llamar a una función rápida que no devuelve un resultado:

 Utilice el nombre de la función (y los parámetros, si los hay) precedidos por la palabra clave CALL en
una sentencia. Por ejemplo:
CALL QuickFunctionName(Parameters);
Para llamar a una función rápida que devuelve un resultado:

 Realice una de las siguientes acciones:


 Llame a la QuickFunction como si no hubiera devuelto un resultado (consulte el procedimiento anterior).
 Utilice el nombre de la función (y los parámetros, si los hubiere) precedidos por la palabra clave CALL
en cualquier lugar de una secuencia de comandos donde pueda utilizarse un valor literal o una variable
del tipo de datos relevante. Por ejemplo, en una asignación de valor:

ResultsTagname = CALL
QuickFunctionName(Parameters);
O en una llamada de función anidada, utilizando como parámetro para una función estándar:

OtherFunction(CALL FunctionName(Parameters));
Nota: No puede anidar llamadas QuickFunction para que una función rápida se utiliza como un parámetro para
otra QuickFunction. Por ejemplo:

CALL QF1 (CALL QF2 ()); No es una declaración válida.

Pasar parámetros a una función rápida.


Los parámetros de QuickFunctions siempre se pasan por valor.
No puede pasar parámetros a QuickFunctions por referencia.

58
Puede pasar cualquier expresión válida como parámetro, siempre y cuando la expresión se evalúe en el tipo de
datos que se requiere para el parámetro. Tales expresiones pueden incluir valores literales, referencias de
etiquetas y llamadas a funciones, todas enlazadas entre sí por operadores adecuados.
Cuando el script llama a la función, la expresión se evalúa y el valor resultante se pasa a la función.

Asignación de valores y operadores.


En un script, se utilizan asignaciones de valores para escribir valores en una etiqueta. La sintaxis para una
asignación de valores es la siguiente:
Tagname = ValueExpression;
Cuando se ejecuta esta sentencia, ValueExpression se escribe en la etiqueta referida por Tagname.
ValueExpression puede ser cualquier expresión válida cuyo tipo de datos coincida con el tipo de datos de
etiqueta. Las expresiones de valor pueden incluir valores literales, referencias de etiquetas y llamadas a
funciones, todas enlazadas entre sí por operadores adecuados.

Operadores compatibles.

Nota: Para los cálculos numéricos, siempre seleccione los operandos para que el resultado del cálculo se
encuentre dentro del rango de valores de un número real. De lo contrario, el resultado no será correcto.

Adición o Concatenación: +
Agrega dos operandos numéricos o concatena dos operandos de cadena.
Operandos válidos:
Para la adición: Cualquier valor entero o real
Para concatenar: Cualquier valor de Mensaje
Tipo de datos de valor devuelto
Para la adición: Integer o Real
Para concatenar: Mensaje
Ejemplo: MessageTag = "Setpoint value: " + Text(SetpointTag,"#.##");

Sustracción o negación: -
Cuando se usa con dos operandos, realiza una sustracción numérica normal. Cuando se utiliza con un
operando, cambia el signo del operando.
Operandos válidos: Cualquier valor entero o real.
Tipo de datos de valor devuelto: Entero o real
Ejemplo: En este ejemplo, si OriginalValue es 70, InvertedValue se convierte en -70. Si OriginalValue es -70,
InvertedValue se convierte en 70.
InvertedValue = -OriginalValue;

Multiplicación: *
Multiplicación numérica regular.
Operandos válidos: Cualquier valor entero o real.
Tipo de datos de valor devuelto: Entero o real.

División: /
División numérica regular. Si intenta dividir por 0 en tiempo de ejecución, 0 se devuelve como el resultado.
Operandos válidos: Cualquier valor entero o real
Tipo de datos de valor devuelto: Entero o real.

58
Poder (Power): **
Levanta el operando izquierdo (la base) a la potencia del operando derecho (la potencia).
Operandos válidos: Entero o Real. No es posible combinar una base de 0 con una potencia negativa, o una
base negativa con una potencia fraccional. En estos casos, se devuelve 0 como resultado.
Tipo de datos de valor devuelto: Entero o real
Ejemplo: 8 ** (1/3) returns 2 (the cubic root of 8)

Modulo: MOD.
Devuelve el resto de la división de dos valores enteros.
Operandos válidos: Cualquier valor entero.
Tipo de datos de valor devuelto: Entero
Ejemplo: 37 MOD 4 returns 1

Complemento: ~
Devuelve el complemento de un valor entero. Es decir, convierte cada bit cero en un bit y viceversa.
Operandos válidos: Cualquier valor entero.
Tipo de datos de valor devuelto: Entero.

Desplazar hacia la izquierda: SHL y desplazar a la derecha: SHR.


Cambia la representación binaria de un valor entero a la derecha o a la izquierda por un número especificado de
posiciones de bit. El operando izquierdo es el valor a ser desplazado, el operando derecho es el número de
posiciones de bit. Se pierden los bits que se han desplazado de la palabra.
Las posiciones de bit desocupadas por el cambio se establecen en 0.
Operandos válidos: Cualquier valor entero.
Tipo de datos de valor devuelto: Entero.
Ejemplo: IntTag = IntTag SHL 1; Tiene los siguientes resultados cuando

Ejecutado repetidamente para un valor de etiqueta inicial de 5:

Bit a bit AND: &


Compara las representaciones binarias de dos números enteros, bit para bit, y devuelve un resultado de
acuerdo con la siguiente tabla:

58
Puede utilizar este operador para "enmascarar" rápidamente (establecer a 0) ciertas partes de un patrón de bits.
Por ejemplo, la siguiente instrucción enmascara los 24 bits superiores de la etiqueta IntTag.

IntTag = IntTag & 255;

Como se muestra en la tabla, el bit de resultado es siempre 0 si uno de los bits de operando es 0. En la
representación binaria de 255, sólo los 8 bits inferiores son 1, por lo que los 24 bits restantes causan todos los
bits correspondientes en el Resultado para que se establezca en 0.
Operandos válidos: Cualquier valor entero.
Tipo de datos de valor devuelto: Entero.

OR de bits: |
Compara las representaciones binarias de dos números enteros, bit para bit, y devuelve un resultado de
acuerdo con la siguiente tabla:

Esta operación también se denomina "inclusive OR".


Operandos válidos: Cualquier valor entero.
Tipo de datos de valor devuelto: Entero.

XOR a bit: ^
Compara las representaciones binarias de dos números enteros, bit para bit, y devuelve un resultado de
acuerdo con la siguiente tabla:

Esta operación también se llama "OR


exclusivo".
Operandos válidos: Cualquier valor entero.
Tipo de datos de valor devuelto: Entero.

Conjunción lógica: AND.


Devuelve TRUE si ambos operandos discretos son TRUE; En caso contrario, devuelve FALSE. La tabla de
verdad para este operador es la siguiente:

58
Operandos válidos: Cualquier valor discreto.
Tipo de datos de valor devuelto: Discreto.

Disyunción lógica: OR.


Devuelve TRUE si al menos uno de los operandos discretos es TRUE; En caso contrario, devuelve FALSE. La
tabla de verdad para este operador es la siguiente:

Operandos válidos: Cualquier valor discreto.


Tipo de datos de valor devuelto: Discreto.

Negación lógica: NOT.


Devuelve TRUE si el operando discreto es FALSE y viceversa. La tabla de verdad para este operador es la
siguiente:

Operandos válidos: Cualquier valor discreto.


Tipo de datos de valor devuelto: Discreto.

Comparaciones: <,>, <=,> =, ==, <>.


Estos operadores comparan dos valores y devuelven TRUE si se cumple la condición especificada por el
operador. Los operandos pueden ser de cualquier tipo de datos. Para los operandos de cadena, la comparación
se basa en un orden alfabético, no sensible a mayúsculas y minúsculas, siendo b mayor que a, c mayor que b, y
así sucesivamente. Para los operandos discretos, TRUE se considera mayor que FALSE. La siguiente tabla lista
todos los operadores de comparación junto con sus condiciones:

58
Operandos válidos: Valores de cualquier tipo de datos (ambos valores deben ser del mismo tipo de datos).
Tipo de datos de valor devuelto: Discreto.

Establecer el orden de evaluación de los operadores.

En cualquier expresión, puede utilizar paréntesis para obligar a los


operadores a ser evaluados en un cierto orden. Esto funciona de la misma
manera que en cualquier expresión matemática. Si no utiliza paréntesis,
su expresión se evalúa en función de las reglas de precedencia
predeterminadas para los operadores. La operación con el nivel de
precedencia más alto se ejecuta primero, seguida de la operación con el
segundo nivel de precedencia más alto, y así sucesivamente.
La siguiente tabla muestra el nivel de precedencia de cada operador. Los
operadores en la misma fila tienen el mismo nivel de precedencia.

Conversión implícita de tipos de


datos.
El lenguaje de scripting InTouch HMI proporciona
conversión de valores implícitos en asignaciones
entre ciertos tipos de datos.
Sin embargo, esto puede dar lugar a resultados
inesperados, por lo que sólo debe utilizar esta
función con precaución.
La tabla siguiente muestra lo que ocurre cuando
se asigna un valor de un tipo determinado a una
etiqueta de un tipo diferente.

Ejemplos de expresiones
La siguiente tabla muestra algunas expresiones válidas, junto con el resultado de la expresión y el tipo de datos
del resultado.

58
Programas condicionales.
Uso de estructuras de ramificaciones de programas condicionales.

Puede controlar dinámicamente la ruta de ejecución de un script en función de ciertas condiciones que se
cumplan. El InTouch HMI soporta estructuras de control IF-THEN-ELSE para este propósito. La sintaxis básica
para una estructura de control IF-THEN-ELSE es la siguiente:

Sintaxis:
IF Condition THEN
... statements and/or another IF-THEN-ELSE structure
[ELSE
... statements and/or another IF-THEN-ELSE
structure]
ENDIF

Recuerde las siguientes reglas al trabajar con estructuras IF-THEN-ELSE:

 Estructuras IF-THEN-ELSE pueden anidarse, tanto en la sección THEN como en la sección ELSE.
 Para cada instrucción IF, debe haber una instrucción FINIF de cierre. Una instrucción ENDIF siempre se
aplica a la instrucción IF más cercana anterior en el mismo nivel de anidamiento.
 La condición debe ser una expresión discreta válida. La sección THEN se ejecuta si Condition es TRUE.
La sección ELSE se ejecuta si la condición es FALSE.
 La sección ELSE es opcional.
 Algunos otros lenguajes de programación permiten comprobar varias condiciones en el mismo nivel de
jerarquía de una estructura IF-THEN-ELSE y tener una sección ELSE general que se ejecuta si todas
las condiciones se evalúan como FALSE. (La estructura If-ElseIf-Else en Visual Basic es un ejemplo de
esto.) Esto no es posible en la InTouch HMI. Para cada condición a comprobar, debe abrir una nueva
estructura IF-THEN-ELSE. Por lo tanto, para tener una sola sección de código para actuar como el
código ELSE para todas las condiciones, debe colocarlo en la sección ELSE de la estructura IF-THEN-
ELSE en el último nivel de anidamiento.

58
Estructura Condicional Simple.
El siguiente script muestra una estructura condicional simple. If SuccessTag es TRUE, se abre la ventana
"Success", de lo contrario se abre la ventana "Failure".

IF SuccessTag == 1 THEN
Show "Success";
ELSE
Show "Failure";
ENDIF;

Estructura condicional anidada.


La siguiente secuencia de comandos muestra cómo comprobar varias condiciones y tener una sección general
ELSE con código que se ejecuta si no se cumplen ninguna de las condiciones.

IF ChoiceTag == 1 THEN
Show "Procedure 1";
ELSE
IF ChoiceTag == 2 THEN
Show "Procedure 2";
ELSE
IF ChoiceTag == 3 THEN
Show "Procedure 3";
ELSE
Show "Default Procedure";
ENDIF;
ENDIF;
ENDIF;

Ejemplo de secuencias de comandos no válido (ENDIF desaparecido).

Si está familiarizado con Visual Basic, puede intentar escribir una instrucción IF simple como ésta:

IF OpenThisWindow == 1 THEN Show "This Window";

Esto no funciona en el InTouch HMI. Para cada instrucción IF, debe haber una instrucción ENDIF de cierre.

Ejemplo de secuencias de comandos no válido (anidamiento incorrecto).

Si está familiarizado con un lenguaje como Visual Basic, puede escribir una estructura condicional con varias
condiciones y una condición predeterminada como esta:

IF ChoiceTag == 1 THEN
Show "Procedure 1";
ELSE IF ChoiceTag == 2 THEN
Show "Procedure 2";

58
ELSE IF ChoiceTag == 3 THEN
Show "Procedure 3";
ELSE
Show "Default Procedure";
ENDIF;

Esto no funciona en el InTouch HMI. Cada IF abre un nuevo nivel de anidamiento y debe tener una instrucción
ENDIF correspondiente.

Bucles de programa.
Utilización de bucles de programa.

Los bucles permiten ejecutar una sección de código repetidamente. El InTouch HMI sólo admite bucles FOR. Un
bucle FOR funciona supervisando el valor de una variable de bucle numérico que se incrementa o decrementa
con cada iteración de bucle. Los Loop se ejecutan hasta que el valor de la variable de bucle alcance un límite
fijo.
Sintaxis:
FOR LoopTag = StartExpression TO EndExpression [PASO
ChangeExpression]
... instrucciones u otro bucle FOR...
NEXT;

 StartExpression, EndExpression y ChangeExpression definen juntos el número de


iteraciones.
 StartExpression establece el valor inicial del intervalo de bucle. EndExpression establece el valor
final del intervalo de bucle.
 STEP ChangeExpression opcionalmente establece el valor por el cual la etiqueta de bucle se
incrementa o disminuye durante cada iteración de bucle; Si no se especifica, se utiliza un valor
predeterminado de 1.

Cuando se ejecuta un bucle FOR, el InTouch HMI:

 Establece LoopTag en el valor de StartExpression.


 Comprueba si LoopTag es mayor que EndExpression. Si es así, el InTouch HMI sale del bucle. (Si
ChangeExpression es negativa, InTouch HMI comprueba si LoopTag es menor que EndExpression).
 Ejecuta las sentencias dentro del bucle.
 Incrementa LoopTag por el valor de ChangeExpression (1 a menos que se especifique lo contrario).
 Repite los pasos 2 a 4.

Recuerde las siguientes reglas al trabajar con bucles FOR:

 Los bucles FOR se pueden anidar. El número máximo de niveles de anidamiento depende de la
memoria disponible y los recursos del sistema.
 Para cada instrucción FOR, debe haber una instrucción NEXT de cierre. Una instrucción NEXT siempre
se aplica a la instrucción FOR anterior más cercana en el mismo nivel de anidamiento.
 LoopTag debe ser una etiqueta numérica (o variable local).
 StartExpression, EndExpression y ChangeExpression deben ser expresiones válidas que se evalúen en
un resultado numérico.
 Si ChangeExpression es positivo, EndExpression debe ser mayor que StartExpression; Si
ChangeExpression es negativo, StartExpression debe ser mayor que EndExpression. De lo contrario, el
bucle no se inicia.
 Para salir de un bucle, utilice la sentencia EXIT FOR.

58
 Hay un límite de tiempo para bucles.
 Precaución: La ejecución del bucle afecta a otros procesos en tiempo de ejecución.

Forzando el final de un bucle.

Puede salir de un bucle en cualquier momento llamando a la siguiente instrucción:


EXIT FOR;
Esta instrucción hace que la ejecución de secuencia de comandos continúe en la instrucción inmediatamente
después de la instrucción NEXT de bucle.

Ejemplo: El siguiente fragmento de código utiliza un bucle para insertar un gran número de registros ficticios en
una tabla de base de datos. Si hay un error al insertar un registro, el bucle se aborta para evitar la creación de
más errores.
FOR Counter = 1 TO 1000
ResultCode = SQLInsert(ConnectionID,
"BatchDetails","BindList1");
IF ResultCode <> 0 THEN
LogMessage("Error creating records! Aborting...");
EXIT FOR;
ENDIF;
NEXT

Efecto de bucles en otros procesos de tiempo de ejecución.

Mientras se ejecuta un bucle FOR, todos los demás procesos de tiempo de ejecución en
WindowViewer están en pausa. Esto incluye las siguientes áreas:
 Actualizaciones de pantalla (enlaces de animación, visualización de valores, tendencias, etc.). Esto
significa que no puede utilizar los bucles FOR para animar objetos, ya que no se producirá ningún
movimiento hasta que se haya completado el bucle.
 Comunicaciones de E / S. Por ejemplo, si modifica el valor de una etiqueta de E / S en un bucle FOR,
sólo el valor después de la iteración final se escribe en el dispositivo de E / S.
 Otros scripts, incluyendo QuickFunctions asíncronas.
Puede evitar pausar otros procesos de tiempo de ejecución al colocar el bucle FOR en un QuickFunction
asíncrono.

Límite de tiempo para la ejecución del bucle.

Para evitar bucles infinitos, hay un límite de tiempo durante el cual los bucles FOR deben completar la
ejecución. Si un bucle no completa la ejecución después de este intervalo de tiempo, WindowViewer lo termina
automáticamente y escribe un mensaje sobre la terminación al Visor de registros.

El límite de tiempo predeterminado es de 5 segundos. Puede personalizarlo agregando la siguiente línea al


archivo intouch.ini en el directorio de la aplicación:

LoopTimeout=x

Reemplazar x con el límite de tiempo en segundos.

Nota: El límite de tiempo se comprueba sólo en la instrucción NEXT del bucle. Por lo tanto, la primera iteración
del bucle se ejecuta siempre, incluso si tarda más que el límite de tiempo.

Ejemplos de bucles. (Loops).

La siguiente secuencia de comandos utiliza un bucle simple y una etiqueta indirecta para volver a inicializar 100
etiquetas (Tag001 a Tag100) con un valor de 0.

58
DIM Counter AS INTEGER;
FOR Counter = 1 TO 100
IndirectInteger.Name = "Tag" + Text(Counter, "000");
IndirectInteger.Value = 0;
NEXT;

La siguiente secuencia de comandos utiliza dos bucles anidados y una etiqueta indirecta para reinicializar 1000
etiquetas (Line01_Tag001 a Line10_Tag100) con un valor de 0.

DIM LineCounter AS INTEGER;


DIM TagCounter AS INTEGER;
FOR LineCounter = 1 TO 10
FOR TagCounter = 1 TO 100
IndirectInteger.Name = "Line" +
Text(LineCounter, "00") + "_Tag" +
Text(TagCounter, "000");
IndirectInteger.Value = 0;
NEXT;
NEXT;

Uso de variables locales.


Puede declarar variables locales en un script para almacenar resultados temporales o intermedios. Esto
aumenta el rendimiento y ayuda a mantener un bajo número de etiquetas. Puede usar variables locales como
tagnames en su secuencia de comandos. Sin embargo, existen ciertas diferencias:

 Las variables locales sólo existen dentro del ámbito del script en el que se declaran. Pierden su valor
cuando finaliza la ejecución del script. No pueden ser referenciados por otros scripts en su aplicación.
 Las variables locales no tienen campos de puntos.
 Las variables locales no cuentan para el recuento de etiquetas.

Antes de poder utilizar una variable local en un script, debe declararlo; De lo contrario, la referencia se
considera una variable. Puede declarar variables locales que tienen los mismos nombres que las etiquetas.

Declaración de una variable local.

Puede declarar variables locales en cualquier lugar de su secuencia de comandos, siempre y cuando las
declare antes de su primer uso. Para declarar una variable local, utilice la siguiente instrucción:

DIM LocVarName [AS DataType];


LocVarName es el nombre de la variable local. El nombre debe seguir las convenciones de nomenclatura para
tagnames.
DataType es el tipo de datos de la variable local. Los valores válidos son Discrete, Integer, Real y Message. Si
no especifica esta opción, Entero se utiliza como valor predeterminado.
Debe utilizar una instrucción DIM independiente para cada variable local para declarar.
Puede declarar cualquier número de variables locales. El número sólo está limitado por la memoria disponible.

Ejemplos: Para declarar una variable Entero:

DIM MyLocalIntVar AS Integer;

Para declarar múltiples variables reales:

58
DIM MyLocalRealVar1 AS Real;
DIM MyLocalRealVar2 AS Real;

La siguiente declaración no es válida:

DIM MyLocalRealVar1, MyLocalRealVar2 AS Real;

Denominación de conflictos entre variables locales y etiquetas.


Puede declarar una variable local con el mismo nombre que una etiqueta existente. Sin embargo, cuando se
hace referencia a ese nombre en un script, la variable local siempre tiene prioridad sobre la etiqueta. Por
ejemplo, suponga que tiene una etiqueta de entero existente llamada "iTag" y ejecuta la siguiente secuencia de
comandos:

DIM iTag as Integer;


iTag = 20;

En este escenario, la asignación de valor escribe un valor sólo en la variable local. El valor de la etiqueta con el
mismo nombre permanece sin cambios.

III. WindowMaker: Su Entorno de Desarrollo.

WindowMaker es el entorno de desarrollo que se utiliza para crear aplicaciones InTouch.

58
Configuración de las preferencias de WindowMaker.
Mediante el cuadro de diálogo Propiedades de WindowMaker, puede configurar preferencias y opciones que
afectan al comportamiento de WindowMaker. Usted puede:

 Cambie el texto de la barra de título.


 Visualice la cuadrícula o apague la cuadrícula.
 Cambie el espacio entre los píxeles de la cuadrícula.
 Mostrar el recuento de etiquetas.
 Cambiar las fuentes predeterminadas para el texto y los botones.
 Ajuste la precisión para la selección de líneas.
 Establezca una opción para cerrar WindowMaker al cambiar a WindowViewer.
 Establezca una opción para recoger objetos huecos.
 Active el cambio rápido de WindowMaker a WindowViewer.
 Establezca el número de niveles de deshacer.

58
Para establecer las propiedades de WindowMaker.
 En el menú especial, seleccione Configurar y, a
continuación, haga clic en WindowMaker. Aparecerá el
cuadro de diálogo Propiedades de WindowMaker.
 En el área Barra de título de WindowMaker, configure la
apariencia de la barra de título. Realice una de las siguientes
acciones:
 En el cuadro Texto de la barra de título, escriba el texto
que aparecerá en la barra de título durante el tiempo de
diseño.
 Seleccione la casilla de verificación Mostrar directorio
de aplicaciones para incluir la ruta de acceso a la
carpeta de la aplicación en la barra de título.
 En el área Configuración de cuadrícula, configure la
cuadrícula de fondo. Realice una de las siguientes acciones:
 En el cuadro Espaciado, escriba el número de píxeles
entre las coordenadas de la cuadrícula.
 Seleccione la casilla de verificación Mostrar cuadrícula
para mostrar la cuadrícula.
 Configure diversas propiedades de ventana. Realice una de las siguientes acciones:
 Seleccione la casilla de verificación Mostrar número de etiquetas para mostrar el número de variables
en su diccionario de variables en la barra de menús. Si tiene muchas etiquetas, mostrar el recuento de
etiquetas puede afectar el rendimiento del Diccionario de variables. Esto es útil si está creando una
aplicación con un tamaño de diccionario Tagname limitado. El número de variables no incluye las
referencias de variables remotas ni las etiquetas del sistema. Haga clic en Actualizar Utilizar recuentos
en el menú especial para averiguar su uso de referencia de referencia remota.
 Seleccione la casilla de verificación Cerrar en la transferencia a WindowViewer para cerrar
WindowMaker automáticamente cuando inicie WindowViewer. El propósito de esta opción es
conservar memoria limitada. Si la memoria no es un problema y se está moviendo a menudo entre
WindowViewer y WindowMaker, no seleccione esta opción. Cuando selecciona Cerrar en Transferir a
WindowViewer, también se selecciona el comando recíproco, Cerrar ventana, en la ficha Propiedades
generales del cuadro de diálogo Propiedades de Visor de ventana.
 Seleccione la casilla de verificación Recoger objetos huecos para seleccionar objetos que están detrás
de objetos huecos. Esto le permite hacer cosas como seleccionar un objeto dentro de un marco sin
tener que enviar el marco a la parte posterior.
 Seleccione la casilla de verificación Habilitar conmutador rápido para usar el "conmutador rápido" para
alternar entre WindowMaker y WindowViewer. El conmutador rápido es la palabra Runtime que
aparece en la esquina superior derecha de WindowMaker. En WindowViewer, es la palabra Desarrollo.
Cuando utiliza el conmutador rápido, WindowMaker guarda automáticamente todos los cambios
realizados en todas las ventanas abiertas antes de cambiar a WindowViewer.
 En el cuadro Precisión de selección de línea, escriba el número de píxeles que su cursor puede estar
alejado de una línea y aun así podrá seleccionarlo. En la mayoría de los casos, la configuración
predeterminada de 4 funciona bien.
 En el cuadro Niveles de deshacer, escriba el número de niveles de deshacer y rehacer para mantener.
 Puede tener hasta 25 niveles. Si escribe "cero", la función de deshacer / rehacer se desactiva.
 Un nivel representa una acción. Las pilas Undo y Redo están vacías cuando se crea una nueva
ventana o se abre una ventana existente. Las dos pilas se vacían cuando se cierra una ventana.
 En el área Configurar fuentes, haga clic en Texto o en Botón para establecer la fuente de texto o fuente de
botón predeterminada. Seleccione el valor predeterminado de la fuente y, a continuación, haga clic en
Aceptar. Puede reemplazar estos valores predeterminados en cualquier ventana mediante la barra de
herramientas Fuente.
 Haga clic en Aceptar.
 Reinicie WindowMaker para aplicar los cambios que haya realizado.

58
Uso de la cuadrícula de pantalla y la regla.
Puede mostrar una cuadrícula y una regla para ayudarle a organizar y alinear objetos. Ajustar objetos a la
cuadrícula Puede hacer que sus objetos se ajusten a puntos de cuadrícula predefinidos al seleccionar Ajustar a
cuadrícula. De forma predeterminada, la cuadrícula está establecida en 10 píxeles y estará visible cuando inicie
WindowMaker. Configure el intervalo de píxeles para la cuadrícula en el cuadro de diálogo Propiedades de
WindowMaker. Para ver la cuadrícula, debe seleccionar Mostrar cuadrícula en el cuadro de diálogo Propiedades
de WindowMaker y seleccionar Ajustar a cuadrícula en el menú Organizar.

Para configurar la cuadrícula.


 En el menú Special, elija Configure luego haga clic en WindowMaker. Aparecerá el cuadro de diálogo
Propiedades de WindowMaker.
 En el cuadro Espaciado, escriba el número de píxeles para espaciar entre coordenadas.
 Seleccione la casilla de verificación Mostrar cuadrícula si desea ver la cuadrícula cuando se selecciona
Ajustar a cuadrícula. Si no selecciona Mostrar cuadrícula, no hay ninguna cuadrícula visible en las
ventanas cuando selecciona Ajustar a cuadrícula.

Uso de la regla
Utilice las reglas para la alineación de precisión de los objetos en sus ventanas. Las reglas aparecen en la parte
superior ya lo largo de un lado de la ventana del entorno de desarrollo .

Para mostrar u ocultar las reglas


 En el menú Vista, haga clic en Regla.
 Repita el paso para ocultar la regla.

Panorámica y zoom
Puede acercarse y alejarse para ver mejor los elementos que está editando para asegurarse de que los objetos
se alinean exactamente o se colocan correctamente.

La barra de herramientas Panorámica y Zoom aparece de forma predeterminada en la parte inferior derecha de
la pantalla. Puede ser flotado o acoplado en otras ubicaciones, al igual que las otras barras de herramientas.

Usted puede:
 Ampliar y reducir de 100% a 500%.
 Zoom a un área específica con la herramienta de goma.
 Zoom la ventana a un porcentaje específico.
 Haga clic y arrastre para desplazar la ventana.
 Vuelva a la vista predeterminada normal.

Para mostrar u ocultar la barra de herramientas Panorámica y Zoom.


 En el menú Ver, haga clic en Panorámica y en Zoom.

Uso de la ventana de miniaturas para desplazar y ampliar.


Al acercar un detalle de la ventana de la aplicación, la ventana de miniaturas muestra la relación del detalle con
la aplicación completa. La ventana Miniaturas ofrece una visión general y un detalle del área de desarrollo.
Muestre u oculte la ventana Miniaturas haciendo clic en el botón Miniaturas. Un rectángulo rojo es el límite del
área ampliada dentro de una ventana.

58
 Arrastre el rectángulo rojo para mostrar una parte
diferente de la ventana.
 Haga clic en un área diferente de la ventana para
mover el rectángulo a esa área.
 Cambie el tamaño del rectángulo para cambiar el nivel
de zoom del área de visualización.

La vista en miniatura muestra un rectángulo blanco para


objetos que no se puede acercar, como un control ActiveX.

Uso de la rueda del ratón para hacer zoom y


panorámica.
Si su ratón tiene una rueda, puede presionar la tecla CTRL y girar la rueda para cambiar el nivel de zoom de su
imagen.
 Al girar la rueda del ratón, cada clic cambia el nivel de zoom en un 20%.
 También puede colocar el cursor en la ventana InTouch y pulsar la rueda del ratón para navegar dentro
de la ventana. Cuando presione la rueda del mouse, aparecerá un icono con cuatro flechas. Mueve el
ratón para navegar por la ventana.

Limitaciones de panorámica y zoom.


La panorámica y el zoom no se aplican a los siguientes controles:
• Controles ActiveX
• El objeto de alarma distribuida
• La Tendencia de 16 Plumas
• Objetos SPC Pro
• Cajas de texto
• Casillas de verificación
• Cuadros de lista
• Cajas de Combo
• Objetos del grupo de radio
Si uno de estos controles está en el área visible cuando la vista se amplía más de 100%, aparece un rectángulo
con el nombre del control en el área ocupada por el control.

Administrar barras de herramientas.


Puede mostrar u ocultar cualquiera de las barras de herramientas en el menú Ver. Puede mover cualquier barra
de herramientas desde su posición de acoplamiento predeterminada a cualquier otra ubicación dentro de la
ventana de desarrollo. Las barras de herramientas flotantes tienen barras de título y permiten cambiar su
tamaño. Al iniciar WindowMaker, se muestran todas las barras de herramientas. Puede flotar o acoplar una
barra de herramientas arrastrándola. Cuando muestra una barra de herramientas acoplada que estaba oculta,
reaparece en su última ubicación acoplada en la ventana.

Para mostrar u ocultar una barra de herramientas.


 En el menú Ver, haga clic en el nombre de la barra de herramientas.

Para cambiar el tamaño de una barra de herramientas flotante.


 Mueva el cursor sobre cualquier borde de la barra de herramientas. El cursor cambia a una flecha de
dos extremos.
 Arrastre el borde de la barra de herramientas para mover y cambiar el tamaño de la barra de
herramientas. A medida que mueve el cursor, aparece un cuadro que indica el tamaño de la barra de
herramientas cuando suelta el botón del ratón.

58
Para ocultar todas las barras de herramientas a la vez.
 En el menú Ver, haga clic en Ocultar todo.

Uso del Explorador de aplicaciones.


El Explorador de aplicaciones tiene dos vistas: Vista clásica y Vista de
proyecto. Estas vistas muestran las ventanas de la aplicación de InTouch y
las herramientas disponibles. Al igual que otras barras de herramientas,
pueden ser abiertas o cerradas, acopladas o flotantes.

Estas vistas le ofrecen acceso a todas las ventanas de la aplicación,


scripts, menús de configuración, el Diccionario de variables y asistentes. No
agregue WindowViewer (view.exe) al Explorador de aplicaciones. La forma
correcta de iniciar WindowViewer es haciendo clic en WindowViewer en el
menú Archivo o haciendo clic en el conmutador rápido Runtime en la barra
de herramientas.

Navegación en el Explorador de aplicaciones.


Puede expandir o contraer las carpetas en cualquiera de las barras de herramientas del Explorador de
aplicaciones. La vista Aplicaciones muestra otras aplicaciones instaladas.
Para expandir o contraer las carpetas del Explorador de aplicaciones:

 Haga doble clic en una carpeta o icono para expandir y miembros del grupo.
 Haga doble clic en un miembro para abrirlo.

Adición de aplicaciones al explorador de aplicaciones.


WindowMaker Application Explorer puede iniciar otras aplicaciones desde WindowMaker. Por ejemplo, puede
ejecutar un servidor de E / S y configurarlo al mismo tiempo que está desarrollando la aplicación. Puede iniciar
programas de terceros como Windows Bloc de notas, Wordpad, Microsoft Excel, Microsoft Word, Microsoft Paint
y así sucesivamente.

Configurar Explorador para abrir archivo, como documento u hoja de cálculo.


Puede configurar el Explorador de aplicaciones para abrir un archivo específico, como un documento o una hoja
de cálculo.

Para agregar una nueva aplicación al Explorador de aplicaciones:


 En el panel Herramientas de la vista Clásica, haga clic
con el botón secundario en Aplicaciones y, a continuación,
haga clic en Nuevo. Aparece la ventana Propiedades de
la aplicación.
 En el cuadro Nombre, escriba el nombre de la aplicación.
 En el cuadro Línea de comandos, escriba la ruta completa
para la aplicación. Haga clic en el botón de puntos
suspensivos para buscar la aplicación. Puede agregar
parámetros de línea de comandos para la aplicación en el
cuadro Línea de comandos.
 En la lista Estilo de inicio, haga clic en cómo desea que aparezca la aplicación cuando se inicie.
 Haga clic en Aceptar. La aplicación se agrega al Explorador de aplicaciones bajo Aplicaciones. Ahora
puede ejecutar la aplicación en cualquier momento desde WindowMaker.

58
Uso de paletas de colores.
Puede utilizar paletas de colores para aplicar el color a las propiedades estáticas y dinámicas de líneas,
rectángulos, rectángulos redondos, elipses, polilíneas, polígonos y texto. Puede seleccionar el color de fondo
para sus ventanas y el color transparente para los mapas de bits que le permiten ver objetos detrás de mapas
de bits. La paleta le ofrece una amplia gama de selecciones de colores, hasta 16,7 millones de colores. Los
colores disponibles pueden estar limitados por la capacidad de su tarjeta de video.

Tú también puedes:

 Definir y agregar colores personalizados.


 Importe paletas de color personalizadas creadas en otras aplicaciones de Windows.
 Exporte sus paletas a otras aplicaciones de Windows.

Apertura de la paleta de colores.


La paleta de colores aparece siempre que haga clic en un cuadrado de color en un cuadro de diálogo o haga
clic en una de las herramientas de color para aplicar línea, relleno o color de texto a un objeto seleccionado.

Para abrir la paleta de colores:

 Haga clic en un cuadrado de color en un cuadro de diálogo. Aparecerá la


paleta estándar.
 Haga clic en las flechas hacia la derecha para acceder a los colores
clásicos.
 Haga clic en el color que desea usar. La paleta de colores se cierra y se
aplica el color seleccionado.

Para crear un color personalizado.


 Abra la paleta de colores.
 En el área Paleta personalizada, haga clic con el botón secundario en uno
de los cuadrados en blanco y, a continuación, haga clic en Editar color
personalizado. Aparece el cuadro de diálogo Agregar un color.
 Realice una de las siguientes acciones:
 Haga clic en cualquier lugar de la pantalla en color y utilice el control
deslizante para ajustar el color. Para especificar que desea 100% del color
sin blanco o negro, presione ALT + O.
 Escriba valores en los cuadros Rojo, Verde y Azul para definir un color.
Puede experimentar con estos valores observando la matriz de color.
Observe que los valores de matiz, saturación y luminosidad también cambian.
 Escriba valores en los cuadros Hue, Sat y Lum para definir un color. Al cambiar cualquiera de estos
valores, las escalas roja, verde y azul cambian para coincidir. El tono es un valor de color discreto,
donde 0 es rojo, 60 es amarillo, 120 es verde, 180 es cian, 200 es magenta y
240 es azul. Saturación es la cantidad de color en un tono especificado, hasta un máximo de 240.
Luminosidad es el brillo de un color.
 Visualice el color resultante en el cuadro Color | Sólido. Si su monitor está configurado para mostrar
256 colores, el cuadro Color | Sólido podría mostrar dos colores. El lado derecho muestra cómo el
color seleccionado aparece como un color sólido. El lado izquierdo muestra el color difuminado, o la
aproximación del color específico usando dos de los 256 colores.
 Haga clic en Aceptar. También puede crear colores personalizados con la herramienta Cuentagotas.

58
Para seleccionar un color personalizado con la herramienta Cuentagotas.
 Abra la paleta de colores.
 Haga clic con el botón derecho en uno de los cuadrados en blanco de la sección Paleta personalizada
en la parte inferior de la paleta de colores.
 Haga clic en la herramienta Cuentagotas y, a continuación, haga clic en el color que desea agregar.

Para establecer los valores predeterminados de la fuente.


 En el menú especial, seleccione Configurar y, a continuación, haga clic en WindowMaker. Aparecerá el
cuadro de diálogo Propiedades de WindowMaker.
 En el área Configurar fuentes, haga clic en Texto o en Botón para establecer la fuente de texto o fuente
de botón predeterminada. Seleccione el valor predeterminado de la fuente y, a continuación, haga clic
en Aceptar. Puede anular estos valores predeterminados en cualquier ventana mediante la herramienta
Fuentes en la barra de herramientas Formato.
 Haga clic en Aceptar.

Uso del modo de pantalla completa.


El modo de pantalla completa oculta todos los elementos del programa excepto las ventanas abiertas y las
barras de herramientas flotantes. Para activar o desactivar el modo de pantalla completa:

 En la barra de herramientas Vista, haga clic en el botón Pantalla completa para cambiar del modo
normal al modo de pantalla completa. La barra de herramientas Vista cambia a la barra de herramientas
Restaurar automáticamente y flota en la parte superior.

Cortos de ratón.
Utilice los siguientes atajos para abrir cuadros de diálogo y realizar otras tareas comunes.

Para acceder a los comandos de menú de los elementos de WindowMaker.


 Haga clic con el botón derecho en el elemento. Los elementos incluyen objetos gráficos, nombres de
carpeta en las vistas, etc.

Para abrir el cuadro de diálogo Enlaces de animación.


 Haga doble clic en un objeto o símbolo. Para abrir el cuadro de diálogo Seleccionar etiqueta (Explorador
de etiquetas)
 Haga doble clic en un campo de entrada de expresión en blanco dentro de un cuadro de diálogo de
definición de vínculo. Aparecerá el cuadro de diálogo Seleccionar etiqueta.

Para acceder a la etiqueta dotfields.


 En cualquier cuadro de entrada Tagname o Expression, escriba
una variable más un punto y, a continuación, haga doble clic a
la derecha del período. También puede escribir sólo un punto y
hacer doble clic a la derecha de la misma. Aparece el cuadro
de diálogo Elegir nombre de campo que muestra todos los
campos de puntos de tagname.

Para abrir una definición de tagname en el Diccionario


Tagname
 Haga doble clic en la variable.

58
Mover objetos con las teclas de flecha.
En WindowMaker, puede utilizar las teclas de flecha para mover un objeto o grupo de objetos seleccionado. Al
mover objetos con las teclas de flecha, la distancia que un objeto mueve dependerá de si la cuadrícula está o
no mostrada.
Cuando se muestra la cuadrícula, el número de píxeles que mueve un objeto depende del espaciado de la
cuadrícula, que se establece en el diálogo de propiedades de WindowMaker. El valor predeterminado es diez
pixeles entre puntos de rejilla.

Cuando la cuadrícula está mostrando:


 Al pulsar una tecla de flecha se mueve el objeto un punto de cuadrícula.
 Presionando MAYÚS + una tecla de flecha mueve el objeto dos puntos de cuadrícula.
 Presionar CTRL + una tecla de flecha mueve el objeto cuatro puntos de rejilla.

Cuando la cuadrícula no se muestra:


 Al pulsar una tecla de flecha, el objeto se mueve un píxel.
 Presionando SHIFT + una tecla de flecha mueve el objeto diez píxeles.
 Presionar CTRL + una tecla de flecha mueve el objeto 50 píxeles.

IV. Aplicaciones Windows.

Para crear una nueva ventana.


 En el menú Archivo, haga clic en Nueva ventana. Aparecerá el cuadro de diálogo Propiedades de la
ventana.
 Configure las propiedades básicas de la ventana. Haz lo siguiente:
 En el cuadro Nombre, escriba un
nombre único que identifica la ventana.
 En el cuadro Comentario, escriba los
comentarios que desee asociados con
la ventana. El comentario debe tener
50 caracteres o menos.
 Haga clic en el cuadro Color de
ventana para seleccionar el color de
fondo de la ventana.
 En el área Tipo de ventana, configure cómo se
abre la ventana en tiempo de ejecución:
 Haga clic en Reemplazar para que la
ventana cierre automáticamente todas las ventanas con las que cruza cuando aparece en la
pantalla.
 Haga clic en Superposición para que la ventana aparezca en la parte superior de las ventanas
abiertas actualmente. Puede ser más grande que la (s) ventana (s) que está superponiendo.
Cuando se cierra una ventana de superposición, vuelven a aparecer las ventanas detrás de
ella. Al hacer clic en cualquier parte visible de una ventana situada detrás de una ventana de
superposición, se abre esa ventana al primer plano como ventana activa.
 Haga clic en Popup para que la ventana permanezca siempre en la parte superior de todas las
demás ventanas. Las ventanas emergentes normalmente requieren una respuesta del usuario
que se va a eliminar.

 En el área Estilo de marco, configure el borde alrededor de la ventana:

58
 Haga clic en Soltero para una ventana con borde tridimensional que puede tener una barra de
título y controles de tamaño. Seleccione la casilla de verificación Barra de título para incluir la
barra de título.
 Haga clic en Doble para una ventana con borde tridimensional sin barra de título y no se puede
clasificar sin controles de tamaño.
 Haga clic en Ninguno para una ventana sin borde o barra de título y que no se pueda clasificar
sin controles de tamaño.
 Seleccione la casilla de verificación Controles de tamaño para permitir a los usuarios cambiar el tamaño
de la ventana en tiempo de ejecución.
 En el área Dimensiones, especifique la ubicación y las dimensiones de la ventana. Haz lo siguiente:
 En el cuadro Ubicación X, escriba el número de píxeles entre el borde izquierdo del área de
diseño y el borde izquierdo de la ventana que se está definiendo.
 En el cuadro Ubicación Y, escriba el número de píxeles entre el borde superior del área de
diseño y el borde superior de la ventana que se está definiendo.
 En los cuadros Ventana ancho y altura de ventana, escriba el ancho y la altura de la ventana en
píxeles.
 Haga clic en Aceptar.

Configuración de Windows para que aparezca en tiempo de ejecución.


Las ventanas "Inicio" son ventanas que aparecen en WindowViewer cuando el usuario inicia WindowViewer
directamente, ya sea desde un icono o un comando de menú.
Las ventanas de inicio no aparecen si utiliza el conmutador rápido Runtime para iniciar WindowViewer.
Puede mostrar las ventanas de inicio en cualquier momento durante el tiempo de ejecución mediante la función
ShowHome () en un script.
Para establecer las ventanas de inicio
 En el menú Special, seleccione Configure y haga clic en WindowViewer. Aparecerá el cuadro de diálogo
Propiedades de WindowViewer.
 Haga clic en la pestaña Inicio Windows.
 Seleccione la ventana o ventanas que desee abrir cuando se inicie WindowViewer.
 Haga clic en Aceptar.

Modificación de las ventanas de la aplicación.


Al desarrollar su aplicación, puede modificar las propiedades de las ventanas en cualquier momento.
Para modificar las propiedades de una ventana de la aplicación:
 Haga clic con el botón secundario en el nombre de la ventana en la vista Clásica o Proyecto y haga clic
en Propiedades. Aparecerá el cuadro de diálogo Propiedades de la ventana.
 Realice los cambios.
 Haga clic en Aceptar.

Apertura, almacenamiento y cierre de Windows.


Mientras desarrolla su aplicación, puede abrir tantas ventanas como admita la memoria de su computadora.

Para abrir una ventana.


 En el menú Archivo, haga clic en Abrir ventana. Aparece el cuadro de diálogo Windows to Open que
muestra los nombres de todas las ventanas de la aplicación.
 Realice una de las siguientes acciones:
 Para abrir una sola ventana, haga doble clic en el nombre de la ventana.
 Para abrir varias ventanas, seleccione las casillas de verificación de las ventanas para abrirlas y
luego haga clic en Aceptar. Al guardar una ventana, también se guardan todos los gráficos,
QuickScripts, propiedades y así sucesivamente asociados con la ventana.

58
Para guardar una ventana.
 En el menú Archivo, haga clic en Guardar ventana. Aparecerá el cuadro de diálogo de Windows para
guardar, enumerando los nombres de todas las ventanas.
 Seleccione las ventanas que deben guardarse.
 Haga clic en Aceptar. Al cerrar una ventana que se ha modificado, se le pide que guarde los cambios.

Cerrar una ventana.


 En el menú Archivo, haga clic en Cerrar ventana. Aparecerá el cuadro de diálogo Windows to Close que
muestra los nombres de todas las ventanas actualmente abiertas.
 Seleccione la casilla de verificación junto al nombre de la ventana.
 Haga clic en Aceptar.

Duplicación de Windows
Cuando tiene procesos muy similares para simular y controlar, es posible que desee duplicar una ventana y
luego personalizarla para un proceso secundario o unidad.
Puede duplicar ventanas con todos los gráficos, QuickScripts, propiedades y así sucesivamente, asociados con
la ventana.
Antes de empezar, la ventana que desea duplicar debe estar abierta y guardada al menos una vez. Sólo puede
duplicar una ventana a la vez.

Para duplicar una ventana:

 En el menú Archivo, haga clic en Guardar ventana como. Aparecerá el cuadro de diálogo Ventana para
guardar en el nuevo nombre, con los nombres de todas las ventanas actualmente abiertas.
 Seleccione la casilla de verificación junto al nombre de la ventana.
 En el cuadro Nuevo nombre, escriba un nombre para la nueva ventana.
 Haga clic en Aceptar.

Eliminación de Windows.
Para conservar el espacio de almacenamiento de la computadora, o si la lista de ventanas en el Explorador de
aplicaciones se vuelve demasiado larga para administrar, puede eliminar ventanas no utilizadas.

Precaución: Asegúrese de eliminar la ventana correcta. No puede restaurar una ventana eliminada con
Deshacer.

Para eliminar una ventana:

 En el menú Archivo, haga clic en Eliminar ventana. Aparece un cuadro de diálogo con los nombres de
todas las ventanas.
 Seleccione el nombre de la ventana que desea eliminar y haga clic en Aceptar. Cuando aparezca el
mensaje, haga clic en Sí.
 Haga clic en Aceptar.

V. Objetos de WindowMaker.
Objetos simples.
Puede crear los siguientes tipos de objetos simples:

58
 Líneas
 Formas
 Texto
 Botones

Cada objeto simple tiene atributos que controlan cómo aparece:

 Color y peso de la línea


 Color de relleno
 Altura
 Ancho
 Orientación

Creación de líneas y formas.


La siguiente tabla describe cómo realizar tareas básicas de dibujo.
Los botones de dibujo se encuentran en la barra de herramientas Dibujo.

Dibujar esto Haga clic en Botón


Línea Botón de línea

Línea horizontal o vertical Botón de línea H / V

Rectángulo Botón Rectángulo


Rectángulo con esquinas
Botón de rectángulo redondeado
redondeadas
Botón de elipse. Mantenga presionada
Círculo o una elipse la tecla MAYÚS para dibujar un
círculo.

Creación de botones.
Puede utilizar los botones para crear puntos de interacción con su aplicación. El proceso es muy similar a la
creación de objetos de dibujo simples.

Para crear un botón:

 En la barra de herramientas Dibujo, haga clic en el botón [Botón].


 Haga clic y arrastre para colocar y clasificar el botón.

Edite el texto del botón predeterminado. Haz lo siguiente:

 Haga clic con el botón derecho en el botón y haga clic en Sustituir cadenas.
 En el cuadro Nueva cadena, escriba el texto del botón.
 Haga clic en Aceptar.

Creación de polilíneas y polígonos.


Dibujar polilíneas es ligeramente diferente a dibujar líneas.

Para crear polilíneas o polígono:

 En la barra de herramientas Dibujo, haga clic en el botón Polilíneas o Polígono.


 Haga clic en la ventana de la aplicación para establecer el primer punto.

58
 Haga clic de nuevo en la ventana de la aplicación para establecer más puntos para definir su polilíneas
o polígono.
 Haga doble clic en el último punto.

Creación de texto.
Puede utilizar el texto para etiquetar elementos visuales en su aplicación. Al crear texto, los ajustes de formato
de texto coinciden con los establecidos en el cuadro de diálogo Propiedades de WindowMaker. Puede cambiar
la apariencia del texto seleccionado. Al escribir varias líneas de texto, se convierten en objetos que se pueden
mover y editar independientemente. También puede combinar objetos de texto en un símbolo y editarlos como
un grupo.

Para crear texto:

 En la barra de herramientas Dibujo, haga clic en el botón Texto.


 Haga clic en el lugar donde se iniciará el texto.
 Escriba su texto y presione ENTRAR. Aparecerá una nueva línea de texto.

Objetos complejos.
Los objetos complejos proporcionan más funcionalidad que objetos simples. Los siguientes son tipos de objetos
complejos.

Células y Símbolos.
Puede combinar varios objetos en dos tipos diferentes de unidades individuales: celdas y símbolos. Una celda
puede contener cualquier objeto. Un símbolo sólo puede contener objetos simples. Los símbolos no pueden
contener celdas.
Para averiguar si un objeto específico es una celda o un símbolo, haga doble clic en el objeto.
 Se abre una celda, ya sea el cuadro de diálogo Sustituir variables o si la celda no contiene variables,
aparece el mensaje de advertencia Sustituir nombres.
 Un símbolo o un objeto gráfico simple abre el cuadro de diálogo Selección de enlaces de animación.

Acerca de las celdas:

Use una celda para combinar y mantener una relación espacial fija entre múltiples elementos. También puede
utilizar una celda para mover varios elementos alrededor y alinear con otros elementos gráficos. Para cambiar
los elementos de una celda, debe romper la celda, cambiar los elementos y, a continuación, combinar los
elementos en una celda de nuevo. Puede animar elementos de una celda pero no puede animar una celda.
Tampoco puede cambiar el tamaño de una celda.

Acerca de Símbolos:

Puede animar un símbolo y objetos simples. También puede utilizar un símbolo para animar partes de una
gráfica compleja. No puede hacer un símbolo si más de uno de los objetos seleccionados tiene vínculos. Si
combina dos símbolos en un nuevo símbolo, se pierde la estructura de símbolos original. Si rompe el nuevo
símbolo, se rompe en los componentes individuales de cada símbolo original. Los dos símbolos originales se
pierden.

Agrupación de objetos en celdas:


Puede combinar símbolos, mapas de bits, tendencias, botones, asistentes y otras celdas en una celda. Si
incluye un símbolo en una celda, todos los vínculos de animación asociados con ese símbolo permanecen
intactos. Después de utilizar una celda en un SmartSymbol, si rompe el SmartSymbol, no puede cambiar el
tamaño de la celda.

58
Para crear una celda:
 Seleccione los objetos que desea incluir.
 En el menú Organizar (Arrange), haga clic en Crear celda (Make Cell.).

Romper una celda:


 Seleccione la celda.
 En el menú Organizar (Arrange), haga clic en Romper celda (Break Cell).

Agrupación de objetos con símbolos:


Los símbolos no pueden contener bitmaps, botones, celdas, asistentes o tendencias. Si uno de los objetos
seleccionados tiene vínculos de animación adjuntos a él, los enlaces se adjuntan al nuevo símbolo.

Para crear un símbolo:


 Seleccione los objetos que desea incluir.
 En el menú Organizar (Arrange), haga clic en Crear símbolo (Make Symbol).

Romper un símbolo:
 Seleccione el símbolo.
 En el menú Organizar (Arrange), haga clic en Romper símbolo (Break Symbol).

Manipulaciones comunes.
Haga clic con el botón derecho en un objeto para ver un menú que muestre los comandos o acciones válidos
que puede aplicar a ese objeto. Usted puede:

• Seleccionar objetos (Select objects).


• Alinear objetos (Align objects).
• Objetos de capa (Layer objects).
• Voltear objetos (Flip objects).
• Cambiar el tamaño de los objetos (Resize objects).
• Cambiar fuente (Change font).
• Cambiar el relleno (Change fill).
• Control espaciado horizontal y vertical (Control horizontal and vertical spacing).
• Mover objetos (Move objects).
• Organizar objetos (Arrange objects).
• Deshacer cambios (Undo changes).
• Girar símbolos (Flip symbols).
• Rotar objetos (Rotate objects).
• Cambiar línea o esquema (Change line or outline).
• Eliminar objetos (Delete objects).

Selección de objetos.
Debe seleccionar un objeto antes de poder modificarlo. Cuando selecciona un objeto, las asas aparecen en el
perímetro del objeto. Puede utilizar estos controladores para cambiar el tamaño y / o remodelar el objeto.

Para seleccionar todos los objetos de la ventana activa:


 En el menú Edición, haga clic en Seleccionar todo o
presione F2.

Para seleccionar un objeto:

58
 Haga clic en el botón Seleccionar modo y haga clic en el objeto que desea seleccionar.

Para anular la selección de un objeto:


 Haga clic en un área en blanco de la ventana.

Para seleccionar varios objetos:


 Haga clic en el botón Seleccionar modo, seleccione el primer objeto, luego MAYÚS + haga clic en los
otros objetos.

Para seleccionar un grupo de objetos:


 Haga clic en el botón Seleccionar modo y arrastre un cuadro alrededor de los objetos. Se seleccionan
todos los objetos que están completamente dentro del rectángulo.

Para anular la selección de un objeto u objetos específicos de un grupo de objetos:


 MAYÚS + haga clic en el objeto.

Mover Objetos.
Puede mover objetos mediante:
 Arrastrarlos.
 Con las teclas de flecha del teclado.
 Escribir coordenadas de ventana en cuadros en la barra de estado. Al mover un objeto, observe cómo
cambian las coordenadas de la barra de estado.

Para mover un objeto arrastrando:


 Seleccione el objeto y arrástrelo.

Al mover objetos con las teclas de flecha, la distancia que un objeto mueve dependerá de si la cuadrícula está o
no mostrada.
Cuando se muestra la cuadrícula, el número de píxeles que mueve un objeto depende del espaciado de la
cuadrícula, que se establece en el diálogo de propiedades de WindowMaker. La configuración predeterminada
es de diez píxeles entre los puntos de la cuadrícula.

Cuando la cuadrícula se está mostrando:


 Al pulsar una tecla de flecha se mueve el objeto un punto de cuadrícula.
 Presionando MAYÚS + una tecla de flecha mueve el objeto dos puntos de cuadrícula.
 Presionar CTRL + una tecla de flecha mueve el objeto cuatro puntos de rejilla.

Cuando la cuadrícula no se muestra:


 Al pulsar una tecla de flecha, el objeto se mueve un píxel.
 Presionando SHIFT + una tecla de flecha mueve el objeto diez píxeles.
 Presionar CTRL + una tecla de flecha mueve el objeto 50 píxeles.

Para mover un objeto con las teclas de flecha:


 Seleccione un objeto y :
 presione una tecla de flecha.
 MAYÚS + presione una tecla de flecha.
 CTRL + presione una tecla de flecha.

Para mover un objeto con la barra de estado:


 Seleccione el objeto.

58
 Escriba las coordenadas X e Y en la barra de estado.
 Pulse Enter.

Alineación de objetos.
Puede alinear objetos por sus bordes izquierdos o derechos, centros, puntos centrales, tops, medias o fondos.
Mediante los comandos de menú o los botones, puede alinearse de varias maneras.

Seleccionar O haga clic en Hacer esto


Alinee los bordes izquierdos
de los objetos con el borde
Alinear a la izquierda
izquierdo del objeto más a la
izquierda.
Alinee los objetos con la línea
Alinear al centro
central vertical del grupo.
Alinee los bordes derechos de
los objetos con el borde
Alinear a la derecha
derecho del objeto más
alejado hacia la derecha.
Alinee los bordes superiores
Alinear las tapas con el borde superior del
objeto más alto.
Alinee los centros horizontales
Alinear el centro
con el centro del grupo.
Alinee los bordes inferiores
Alinear abajo con el borde inferior del objeto
más bajo.
Alinee los puntos centrales
Alinear puntos centrales
con el punto central del grupo

Para alinear objetos:


 Seleccione varios objetos.
 En el menú Organizar, seleccione Alinear y haga clic en el comando de alineación correspondiente.

Capas de objetos (Layering Objects).


Puede colocar objetos delante o detrás de otros.

Para colocar un objeto detrás de otro objeto:


 Seleccione los objetos.
 En el menú Organizar, haga clic en Enviar a la parte posterior.

Para colocar un objeto delante de otro objeto:


 Seleccione los objetos.
 Realice una de las siguientes acciones:
 En la barra de herramientas Organizar, haga clic en Traer al frente.
 En el menú Organizar, haga clic en Traer al frente.
 Presione MAYÚS + F9.

58
Control del espaciado horizontal y vertical.
Puede espaciar objetos horizontalmente entre el objeto seleccionado más a la izquierda y el objeto
seleccionado más a la derecha. También puede controlar el espaciado vertical entre el objeto seleccionado más
arriba y el objeto seleccionado más inferior.

Para espaciar objetos horizontal o verticalmente:


 Seleccione los objetos.
 En la barra de herramientas Organizar, haga clic en Espacio horizontalmente o haga clic en Espacio
verticalmente.

Volteo de objetos y celdas.


Puede voltear la mayoría de los objetos horizontal o verticalmente. Puede voltear objetos solos o en grupos.
Cuando mueves un objeto, lo transformas en su imagen espejo. No se puede mover el texto.

Cambiar el tamaño de los objetos.


Puede cambiar el tamaño de un objeto utilizando dos métodos. Puede arrastrarlo o especificar un ancho y una
altura exactos. Si el ajuste a la cuadrícula está activado, el objeto se ajusta a la cuadrícula durante la operación
de redimensión proporcional. El resultado es una ligera desviación en la relación entre el tamaño vertical y
horizontal. Para evitar esta desviación, desactive el ajuste a la cuadrícula.
Para cambiar el tamaño de un objeto arrastrando:
 Seleccione el objeto y, a continuación, coloque el punto del cursor de flecha en el centro de un asa.
 Arrastre el controlador para cambiar el tamaño del objeto.
Para cambiar el tamaño de un objeto mediante un redimensionamiento proporcional:
 Seleccione el objeto y SHIFT + arrastrar.
Para cambiar el tamaño de un objeto por dimensiones
 Seleccione el objeto.
 Escriba las dimensiones de ancho y altura en los cuadros W, H de la barra de estado.

Objetos giratorios.
Puede rotar la mayoría de los objetos incluyendo símbolos, texto y mapas de bits. No se pueden rotar las
celdas. Puede girar objetos en el sentido de las agujas del reloj o en sentido contrario a las agujas del reloj 360
grados en incrementos de 90 grados. La rotación de objetos en WindowMaker no tiene nada que ver con la
rotación dinámica de objetos en tiempo de ejecución o en WindowViewer. Gire objetos en WindowViewer
vinculándolos a una animación de orientación.

Para girar un objeto:

 Seleccione el (los) objeto (s).


 En la barra de herramientas Organizar, haga clic en Girar en el sentido de las agujas del reloj o haga
clic en Girar el contador en el sentido de las agujas del reloj.

Cambiar la apariencia del texto.


Puede configurar la apariencia de las fuentes antes de crear texto estableciendo los valores por defecto de
antemano o puede cambiar la apariencia de las fuentes después de crearlas. La configuración del atributo de
justificación de texto es importante para los objetos de texto que muestran valores dinámicos. La justificación
determina cómo aparecen los campos de longitud variable en tiempo de ejecución. Por ejemplo, si está
mostrando un valor numérico al final de una cadena de texto que está centrada o está justificada a la derecha,

58
toda la cadena de texto, incluido el valor, se centrará o se justificará cada vez que cambie el número de dígitos
mostrados. Mediante los comandos de menú o los botones, puede configurar el texto de varias maneras.

Para Hacer clic Botón

Cambiar la fuente, el estilo, el


Fuente
color o el tamaño del texto

Hacer el texto en negrita Negrita

Hacer el texto en cursiva Cursiva

Hacer el texto subrayado Subrayar

Reducir o ampliar el tamaño


Reducir Fuente o Ampliar Fuente
de fuente
Justificado a la izquierda, centrado
Cambiar la justificación
o justificado a la derecha

Para configurar el aspecto del texto:

 Seleccione el objeto de texto.


 En el menú Texto, haga clic en el comando de texto apropiado.

Cambio de líneas y esquemas.


Puede cambiar el color y el patrón o el ancho de las líneas o contornos alrededor de los objetos delineados. Los
objetos delimitados incluyen formas rellenas como elipses, rectángulos y polígonos, así como mapas de bits y
otras imágenes importadas. Las líneas más largas toman más tiempo para dibujar en tiempo de ejecución. Las
líneas discontinuas y punteadas sólo pueden tener un píxel de ancho.

Para establecer la configuración predeterminada de la apariencia de línea:

 Haga clic en un área en blanco de la ventana.


 En el menú Línea, seleccione el ancho o el patrón de la línea.
 En la barra de herramientas Formato, haga clic en la herramienta Color de línea.
 Seleccione un color.

Para cambiar el color de una línea:

 Seleccione una línea, un grupo de líneas o un objeto con un contorno.


 En la barra de herramientas Formato, haga clic en la herramienta Color de línea.
 Seleccione un color.

Para cambiar el estilo o el ancho de una línea o esquema:

 Seleccione el objeto.
 En el menú Línea, haga clic en el estilo de línea o el ancho.

Para eliminar un esquema:

58
 Seleccione el objeto.
 En el menú Línea, haga clic en Sin línea.

Cambio de relleno.
Las formas llenas incluyen la forma rodeada por una línea. Ejemplos de formas rellenas son rectángulos,
rectángulos redondeados, círculos, elipses y polígonos.

Para cambiar el color de relleno de un objeto:

 Seleccione el objeto.
 En la barra de herramientas Formato, haga clic en la herramienta Color de relleno.
 Seleccione un color.

Para establecer el color predeterminado para las formas rellenas:

 Haga clic en un espacio en blanco de la ventana.


 En la barra de herramientas Formato, haga clic en la herramienta Color de relleno.
 Seleccione un color.

Eliminación de objetos
Para eliminar un objeto:

 Realice una de las siguientes acciones:


 Haga clic con el botón derecho del ratón en el objeto y haga clic en Borrar.
 Seleccione el objeto y luego presione Eliminar.

Deshacer cambios.
WindowMaker registra sus cambios de edición y formato para cada ventana. De forma predeterminada,
WindowMaker admite 10 niveles de deshacer / rehacer, donde un nivel representa una acción. Puede configurar
WindowMaker para retener hasta 25 niveles de acciones. También puede desactivar el deshacer / rehacer
estableciendo el nivel de deshacer / rehacer en cero. Si cierra la ventana, se borran todas las acciones
grabadas.

Para deshacer un comando:

 En el menú Edición, haga clic en Deshacer.

Rehacer un comando:

 En el menú Edición, haga clic en Rehacer.

Para establecer el número de niveles de deshacer / rehacer:

 En el menú especial, seleccione Configurar y, a continuación, haga clic en WindowMaker. Aparecerá el


cuadro de diálogo Propiedades de WindowMaker.
 En el cuadro Niveles de deshacer, escriba el número de niveles.

Cortar, copiar y pegar objetos.


Las operaciones de corte, copia y pega en WindowMaker son muy similares a las de otras aplicaciones basadas
en Windows, pero hay algunas diferencias significativas que debe tener en cuenta. Cuando corta, copia o pega
un objeto, los atributos y los vínculos de animación también se cortan, copian o se pegan con él. Todos los
objetos pegados permanecen seleccionados después de ser pegados y se pueden mover para ajustar su
ubicación.

Cortar un objeto:

58
 Haga clic con el botón derecho en el objeto y, a continuación, haga clic en Cortar.

Para copiar un objeto:

 Haga clic con el botón derecho en el objeto y, a continuación, haga clic en Copiar.

Para pegar un objeto:

 Haga clic con el botón derecho en un espacio en blanco de la ventana y haga clic en Pegar. El cursor
cambia a un símbolo de esquina.
 Mantenga pulsado el botón izquierdo del ratón. El cursor cambia a un rectángulo punteado del tamaño
del objeto copiado.
 Arrastre el rectángulo para localizar el objeto.
 Suelte el botón del ratón.

Cortar, copiar y pegar vínculos de objetos.


El Portapapeles es un área de almacenamiento temporal para los enlaces que corta o copia.

 El Portapapeles sólo almacena los vínculos para su acción de corte o copia más reciente.
 Puede pegar los enlaces a cualquier objeto o símbolo que admita los vínculos del Portapapeles.
 Si un vínculo pegado no está soportado por el objeto, por ejemplo, un enlace de color de línea en un
objeto de texto, el enlace no se pega.
 Si selecciona varios objetos para pegar, los vínculos se pegan a todos los objetos.

Para cortar, copiar, pegar y borrar vínculos:


 Haga clic con el botón derecho en el objeto, seleccione Vínculos y haga clic en el comando
correspondiente.

Duplicación de objetos.
Duplicar objetos es similar a copiar objetos y sus vínculos de animación, pero tiene la ventaja de duplicar
también la distancia de desplazamiento y la dirección cuando los objetos se duplican más de una vez. Cuando
mueves un objeto duplicado sin des-seleccionarlo, luego lo dupliques de nuevo, la tercera iteración es
desplazada la misma distancia y dirección entre las dos primeras iteraciones. Puede repetir este procedimiento
tantas veces como sea necesario.

Para duplicar un objeto:

 Haga clic con el botón derecho en el objeto y haga clic en Duplicar. El objeto se copia y se pega en una
posición de desplazamiento desde el objeto original.
 Manteniendo seleccionado el objeto duplicado, arrástrelo a una posición diferente.
 Una vez más, sin desmarcar el objeto duplicado, haga clic con el botón derecho del ratón en el objeto y,
a continuación, haga clic en Duplicar. La tercera iteración del objeto aparece en la misma posición
relativa que las dos primeras.

Cambiar la configuración de objetos de polilínea y polígono.


Para cambiar la forma de una polilínea o polígono:

 Seleccione el objeto.
 Realice una de las siguientes acciones:
 En el menú Edición, haga clic en Reformular objeto.
 Haga clic con el botón secundario en el objeto y haga clic en Reformar objeto.
 En la barra de herramientas Arrange, haga clic en el botón Reshape Object.Cada punto de
definición de forma se convierte en un identificador.
 Arrastre un asa para volver a formatear.

Para agregar un punto a un polígono:

58
 Seleccione el objeto.
 Realice una de las siguientes acciones:
 En el menú Edición, haga clic en Agregar punto.
 Haga clic con el botón derecho en el objeto y haga clic en Add Point.
 Haga clic en un borde del polígono, luego arrastre el punto para cambiar la forma del polígono.

Para eliminar un punto de un polígono:

 Seleccione el objeto.
 Realice una de las siguientes acciones:
 En el menú Edición, haga clic en Del Point.
 Haga clic con el botón derecho del ratón en el objeto y haga clic en Apagar.
 Haga clic en un punto del polígono, se suprime el punto y cambia la forma del polígono.

Trabajar con contenedores de mapa de bits.


Para importar una imagen de mapa de bits:

 En la barra de herramientas Dibujo, haga clic en la herramienta Bitmap. El cursor se convierte en una
cruz.
 Arrastre el cursor para dibujar un contenedor de mapa de bits.
 En el menú Edición, haga clic en Importar imagen. Aparecerá el cuadro de diálogo Seleccionar archivo
de imagen.
 Seleccione el nombre del archivo de imagen y haga clic en Aceptar.

Para que el mapa de bits tenga su tamaño original:

 Seleccione la imagen.
 En el menú Edición, haga clic en Mapa de bits - Tamaño del original.

Para pegar una imagen de mapa de bits:

 Copie el gráfico en el Portapapeles de Windows.


 Haga clic en la herramienta Bitmap y dibuje un contenedor de mapa de bits en su ventana.
 Haga clic con el botón secundario en el contenedor de mapa de bits y haga clic en Pegar mapa de bits.

Para editar un mapa de bits:

 Seleccione el mapa de bits.


 En el menú Edición, haga clic en Editar mapa de bits. Microsoft Paint se abre mostrando el mapa de
bits.
 Edite el mapa de bits en MS Paint.
 Guarde y cierre MS Paint.

Definición de la transparencia de mapa de bits.


Para crear un mapa de bits transparente:

 Con el mapa de bits seleccionado, haga clic en el botón Color transparente de la barra de
herramientas Formato para abrir la paleta de colores transparente.

 Haga clic con el botón derecho en un cuadrado de color en la paleta personalizada. Aparecerá el cuadro
de diálogo Editar color personalizado.

 Haga clic en la herramienta Cuentagotas (eye dropper).

 Haga clic en el color del mapa de bits que desee hacer transparente. El color se
copia en el cuadrado de color que seleccionó en la paleta de colores.

58
 Haga clic en el cuadrado de color para aplicar el color transparente al mapa de bits. Todos los píxeles
de la imagen que son de ese color se vuelven transparentes.

Cambio del radio de un rectángulo redondeado.


Para aumentar o disminuir el radio de un objeto redondeado:

 Seleccione el objeto.
 En el menú Edición, haga clic en Ampliar radio o Reducir radio.

Sustitución de texto de objeto.


Puede editar el texto de objetos que tienen texto, como símbolos, celdas o botones. Cuando cambia una
cadena de texto, conserva todos sus atributos originales, fuente, estilo, color, etc. El formato de texto también se
aplica a valores numéricos.

Para cambiar el texto de un objeto:

 Seleccione el objeto o el botón con el texto. Realice una de las siguientes acciones:
 En el menú especial, haga clic en sustituir cadenas.
 Haga clic con el botón secundario en el objeto de texto, elija Sustitute ya continuación, haga clic
en Sustituir cadenas.
 En el cuadro Nueva cadena, escriba la nueva cadena y haga clic en Aceptar.

Para cambiar una parte del texto en una serie de objetos de texto:

 Seleccione todos los objetos de texto.


 En el menú especial, haga clic en Sustituir cadenas.
 Haga clic en Reemplazar. Aparecerá el cuadro Reemplazar texto.
 En el cuadro Texto antiguo, escriba la parte del texto que desea reemplazar.
 En el cuadro Nuevo, escriba la nueva cadena de texto.
 Haga clic en Aceptar. La nueva cadena de texto reemplaza la cadena de texto antigua en todos los
objetos seleccionados.

VI. Animación de objetos.

Dos tipos de enlaces de animación:


Hay dos tipos básicos de enlaces de animación: enlaces de pantalla y enlaces táctiles.

 Los enlaces de visualización muestran información a los operadores. Ejemplos de vínculos de


visualización son el cambio de colores, el cambio de los niveles de relleno, los movimientos horizontales
o verticales y los objetos parpadeantes.
 Los enlaces táctiles permiten la entrada del operador en el sistema. Ejemplos de enlaces táctiles son
deslizadores o botones que responden a la entrada del operador. Puede definir varios enlaces para
objetos o símbolos. Mediante la combinación de varios enlaces, puede crear casi cualquier efecto de
animación de pantalla.

58
Animaciones de visualización de datos.
Las animaciones de visualización de datos sólo muestran información a los operadores. Estas animaciones no
permiten la entrada del operador.

Creación de visualizaciones de valor.


Utilice un objeto de texto de visualización de valores para mostrar el valor de una etiqueta. Esto le permite
mostrar cosas como niveles de llenado, estado de encendido / apagado o mensajes de alarma.
Puede utilizar cualquiera de los tres tipos de enlaces de visualización de valores para mostrar mensajes en
tiempo de ejecución.

Tipo de visualización del valor. Presentación


Discrete Valores discretos tales como encendido o apagado.
El valor de una expresión analógica como el nivel de
Analog
llenado o la velocidad.
El valor de una expresión de cadena como "Nivel de
String
relleno = 100".

Puede utilizar hasta 1023 caracteres en una expresión. Si necesita una expresión más grande, cree una
QuickFunction y llámela en su expresión.

Los mensajes aparecen en la ubicación del objeto de texto original utilizando la fuente, el tamaño, el color, la
alineación y los atributos vinculados establecidos para ese objeto. El contenido original del campo no tiene
ningún efecto en el mensaje en tiempo de ejecución.

Para crear un enlace de visualización de valores discretos:


 Haga clic con el botón derecho en el objeto de texto y haga clic en Enlaces de animación. Aparece el
cuadro de diálogo Enlaces de animación.
 En el área Mostrar valor, haga clic en Discreto.
Aparecerá el cuadro de diálogo Salida ->
Expresión discreta.
 En el cuadro Expresión, escriba el nombre de
una etiqueta discreta o una expresión que
equivalga a un valor discreto. Por ejemplo:
Bomba de enfriamiento.
 En el cuadro On Message, escriba el mensaje que aparecerá cuando el valor de la expresión sea igual
a 1, verdadero, encendido o sí. Por ejemplo: La bomba está encendida.
 En el cuadro Off Message, escriba el mensaje que aparecerá cuando el valor de la expresión sea igual
a 0, falso, apagado o no. Por ejemplo: La bomba está apagada
 Haga clic en Aceptar.
Para crear un enlace de visualización de valor analógico:

 Haga clic con el botón derecho en el objeto de texto y haga clic en Enlaces de animación. Aparece el
cuadro de diálogo Enlaces de animación.
 En el área Mostrar valor, haga clic en
Analógico. Aparecerá el cuadro de diálogo
Salida -> Expresión analógica.
 En el cuadro Expresión, escriba una variable
analógica (entera o real) o una expresión
que equivale a un valor analógico. Por
ejemplo: Tank_CV * 0.06
 Haga clic en Aceptar.

Para crear un vínculo de visualización de valor de cadena:

58
 Haga clic con el botón derecho en el
objeto de texto y haga clic en Enlaces
de animación. Aparece el cuadro de
diálogo Enlaces de animación.
 En el área Mostrar valor, haga clic en
Cadena. Aparece el cuadro de diálogo
Output -> String Expression.
 En el cuadro Expresión, escriba el
nombre de una etiqueta de mensaje o una expresión que utilice una etiqueta de mensaje. Por ejemplo:
"El nivel del tanque es:" + Text (TankLevel, "#")
 Haga clic en Aceptar.

Creando Movimiento.
Los objetos se mueven en tiempo de ejecución mediante vínculos de ubicación. Puede hacer que un objeto se
mueva horizontalmente, verticalmente o ambos, a medida que cambia el valor de una etiqueta o expresión
analógica. Por ejemplo, cuando un nivel de tanque aumenta y disminuye, un indicador se mueve hacia arriba y
hacia abajo.

Para crear movimiento horizontal:

 Coloque el objeto en la pantalla en la ubicación inicial.


 Haga clic con el botón derecho en el objeto y, a continuación, seleccione Enlaces de animación.
Aparece el cuadro de diálogo Enlaces de
animación.
 En el área Ubicación, haga clic en Horizontal.
Aparecerá el cuadro de diálogo Ubicación
horizontal.
 En el cuadro Expresión, escriba un nombre de
etiqueta analógica o una expresión que
equivalga a un valor analógico.
 En el área Propiedades, configure hasta dónde se mueve el objeto. Haz lo siguiente:
 En el cuadro En el extremo izquierdo, escriba el valor de la etiqueta analógica cuando el objeto
debe estar en su posición más lejana a la izquierda.
 En el cuadro En el extremo derecho, escriba el valor de la etiqueta analógica cuando el objeto
debe estar en su posición más lejana a la derecha.
 En el cuadro A la izquierda, escriba el número de píxeles que el objeto debe mover a la
izquierda de su posición inicial.
 En el cuadro A la derecha, escriba el número de píxeles que el objeto debe mover a la derecha
de su posición inicial.
 Haga clic en Aceptar.

Para crear movimiento vertical:

 Coloque el objeto en la pantalla en la ubicación inicial.


 Haga clic con el botón derecho en el objeto y, a continuación, seleccione Enlaces de animación.
Aparece el cuadro de diálogo Enlaces de
animación.
 En el área Ubicación, haga clic en Vertical.
Aparecerá el cuadro de diálogo Ubicación
vertical.
 En el cuadro Expresión, escriba un nombre de
etiqueta analógica o una expresión que
equivalga a un valor analógico.
 En el área Propiedades, haga lo siguiente:
 En el cuadro Encima, escriba el valor de la etiqueta analógica cuando el objeto debe estar en la
posición superior.

58
 En el cuadro En la parte inferior, escriba el valor de la etiqueta analógica cuando el objeto debe
estar en la posición inferior.
 En el cuadro Arriba, escriba el número de píxeles que el objeto debe mover hacia arriba desde
la posición inicial.
 En el cuadro Abajo, escriba el número de píxeles que el objeto debe mover hacia abajo desde
la posición inicial.
 Haga clic en Aceptar.

Creación de rotación.
Puede hacer que un objeto se mueva alrededor de un punto central a medida que el valor de una etiqueta
analógica cambia usando enlaces de orientación. Por ejemplo, a medida que la presión aumenta o disminuye,
un puntero puede moverse alrededor de un dial. El enlace de orientación utiliza el centro del objeto o símbolo
como el centro de rotación predeterminado. Puede desplazar el centro de rotación. Los enlaces de orientación
no son compatibles con los gráficos de ArchestrA.

Consejo: Dibuje un rectángulo temporal desde el centro del objeto hasta el punto central de rotación. Ahora
puede leer las dimensiones de desplazamiento X e Y en píxeles de los cuadros W, H en la barra de estado.

Para crear un enlace de orientación:

 Haga clic con el botón derecho en el objeto y haga


clic en Enlaces de animación. Aparece el cuadro de
diálogo Enlaces de animación.
 En el área Varios, haga clic en Orientación.
Aparecerá el cuadro de diálogo Orientación -> Valor
analógico.
 En el cuadro Expresión, escriba el nombre de una
etiqueta analógica o una expresión que equivalga a
un valor analógico.
 En el área Propiedades, realice lo siguiente:
 En el cuadro Valor en CC máx., Escriba el valor que debe tener la expresión para que el objeto
gire a la posición máxima en sentido antihorario.
 En el cuadro Valor en CW máximo, escriba el valor que debe tener la expresión para que el
objeto gire a su posición máxima en el sentido de las agujas del reloj.
 En el recuadro de rotación en sentido antihorario, escriba los grados que el objeto gira en el
sentido contrario a las agujas del reloj cuando se alcanza el valor en CCW máximo.
 En el cuadro de rotación CW, escriba los grados que el objeto gira en el sentido de las agujas
del reloj cuando se alcanza el valor en Max CW.
 En el Centro de desplazamiento de rotación desde el área de centro de objetos, haga lo siguiente:
 En el cuadro Posición X, escriba el desplazamiento horizontal del punto central de rotación.
Introduzca el desplazamiento en píxeles desde el punto central del objeto.
 En el cuadro Posición Y, escriba el desplazamiento vertical del punto central de rotación.
Introduzca el desplazamiento en píxeles desde el punto central del objeto.
 Haga clic en Aceptar.

Animación de tamaños.
Puede variar la altura y / o el ancho de un objeto de acuerdo con el valor de una etiqueta o expresión analógica
utilizando vínculos de tamaño de objeto. Por ejemplo, un indicador de presión puede aumentar a medida que
aumenta la presión, o un objeto en un transportador puede parecer moverse hacia el espectador haciéndose
más grande. Los enlaces de tamaño de objeto no sólo controlan el tamaño de un objeto, sino la dirección en la
que el objeto cambia de tamaño mediante el uso de un ancla para la animación.

58
Para crear un enlace de altura de tamaño de objeto:

 Haga clic con el botón derecho en el objeto y haga


clic en Enlaces de animación. Aparece el cuadro de
diálogo Enlaces de animación.
 En el área Tamaño del objeto, haga clic en Altura.
Aparecerá el cuadro de diálogo Altura de objeto ->
Valor analógico.
 En el cuadro Expresión, escriba el nombre de una
etiqueta analógica o una expresión que equivalga a
un valor analógico.
 En el área Propiedades, realice lo siguiente:
 En el cuadro Valor en altura máxima, escriba el valor de la etiqueta o expresión cuando el
objeto alcance la altura máxima.
 En el cuadro Valor en la altura mínima, escriba el valor de la etiqueta o de la expresión cuando
el objeto alcance la altura mínima.
 En el cuadro Max% Height, escriba el porcentaje de su altura original que el objeto será cuando
la variable o expresión alcance el valor establecido en el cuadro Valor en altura máxima. Las
cifras porcentuales se expresan como un porcentaje del tamaño dibujado del objeto. El tamaño
dibujado es siempre el tamaño del 100%.
 En el cuadro Min% Height, escriba el porcentaje de su altura original que el objeto será cuando
la variable o la expresión alcance el valor establecido en el cuadro Valor en la altura mínima.
Las cifras porcentuales se expresan como un porcentaje del tamaño dibujado del objeto. El
tamaño dibujado es siempre el tamaño del 100%.
 Seleccione el punto de anclaje desde el que se agranda el objeto.
 Seleccione Top para que el objeto se agrande desde arriba hacia abajo.
 Seleccione Medio para que el objeto se agrande desde su punto central hacia el exterior en
ambas direcciones.
 Seleccione Bottom para que el objeto se agrande de abajo hacia arriba.
 Haga clic en Aceptar.

Para crear un enlace de ancho de tamaño de objeto:

 Haga clic con el botón derecho en el objeto y


haga clic en Enlaces de animación. Aparece el
cuadro de diálogo Enlaces de animación.
 En el área Tamaño del objeto, haga clic en
Ancho. Aparecerá el cuadro de diálogo Ancho de
objeto -> Valor analógico.
 En el cuadro Expresión, escriba el nombre de
una etiqueta analógica o una expresión que
equivalga a un valor analógico.
 En el área Propiedades, realice lo siguiente:
 En el cuadro Valor en el ancho máximo, escriba el valor de la etiqueta o expresión cuando el
objeto alcance el ancho máximo.

58
 En el cuadro Valor en el ancho mínimo, escriba el valor de la etiqueta o expresión cuando el
objeto alcance el ancho mínimo.
 En el cuadro Max% Ancho, escriba el porcentaje de su ancho original que el objeto será cuando
la variable o la expresión alcance el valor establecido en el cuadro Valor en el ancho máximo.
Las cifras porcentuales se expresan como un porcentaje del tamaño dibujado del objeto. El
tamaño dibujado es siempre el tamaño del 100%.
 En el cuadro Ancho% mínimo, escriba el porcentaje de su ancho original que el objeto será
cuando la variable o la expresión alcance el valor establecido en el cuadro Valor en el ancho
mínimo. Las cifras porcentuales se expresan como un porcentaje del tamaño dibujado del
objeto. El tamaño dibujado es siempre el tamaño del 100%.
 Seleccione el punto de anclaje desde el que el objeto se agranda en anchura.
 Seleccione Izquierda para que el objeto se agrande desde su lado izquierdo.
 Seleccione Centro para que el objeto se agrande desde su punto central hacia el exterior en
ambas direcciones.
 Seleccione Derecha para que el objeto se agrande desde su lado derecho.
 Haga clic en Aceptar.

Animación de colores.
Puede animar cambios de color a cualquier objeto mediante enlaces de color. Los cambios pueden basarse en
el valor de una etiqueta analógica o discreta, el valor de una expresión analógica o discreta o un estado de
alarma discreto o analógico. Puede utilizar tres tipos de enlaces de color para animar objetos:

 Color de línea
 Color de relleno
 Color de texto

Para cada uno de estos tres tipos de enlaces de color, cuatro tipos de expresiones pueden controlar los
cambios de color.

Tipo de expresión Cambia el color basado en


Discrete El valor de una etiqueta o expresión discreta.
El valor de una etiqueta o expresión analógica. Puede
Analog
definir diez colores para representar valores diferentes.
El estado de alarma de una etiqueta, Grupo de alarma o
Discrete Alarm
Variable de grupo.
El estado de alarma de una etiqueta analógica, Grupo de
Analog Alarm alarma o Variable de grupo. Puede definir cinco colores
para representar cinco condiciones de alarma.

¡ADVERTENCIA! : Los objetos no entran en un estado de alarma cuando se usa un enlace de alarma analógico
si el enlace es a una etiqueta remota de una aplicación no convertida creada antes de InTouch versión 7.11.

Todos los enlaces de color discretos se crean de la misma manera. El siguiente procedimiento describe la
creación de un enlace de color de relleno.

Para crear un enlace de color de relleno discreto:

 Haga clic con el botón derecho en el objeto y


haga clic en Enlaces de animación. Aparece el
cuadro de diálogo Enlaces de animación.
 En el área Color de relleno, haga clic en
Discreto. Aparecerá el cuadro de diálogo Color de
relleno -> Expresión discreta.
 En el cuadro Expresión, escriba el nombre de una etiqueta discreta o una expresión discreta que
equivale a true o false. Las expresiones discretas pueden contener etiquetas analógicas. Por ejemplo,

58
TankLevel> = 75. En este ejemplo, cuando el valor de la variable "TankLevel" es mayor o igual a 75, el
color de relleno del objeto cambia.
 En el área Colores, haga clic en cada cuadro de color para abrir la paleta de colores. Seleccione el color
que desea usar para cada estado.
 Haga clic en Aceptar.

Para crear un enlace de color de expresión analógica:

 Haga clic con el botón derecho en el objeto y, a continuación, seleccione Enlaces de animación.
Aparece el cuadro de diálogo Enlaces de animación.
 En el área Color de relleno, haga clic en Analógico. Aparecerá el cuadro de diálogo Color de relleno ->
Expresión analógica.
 En el cuadro Expresión, escriba el nombre de una etiqueta analógica o una expresión que equivalga a
un valor analógico.

 En el área Puntos de interrupción,


haga lo siguiente.
 Especifique los valores de punto de interrupción en los que el objeto cambia de color.

Sugerencia: No tienes que usar diez colores diferentes. Por ejemplo, si sólo desea que el objeto
cambie de color tres veces, escriba tres valores y utilice el mismo color para los valores restantes. Si
necesita un rango más versátil, revise las capacidades de relleno analógico de los símbolos de
ArchestrA. Para obtener más información, consulte el Capítulo 1, Acerca de InTouch y ArchestrA
Integration, en InTouch® HMI y ArchestrA Integration Guide.

 En el área Colores, seleccione un color para cada punto de interrupción.


 Haga clic en Aceptar.

Para crear un enlace de color de estado de alarma discreta:

 Haga clic con el botón derecho en el objeto y, a continuación, seleccione Enlaces de animación.
Aparece el cuadro de diálogo Enlaces de
animación.
 En el área Color de relleno, haga clic en
Alarma discreta. Aparecerá el cuadro de
diálogo Color de relleno -> Estado de
alarma de variable.
 En el cuadro Tagname, escriba el nombre de
la etiqueta discreta a asociar con el objeto.
 En el área Colores, seleccione un color para cada estado de alarma.
 Haga clic en Aceptar.

Para crear un enlace de color de estado de alarma analógica:

58
 Haga clic con el botón derecho en el objeto y, a
continuación, seleccione Enlaces de animación.
Aparece el cuadro de diálogo Enlaces de
animación.
 En el área Color de relleno, haga clic en Alarma
analógica. Aparece el cuadro de diálogo Color de
relleno -> Estado de la alarma de la variable
analógica.
 En el cuadro Tagname, escriba el nombre de una etiqueta analógica asociada con el objeto.
 En el área Tipo de alarma, seleccione uno de los tres tipos de alarmas que se asociarán con el objeto.

Tipo de alarma Utilizar hasta


Valor Cinco colores para mostrar el estado de las alarmas de valor.
Desviación Tres colores para mostrar el estado de las alarmas de desviación.
ROC (Tasa de cambio) Dos colores para mostrar el estado de una alarma de tasa de cambio.

 En el área Colores, seleccione un color para cada estado de alarma.


 Haga clic en Aceptar.

Animación de niveles de llenado.


Puede variar el nivel de relleno de un objeto mediante un enlace de porcentaje de relleno. El porcentaje de
relleno se basa en el valor de una etiqueta o expresión analógica. Puede crear rellenos horizontales, rellenos
verticales o ambos. Por ejemplo, puede utilizar un enlace de relleno vertical para mostrar el nivel de líquido en
un tanque o un enlace de relleno horizontal para mostrar el progreso de un proceso. Crea los enlaces de relleno
porcentual horizontal y vertical de la misma manera.

Para crear un enlace de porcentaje de relleno:

 Haga clic con el botón derecho en el objeto y, a


continuación, seleccione Enlaces de animación.
Aparece el cuadro de diálogo Enlaces de
animación.
 En el área Porcentaje de relleno, realice una de
las siguientes acciones:
 Haga clic en Vertical, aparece el cuadro de
diálogo Relleno vertical -> Valor analógico.
 Haga clic en Horizontal, aparece el
cuadro de diálogo Horizontal Fill ->
Analog Value.
 En el cuadro Expresión, escriba el nombre de
una etiqueta analógica o una expresión que
equivalga a un valor analógico.
 En el área Propiedades, realice lo siguiente:
 En el cuadro Valor en el relleno
máximo, escriba el valor de la
expresión que dará lugar a que el
objeto se llene hasta su nivel máximo.
 En el cuadro Valor en el relleno mínimo, escriba el valor de la expresión que dará lugar a que el
objeto se llene hasta su nivel mínimo.
 En el cuadro Max% Fill, escriba el porcentaje (0-100) que el objeto se rellenará cuando la
expresión alcance el nivel establecido en el cuadro Valor en relleno máximo.
 En el recuadro Min% Fill, escriba el porcentaje (0-100) que el objeto se rellenará cuando la
expresión alcance el nivel establecido en el cuadro Value at Min Fill.
 En el área Dirección, haga clic en la dirección en la que desea rellenar.

58
 En el cuadro Color de fondo, seleccione el color de la parte no llenada del objeto.
 El color de relleno real es el color que selecciona para el objeto cuando lo dibuja.
 Si vincula el relleno porcentual vertical y el porcentaje horizontal de relleno de relleno al mismo
objeto, el último color que seleccione es el color de fondo.
 Haga clic en Aceptar.

Cómo hacer que los objetos parpadeen.


Puede crear objetos animados que parpadeen basándose en los valores de las etiquetas utilizando vínculos
intermitentes. Por ejemplo, puede crear un objeto que parpadee en rojo cuando un determinado equipo esté
encendido o cuando se alcance un punto de ajuste de alarma.

Sugerencia: Las expresiones discretas pueden contener variables analógicas. Por ejemplo, Nivel de tanque>
75. En este ejemplo, cuando el valor de la etiqueta TankLevel es mayor que 75, el objeto comienza a parpadear.

Para crear un enlace intermitente:

 Haga clic con el botón derecho en el objeto y, a


continuación, seleccione Enlaces de animación.
Aparece el cuadro de diálogo Enlaces de
animación.
 En el área Varios, haga clic en Parpadeo.
Aparecerá el cuadro de diálogo Objeto
parpadeando-> Valor discreto
 En el cuadro Expression - Blink cuando, escriba el
nombre de una etiqueta discreta o una expresión
que equivale a un valor discreto.
 En el área Atributos parpadeados, haga lo siguiente:
 Haga clic en Parpadeo Invisible para que el objeto parpadee al desaparecer y volver a aparecer
en la ventana.
 Haga clic en Parpadear visible con estos atributos para configurar el objeto para que
permanezca visible, pero cambie de color cuando se active.
 Haga clic en los cuadros Color de texto, Color de línea o Color de relleno para seleccionar los
colores de las partes del objeto. Aparecerá la paleta de colores.

Nota: Si selecciona un color de parpadeo de relleno que es igual al color de relleno del objeto, el objeto no
parpadea.

 En el área Velocidad de parpadeo, establezca la velocidad de parpadeo del objeto. Haga clic en Lento,
Medio o Rápido.
 Haga clic en Aceptar.

Para configurar la frecuencia de parpadeo para WindowMaker:

 En el menú especial, seleccione Configurar y, a continuación, haga clic en WindowViewer. Aparecerá el


cuadro de diálogo Propiedades de WindowViewer.
 En el área Frecuencia de parpadeo, escriba el número de milisegundos que se utilizará para las tres
velocidades.

Nota: Los cambios realizados en estas configuraciones son globales y afectan a todas las velocidades de
parpadeo en su aplicación.

 Haga clic en Aceptar.

Habilitación de la visibilidad.
Puede crear vínculos para ocultar objetos basándose en los valores de varias etiquetas utilizando vínculos de
visibilidad. Utilizando enlaces de visibilidad, puede:

58
 Crear la impresión de que los objetos en movimiento sólo se mueven en una dirección, ocultándolos
cuando se mueven en la dirección equivocada.
 Crear la impresión de que un objeto en movimiento se ha detenido.
 Haga que un objeto como una alarma o mensaje de error se vuelva visible sólo cuando esté activado.

Sugerencia: Las expresiones discretas pueden contener etiquetas analógicas, por ejemplo, TankLevel> = 75.
En este ejemplo, cuando el valor de la etiqueta, TankLevel es mayor o igual a 75, el objeto se vuelve visible en
la ventana.

Para crear un enlace de visibilidad:

 Haga clic con el botón derecho en el objeto y,


a continuación, seleccione Enlaces de
animación. Aparece el cuadro de diálogo
Enlaces de animación.
 En el área Varios, haga clic en Visibilidad.
Aparecerá el cuadro de diálogo Visibilidad del
objeto -> Valor discreto.
 En el cuadro Expresión, escriba el nombre de
una etiqueta discreta o una expresión que equivalga a un valor discreto.
 Seleccione el estado visible para el objeto. Si selecciona Desactivado, el objeto estará invisible cuando
el valor de la expresión sea verdadero. Si selecciona Activado, el objeto está visible cuando el valor de
la expresión es verdadero.
 Haga clic en Aceptar.

Desactivación de objetos.
Puede imponer un nivel de seguridad en su aplicación con enlaces deshabilitados. Por ejemplo, puede
desactivar los objetos sensibles al tacto basados en el nivel de acceso o el nombre del operador. O puede
proteger un botón de manipulación si no hay nadie conectado.

Un estado desactivado de ON significa que la funcionalidad táctil del objeto o botón está desactivada y no está
activa mientras la expresión sea verdadera.

Sugerencia: Las expresiones discretas pueden contener variables analógicas. Por ejemplo, TankLevel> = 75.
En este ejemplo, cuando el valor de la variable "TankLevel" es mayor o igual a 75, el objeto está deshabilitado.

Para crear un vínculo de inhabilitación:

 Haga clic con el botón derecho en el objeto y, a


continuación, seleccione Enlaces de animación.
Aparece el cuadro de diálogo Enlaces de
animación.
 En el área Varios, haga clic en Deshabilitar.
Aparece el cuadro de diálogo Objeto Deshabilitado ->
Valor discreto.
 En el cuadro Expresión, escriba el nombre de una etiqueta o expresión discreta que equivale a un valor
discreto.
 En el área Estado deshabilitado, realice una de las siguientes acciones:
 Seleccione Activado para establecer el estado deshabilitado para que el objeto no se active
mientras la etiqueta o expresión discreta es verdadera.
 Seleccione Desactivado para eliminar el estado deshabilitado y permitir que el objeto funcione
mientras la etiqueta o expresión discreta es verdadera.
 Haga clic en Aceptar.

58
Configuración de las sugerencias de herramientas.
Puede crear sugerencias para proporcionar a los usuarios información sobre un objeto en la pantalla
mediante vínculos de información sobre herramientas. Las sugerencias aparecen cuando el puntero se
mueve sobre el objeto y desaparece cuando se mueve el puntero. La duración del tiempo en que la
información sobre herramientas aparece y el posicionamiento de la información de herramientas es
determinado por el sistema operativo. Puede establecer una expresión o un texto estático para las
sugerencias.

 Cree una descripción de herramienta estática para mostrar el mismo mensaje cada vez que se muestre
la información de herramientas.
 Cree una información sobre herramientas de expresión para que cada vez que aparezca la información
sobre herramientas, la expresión se evalúe y se muestre como el texto de la información sobre
herramientas.

Para la siguiente expresión de ejemplo, el texto aparece como el valor actual de la etiqueta de mensaje
msgTooltipTag01.

MsgTooltipTag01
Para este ejemplo, la cadena literal aparece seguida por el valor actual de la etiqueta iTemp y el resultado
aparece como texto de información de la herramienta:

"La temperatura actual es" + StringFromIntg (iTemp, 10)


Para crear un vínculo de información sobre herramientas:

 Haga clic con el botón derecho en el objeto y, a


continuación, seleccione Enlaces de
animación. Se abre el cuadro de diálogo
Enlaces de animación.
 En el área Varios, haga clic en Tooltip.
Aparecerá el cuadro de diálogo Object Tooltip- >
String Tagname.
 En el área Atributos de descripción de herramientas, seleccione Expresión o Texto estático.
 Si selecciona Expresión, introduzca una expresión que se evalúe como un valor de
mensaje. Esto puede ser un mensaje simple tagname o una expresión más compleja.
 Si selecciona Texto estático, introduzca un mensaje estático, con un máximo de 131
caracteres, como el texto de la información sobre herramientas.
 Haga clic en Aceptar.

Posicionamiento de una ventana sensible al tacto.


Puede hacer que aparezca una ventana durante el tiempo de ejecución en una ubicación precisa relativa a un
objeto sensible al tacto. Por ejemplo, un operador puede seleccionar un objeto para ver el estado, nombre u
otros datos vinculados a ese objeto. Cuando el operador selecciona el objeto, ya sea con un clic o con el ratón,
la ventana aparece en la ubicación que especifique. Utilice las funciones de guión ShowAt () o ShowTopLeftAt ()
con las etiquetas de sólo lectura $ ObjHor y $ ObjVer para localizar la ventana relativa al objeto. También puede
utilizar posiciones fijas en estas funciones. Si las Propiedades de pantalla de Windows se establecen en el tema
de Windows XP, esta funcionalidad es errática bajo ciertas circunstancias. La sintaxis tiene este aspecto:

ShowTopLeftAt (nombre de la ventana, $ ObjHor, $ ObjVer);


Dónde:

Windowname: el nombre de la ventana que se va a abrir.


$ ObjHor: la posición horizontal del centro del objeto seleccionado.
$ ObjVer: la posición vertical del centro del objeto seleccionado.

58
La nueva ventana aparece con su esquina superior izquierda en el centro del objeto seleccionado. Una función
de script similar abre la ventana con su centro en el centro del objeto seleccionado. La sintaxis tiene este
aspecto:

ShowAt (nombre de la ventana, $ ObjHor, $ ObjVer);


Para abrir una ventana en el objeto seleccionado:

 Diseña, nombra y crea la ventana que aparecerá.


 Haga clic con el botón derecho en el objeto para activar la ventana y haga clic en Enlaces de
animación. Aparece el cuadro de diálogo Enlaces de animación.
 En el área Botones de pulsación, seleccione Acción. Aparecerá el cuadro de diálogo Touch -> Action
Script.
 Escriba una de las siguientes secuencias de comandos de acuerdo con la sintaxis definida
anteriormente:
ShowTopLeftAt (nombre de la ventana, $ ObjHor, $ ObjVer);
O
ShowAt (nombre de la ventana, $ ObjHor, $ ObjVer);

 En el cuadro Tipo de condición, haga clic en la acción del mouse para abrir la ventana.
 Haga clic en Aceptar

Animaciones de entrada de datos.


Para crear objetos que permitan la interacción del operador, utilice los enlaces táctiles. Los enlaces táctiles
permiten a los operadores introducir datos en el sistema. Por ejemplo, un operador puede iniciar sesión con un
teclado, activar o desactivar una válvula, introducir un nuevo punto de ajuste de alarma, iniciar o detener un
proceso, etc. Un marco aparece alrededor de un objeto sensible al tacto cuando tiene el foco. Un objeto obtiene
el foco cuando el usuario mueve el cursor sobre él o presiona las teclas TAB o flecha para mover el foco al
objeto. Si espera que los usuarios utilicen la tecla TAB para seleccionar objetos sensibles al tacto, intente
organizarlos en patrones horizontales. Al presionar la tecla TAB moverá el foco de un objeto a otro de izquierda
a derecha comenzando en la parte superior de la ventana y luego moviéndose hacia abajo. Si un objeto de
enlace táctil contiene objetos de texto que se colocan uno encima del otro, el objeto de texto superior es el único
que aparece. Un operador puede activar un objeto sensible al tacto haciendo clic en él, presionando una
equivalente de tecla asignada, presionando Enter cuando aparezca el marco del objeto o tocando realmente si
está usando un dispositivo de pantalla táctil. Puede crear nueve tipos de enlaces de contacto de entrada de
usuario:

Enlace táctil Acción


Entradas de usuario • Discrete
• Analog

58
• String
• Vertical
Deslizadores(Sliders)
• Horizontal
• Valor discreto
• Acción
Apretar botones
• Mostrar ventana
• Ocultar ventana

Cuando se utiliza un campo de texto para la entrada, el texto aparece en la pantalla cuando se presionan las
teclas. Si no desea que aparezca texto a medida que lo escribe, seleccione la opción Sólo de entrada en el
panel de configuración del enlace.

Habilitación de entradas discretas.


Puede diseñar enlaces de contacto de entrada de operador para cambiar el valor de etiquetas discretas de un
estado a otro. Por ejemplo, para activar o desactivar una bomba, utilice enlaces discretos.

Para crear un enlace de entrada discreta:

 Haga clic con el botón derecho en un objeto y


seleccione Enlaces de animación. Aparece el cuadro
de diálogo Enlaces de animación.
 En el área Vínculos táctiles, en Entradas del
usuario, seleccione Discreto. Aparecerá el cuadro de
diálogo Input -> Discrete Tagname.
 En el cuadro Tagname, escriba el nombre de una
etiqueta discreta.
 Opcionalmente, en el área de Equivalencia Clave, asigne una clave equivalente al enlace.
 Configure los detalles de entrada discreta. Haz lo siguiente:
 En el cuadro Msg to User, escriba el mensaje que aparecerá en el cuadro de diálogo de
entrada.
 En los cuadros Configurar indicador y Restablecer, escriba los mensajes que aparecerán en los
botones que el operador hará clic para activar y desactivar el valor discreto.
 En los cuadros En mensaje y Apagado, escriba los mensajes que aparecerán en el campo de
texto asociado con el objeto cuando el valor esté activado o desactivado.
 Seleccione la casilla de verificación Sólo entrada para evitar que la entrada aparezca en un campo de
texto asociado al objeto.
 Haga clic en Aceptar.

Activación de la entrada analógica.


Puede crear un objeto para que los operadores introduzcan valores reales como el punto de ajuste de la alarma
o la velocidad del transportador utilizando un enlace de entrada analógica.

Para crear un enlace de entrada analógica:


 Haga clic con el botón derecho en un objeto y
seleccione Enlaces de animación. Aparece el cuadro
de diálogo Enlaces de animación.
 En el área Vínculos táctiles, en Entradas del usuario,
seleccione Analógico. Aparecerá el cuadro de
diálogo Input -> Analog Tagname.
 En el cuadro Tagname, escriba el nombre de una
etiqueta analógica.
 En el área Clave equivalente, asigne una clave equivalente al enlace.
 Configure los detalles de la entrada analógica. Haz lo siguiente:

58
 ¿En el teclado? , Haga clic en Sí si desea mostrar un teclado numérico en pantalla para
introducir el nuevo valor. En el cuadro Msg to User, escriba el mensaje de mensaje que desea
que aparezca en el teclado.
 En los cuadros Valor mínimo y Valor máximo, escriba los valores mínimo y máximo de entrada
para la etiqueta.
 Seleccione la casilla de verificación Sólo entrada para evitar que la entrada aparezca en un campo de
texto asociado al objeto.
 Haga clic en Aceptar.

Activación de la entrada de cadena.


Puede crear un objeto para permitir a los usuarios introducir cadenas de texto como nombres de lote, ID de
operador o contraseñas mediante enlaces de entrada de cadena.

Para crear un enlace de entrada de cadena:


 Haga clic con el botón derecho en un objeto y seleccione Enlaces de animación. Aparece el cuadro de
diálogo Enlaces de animación.
 En el área Vínculos táctiles, en Entradas del
usuario, seleccione Cadena. Aparecerá el cuadro
de diálogo Input -> String Tagname.
 En el cuadro Tagname, escriba el nombre de una
etiqueta de mensaje.
 Opcionalmente, configure un equivalente de clave
y / o teclado.
 En el área de Equivalencia Clave, asigne una clave equivalente al enlace.
 ¿En el teclado? , Haga clic en Sí si desea mostrar un teclado para introducir el nuevo valor. En
el cuadro Msg to User, escriba el mensaje que aparecerá en el teclado.
 ¿En los caracteres de eco? Seleccione si desea que aparezcan caracteres en el cuadro de entrada
cuando el usuario escriba la cadena.
 Haga clic en Sí para mostrar el texto escrito en el cuadro de entrada.
 Haga clic en No para no mostrar el texto escrito.
 Haga clic en Contraseña para usar un carácter de "enmascaramiento" en lugar del texto escrito.
En el cuadro Char de la contraseña, escriba el carácter de máscara. Seleccione la casilla de
verificación Encriptar para cifrar la contraseña.

Importante: El cifrado de contraseñas sólo funciona en el contexto de InTouch HMI. No cifre la cadena si
desea pasarla a un sistema de seguridad externo, como el sistema operativo o una base de datos de SQL
Server. El sistema de seguridad externo no puede leer la cadena de contraseña cifrada y el acceso fallará.

 Seleccione la casilla de verificación Sólo entrada para evitar que la entrada aparezca en un campo de
texto asociado al objeto.
 Haga clic en Aceptar.

Activación de deslizadores (Sliders).


Puede crear objetos que los usuarios puedan arrastrar hacia adelante y hacia atrás mediante el uso de enlaces
táctiles deslizantes. A medida que el usuario mueve el objeto, altera el valor de la etiqueta vinculada a él. Puede
vincular un objeto a un deslizador horizontal o vertical. Cuando crea un objeto en un control deslizante,
establece la ubicación de referencia, que es el punto del objeto que el cursor usa para bloquearlo. Puede utilizar
enlaces horizontales y verticales en un solo objeto, de modo que el valor de dos etiquetas analógicas se altere
simultáneamente.

Para crear un enlace deslizante horizontal:

58
 Haga clic con el botón derecho en el objeto y haga
clic en Enlaces de animación. Aparece el cuadro de
diálogo Selección de vínculo de animación.
 En el área Slider, haga clic en Horizontal. Aparecerá
el cuadro de diálogo Slider horizontal.
 En el cuadro Tagname, escriba el nombre de una
etiqueta analógica.
 En el área Propiedades, realice lo siguiente:
 En el cuadro En el extremo izquierdo, escriba el valor de la etiqueta cuando el control deslizante
esté en su posición izquierda más alejada.
 En el cuadro En el extremo derecho, escriba el valor de la etiqueta cuando el control deslizante
esté en su posición más lejana a la derecha.
 En el cuadro A la izquierda, escriba el número de píxeles que el deslizador puede mover hacia
la izquierda.
 En el cuadro A la derecha, escriba el número de píxeles que el deslizador puede mover hacia la
derecha.
 En el área Referencia, haga clic en la ubicación del objeto que el cursor usará para bloquear el objeto.
 Haga clic en Aceptar.

Para crear un enlace deslizante vertical:


 Haga clic con el botón derecho en el objeto y haga
clic en Enlaces de animación. Aparece el cuadro de
diálogo Enlaces de animación.
 En el área Slider, haga clic en Vertical. Aparece el
cuadro de diálogo Slider vertical.
 En el cuadro Tagname, escriba el nombre de una
etiqueta analógica.
 En el área Propiedades, realice lo siguiente:
 En el cuadro Encima, escriba el valor de la etiqueta cuando el control deslizante esté en su
posición más alejada.
 En el cuadro En la parte inferior, escriba el valor de la etiqueta cuando el control deslizante esté
en su posición más alejada hacia abajo.
 En el cuadro Arriba, escriba el número de píxeles que el deslizador puede mover hacia arriba.
 En el cuadro Abajo, escriba el número de píxeles que el deslizador puede mover hacia abajo.
 En el área Ubicación de referencia, haga clic en la ubicación del objeto que el cursor usará para
bloquear el objeto.
 Haga clic en Aceptar.

Activación de botones pulsadores.


Puede crear objetos sensibles al tacto que inicien los scripts de acción mediante el uso de vínculos de
pulsación. Los scripts de acción pueden establecer etiquetas a valores específicos, iniciar y controlar otras
aplicaciones, ejecutar funciones y así sucesivamente.

Para crear un enlace táctil de valor discreto:

 Haga clic con el botón derecho en el objeto y, a


continuación, seleccione Enlaces de animación.
Aparece el cuadro de diálogo Enlaces de
animación.
 En el área Botón de pulsación, haga clic en
Valor discreto. Aparece el cuadro de diálogo
Pulsador -> Valor discreto.
 En el cuadro Tagname, escriba una variable de tipo discreto.

58
 Haga clic en Clave para asignar una clave equivalente al vínculo.
 En el área Acción, haga clic en uno de los siguientes tipos:
 Haga clic en Direct (Directo) para establecer el valor igual a 1 siempre y cuando se presione y
mantenga presionado el botón pulsador. El valor se restablece automáticamente a 0 cuando se
suelta el botón.
 Haga clic en Invertir para establecer el valor igual a 0 cuando se presiona y se mantiene
pulsado el botón. El valor se restablece automáticamente a 1 cuando se suelta el botón.
 Haga clic en Alternar para invertir el estado de la etiqueta discreta.
 Haga clic en Restablecer para establecer el valor igual a 0.
 Haga clic en Establecer para establecer el valor igual a 1.
 Haga clic en Aceptar.

Para crear un enlace de script de acción.


 Haga clic con el botón derecho en el objeto y, a continuación,
seleccione Enlaces de animación. Aparece el cuadro de
diálogo Enlaces de animación.
 En el área del botón táctil, haga clic en Acción. Aparecerá el
editor Touch -> Action Script.
 En la lista Tipo de condición, seleccione un tipo de secuencia
de comandos.

Nota: Si asigna un enlace equivalente clave a un pulsador de acción


ya la misma clave que se utiliza para un script de clave, el enlace
equivalente clave asignado tiene prioridad sobre el script de clave.

 En la ventana Editor de secuencias de comandos, escriba el script que se ejecutará cuando se active el
objeto.
 Haga clic en Aceptar.

Apertura y cierre de ventanas.


Puede crear vínculos táctiles para abrir y cerrar otras ventanas de InTouch mediante la ventana de presentación
y los vínculos de ventana ocultos. Puede programar objetos para abrir más de una ventana a la vez. Sin
embargo, si programa el enlace para abrir más de una ventana, tenga en cuenta las intersecciones y los tipos
de ventanas. Si una de las ventanas de apertura es una ventana de tipo de reemplazo e intersecta otra ventana
de apertura, la otra ventana se cierra antes de abrir.

Para crear un enlace de ventana de mostrar (u ocultar):


 Haga clic con el botón derecho en el objeto y, a
continuación, seleccione Enlaces de animación. Aparece el
cuadro de diálogo Enlaces de animación.
 En el área Botón de pulsación, haga clic en Mostrar
ventana u Ocultar ventana. Aparecerá el cuadro de
diálogo Mostrar Windows cuando se toca o Windows
Ocultar cuando se toca.
 Seleccione la (s) ventana (s) que desea abrir u ocultar.
 Haga clic en Aceptar.

Configuración de teclados en pantalla.


Los teclados en pantalla permiten la entrada del operador en situaciones en las que un teclado no está
conectado al ordenador. Puede designar uno de los tres tipos de teclado en pantalla.

58
 El teclado o teclado InTouch estándar. Este es el teclado predeterminado.
 El teclado del sistema Windows. El teclado de Windows es un teclado QWERTY completamente
funcional con teclas de función, tecla de pantalla de impresión, tecla de bloqueo de número, flechas
direccionales, etc.
 El tamaño del teclado o del teclado. Este teclado se puede cambiar el tamaño durante el tiempo de
ejecución.
También puede abrir el teclado utilizando la función DialogStringEntry () y DialogValueEntry () en una secuencia
de comandos.

Para configurar el tipo de teclado en pantalla:

 En el menú especial, seleccione Configurar y,


a continuación, haga clic en WindowViewer.
Aparecerá el cuadro de diálogo Propiedades
de WindowViewer.
 En el área Teclado, seleccione el tipo de
teclado que desee.
 Si selecciona el teclado redimensionable,
haga clic en Opciones para seleccionar las
propiedades de fuente, ubicación y dimensión del teclado.
 Haga clic en Aceptar.

Para que aparezca un teclado en pantalla:

 Configure el tipo de teclado en pantalla.


 Haga clic con el botón derecho en un objeto
de texto y seleccione Enlaces de animación.
Aparece el cuadro de diálogo Enlaces de
animación.
 En el área Vínculos táctiles, en Entradas del
usuario, seleccione Cadena. Aparecerá el
cuadro de diálogo Input-> String Tagname.
 ¿En el teclado? , Seleccione Sí.
 Haga clic en Aceptar.

DialogStringEntry() Function.
Muestra un teclado alfanumérico en la pantalla, lo que permite al operador cambiar el valor de cadena actual de
una etiqueta de mensaje en el Diccionario de variables.

Categoría: Misceláneos
Sintaxis: [Result =] DialogStringEntry (MessageTag_Text, UserPrompt_Text);
Parámetros:

MessageTag_Text: El nombre de la etiqueta de mensaje que se va a modificar. Este valor es un valor de


cadena. Especifique la variable dentro de comillas o utilice el campo de punto .Name sin comillas. También
puede utilizar una etiqueta de mensaje como un puntero.

UserPrompt_Text: El mensaje de usuario que se mostrará en la parte superior del teclado.

Valor de retorno: Devuelve uno de los siguientes valores enteros:


Se ha pulsado 0 = Cancelar.
1 = OK fue presionado.

58
-1 = Error interno.
-2 = No se pudo iniciar.
-3 = Tagname no definido.
-4 = Tagname no es un tipo de mensaje.
-5 = No se puede escribir.

Observaciones: Esta función se utiliza principalmente en aplicaciones que contienen pantallas táctiles.
Ejemplo:

Errmsg = DialogStringEntry (MyMessageTag.Name, "Introduzca una nueva cadena...");

Errmsg = DialogStringEntry ("MyMessageTag", "Introduzca una nueva cadena...");

Por ejemplo, el siguiente script abre un teclado alfanumérico, permitiendo la modificación de MyMessageTag
mientras muestra el mensaje "Enter a new string..." en la parte superior del teclado:

MessageTagX = "MyMessageTag"; {Asignar la cadena MyMessageTag (que es en realidad la variable


que se va a modificar) al mensaje de memoria MessageTagX}
MessageDisplay = "Introduzca una nueva cadena..."; {Asignar la nueva cadena de mensajes a la
variable de mensaje de memoria MessageDisplay}
Errmsg = DialogStringEntry (MessageTagX, MessageDisplay); {No se requieren comillas porque
MessageTagX se definió como una variable de mensaje}

Ver también: DialogValueEntry()

DialogValueEntry() Function.
Muestra el teclado numérico en la pantalla, permitiendo al usuario cambiar el valor actual de una etiqueta
discreta, entera o real.
Categoría: Misceláneo
Sintaxis: [Resultado =] DialogValueEntry (ValueTag_Text, LowLimit, HighLimit, UserPrompt_Text);

Parámetros:

ValueTag_Text: El nombre de la etiqueta discreta, entera o real que se va a modificar. Este valor es un valor
de cadena. Especifique la variable entre comillas o utilice el campo .Name sin comillas. También puede utilizar
una etiqueta de mensaje como un puntero.

Bajo límite (LowLimit): El valor mínimo permisible para la etiqueta. (Esta debe ser> = la definición de la
variable para el valor mínimo, unidad mínima de ingeniería cruda o mínima, según corresponda).

Limite alto (HightLimit): El valor máximo permitido para la etiqueta. (Esta debe ser <= la definición de la
variable para el valor máximo, unidad máxima de ingeniería cruda o máxima, según corresponda).

UserPrompt_Text: El mensaje de usuario que se mostrará en la parte superior del teclado.

Valor de retorno: Devuelve uno de los siguientes valores enteros:


Se ha pulsado 0 = Cancelar.
1 = OK fue presionado.
-1 = Límite alto <= Límite inferior.

58
-2 = No se pudo iniciar.
-3 = Tagname no definido.
-4 = Tagname no es un tipo discreto, entero o real.
-5 = Error de escritura.

Observaciones: Esta función se utiliza principalmente en aplicaciones que contienen pantallas táctiles.
Ejemplo (s):

Errmsg = DialogValueEntry (MyIntegerTag.Name, MyIntegerTag.MinEU, MyIntegerTag.MaxEU,


"Introduzca un nuevo valor...");
Errmsg = DialogValueEntry ("MyIntegerTag", -100, 100, "Introduzca un nuevo valor...");

Por ejemplo, el script siguiente abre el teclado numérico, permitiendo la modificación de MyIntegerTag usando
un límite mínimo y máximo de -100 y 100 (respectivamente),
Mientras muestra el mensaje "Introduzca un nuevo valor..." en la parte superior del teclado:

TagnameX = "MyIntegerTag"; {Asignar la cadena MyIntegerTag (que es en realidad la variable que se


va a modificar) al mensaje de memoria tagname TagnameX}
Min = -100ºC; {Asignar el valor mínimo permitido para la variable a la Memory Real / Integer tagname
Min}
Máx = 100; {Asignar el valor mínimo permitido para la variable a la variable de memoria Real / Integer
Max}
MessageDisplay = "Introduzca un nuevo valor..."; {Asignar la nueva cadena de mensajes a la variable
de mensaje de memoria MessageDisplay}
Errmsg = DialogValueEntry (TagnameX, Min, Max, MessageDisplay); {las comillas no son necesarias
porque TagnameX se definió como una variable de mensaje. Al asignar a TagnameX una variable discreta,
entera o real, la función modificará la variable asignada}

Ver también: DialogStringEntry ()

Tareas comunes de animación.


Las tareas comunes de animación incluyen la selección de etiquetas, la creación de atajos de teclado, el cambio
de las referencias de tagname y el reemplazo de etiquetas de marcador de posición.

Selección de etiquetas o atributos:

Utilice el cuadro de diálogo Seleccionar etiqueta, también denominado navegador de etiquetas, para
seleccionar:
 Etiquetas definidas en una aplicación InTouch local o remota.
 Atributos de objeto ArchestrA con el Navegador de atributos.

Abra el cuadro de diálogo Seleccionar etiqueta haciendo doble clic en cualquier cuadro de texto que requiera un
nombre de etiqueta para la entrada.

Selección de una etiqueta InTouch:

Puede seleccionar etiquetas definidas en una aplicación InTouch local o remota. Puede crear referencias a las
etiquetas en cualquier fuente de etiquetas que admita la interfaz del diccionario de variables.
Por ejemplo, las referencias de etiquetas remotas permiten que la aplicación acceda a los datos de los
servidores de E / S sin crear etiquetas en el diccionario local de variables. Puede establecer un campo de

58
puntos para cada etiqueta de InTouch que seleccione. Dotfields puede acceder, supervisar y modificar las
propiedades de la etiqueta. Si no selecciona un Dotfield, se utiliza el campo de puntos .Value.

Para seleccionar una etiqueta InTouch:

 Abra el cuadro de diálogo Seleccionar etiqueta haciendo doble clic en cualquier cuadro de texto que
requiera un nombre de etiqueta para la entrada.
 En la lista Fuente de etiquetas, haga clic en el
nombre del origen de la etiqueta o haga clic en el
botón Examinar para definir un nuevo origen de
etiquetas que desea utilizar.
 En la lista Filtro, haga clic en un filtro para reducir el
número de variables mostradas en la ventana. Para
definir un filtro, haga clic en el botón de puntos
suspensivos.
 Seleccione una variable en la ventana. Puede
cambiar la forma en que se muestran las variables
en el cuadro de diálogo Seleccionar etiqueta.
 En la lista Campo de puntos, haga clic en un campo
de puntos para anexar a la variable seleccionada.
Dotfields puede acceder, supervisar y modificar las
propiedades de la etiqueta. Si no selecciona un
dotfield, se utiliza el campo de puntos .Value. Haga clic en Aceptar.

Creación de un filtro de etiquetas.


Si tiene un gran número de etiquetas en su Diccionario de variables, encontrar la etiqueta para una animación
puede ser engorroso. Por ejemplo, es posible que sólo desee ver las etiquetas asignadas a un determinado
nombre de acceso o grupo de alarma. Puede configurar un filtro para que sólo se muestre un subconjunto de
etiquetas en el cuadro de diálogo Seleccionar etiqueta.

Puede utilizar las siguientes expresiones comodín en su filtro:


 El comodín de caracteres múltiples es el asterisco (*). Por ejemplo, "Asyn *" busca todas las variables
que empiezan con los caracteres "Asyn".
 El carácter comodín de carácter único es el signo de interrogación (?). Por ejemplo, el filtro "¿Etiqueta?"
Busca todas las variables de cuatro caracteres que comienzan con "Etiqueta". El filtro "Etiqueta *" busca
todas las variables que comienzan con "Etiqueta".
 Cualquier secuencia de caracteres tagname válidos, junto con los dos caracteres comodín, es
aceptable en un filtro. Los caracteres válidos de la variable son: A-Z, a-z, 0-9 !, @, -, #, $,%, _ y &.

Para definir un filtro de búsqueda:

58
 En el cuadro de diálogo Seleccionar etiqueta, haga clic en
el botón de puntos suspensivos junto a la lista Filtro.
Aparecerá el cuadro de diálogo Definir filtro de etiquetas.
 En el cuadro Nombre del filtro, escriba un nombre de filtro.
 En el área Opciones de filtro, configure los criterios de filtro.
Realice una de las siguientes acciones:
 En el cuadro Tagname, escriba el nombre de la
etiqueta.
 En el cuadro Tipo de etiqueta, escriba el tipo de
etiqueta.
 En el cuadro Nombre de acceso, escriba el Nombre
de acceso local.
 En el cuadro Grupo de alarmas, escriba el nombre
del grupo de alarmas.
 En el cuadro Comentario, escriba la expresión de comentario.
 Haga clic en Aceptar. El nombre del filtro aparece en la lista Filtro en el cuadro de diálogo Seleccionar
etiqueta. Puede seleccionar el filtro para mostrar las etiquetas que cumplan los criterios de filtro.
Para eliminar un filtro de búsqueda:

 En el cuadro Nombre del filtro, haga clic en el filtro.


 Haga clic en Eliminar.

Cambiar la vista en el cuadro de diálogo Seleccionar etiqueta.


El cuadro de diálogo Seleccionar etiqueta tiene tres vistas diferentes: Lista, Detalles y Vista de árbol.

Para ver la Haga clic en el Descripción


Vista de la lista Los iconos pequeños
Vista de la lista aparecen junto a las variables
según el tipo de cada variable.
Verá los mismos pequeños
iconos y variables, además de
Botón de vista de detalles Tipos de etiquetas, Nombre
de acceso, Grupo de alarmas
Vista detallada
y Comentarios. Ordene la lista
haciendo clic en los
encabezados de las
columnas.
La vista de árbol muestra las
Icono de vista de árbol
variables en dos vistas. Puede
Vista de árbol acceder a las variables de
miembro en cualquier plantilla
SuperTag.

Crear atajos de teclado.


Puede asignar una tecla específica en el teclado para activar determinados enlaces de animación mediante
enlaces equivalentes a claves. El equivalente de clave sólo es operativo cuando el objeto con el enlace es
visible o seleccionado. Si el objeto tiene un enlace de visibilidad o deshabilitación, el equivalente de clave no
está activo cuando el objeto está deshabilitado. Puede definir la misma clave en varias ventanas. Sin embargo,
la definición en la ventana abierta más recientemente es la activa. En el caso de ventanas superpuestas, la
tecla está activa en la ventana de arriba.

58
Nota: Si se asigna un botón de acción o de objeto en la ventana activa a la misma clave utilizada para un script
de acción de tecla, el enlace equivalente clave de la clave de la ventana activa tiene prioridad sobre la ejecución
del script de acción de clave.

Los enlaces de animación que soportan equivalentes clave aparecen en el área Equivalente de llave en sus
cuadros de diálogo de enlace.
Los enlaces clave sólo están disponibles para las teclas de función 1-16. Si está utilizando un teclado
personalizado que tiene más de 16 teclas de función, obtenga un controlador de dispositivo de su fabricante que
le permita acceder a las teclas de función extendidas de su sistema.

Para asignar una clave a un enlace:


 Abra el cuadro de diálogo Enlaces de animación para el tipo de enlace que está configurando.
 Seleccione Ctrl y / o Mayúsculas si desea que el operador mantenga pulsada una o ambas teclas al
pulsar la tecla equivalente.
 Haga clic en Clave. Aparecerá el cuadro de diálogo Elegir clave.
 Haga clic en la tecla para asignar al enlace. El cuadro de diálogo Enlace de animación vuelve a
aparecer con el nombre de la tecla seleccionada junto al botón Tecla.
 Haga clic en Aceptar.

Cambiar las referencias de variables.


Cuando se duplica un objeto, se obtiene una copia exacta del original incluyendo enlaces, animación, scripts y
así sucesivamente. Sin embargo, si necesita utilizar una etiqueta diferente en un objeto duplicado, debe sustituir
una etiqueta. Puede seleccionar y sustituir una etiqueta por cualquier objeto y puede seleccionar varios objetos
y sustituir todos sus tags al mismo tiempo. Si su licencia de sistema admite un número limitado de variables,
convierta sus etiquetas locales en referencias de etiquetas remotas para reducir el número de etiquetas
definidas en su diccionario local de variables. La sustitución de una etiqueta funciona para todas las etiquetas y
referencias.

Para sustituir una etiqueta por otra etiqueta:

 Seleccione los objetos asociados con la etiqueta para cambiar a otra etiqueta.
 En el menú especial, haga clic en Sustituir etiquetas. Aparecerá el cuadro de diálogo Substitute
Tagnames.
 En el cuadro Nombre nuevo, escriba la nueva variable.
 Si hace doble clic en una etiqueta en el cuadro Nuevo nombre, aparecerá su definición en el
Diccionario de variables.
 Si borra la variable, haga doble clic en el cuadro en blanco y aparecerá el cuadro de diálogo
Seleccionar etiqueta.
 Haga clic en Aceptar. La etiqueta asociada con el objeto se cambia automáticamente.

Conversión de etiquetas de marcador de posición:

Si importa o exporta una ventana o QuickScript a su aplicación actual, todas las etiquetas asociadas con esa
ventana o QuickScript se transfieren con la ventana.
Las etiquetas locales no se agregan automáticamente a la base de datos de la aplicación. En su lugar, se
marcan automáticamente como etiquetas de marcador de posición.

58
Las referencias de etiquetas remotas no se ven afectadas y no están marcadas como etiquetas de marcador de
posición. Debe convertir las etiquetas de marcador de posición en etiquetas locales existentes, definirlas en el
Diccionario de variables de la nueva aplicación o convertirlas en referencias de etiquetas remotas.

Observe los marcadores de posición? D :,? I :,? M: y? R: precede a las etiquetas. Indican el tipo que la etiqueta
se definió originalmente como:

Símbolo de marcador de posición. Tipo de variable.


d Discrete
i Integer
m Message
r Real

Nota: Las referencias de etiquetas remotas no se muestran como marcadores de posición, sino como
referencias de etiquetas remotas como: PLC2: Temperatura.

Puede utilizar varios métodos en el cuadro de diálogo Sustituir variables para convertir etiquetas de marcador
de posición a etiquetas locales. Para obtener más información, consulte el Capítulo 4, Exportación e importación
de definiciones de etiquetas, Windows y secuencias de comandos en la Guía de administración y extensión de
aplicaciones InTouch® HMI.

Sugerencia: Si convierte tagnames manualmente y ya no necesita la etiqueta original definida en el


Diccionario de variables original, puede actualizar los recuentos de uso de la variable y, a continuación, eliminar
la etiqueta no utilizada.

Al importar una ventana o QuickScript desde otra aplicación y convertir todas las variables asociadas a los
enlaces de animación o QuickScript a referencias de variables remotas, puede crear una aplicación que reciba
instantáneamente datos de cientos de variables remotas sin definir una sola etiqueta En su diccionario local de
variables.

VII. Secuencias de comandos con objetos OLE.

Con objetos OLE, puede:

 Crear cuadros de diálogo emergentes para la interfaz del operador.


 Acceder a las funciones del sistema operativo, como el Panel de control.
 Haga que los datos del Módulo de Ejecución de Fabricación estén disponibles para su procesamiento
dentro de la InTouch HMI. Creación, validación y liberación de objetos OLE

Puede crear y validar objetos OLE para su uso en secuencias de comandos de InTouch. Después de usar un
objeto OLE, puede liberarlo para liberar memoria.

Utilice las siguientes funciones para crear, validar y liberar objetos OLE:

 Función OLE_CreateObject()
 Función OLE_IsObjectValid()
 Función OLE_ReleaseObject()

Función OLE_CreateObject ()
Antes de que pueda hacer referencia a un objeto OLE en un script, debe crearlo. Al hacerlo, recibirá un puntero
que hace referencia al objeto OLE.

58
En una secuencia de comandos, puede crear un objeto OLE y asignar un puntero mediante la función
OLE_CreateObject ().

Sintaxis: OLE_CreateObject (%pointer,classname);


Parámetros:

%pointer: El nombre de su elección para el puntero al objeto OLE. Puede contener caracteres alfanuméricos
(A-Z, 0-9) y subrayado. No distingue entre mayúsculas y minúsculas.

classname: El nombre de la clase OLE. El nombre de la clase es sensible a mayúsculas. Valor de cadena
literal, tagname de mensaje o expresión de cadena.

Observaciones: Si utiliza el mismo nombre de objeto para crear otro objeto, el objeto se actualiza para hacer
referencia a la nueva clase OLE. Se libera de la clase OLE antigua.

Ejemplo (s): Este script crea un objeto OLE denominado %WShell que hace referencia a la clase Wscript.Shell.

OLE_CreateObject (% WShell, "Wscript.Shell");

Función OLE_IsObjectValid ().


En una secuencia de comandos, puede comprobar que un objeto OLE es válido mediante la función
OLE_IsObjectValid (). Esto no es un paso necesario para trabajar con objetos OLE, pero se recomienda
asegurarse de que no se encuentran problemas al trabajar con objetos OLE.

Sintaxis: Resultado = OLE_IsObjectValid (%pointer)


Argumentos:

%pointer: El puntero hace referencia a un objeto OLE que se va a probar.


Resultado: Un valor booleano que indica lo siguiente:
0 - El objeto OLE que el puntero está haciendo referencia no es válido.
1 - El objeto OLE que el puntero está haciendo referencia es válido.

Ejemplo (s): Este script crea un objeto OLE basado en la clase Wscript.Shell y crea un puntero% WS para
referenciarlo. Isvalid es una etiqueta discreta que es TRUE si el objeto OLE se crea correctamente. De lo
contrario es FALSO.

OLE_CreateObject (% WS, "Wscript.Shell");


Isvalid = OLE_IsObjectValid (% WS);

Función OLE_ReleaseObject ().


Después de haber utilizado un objeto OLE en un script, puede liberarlo y eliminar su puntero para liberar los
recursos del sistema. Después de liberar un objeto OLE no puede utilizar su puntero para tener acceso a
propiedades y métodos de la clase OLE asociada.

Sintaxis: OLE_ReleaseObject (%pointer);


Argumentos:

%pointer: Nombre del puntero que hace referencia al objeto OLE. Puede contener caracteres alfanuméricos
(A-Z, 0-9) y subrayado. No distingue entre mayúsculas y minúsculas.

58
Ejemplo (s): Esta secuencia de comandos libera el objeto OLE asociado con el puntero% WShell y elimina el
puntero% WShell.

OLE_ReleaseObject (% WShell);
Utilizar las propiedades de objeto OLE y los métodos

En un script, puede utilizar punteros para leer y escribir valores desde y hacia propiedades OLE. También puede
utilizar el puntero para llamar a métodos OLE. Las propiedades y métodos disponibles dependen del objeto
OLE.

Acceso a las propiedades de un objeto OLE:

En un script, puede acceder a las propiedades de un objeto OLE como lo haría en la mayoría de los lenguajes
de programación. Las propiedades se identifican usualmente con el operador ".".

Nota: Cuando utiliza propiedades de objeto OLE en una secuencia de comandos, asegúrese de que sus
referencias no superen 98 caracteres, incluido el "%" principal. Mantenga los nombres de puntero OLE tan
cortos como sea posible.

Lectura de una propiedad de objeto OLE:

En un script, puede leer una propiedad de objeto OLE asignando la propiedad a una etiqueta. No puede utilizar
una referencia directa a una propiedad de objeto OLE en un vínculo de presentación de animación.

Sintaxis: Value =% pointer.property;


Argumentos:

% Pointer: El puntero que hace referencia al objeto OLE. Debe ser creado con la función OLE_CreateObject ()
o asignado a otro puntero antes de leer una propiedad.

Property: El nombre de la propiedad a leer.


Value: La etiqueta a la que escribir el valor.
Ejemplo (s): Este script crea un objeto OLE basado en la clase OLE de System.Random, crea un puntero% SR
para referenciarlo y asigna el valor de .NextDouble propiedad del objeto OLE de Math.Random a un randtag
real de tagname. En tiempo de ejecución, la variable real Randtag recibe un valor de flotador doble aleatorio
entre 0 y 1.

OLE_CreateObject (% SR, "System.Random");


Randtag =% SR.NextDouble;

Escritura en una propiedad de objeto OLE:

En un script, puede escribir un valor en una propiedad de objeto OLE asignando un valor a la propiedad.

Sintaxis: % Pointer.property = value;


Argumentos:

% Pointer: El puntero que hace referencia al objeto OLE. Debe ser creado con la función OLE_CreateObject
() o asignado a otro puntero antes de escribir en una propiedad.

Property: El nombre de la propiedad a ser escrita.


value: El valor que se escribirá en la propiedad. Puede ser un valor literal, tagname o expresión. No se admite
escribir en una propiedad OLE desde un vínculo de entrada de animación directamente .

58
Métodos de llamada de un objeto OLE:

En un script, puede llamar a métodos de objeto OLE.

Sintaxis: % Pointer.method (parámetros);


Argumentos:

% Pointer: El puntero que hace referencia al objeto OLE. Debe ser creado con la función OLE_CreateObject
() o asignado a otro puntero antes de llamar a un método.

Method: El nombre del método que forma parte del objeto OLE.
Parameters: Una lista de parámetros para pasar al método. Estos parámetros deben estar separados por
coma. Valores literales, tagnames o expresiones.

Ejemplo (s): Este script crea un objeto OLE basado en la clase OLE Shell.Application, crea un puntero% SA en
el objeto OLE y llama al método .MinimizeAll (). Este método minimiza todas las ventanas de su escritorio.

OLE_CreateObject (% SA, "Shell.Application");


% SA.MinimizeAll ();

Nota: Los parámetros opcionales no están permitidos en las secuencias de comandos de OMI InTouch HMI. Se
deben especificar todos los parámetros.

Asignar varios punteros al mismo objeto OLE:


En una secuencia de comandos, puede asignar varios punteros al mismo objeto OLE utilizando el signo igual.

Sintaxis: % Newpointer =% pointer


Argumentos:

%pointer: El nombre del puntero que ya hace referencia a un objeto OLE creado.
% Newpointer: El nombre de un nuevo puntero que debe hacer referencia al mismo objeto OLE. Puede
contener caracteres alfanuméricos (A-Z, 0-9) y subrayado. No distingue entre mayúsculas y minúsculas.

Ejemplo (s): Este script crea un objeto OLE basado en la clase Wscript.Shell y crea un puntero% WS para
referenciarlo. El puntero% WS2 cuando se establece en% WS apunta al mismo objeto OLE. Se puede utilizar
para leer o escribir en propiedades y llamar a métodos del mismo objeto OLE.

OLE_CreateObject (% WS, "Wscript.Shell");


% WS _ {2} =% WS;

Nota: Puede utilizar variables de mensaje en relación con punteros. Si asigna una variable de mensaje a un
puntero, puede obtener un valor de ID. Puede utilizarlo para crear más punteros al mismo objeto OLE.

Solucionar errores OLE.


En una secuencia de comandos, puede utilizar funciones OLE para solucionar problemas OLEerrors.

Función. Descripción.

58
Función OLE_GetLastObjectError () Obtener el número de error del último error OLE.
Función OLE_GetLastObjectErrorMessage () Obtener información sobre el último error OLE.
Función OLE_ResetObjectError () Restablecer el último error.
Mostrar u ocultar el cuadro de diálogo de mensaje
Función OLE_ShowMessageOnObjectError ()
de error OLE.
Cuente el número de errores OLE con una
Función OLE_IncrementOnObjectError ()
variable InTouch HMI.

Función OLE_GetLastObjectError ().


Esta función devuelve el número de error del último error OLE.

Sintaxis: Errnum = OLE_GetLastObjectError ();


Argumento: Errnum: El número del último error OLE.

Función OLE_GetLastObjectErrorMessage ().


Esta función devuelve el mensaje de error del último error OLE.

Sintaxis: Errmsg = OLE_GetLastObjectErrorMessage ();


Argumento: Errmsg: El mensaje de error del último error OLE.

Función OLE_ResetObjectError ().


En una secuencia de comandos, utilice la función OLE_ResetObjectError () para restablecer el último error OLE
para que el último número de error OLE se establece en cero y el último mensaje de error OLE se establece en
blanco.

Esto se puede utilizar para identificar cualquier error en un lote de funciones OLE.

Sintaxis: OLE_ResetObjectError ()
Función OLE_ShowMessageOnObjectError ().
De forma predeterminada, cuando se produce un error OLE, se muestra un cuadro de diálogo de mensaje de
error. En un script, puede especificar si desea o no mostrar el cuadro de diálogo de mensaje de error utilizando
la función

OLE_ShowMessageOnObjectError ().
Sintaxis: OLE_ShowMessageOnObjectError (Boolean)
Argumentos:

Boolean: Un valor que determina si se muestra un cuadro de diálogo de mensaje de error OLE o no. Un valor
booleano literal, tagname discreta o expresión booleana con los siguientes significados:

0 - ningún cuadro de diálogo de mensaje de error OLE aparece cuando se produce un error OLE
1 - un cuadro de diálogo de mensaje de error OLE aparece cuando se produce un error OLE.

Ejemplo (s): Este script suprime todos los cuadros de diálogo de mensaje de error OLE. Cuando se producen
errores OLE, no se muestran cuadros de diálogo de mensaje de error.

OLE_ShowMessageOnObjectError (0);

58
Función OLE_IncrementOnObjectError ().
En una secuencia de comandos, puede utilizar la función OLE_IncrementOnObjectError () para designar un
tagname entero como contador para el número de errores OLE.

Sintaxis: OLE_IncrementOnObjectError (integertag)


Parámetro: integertag: La variable que actúa como un contador.

Observaciones: Si se muestran cuadros de diálogo de mensaje de error OLE, la variable de contador sólo se
incrementa después de que se cierra el cuadro de diálogo de mensaje de error OLE.

Ejemplo (s): Este script designa el contador de errores tagname entero como contador de errores, oculta los
cuadros de diálogo de mensaje de error e intenta crear un objeto OLE basado en un nombre de clase OLE no
válido. Esto crea un error y el valor de la variable valor de error se incrementa a 1.

errorcount = 0;
OLE_IncrementOnObjectError (errorcount);
OLE_ShowMessageOnObjectError (0);
OLE_CreateObject (% WS, "InVaLiD.cLaSs.nAmE");

Cosas que puedes hacer con OLE.


Puede utilizar las siguientes secuencias de comandos para obtener una idea de la poderosa funcionalidad que
puede agregar a una aplicación mediante objetos OLE.

Producir números aleatorios:

En una secuencia de comandos, utilice los comandos siguientes para producir un número aleatorio entre 0 y
255:

OLE_CreateObject (%SR, "System.Random");


Randtag = (%SR.NextDouble) * 255;

Crear cuadros de diálogo de interfaz de usuario:

En una secuencia de comandos, utilice los comandos siguientes para producir un cuadro de diálogo de interfaz
de usuario:

Dim DlgBody as message;


Dim DlgTitle as message;
Dim Style as integer;
Dim Result as integer;
DlgBody = "¿Desea abrir la válvula 'MR-3-FF'?";
DlgTitle = "Confirmar válvula de apertura MR-3-FF";
Style = 48;
OLE_CreateObject (% WS, "Wscript.Shell");
Result =% WS.Popup (DlgBody, 1, DlgTitle, Style);

En este ejemplo se crea el siguiente cuadro de diálogo de interfaz de usuario.

58
La variable Estilo determina qué icono y qué botones aparecen en el cuadro de diálogo. Utilice los siguientes
valores:
Icono. Estilo. Valor.
(Sin icono) Sin icono 0
Icono de error 16

Icono del signo de interrogación 32

Icono de advertencia 48

Icono de información 64

Para utilizar un botón en particular, agregue uno de los siguientes valores al valor de estilo:

Valor. Estilo.
0 Sólo botón OK
1 Botones Aceptar y Cancelar
2 Botones Abortar, volver a intentar e ignorar
3 Botones Sí, No y Cancelar
4 Botones Sí y No
5 Botones Reintentar y Cancelar
6 Botones Cancelar, intentar de nuevo y continuar

El resultado tagname contiene el número de botón que el usuario hizo clic. Esto se puede utilizar para la
ramificación condicional en su secuencia de comandos de InTouch. Los siguientes códigos de resultado son
posibles:

Valor del Significado.


resultado.
1 Se pulsó el botón OK
2 Se ha pulsado el botón Cancelar
3 Se ha pulsado el botón Cancelar
4 Se ha presionado el botón 4 Reintentar
5 Se ha presionado el botón Ignorar
6 Se pulsó el botón Yes
7 No se pulsó ningún botón
8 Se ha pulsado el botón de intentar de nuevo
9 Se pulsó el botón Continuar
10 Se pulsó el botón OK
11 Se ha pulsado el botón Cancelar

58
Panel de propiedades de fecha y hora de Windows abierto.
En un script, utilice los siguientes comandos para abrir el panel de propiedades Windows Date / Time:

OLE_CreateObject (% WP, "Shell.Application");


% WP.SetTime ();

Puede realizar tareas similares llamando a métodos diferentes y pasándolos al objeto OLE referenciado:

Este método. Abre el panel.


TrayProperties () Propiedades de la bandeja
Cuadro de diálogo Ejecutar
FileRun ()
archivo
FindFiles () Cuadro de diálogo Buscar archivos
FindComputer () Cuadro de diálogo Buscar equipo
ShutdownWindows () Panel de apagado de Windows

Leer y escribir en el registro.


En un script, puede utilizar OLE para leer y escribir en el registro de Windows por:
 Crear un objeto OLE basado en la clase Windows Wscript.Shell.
 Utilizar los métodos RegRead () y RegWrite () del objeto OLE.

Por ejemplo, estos comandos leen la versión instalada de InTouch HMI directamente desde la clave de registro
y almacenan el valor en la variable de mensaje rkey:

OLE_CreateObject (% WS, "Wscript.Shell");


rkey =
% WS.RegRead ("HKLM \ SOFTWARE\Wonderware\InTouch\Install Ation\Version ");

Estos comandos escriben el valor 1 en la clave de registro que determina si las extensiones de archivo están
ocultas para el usuario actualmente conectado:

OLE_CreateObject (% WS, "Wscript.Shell");


% WS.RegWrite ("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer \
Advanced\HideFileExt ", 1," REG_DWORD ");
Minimizar Windows.
En una secuencia de comandos, puede utilizar los siguientes comandos para minimizar todas las ventanas de
su escritorio:

OLE_CreateObject (% WA, "Shell.Application");


% WA.MinimizeAll ();

Puede realizar tareas similares llamando a estos métodos:

Este método. Arregla ventanas.


TileHorizontally() Azulejos todas las ventanas horizontalmente
TileVertically() Azulejos todas las ventanas verticalmente
CascadeWindows() En cascada todas las ventanas
UndoMinimizeALL() Restaura todas las ventanas

58
VIII. Introducción a la gestión de datos.

Una aplicación Wonderware® InTouch® de interfaz de máquina humana (HMI) es una representación gráfica de
los componentes en un entorno de fabricación. Los operadores de la planta trabajan con esta interfaz gráfica
para supervisar y administrar sus procesos de
fabricación.
La siguiente figura muestra un ejemplo de una
bomba que es un componente de un proceso de
fabricación. La bomba tiene propiedades con
valores asociados. Presión, RPM y estado son
propiedades de la bomba cuyos valores se
monitorean a través de una HMI.

Una etiqueta representa un elemento de datos en una aplicación InTouch HMI.


Utiliza etiquetas para hacer accesibles las propiedades de componentes específicas como elementos de datos
de un entorno de fabricación. En la figura anterior, la etiqueta PumpState indica si la bomba está encendida o
apagada. Crea etiquetas para componentes en su entorno de fabricación cuyas propiedades desea supervisar o
controlar en su aplicación InTouch.

Puede utilizar diferentes tipos de etiquetas para los diferentes tipos de datos recopilados de un componente de
fabricación. Por ejemplo, la etiqueta PumpState devuelve un valor Booleano On / Off para indicar si la bomba
está funcionando o detenida. Asigne el tipo apropiado de etiqueta InTouch al tipo de datos que desea que forme
parte de su aplicación.

Trabajar con las etiquetas de InTouch.


Comience creando una aplicación de InTouch. Usted define las etiquetas para la aplicación usando el
Diccionario Tagname, que es una herramienta de WindowMaker. La siguiente figura muestra el desarrollo de
InTouch y los entornos de tiempo de ejecución.

58
Asigne el nombre y el tipo de etiqueta con el Diccionario de variables. Para algunos tipos de etiquetas, tiene
otras opciones en el Diccionario de variables para especificar las propiedades adicionales de las etiquetas. Por
ejemplo, las etiquetas de tipo de E / S incluyen opciones adicionales para especificar la conexión a un origen de
datos remoto.
Las aplicaciones InTouch se ejecutan en el entorno WindowViewer. Cuando WindowViewer inicia una
aplicación, lee las etiquetas del repositorio de desarrollo y coloca en la memoria de tiempo de ejecución.
La aplicación InTouch se comunica con las etiquetas colocadas en la memoria de ejecución mediante enlaces
de animación o scripts. La aplicación InTouch rastrea los valores actuales y otra información de estado de las
propiedades de componente asignadas a las etiquetas.

Tipos de etiquetas InTouch.


Cuando define una etiqueta, le asigna un tipo específico de
acuerdo con los datos de proceso que se asociarán con la
etiqueta. Por ejemplo, si una etiqueta muestra el RPM de
una bomba, entonces asigna la etiqueta como un tipo de
etiqueta de número entero. En el Diccionario de variables,
utilice el cuadro de diálogo Tipos de etiquetas para asignar
el tipo de etiqueta a cualquier etiqueta que haya creado.

Después de asignar un tipo de etiqueta, el diccionario


Tagname lista opciones específicas para el tipo de etiqueta
que seleccionó.

Etiquetas de memoria.
Las etiquetas de memoria definen las constantes internas del sistema y las variables dentro de las aplicaciones
de InTouch. Por ejemplo, puede definir una constante interna como un número real de 3.414. En las
simulaciones de proceso, las etiquetas de memoria pueden controlar las acciones de QuickScripts de fondo
actuando como un contador. Basándose en el recuento asociado con la etiqueta, QuickScript puede activar
varios efectos de animación. Las etiquetas de memoria también pueden actuar como variables calculadas a las
que acceden otros programas.

58
Seleccione entre los cuatro tipos de etiquetas de memoria, basándose en los datos de proceso asociados con la
etiqueta.

• Memoria discreta. (Memory Discrete).


Las etiquetas discretas de memoria están asociadas con las propiedades de estado de un componente de
proceso. Los valores asignados a las variables discretas de memoria son dos posibles estados booleanos
como:
•0o1
• Falso o verdadero
• Encendido o apagado
• Alto o bajo

• Entero de memoria (analógico). (Memory Integer (Analog)).


Puede asignar números enteros de memoria de 32 bits enteros entre -2.147.483.648 y 2.147.483.647.

• Memoria real (analógica). (Memory Real (Analog)).


Puede asignar etiquetas reales de memoria flotante números de punto decimal entre -3,4 x 1038 y 3,4 x 1038.
Todos los cálculos de punto flotante se realizan con resolución de 64 bits, pero los resultados se almacenan
como números decimales de 32 bits.

• Mensaje de memoria. (Memory Message).


Puede asignar etiquetas de mensaje de memoria a las cadenas de texto de hasta 131 caracteres de un byte de
longitud.

Etiquetas de E / S.
Las etiquetas de E / S leen o escriben los datos de la aplicación InTouch desde o hacia una fuente externa. Los
datos externos incluyen entradas y salidas de controladores programables, computadoras de proceso y nodos
de red. Los valores de datos de etiqueta de E / S se acceden remotamente a través de los siguientes
protocolos:

 Microsoft Dynamic Data Exchange (DDE).


 Wonderware SuiteLink ™.

Cuando el valor de una etiqueta de E / S cambia en la memoria de tiempo de ejecución, InTouch HMI actualiza
la aplicación remota. Por el contrario, los valores de etiqueta de E / S en InTouch se actualizan cada vez que
cambian los valores de elementos de datos correspondientes en una aplicación remota.

InTouch HMI proporciona cuatro tipos de etiquetas de E / S basadas en los datos de proceso asociados con la
etiqueta. Estos cuatro tipos de etiquetas de E / S son similares a los tipos de etiquetas de memoria.

• E / S discreto. (I/O Discrete)


Las etiquetas discretas de E / S están asociadas con propiedades de proceso componentes cuyos valores están
representados por dos estados posibles tales como:
•0o1
• Falso o verdadero
• Encendido o apagado
• Alto o bajo

• Número entero de E / S (analógico). (I/O Integer (Analog)).


Las etiquetas de números enteros de E / S pueden tener números enteros firmados de 32 bits entre
-2.147.483.648 y 2.147.483.647.

• E / S real (analógica). (I/O Real (Analog)).

58
Las variables reales de E / S se pueden asignar con números de punto decimal flotante entre -3,4 x 1038 y 3,4 x
1038. Todos los cálculos de punto flotante de etiqueta real de E / S se realizan con resolución de 64 bits, pero
los resultados se almacenan como números de 32 bits.

• Mensaje de E / S. (I/O Message).


Las etiquetas de mensaje de E / S se pueden asignar cadenas de texto hasta un máximo de 131 caracteres de
un solo byte.

Etiquetas indirectas.
Las etiquetas indirectas actúan como "punteros" para
otras etiquetas. Por ejemplo, puede crear una sola
ventana InTouch y utilizar etiquetas indirectas para
mostrar datos de varios conjuntos diferentes de
etiquetas.
La siguiente figura muestra un ejemplo de una
ventana de aplicación que es capaz de mostrar varias
bombas. En lugar de crear ventanas separadas para
cada bomba, puede utilizar etiquetas indirectas en
una ventana para mostrar los valores de diferentes
etiquetas de origen asociadas a bombas individuales.
Una acción QuickScript u operador señala la etiqueta
indirecta a las etiquetas de origen. Por ejemplo, las sentencias de script siguientes asignan las dos etiquetas de
PumpRPM a una etiqueta analógica indirecta llamada IndPumpRPM basada en el valor de la etiqueta PumpNo.

IF PumpNo == 1 THEN
IndPumpRPM.Name = "PumpRPM1";
ELSE
IndPumpRPM.Name = "PumpRPM2";
ENDIF;
Al igualar una etiqueta indirecta a otra etiqueta de origen, la etiqueta indirecta actúa como si fuera la etiqueta de
origen. Los valores asociados con la fuente original y el duplicado indirecto
Se sincronizan entre sí. Si el valor de la etiqueta de origen cambia, la etiqueta indirecta refleja el cambio. Si
cambia el valor de la etiqueta indirecta, la etiqueta de origen cambia en consecuencia.
Puede utilizar tipos discretos, analógicos y de mensajes de etiquetas indirectas. Estos tres tipos de etiquetas
indirectas son comparables a la memoria similar y tipos de E / S de etiquetas.

Etiquetas varias.
Puede utilizar otros tipos de etiquetas InTouch diseñadas para fines específicos y restringidos. Puede utilizar
estas etiquetas para crear pantallas de alarmas dinámicas, crear tendencias históricas y cambiar las etiquetas
asignadas a las plumas de tendencia histórica.

Etiquetas Hist Trend. (Hist Trend tags).


Las etiquetas de Hist Trend se pueden utilizar para hacer referencia a gráficos de tendencias históricas. Todos
los dotfields asociados con tendencias históricas se pueden aplicar a las etiquetas de Hist Trend.

Etiquetas de ID de etiqueta. (Tag ID Tags).


Las etiquetas ID de etiqueta recuperan información de etiquetas cuyos valores se representan en un gráfico de
tendencias históricas de InTouch. Normalmente, se utiliza una etiqueta ID de etiqueta para mostrar el nombre de
la etiqueta asignada a un lápiz de tendencia específico o cambiar la etiqueta asignada a un lápiz de tendencia.

58
Puede incluir una sentencia en un QuickScript para asignar una nueva etiqueta a un lápiz en cualquier
tendencia histórica mediante una etiqueta de tipo ID de etiqueta. Por ejemplo, la siguiente sentencia de
QuickScript cambia la etiqueta asociada con un lápiz de tendencia histórica:

HistTrend.Pen1 = MyLoggedTag.TagID;

Cuando se ejecuta este QuickScript, Pen1 de la tendencia histórica comienza la tendencia de los datos
registrados históricamente para MyLoggedTag.

SuperTags.
Un SuperTag es una plantilla que contiene un conjunto de etiquetas relacionadas. Por ejemplo, puede crear una
plantilla SuperTag que contenga un conjunto de etiquetas asignadas a todas las propiedades de una bomba.
Utilice SuperTags cuando tenga equipo idéntico en su proceso de producción. En lugar de crear un conjunto de
etiquetas para cada equipo, asigne una instancia de la plantilla SuperTag a cada uno de los elementos de
proceso idénticos.

Etiquetas obsoletas. (Obsolete Tags)


Mediante una etiqueta Var de grupo, puede crear pantallas dinámicas de alarma, registro dinámico en disco e
impresión dinámica con el sistema de alarma estándar de InTouch. Las etiquetas Var de grupo se incluyen sólo
para compatibilidad con aplicaciones desarrolladas con InTouch versión 7.11 y versiones anteriores. No utilice
etiquetas Var de grupo en aplicaciones desarrolladas con versiones de InTouch posteriores a 7.11.

Propiedades de la etiqueta.
Cada tipo de etiqueta InTouch tiene un conjunto de propiedades que describen las características de los datos
asociados con la etiqueta. Los cuatro tipos de datos principales asociados con las etiquetas de InTouch son:

• Valores discretos. • Números enteros.


• Números reales. • Mensajes de texto.

A todas las propiedades de etiqueta se les asignan valores iniciales cuando crea una etiqueta con el Diccionario
de variables. La siguiente figura muestra las propiedades de una etiqueta de entero de E / S.

58
Después de establecer los valores iniciales de las propiedades de la etiqueta del Diccionario de variables,
puede cambiar dinámicamente la mayoría de las propiedades de la etiqueta mediante dotfield (campos de
puntos). Un dotfield identifica una propiedad de etiqueta que puede ser supervisada o modificada por una
secuencia de comandos cuando se ejecuta la aplicación InTouch. Añade el campo de puntos al nombre de la
etiqueta en un script.

Propiedades de la etiqueta de memoria.


En la tabla siguiente se enumeran las propiedades de los cuatro tipos de etiquetas de memoria. Cada propiedad
puede ser seleccionada o modificada como una opción del Diccionario Tagname.

58
Propiedades de la etiqueta de E / S.
Al igual que las etiquetas de memoria, las
propiedades de las etiquetas de E / S se pueden
seleccionar o modificar como opciones en el
Diccionario de variables.

58
Referencias de etiquetas remotas.
Puede crear
aplicaciones
InTouch
distribuidas con
un servidor de etiquetas que se ejecute en un nodo independiente
desde el nodo que ejecuta la aplicación InTouch. La siguiente figura
muestra una aplicación InTouch que hace una referencia remota a la
etiqueta PumpRPM desde un servidor de etiquetas que se ejecuta en
otro nodo.

Crea una aplicación InTouch para referenciar etiquetas ubicadas en un


nodo remoto mediante dos métodos:

• Asociar etiquetas de E / S con un nombre de acceso que identifica un


servidor remoto como el origen de la etiqueta. Para obtener más
información acerca de cómo definir un nombre de acceso para una
etiqueta de E / S.

• Utilice una referencia remota directamente a la etiqueta. Por ejemplo, PLC1: PumpRPM.

58
IX. Administrar etiquetas con el TagnameDictionary.

Mediante el TagnameDictionary, se crean etiquetas para una aplicación InTouch. La siguiente figura muestra el
cuadro de diálogo TagnameDictionary con todas las opciones para definir las propiedades de una etiqueta de
E / S.

Planificación del uso de etiquetas.


Puede reducir el tiempo de desarrollo identificando los requisitos clave de las etiquetas de una aplicación en
una fase de planificación preliminar. Una planificación completa reduce el tiempo que necesita para crear
aplicaciones InTouch.

Antes de crear etiquetas:

 Identificar todos los componentes físicos del proceso que necesitan ser representados en la aplicación
InTouch. Cree una lista de atributos de componente que deben representarse como orígenes de datos
en la aplicación.
 Identificar el tipo de datos asociados con cada atributo de componente. Asigne a cada etiqueta un tipo
de etiqueta basado en los datos asociados con el atributo de componente.
 Determinar las características de los datos que deben incorporarse a su aplicación InTouch. Evaluar las
siguientes características de datos para cada etiqueta:
 Alcance esperado de los valores de datos.
 Unidades de medida asignadas a valores de datos.
 Valor de datos inicial.
 Valor de banda muerta para establecer un umbral cuando el valor de una etiqueta se reconoce
como cambiado.
 Mensajes que se mostrarán cuando el valor de una etiqueta cambie de estado.
 Desarrollar una convención de nomenclatura de etiquetas y estándares. Normalmente, las aplicaciones
complejas requieren muchas etiquetas. Desarrollar una convención de nomenclatura estandarizada que
sugiera la organización de las etiquetas dentro de la aplicación.

58
 Determinar qué datos de proceso se deben guardar. Los datos seleccionados se guardan en un archivo
de registro. Puede utilizar datos registrados para crear tendencias históricas que muestren los cambios
en los valores de las etiquetas a lo largo del tiempo.

Creación de nuevas etiquetas.


Crea etiquetas con el TagnameDictionary de WindowMaker.
Antes de empezar, analice el proceso de la planta para determinar las etiquetas que necesita crear en la
aplicación InTouch.

Para crear una nueva etiqueta:

 Abra la aplicación InTouch en WindowMaker.


 En el menú Special, haga clic en TagnameDictionary. La primera vez que abra el TagnameDictionary, la
definición de la etiqueta del sistema $ AccessLevel aparecerá en el cuadro Tagname. Después de
guardar una nueva etiqueta, TagnameDictionary
muestra la definición de etiqueta guardada más
recientemente.
 Haga lo siguiente:
 Haga clic en Nuevo. La casilla Tagname se
borra.
 Introduzca un nombre para la nueva
etiqueta. Para obtener más información
sobre los requisitos de nomenclatura de
etiquetas.
 Opcionalmente, escriba un comentario
sobre la nueva etiqueta en el cuadro
Comentario.
 Haga clic en Tipo. El cuadro de diálogo Tipos de etiquetas aparece con una lista de tipos de etiqueta
InTouch compatibles.

 Seleccione un tipo de etiqueta de la lista y haga clic en Aceptar. El TagnameDictionary reaparece y


muestra el tipo de etiqueta que seleccionó.
 Si es necesario, haga clic en Detalles para ver las opciones adicionales de TagnameDictionary para el
tipo de etiqueta seleccionado.
 Especifique otras opciones de etiqueta en el cuadro de diálogo Diccionario de variables.
 Haga clic en Guardar. Haga clic en Cerrar para cerrar el cuadro de diálogo TagnameDictionary.

Configuración de propiedades de etiqueta.


Mediante el cuadro de diálogo Diccionario de
variables, puede especificar las propiedades
comunes de las etiquetas que forman parte de
cada definición de etiqueta. Debe asignar un
nombre a cada etiqueta. Puede agregar un
comentario opcional. Tanto el nombre de etiqueta
como el comentario son propiedades comunes de
todas las etiquetas.
Cada tipo de etiqueta InTouch tiene propiedades de datos únicas. Después de seleccionar un tipo de etiqueta, el
cuadro de diálogo TagnameDictionary se expande para mostrar un conjunto de opciones, basado en el tipo de
etiqueta seleccionado.

58
Propiedades comunes de la etiqueta.
Debe asignar un nombre único a cada etiqueta. Un comentario opcional puede ser parte de la definición de la
etiqueta. Es una buena práctica asignar un comentario apropiado para cada etiqueta que defina.
Todas las etiquetas pertenecen a un grupo de alarmas, que es otra propiedad de etiqueta común. De forma
predeterminada, todas las etiquetas pertenecen al grupo $ System alarm.

Convenciones de nombre de etiqueta.


Cuando nombra sus etiquetas, utilice una convención de nomenclatura coherente si necesita muchas etiquetas
con propiedades similares.
Siga estas convenciones de nomenclatura para los nombres de etiqueta de InTouch:
• Utilice 32 caracteres o menos en el nombre de una etiqueta.
• Utilice un alfanumérico (A-Z, a-z, 0-9) como el primer carácter de un nombre de etiqueta. Una buena práctica
es utilizar sólo caracteres alfanuméricos para los nombres de etiqueta.
• Utilice al menos un carácter alfabético en el nombre de etiqueta. (Opcional) Utilice los siguientes caracteres
especiales:
- Guión
! Punto de exclamación. # Símbolo de número.
$ Signo de dólar. % Porcentaje.
& Ampersand. ? Signo de interrogación.
@ A la señal. _ Guion bajo.

Si es posible, evite utilizar caracteres especiales en los nombres de etiqueta a menos que sea absolutamente
necesario en su aplicación.

• Evite usar un guión (-) en el nombre de una etiqueta.


Un guión es un carácter válido para un nombre de etiqueta InTouch. Sin embargo, InTouch evalúa un guión
como operador de negación o resta en expresiones lógicas o aritméticas. Por ejemplo, la expresión A = B-C se
puede interpretar como A = B menos C o la etiqueta denominada B-C está asignada a la etiqueta A.
• No utilice espacios en blanco en los nombres de las etiquetas.
• No utilice un número en el nombre de la etiqueta que pueda interpretarse como un número exponencial. Por
ejemplo, no se puede nombrar una etiqueta 125E4 porque podría interpretarse como un número base con un
exponente elevado a la cuarta potencia.
• No utilice un número en el nombre de la etiqueta que pueda interpretarse como un número hexadecimal. Por
ejemplo, no puede nombrar una etiqueta 0x123B porque podría interpretarse como un número hexadecimal.

Automáticamente nombrar etiquetas.


Al nombrar sus etiquetas en el Diccionario de variables, InTouch HMI realiza un seguimiento de las
convenciones de nomenclatura que está utilizando.
Si nombra las etiquetas Pump01, Pump02, InTouch HMI sugiere el siguiente nombre de etiqueta como Pump03.
Puede aceptar o rechazar este nombre. Esta ayuda de denominación se denomina Indexación.
La indexación se basa en el último número consecutivo en un nombre de etiqueta. Por ejemplo, si su nombre de
etiqueta es PumpInP04LotB99A, InTouch HMI sugiere el siguiente nombre de etiqueta como
PumpInP04LotB100A, no PumpInP05LotB99A.

Comentarios de la etiqueta.
Puede introducir un comentario opcional de hasta 50 caracteres en el cuadro Comentario de TagnameDictionary
cuando cree una etiqueta.
La primera vez que accede al Diccionario de variables, el comentario predeterminado para la etiqueta del
sistema $ AccessLevel aparece en el cuadro Comentarios. Elimine este comentario para evitar que se asocie
con las etiquetas que cree.

58
Descripción de las propiedades de las etiquetas.
Después de especificar las propiedades comunes de la etiqueta, debe definir otras propiedades específicas del
tipo de etiqueta que está creando. La siguiente tabla muestra las propiedades básicas de las etiquetas de
memoria por tipo de etiqueta.

Tipo de etiqueta. Propiedades únicas.


Discrete Valor inicial, On Msg, Msj deshabilitado, Comentario.
Valor inicial, valor mínimo, banda muerta, unidades de inglés, valor
Integer
máximo, registro de banda muerta, comentario.
Valor inicial, valor mínimo, banda muerta, unidades de inglés, valor
Real
máximo, registro de banda muerta, comentario.
Message Longitud máxima, valor inicial, comentario.

Las etiquetas de E / S tienen propiedades adicionales para establecer la comunicación de red y transformar
datos sin procesar de dispositivos de red a valores normalizados utilizados por la aplicación InTouch.

Rangos de valor, unidades de medida y un valor inicial.


Las etiquetas discreta, entera, real y de mensaje reciben un valor inicial cuando se inicia la aplicación InTouch
en WindowViewer. En el caso de una etiqueta discreta, el valor inicial es uno de los posibles estados binarios.
Para las etiquetas enteras y reales, el valor inicial es el número asociado con la etiqueta cuando se inicia la
aplicación. El valor inicial se especifica en el TagnameDictionary.
Puede especificar el valor de etiqueta inicial como el último valor de la etiqueta cuando la aplicación deja de
ejecutarse en WindowViewer. Al seleccionar la opción Retentive Value del TagnameDictionary, la etiqueta tiene
asignado su último valor activo como el valor inicial cuando la aplicación se inicia de nuevo.
Las etiquetas enteras y reales incluyen propiedades que establecen los límites inferior y superior del intervalo
de valores numéricos posibles asignados a una etiqueta. Tanto las etiquetas enteras como las reales incluyen
las propiedades Valor mínimo y Valor máximo que definen el valor inferior y superior de la gama.
Las etiquetas enteras y reales también incluyen la propiedad Eng Units para asignar una etiqueta de unidades
de ingeniería que describe la unidad de medida para el valor de la etiqueta. Por ejemplo, puede asignar PSI
como la propiedad Eng Units para una etiqueta de número entero asociada a presurización de bomba.

Tag Deadbands. (Etiqueta Bandas muertas).


Una banda muerta es un ajuste de sensibilidad para los valores de etiqueta. Una banda muerta suele estar
asociada con etiquetas de E / S cuyos valores cambian constantemente. Una banda muerta filtra pequeños
cambios momentáneos en un valor de etiqueta para reducir la cantidad de procesamiento de datos de InTouch.
El TagnameDictionary incluye dos propiedades de banda muerta para etiquetas asociadas con datos enteros y
reales.

• Value Deadband: La propiedad deadband de valor establece un umbral que debe superarse antes de que
WindowViewer actualice el valor de la etiqueta en la memoria de tiempo de ejecución. La siguiente figura
muestra el rango de banda muerta absoluta alrededor de un valor de etiqueta actual.
• Log Value Deadband: La banda muerta del registro establece un umbral que se debe superar antes de que el
valor de la etiqueta se escriba en el archivo de registro. La siguiente figura muestra la banda muerta alrededor
del valor actual de una etiqueta registrada.

58
Sólo los nuevos valores de etiqueta fuera de la banda muerta se escriben en el archivo de registro. Cambios de
valor pequeños dentro del intervalo de banda muerta se ignoran y no se registran.

Para establecer una etiqueta muerta de etiquetas:


 Abra el cuadro de diálogo TagnameDictionary.
 Haga clic en Seleccionar. Aparecerá el cuadro de diálogo Seleccionar etiqueta. Se enumeran las
etiquetas definidas actualmente para la aplicación.
 Seleccione un tipo de etiqueta entera o real en la lista.
 Haga clic en Aceptar. La parte de detalle del cuadro de diálogo TagnameDictionary muestra opciones
adicionales cuando se selecciona una etiqueta real o entero.

 Establezca la banda muerta de valor introduciendo un número entero o real en el cuadro Deadband
basándose en el tipo de etiqueta seleccionado. La banda muerta de valor establece un nivel de umbral
absoluto en unidades de ingeniería.
 Establezca la banda muerta del registro introduciendo un número entero o real en el cuadro Log
Deadband (Banda muerta de registro) en función del tipo de etiqueta seleccionado. Al igual que la
banda muerta de valor, la banda muerta de log establece un umbral absoluto en unidades de ingeniería.
 Haga clic en Guardar para guardar los cambios en la banda muerta.
 Haga clic en Cerrar para cerrar el cuadro de diálogo Diccionario de variables.

Retención de valor de etiqueta.


La parte detallada del Diccionario Tagname incluye dos propiedades para retener los valores de las etiquetas y
los cambios del operador en los límites de la alarma.
Todos los tipos de etiqueta incluyen una propiedad de Valor Retentivo. Seleccione Retentive Value para retener
el valor actual de la etiqueta cuando la aplicación se detenga. Cuando vuelve a iniciar la aplicación,
WindowViewer utiliza el valor retenido como el valor inicial de la etiqueta.
WindowViewer no escribe valores retenidos en dispositivos de E / S cuando WindowViewer inicia la aplicación
de nuevo. Los valores de E / S se actualizan después de que el servidor de E / S escanea inicialmente el
dispositivo que proporciona los datos.

La opción Retentive Value no se puede seleccionar ni borrar para las etiquetas nuevas o existentes si
WindowViewer se está ejecutando. Al seleccionar esta opción, el valor inicial de la etiqueta se actualiza
constantemente para reflejar su valor actual. Cuando WindowViewer se detiene, el valor inicial se establece en
el último valor retenido. Si esta opción se borra más tarde, el valor inicial de la etiqueta se establece en el último
valor retenido. Las etiquetas enteras y reales incluyen la propiedad Retentive Parameters. Seleccione
Parámetros Retentivos para retener los cambios realizados por el operador al límite de alarma de una etiqueta

58
mientras la aplicación está en ejecución. WindowViewer utiliza el límite de alarma modificado como el valor
inicial para el límite de alarma cuando se reinicia la aplicación.

Conexión de E / S.
Todos los tipos de etiquetas de E / S deben identificar el nombre de acceso y el nombre de elemento del origen
de datos externo.

Registro de etiquetas.
Durante el tiempo de ejecución, WindowViewer puede escribir una entrada en el archivo de registro histórico
cada vez que el valor de una etiqueta cambia más que la banda muerta del registro especificado.
WindowViewer también escribe entradas en el registro en un intervalo fijo independientemente de los valores de
etiqueta actuales. De forma predeterminada, este intervalo fijo es de una hora.

Nota: Para un registro más controlable y versátil, considere usar Wonderware Historian para almacenar datos
históricos de InTouch.

El cuadro de diálogo Diccionario de variables incluye opciones separadas para registrar datos y eventos en el
archivo de registro. Puede establecer opciones de registro de valores.
Para que el valor de una etiqueta se escriba en el archivo de registro histórico, se debe habilitar el registro
histórico. Para las etiquetas enteras y reales, puede establecer la banda muerta del registro en sus respectivos
cuadros de diálogo de detalles. La opción Log Deadband especifica cuántas unidades de ingeniería debe
cambiar el valor de una etiqueta para escribir una entrada de registro.

Para configurar el registro de una etiqueta:


 Abra el TagnameDictionary.
 Seleccione la etiqueta cuyos datos desea guardar en el archivo de registro.
 Seleccione Datos de registro.

 Seleccione On u Off como el valor inicial asociado con la etiqueta. La etiqueta se establece en este
valor inicial cuando se inicia la aplicación.
 Ingrese los mensajes en los cuadros Msg y Msj deshabilitados que aparecen cuando la etiqueta transita
dentro y fuera de un estado de alarma.
 Estos mensajes están disponibles para su uso en cualquier vínculo o secuencia de comandos de
animación, independientemente de si la etiqueta tiene configuradas o no alarmas.
 Si define una alarma discreta que está activa cuando el valor de etiqueta es igual a 1 (Activado,
Verdadero), el mensaje ingresado en el cuadro Msj activado aparece en las columnas Valor y
Límite de las pantallas de alarma ActiveX. Cuando el estado de alarma de la etiqueta vuelve a
la normalidad, el mensaje ingresado en el cuadro Desactivado aparece en la columna Valor y el
mensaje Activado permanece en la columna Límite.
 Si define una alarma discreta que está activa cuando el valor de etiqueta es igual a 0 (Off,
Falso), el mensaje ingresado en el cuadro Desactivado aparece en las columnas Valor y Límite
de las pantallas de alarma ActiveX. Cuando el estado de alarma de la etiqueta vuelve a la
normalidad, el mensaje ingresado en el cuadro On Msg aparece en la columna Value y el
mensaje Off permanece en la columna Límite.
 Guarde los cambios en la etiqueta.

Creación de etiquetas enteras y reales.


Puede especificar etiquetas enteras y reales para mostrar valores numéricos de procesos que se ejecutan en
una aplicación de InTouch.

58
Los siguientes pasos muestran cómo definir memoria y E / S entero y etiquetas reales. Se debe asignar un valor
inicial a las etiquetas enteras y reales de memoria. También debe establecer rangos de datos mínimos y
máximos.

Importante Los números reales de InTouch están limitados a la precisión de ocho dígitos. Para evitar posibles
errores de redondeo, no exceda la precisión de ocho dígitos cuando especifique las propiedades de las
etiquetas reales.

Para definir valores enteros de la memoria y de la etiqueta real:


 Asigne memoria entera o memoria real como el tipo de etiqueta en el cuadro de diálogo Tipos de
etiquetas. Aparece la parte de detalle del cuadro de diálogo TagnameDictionary.

 Establezca las propiedades para etiquetas enteras y reales. Haz lo siguiente:


 En el cuadro Valor inicial, escriba el número entero o real asociado con la etiqueta cuando se
inicia la aplicación.
 En el cuadro Valor mínimo, escriba el número entero mínimo o el número real de la etiqueta. El
valor mínimo establece el valor mínimo posible para los números asociados con el número
entero de memoria y las etiquetas reales.
 En el cuadro Valor máximo, escriba el número entero máximo o número real de la etiqueta. El
valor máximo establece el valor máximo posible para los números asociados con el número
entero de memoria y las etiquetas reales.
 En el cuadro Unidades, escriba la etiqueta que desea utilizar para las unidades de ingeniería
de la etiqueta.
 Guarde los cambios en la etiqueta.

Creación de etiquetas de mensaje.


Puede especificar etiquetas de mensaje tanto para procesos internos como externos. Estas etiquetas incluyen
propiedades para especificar un mensaje inicial que aparece cuando WindowViewer inicia la aplicación y un
comentario que se puede leer desde la alarma
Espectador.

Para definir una etiqueta de mensaje de memoria:


 Asigne un mensaje de memoria como el tipo de etiqueta en el cuadro de diálogo Tipos de etiqueta.
 Si es necesario, seleccione Detalles para mostrar la parte detallada del cuadro de diálogo

TagnameDictionary.

 Establezca las propiedades de una etiqueta de mensaje de memoria. Haz lo siguiente:


 En el cuadro Longitud máxima, escriba un número entero que es el número máximo de
caracteres que puede aparecer en el mensaje de la etiqueta. O bien, acepte la longitud
predeterminada de 131 caracteres, que es la longitud máxima del mensaje.
 En el cuadro Valor inicial, escriba el texto del mensaje que desea asignar a la etiqueta cuando
WindowViewer inicie la aplicación.

58
 En el cuadro Comentario de alarma, escriba un mensaje que se puede leer en el control
AlarmViewer si la etiqueta de mensaje tiene seleccionada la opción Eventos de registro.
 Guarde los cambios en la etiqueta.

Creación de etiquetas de E / S.
Las etiquetas de E / S tienen un conjunto de propiedades comunes que especifican la conectividad de red entre
la aplicación InTouch y los procesos externos. La parte de detalle del cuadro de diálogo TagnameDictionary
incluye opciones para establecer las propiedades externas de una etiqueta de E / S.

Modificación de etiquetas.
La modificación de una etiqueta es similar a la creación de una etiqueta. Seleccione la etiqueta que se va a
modificar desde el TagnameDictionary. A continuación, cambia las propiedades de la etiqueta siguiendo los
mismos pasos para crear una etiqueta.

Importante: No es fácil modificar el tipo de una etiqueta después de que se utilice en una aplicación de
InTouch. La selección del tipo de etiqueta puede estar limitada a tipos de datos similares. Debe seleccionar
cuidadosamente el tipo de datos correcto cuando defina sus etiquetas.

Para modificar una etiqueta:


 Abra el cuadro de diálogo Diccionario de variables.
 Haga clic en Seleccionar. Aparecerá el cuadro de diálogo Seleccionar etiqueta. Se muestra una lista de
etiquetas actualmente definidas para la aplicación.
 Seleccione la etiqueta que desea modificar en la lista.
 Haga clic en Aceptar. El cuadro de diálogo Diccionario de la variable muestra los valores especificados
para la etiqueta seleccionada.
 Realice cambios en las propiedades de la etiqueta.
 Haga clic en Guardar para actualizar la etiqueta con sus cambios.
 Haga clic en Cerrar para cerrar el Diccionario de variables.

Eliminación de etiquetas.
Se mantiene un recuento para todas las etiquetas definidas para una aplicación InTouch. El recuento de
etiquetas no disminuye automáticamente cuando se elimina una ventana que contiene enlaces de animación o
secuencias de comandos. Las etiquetas asociadas con la ventana suprimida todavía se consideran en uso y no
se pueden eliminar. Para poder eliminar una etiqueta que ya no se utiliza, debe cerrar WindowViewer y
actualizar las cuentas de uso de etiquetas locales y remotas. Puede determinar dónde se está utilizando una
etiqueta con la utilidad de referencia cruzada InTouch.

Impresión de una lista de etiquetas e información de uso.


Puede imprimir el contenido de una base de datos de la aplicación InTouch, ventanas y secuencias de
comandos en WindowMaker mediante la utilidad de impresión de WindowMaker.

X. Uso de etiqueta Dotfields para ver o cambiar propiedades de


etiqueta.

Cada tipo de etiqueta InTouch tiene un conjunto único de propiedades que describen los datos o las posibles
condiciones asociadas con la etiqueta. Un dotfield identifica una propiedad de etiqueta. Hay un dotfield para casi
cada propiedad de etiqueta que se muestra en el TagnameDictionary. Algunos dotfields son comunes a cada
tipo de etiqueta InTouch. Por ejemplo, el campo de punto .Name siempre está asociado con el nombre de una
etiqueta. Otros dotfields se aplican sólo a las propiedades únicas de un tipo específico de etiqueta.
Al utilizar campos de puntos en un script, una expresión o una entrada de usuario, puede supervisar y modificar
las propiedades de una etiqueta mientras se está ejecutando una aplicación. El siguiente ejemplo muestra la

58
sintaxis de un dotfield para acceder a las propiedades de la etiqueta dentro de una secuencia de comandos o
expresión.
Tag_name.property_dotfield
Por ejemplo, para permitir que los operadores cambien el límite de alarma HiHi mientras se está ejecutando una
aplicación, puede crear un enlace táctil de entrada de usuario analógico. A continuación, aplique el vínculo a un
botón que se define con la expresión de punto matemático Analog_Tag.HiHiLimit. Durante el tiempo de
ejecución, el operador simplemente hace clic en el botón y escribe un nuevo valor para el límite de alarma HiHi
para la etiqueta. Puede utilizar campos de puntos para permitir la entrada y salida de datos asociados a una
etiqueta y puede utilizar campos de puntos históricos para modificar la tendencia histórica que se muestra
actualmente desde una aplicación en ejecución. Por ejemplo, puede utilizar campos de puntos en secuencias
de comandos que permiten a los operadores modificar el desplazamiento de tendencias históricas, bloquear o
volver a colocar los scooters en la tendencia o reasignar las plumas a nuevas etiquetas.

Dotfields disponibles para tipos de etiquetas.


Cada tipo de etiqueta InTouch tiene un conjunto de dotfields asociados con sus propiedades únicas. La tabla
siguiente muestra una lista alfabética de dotfields para todos los tipos de etiquetas.

Cambiar los límites de valor de una etiqueta.


Los datos de entrada sin procesar de un servidor de E / S se transforman en un intervalo de valores apropiado
para una aplicación de InTouch. Los valores de una etiqueta se sujetan a un rango limitado por valores mínimos
y máximos especificados por las propiedades Min Raw y Max Raw del TagnameDictionary.
A continuación, estos valores brutos se convierten en un rango de unidades de ingeniería establecidas por las
opciones UE mínima y UE máxima. Puede utilizar un conjunto de campos de puntos para supervisar y modificar
el valor bruto de una etiqueta y los rangos de unidades de ingeniería.
En la tabla siguiente se enumeran los campos de puntos que supervisan o cambian valores de etiqueta
mientras se está ejecutando una aplicación.

58
Visualización del límite de valor bruto. (The Raw Value Limit).
Los valores de las variables de entrada sin procesar de un servidor de E / S pueden requerir sujeción antes de
que puedan utilizarse en una aplicación InTouch.
La fijación restringe los valores brutos a un rango con límites inferiores y superiores definidos. Los campos de
punto .MinRaw y .MaxRaw muestran los límites inferior y superior del rango de entrada sin procesar.

.MinRaw Dotfield
El campo de puntos .MinRaw muestra el ajuste de la abrazadera inferior de Min Raw asignado a una etiqueta.
El valor para .MinRaw dotfield proviene del valor de valor mínimo asignado a la etiqueta de E / S en el
TagnameDictionary. Cualquier valor bruto menor que este ajuste se sujeta a este valor mínimo.
Categoría: Etiquetas
Uso: Tag_name.MinRaw;
Parámetro Tag_name: El nombre de cualquier entero de E / S, E / S real y etiqueta analógica indirecta.
Observaciones: Este campo de puntos de sólo lectura muestra el valor asignado al ajuste de la abrazadera
inferior de Min Raw.
Tipo de datos: Real o entero (sólo lectura).
Valores válidos: Cualquier valor analógico.

Ejemplo: El siguiente script muestra una ventana de error si el valor bruto asociado con la presión de entrada
de la bomba está fuera de los límites de valores inferiores y superiores establecidos por las propiedades Min
Raw y Max Raw de la etiqueta.

IF ((PumpInP.RawValue > PumpInP.MaxRaw) OR


(PumpInP.RawValue < PumpInP.MinRaw)) THEN
Show "Instrument Failure Window";
ENDIF;

Ver también: .EngUnits, .MinEU, .MaxEU, .MaxRaw, .RawValue

.MaxRaw Dotfield
El campo de puntos .MaxRaw muestra el ajuste de máxima fijación de Max Raw asignado a una etiqueta de E /
S desde la propiedad Max Raw en el Diccionario de variables. Cualquier valor de datos sin formato que exceda
esta configuración se sujeta a este valor bruto máximo.
Categoría: Etiquetas
Uso: Tag_name.MaxRaw
Parámetro Tag_name: El nombre de cualquier entero de E / S, E / S real y etiqueta analógica indirecta.
Observaciones: Este campo de puntos de sólo lectura muestra el valor asignado a la configuración de fijación
alta de Max Raw.
Tipo de datos: Real o entero (sólo lectura).
Valores válidos: Cualquier valor analógico.
Ejemplo: Esta secuencia de comandos determina si un valor de etiqueta está fuera del rango de
funcionamiento normal y, si es el caso, se muestra una ventana.

IF ((Temp01.RawValue > Temp01.MaxRaw) OR


(Temp01.RawValue <
Temp01.MinRaw)) THEN
Show "Instrument Failure Window";

58
ENDIF;

Ver también: .EngUnits, .MinEU, .MaxEU, .MinRaw, .RawValue

Visualización del valor bruto de una etiqueta. (The Raw Value of a Tag).
El campo de puntos .RawValue muestra el valor discreto o analógico real de una propiedad supervisada
recibida de un servidor de E / S.
El valor bruto es el valor real de entrada antes de que se aplique el ajuste y la escala para normalizar el valor a
las unidades de ingeniería de la etiqueta.

.RawValue Dotfield
El campo de puntos .RawValue muestra el valor real recibido de un servidor de E / S por WindowViewer. El
campo de puntos .RawValue le permite acceder al valor de una etiqueta de E / S antes de que InTouch aplique
la escala.
Categoría: Etiquetas
Uso: Tag_name.RawValue
Parámetro Tag_name: El nombre de cualquier entero de E / S, E / S real, E / S discreto, indirecto discreto y
etiqueta analógica indirecta.
Observaciones: Este campo de puntos de sólo lectura se utiliza para mostrar el valor real de E / S discreta o
analógica antes de que InTouch aplique escala.
Tipo de datos: Cualquier dato apropiado para el tipo de etiqueta asociada con el campo de puntos .RawValue.
Por ejemplo, números reales para etiquetas reales o valores discretos para etiquetas discretas (sólo lectura).
Ejemplo: La siguiente secuencia de comandos emite un mensaje de advertencia cuando la presión de entrada
de la bomba bruta está por debajo o por encima de los límites de sujeción mínimo y máximo de la etiqueta.

IF ((PumpInP.RawValue > PumpInP.MaxRaw) OR


(PumpInP.RawValue < PumpInP.MinRaw)) THEN
AlarmMessage = "Pump sensor is out of calibration or requires replacement.";
ENDIF;

Ver también: .EngUnits, .MinEU, .MaxEU, .MinRaw, .MaxRaw

Visualización del límite de valor de las unidades de ingeniería.


Un valor de un servidor de E / S se considera crudo cuando llega por primera vez en WindowViewer. Los
valores sin procesar pueden requerir escalamiento. El InTouch HMI realiza una transformación aritmética en los
valores de entrada fijos no ajustados para escalarlos al rango de unidades de ingeniería de la etiqueta. Los tipos
de E / S de tipo entero y real incluyen las propiedades mínimas EU y Max EU que muestran los límites inferior y
superior del rango de la unidad de ingeniería.

.MaxEU Dotfield
El campo de punto .MaxEU muestra el valor de unidad de ingeniería máximo asignado a la etiqueta
especificada desde el TagnameDictionary.
Categoría: Etiquetas
Uso: Tag_name.MaxEU
Parámetro Tag_name: Cualquier etiqueta analógica entera, real o indirecta.
Observaciones: El campo de punto .MaxEU se utiliza para escalar valores de datos sin procesar a un rango de
unidades de ingeniería definido para la etiqueta. Define el límite superior del rango de la unidad de ingeniería.
Tipo de datos: Real para etiquetas reales e integer para etiquetas enteras (sólo lectura).
Valores válidos: Depende del tipo de etiqueta especificada.

58
Ejemplo: Un medidor de nivel es leído por un controlador lógico programable en el campo. El transmisor de
nivel envía una señal que oscila entre 4 y 20mA. El PLC convierte esta señal en un valor entero entre 0 y 4095.
Este valor se asigna a la etiqueta TankTwoLevel.
La visualización del valor bruto (entre 0 y 4095) no proporciona datos útiles al operador. Es necesario escalar
este valor a un rango de ingeniería apropiado.
Para ello, los campos Unidad mínima de ingeniería y Unidades de ingeniería máxima deben estar configurados
correctamente. En nuestro ejemplo, si el valor bruto de 0 (4mA del campo) traducido a "0 galones" y el valor de
4095 (20mA del campo) traducido a "100 galones", se necesitaría la siguiente configuración para mostrar de
forma correcto en la pantalla:

TankTwoLevel.MinRaw = 0;
TankTwoLevel.MaxRaw = 4095;
TankTwoLevel.MinEU = 0;
TankTwoLevel.MaxEU = 100;

Con estos ajustes, cuando el valor bruto en el campo es 4095, el valor mostrado al operador es 100.
Vea también: .EngUnits, .MinEU, .MinRaw, .MaxRaw, .RawValue

.MinEU Dotfield
El campo de puntos .MinEU muestra el valor mínimo de unidad de ingeniería asignado a la etiqueta
especificada desde el TagnameDictionary.
Categoría: Etiquetas
Uso: Tag_name.MinEU
Parámetro Tag_name: Cualquier etiqueta analógica entera, real o indirecta.
Observaciones: El campo de punto .MinEU se utiliza para escalar valores de datos sin procesar a un rango de
unidades de ingeniería definido para la etiqueta. Define el límite inferior del rango de la unidad de ingeniería.
Tipo de datos: Real para etiquetas reales e integer para etiquetas enteras (sólo lectura).
Valores válidos: Depende del tipo de etiqueta especificada.
Ejemplo: Este ejemplo asigna el rango de unidades de ingeniería definido para la etiqueta Tag1 a la etiqueta
AbsoluteTagRange.
AbsoluteTagRange = (Tag1.MaxEU - Tag1.MinEU);
Vea también: .EngUnits, .MaxEU, .MinRaw, .MaxRaw, .RawValue

Cambio de las unidades de ingeniería de una etiqueta.


Puede asociar un campo de puntos a una etiqueta para determinar el valor de texto de la unidad de ingeniería
asignada a la etiqueta.

.EngUnits Dotfield
El campo de puntos .EngUnits muestra el valor de texto asignado a una etiqueta analógica con la propiedad
Eng Units. El campo de puntos .EngUnits muestra la unidad de ingeniería como un valor de texto.
Nota: Los valores escritos en este campo no son retentivos.
Categoría: Etiquetas
Uso: Tag_name.EngUnits
Parámetro Tag_name: Cualquier marca analógica entera, real o indirecta.
Tipo de datos: Mensaje (lectura / escritura).
Observaciones: El campo de puntos .EngUnits no afecta a la escala, conversión o formato de los datos reales
asociados con la etiqueta.
Valores válidos: Cualquier cadena que contenga de 0 a 31 caracteres.
Ejemplo: El siguiente script llama a una función de conversión de temperatura Fahrenheit si la unidad de
ingeniería de la etiqueta es Celsius.

58
IF Temperature.EngUnits == "Celsius" THEN
CALL TempFConvert(Temperature);
ENDIF;

Vea también: .MinEU, .MaxEU, .MinRaw, .MaxRaw, .RawValue

Visualización del valor de una etiqueta en unidades de ingeniería.


Las etiquetas InTouch se asignan a un campo de puntos predeterminado cuando no se especifica
explícitamente un campo de puntos en la aplicación.

.Value Dotfield
El campo de puntos .Value muestra el valor actual de la etiqueta especificada en las unidades de ingeniería.
.Value es el campo de punto InTouch predeterminado aplicado implícitamente a todas las etiquetas. Si una
etiqueta no tiene un dotfield asignado, se asume el campo de puntos .Value.
Categoría: Etiquetas
Uso: tag_name.Value
Parámetro tag_name: Cualquier tipo de etiqueta excepto la etiqueta Hist Trend.
Observaciones: Usted raramente necesita usar el campo de puntos .Value. Sin embargo, en algunos casos,
hace más claro el cálculo o el uso de parámetros.
Tipo de datos: Igual que el tipo de etiqueta especificado (lectura / escritura).
Valores válidos: Depende del tipo de etiqueta especificada.

Ejemplo: La sentencia siguiente establece el valor del entero de memoria.


PumpRPM tag equal to 100:
PumpRPM.Value=100;
Cuál es funcionalmente equivalente a:
PumpRPM=100;

Visualización o cambio de mensajes de etiqueta discreta.


Los campos de punto .OnMsg y .OffMsg muestran los mensajes asignados a los estados activados o
desactivados de una etiqueta discreta desde el TagnameDictionary. Los mensajes de activación y desactivación
de una etiqueta discreta son cadenas cortas con un máximo de 15 caracteres.

.OnMsg Dotfield
El campo de campo .OnMsg le permite acceder al mensaje On asignado a una etiqueta discreta desde el
TagnameDictionary.
Categoría: Etiquetas
Uso: Tag_name.OnMsg
Parámetro Tag_name: Cualquier etiqueta discreta.
Tipo de datos: Mensaje (lectura / escritura). Los valores escritos en este campo de puntos no son retentivos.
Valores válidos: Cualquier cadena que contenga de 0 a 15 caracteres.
Ejemplo: La sentencia siguiente emite un mensaje si se le asigna un valor de cadena de "Pump1 running" al
mensaje indirecto IndPumpState tag On.
IF IndPumpState.OnMsg == "Pump1 running" THEN
TypeOfTag = "The IndPumpState tag is assigned to
Pump1.";
ENDIF;

58
Vea también: .OffMsg

.OffMsg Dotfield
El campo de puntos .OffMsg le permite acceder al mensaje Off asignado a una etiqueta discreta del Diccionario
de variables.
Categoría: Etiquetas
Uso: Tag_name.OffMsg
Parámetro Tag_name: Cualquier etiqueta discreta.
Tipo de datos: Mensaje (lectura / escritura). Los valores escritos en este campo de puntos no son retentivos.
Valores válidos: Cualquier cadena que contenga de 0 a 15 caracteres.
Ejemplo: La sentencia siguiente asigna la cadena apropiada a la etiqueta de StateMessage de acuerdo con el
estado de la etiqueta MyDiscrete.

StateMessage = Dtext (MyDiscrete, MyDiscrete.OnMsg,


MyDiscrete.OffMsg);

Vea también: .OnMsg

Cómo ver o cambiar el comentario de una etiqueta.


Un comentario de etiqueta sólo se puede cambiar permanentemente desde el TagnameDictionary. Puede
asignar otro comentario con el campo de punto .Comment mientras se ejecuta la aplicación. Esto sólo cambia el
comentario para la duración de la sesión de tiempo de ejecución. No cambia permanentemente el comentario
de la etiqueta en TagnameDictionary. Después de que WindowViewer se apaga y se reinicia, el comentario
original se asigna a la etiqueta.
.Comentario Dotfield
El campo de puntos .Comment muestra el comentario asignado a una etiqueta del Diccionario de variables. Un
comentario de etiqueta puede ser una cadena de hasta 50 caracteres.
Categoría: Etiquetas
Uso: Tag_name.Comment
Parámetro Tag_name: Cualquier nombre de etiqueta.
Observaciones: El comentario asociado con una etiqueta se puede modificar con el campo de punto .Comment
mientras se ejecuta una aplicación InTouch. Después de detener la aplicación, el comentario original
especificado en el diccionario de variables permanece asignado a la etiqueta.
Tipo de datos: Mensaje
Valores válidos: Cualquier cadena de 1 a 50 caracteres.
Ejemplo: La sentencia siguiente crea un mensaje de operador al combinar el comentario asignado de una
etiqueta al nombre de la etiqueta:

OperatorMessage=PumpRPM.Name + " has a comment of:


" + PumpRPM.Comment;

58
XI. Datos de marcas de tendencias.

Puede crear tendencias que muestren gráficamente los datos recopilados de una aplicación InTouch.
WindowMaker incluye un conjunto de utilidades y asistentes que le permiten crear tendencias históricas y en
tiempo real. La siguiente figura muestra un
ejemplo de una tendencia InTouch Media /
Dispersión.

También puede utilizar un conjunto de controles


de tendencia. Mediante estos controles, puede
seleccionar los datos que se muestran en una
tendencia y cómo aparecen los datos en la
tendencia.

Puede configurar tendencias en tiempo real e


histórico. Ambos tipos de tendencia incluyen opciones de configuración para establecer el intervalo de
recopilación de datos de una tendencia y su apariencia visual.

Tipos de tendencias de InTouch.


Una tendencia histórica muestra datos de registros recopilados del pasado y almacenados en repositorios de
datos de InTouch. Utilizando un sistema de historial distribuido, puede recuperar datos históricos de cualquier
archivo de registro histórico de InTouch ubicado en un nodo de red accesible. El sistema de historial distribuido
amplía las capacidades de recuperación de tendencias históricas para incluir bases de datos de registro remoto.
Las tendencias en tiempo real se actualizan continuamente para mostrar los datos a medida que se producen
durante periodos relativamente cortos. Puede utilizar la herramienta Real-time Trend de WindowMaker para
crear un objeto de tendencia en una ventana. Si la herramienta opcional 16-Pen Trend está instalada, también
puede crear tendencias en tiempo real que muestren datos de hasta 16 etiquetas.

Comprensión de las tendencias históricas.


Las tendencias históricas muestran un segmento contiguo de datos del pasado. A diferencia de las tendencias
en tiempo real, las tendencias históricas sólo se
actualizan mediante un script o una acción del
operador. Una tendencia histórica muestra una
representación gráfica de datos de un máximo de
ocho etiquetas. Puede asignar los datos que
aparecen en una tendencia histórica asignando
una etiqueta a un lápiz de tendencia. La siguiente
figura muestra los tres tipos de tendencias
históricas de InTouch.

• La tendencia histórica Promedio / Barra muestra el valor promedio de un punto de datos durante los intervalos
de tiempo en forma de barra.
• La tendencia histórica Min / Max muestra los cambios en el porcentaje de unidades de ingeniería como escala
vertical en el intervalo de tiempo. El énfasis está en el flujo de tiempo y la tasa de cambio, en lugar de la
cantidad de cambio.
• La tendencia histórica Promedio / Dispersión muestra el valor promedio de los puntos de datos en cada
intervalo de tiempo de tendencia.
Puede crear deslizadores gráficos llamados scooters para acceder a los detalles de los datos de tendencia
basados en la posición actual del scooter dentro de una tendencia. Por ejemplo, cuando el operador coloca el
scooter sobre un área en la tendencia que tiene datos visibles, el tiempo y los valores en esa ubicación para
todos los valores de la base de datos que se están mostrando. También puede crear botones o deslizadores

58
para acercar y alejar entre los scooters o datos, como el valor máximo a mínimo. Promedio y desviación
estándar se puede mostrar para el cuadro completo o para el área entre los scooters. Las tendencias históricas
también se pueden desplazar por cualquier cantidad de tiempo. Puede crear escalas personalizadas y
vincularlas a los campos de punto .MinEU y .MaxEU para crear una tendencia que muestre el rango completo
de datos establecidos por su unidad de ingeniería. Descripción de las tendencias en tiempo real Una tendencia
en tiempo real muestra los datos de una aplicación InTouch que se está ejecutando actualmente. Las
tendencias en tiempo real se actualizan continuamente. Las tendencias en tiempo real representan los valores
de datos actuales asociados con hasta cuatro etiquetas o expresiones locales.

Usted puede:
• Crear una tendencia en tiempo real
• Seleccione las etiquetas de una tendencia
• Especifique el intervalo de tiempo y de actualización de una tendencia
• Configurar las opciones de visualización de una tendencia.

Mostrar valores de etiqueta guardados en una tendencia histórica.


Puede crear tendencias históricas utilizando cualquiera de las siguientes utilidades de WindowMaker:
• Herramienta Tendencia histórica
• Asistente para tendencias históricas
• 16-Asistente de tendencia de lápiz (opcional)

Además, puede incorporar una tendencia de ActiveFactory para mostrar los datos de tendencias históricas de
InTouch guardados en una base de datos de Historiador de Wonderware.

Uso de objetos de tendencia histórica


Puede crear y configurar una tendencia con la herramienta Tendencia histórica de WindowMaker. Usted puede
• Crear una tendencia histórica.
• Seleccione las etiquetas de una tendencia.
• Especifique el intervalo de tiempo y de actualización de una tendencia.
• Configurar las opciones de visualización de una tendencia.

Creación de una tendencia histórica


Puede utilizar la herramienta Tendencia histórica para crear un objeto de tendencia en una ventana. La primera
vez que crea un objeto de tendencia histórica, se utilizan los ajustes de configuración predeterminados de
InTouch.
Después de configurar una tendencia histórica, WindowMaker utiliza los valores de configuración más recientes
como configuración inicial para un nuevo objeto de tendencia.
Puede dibujar el gráfico de tendencias a cualquier tamaño dentro de los bordes de la ventana.

Para crear una tendencia histórica:


 Abra la ventana de WindowMaker en la que desea
colocar una tendencia histórica.
 Haga clic en el botón Tendencia histórica de la Barra de
herramientas de dibujo.
 Mueva el ratón sobre el área de la ventana donde desea
colocar la tendencia histórica. Arrastre el ratón
diagonalmente para crear un rectángulo el tamaño
deseado de la tendencia. El objeto Tendencia histórica aparece en la ventana.
 Si es necesario, ajuste la altura y el ancho de la tendencia con las manijas de los objetos.

Configuración de etiquetas que se muestran desde una tendencia histórica.


Un lápiz de tendencia histórica crea una representación gráfica de los datos registrados desde un período
especificado. Asigna plumas de tendencia a las etiquetas que recopilan datos históricos.

58
Una tendencia histórica soporta hasta ocho corrales.

Nota: WindowViewer debe cerrarse. De lo contrario, los cuadros de pluma no se pueden seleccionar.

Puede seleccionar etiquetas de proveedores de historial remotos, si los proveedores están configurados.

Nota: También puede configurar un proveedor de historial Wonderware Historian para visualizar datos de
tendencias históricas. Para obtener más versatilidad y otras opciones de gráficos, utilice las herramientas de
tendencias de ActiveFactory para crear tendencias con los datos históricos de InTouch guardados en una base
de datos de Historiador de Wonderware.

Para configurar las etiquetas que se muestran a partir de una tendencia histórica:
 Haga doble clic en el objeto de tendencia de la ventana. Aparecerá el cuadro de diálogo Configuración
de tendencias históricas.
 En el cuadro Etiqueta histórica, escriba la etiqueta que
desea utilizar para la tendencia. La etiqueta debe
definirse como un tipo de tendencia Hist. Debe asignar
una etiqueta Hist Trend diferente a cada tendencia
histórica en una aplicación InTouch.
Si la etiqueta que ingresa no está definida actualmente
en el TagnameDictionary, aparecerá un cuadro de
diálogo y le preguntará si desea crear una etiqueta. Si
selecciona OK para definir una etiqueta,
Aparecerá el cuadro de diálogo Diccionario de variables.
 En el área Tagname, especifique el nombre de una
etiqueta local o remota existente en uno o más cuadros
Pen.
 Para asignar directamente una etiqueta local o remota existente, haga clic en el cuadro de una pluma y
escriba el nombre de la etiqueta.

 Para buscar la etiqueta a asignar:


 Haga doble clic en un cuadro de pluma. Aparece el
cuadro de diálogo Lista de proveedores.
 Seleccione el proveedor de etiquetas que desea
utilizar para el lápiz.
 Haga clic en Aceptar para mostrar un cuadro de
diálogo con las etiquetas del proveedor
seleccionado.
 Haga doble clic en una etiqueta de la lista para
seleccionarla.
 Haga doble clic en el cuadro de color junto a cada lápiz
asignado a una etiqueta para mostrar la paleta de colores.
Haga clic en el color de la pluma.
 En el cuadro Ancho, escriba el ancho de línea en píxeles
para cada pluma que se muestra en la tendencia.
 Repita los pasos 3 a 7 para cada etiqueta que desee asignar una pluma tendencia histórica.
 Si es necesario, active la casilla de verificación Permitir cambios en tiempo de ejecución para permitir
que un operador configure una tendencia histórica mientras se ejecuta la aplicación.

58
Configuración del intervalo de tiempo de una tendencia histórica.
Puede configurar el intervalo de tiempo de una tendencia histórica.

Para configurar el intervalo de tiempo de una tendencia histórica:


 Si es necesario, haga doble clic en el objeto de tendencia para mostrar el cuadro de diálogo
Configuración de tendencia histórica.
 En el área Tiempo de gráfico, escriba la longitud de tiempo en Intervalo de tiempo inicial que desea que
aparezca en el eje x horizontal de la tendencia.
 Seleccione la unidad de medida de tiempo: Segundos (Segundos), Minutos (Minutos), Horas (Horas) o
Días (Días). Por ejemplo, si introduce 8 en Intervalo de tiempo inicial y luego selecciona Horas, el
intervalo de tiempo mostrado en la tendencia es de 8 horas.
 En el área Modo de visualización inicial, seleccione el tipo de tendencia histórica que aparece cuando
WindowViewer muestra inicialmente la ventana que contiene la tendencia.

Modo de visualización inicial Descripción


El gráfico muestra los cambios en el porcentaje de
unidades de ingeniería de escala como una línea vertical
durante el período de tiempo.

Min/Max

Cada píxel dentro de un segmento de tiempo de


tendencia muestra el valor promedio de la etiqueta
durante el período de tiempo dentro del segmento.

Average

Configuración de las opciones de visualización de tendencias históricas.


Puede configurar la apariencia visual de una tendencia histórica.
Para configurar las opciones de visualización de tendencias históricas:
 Si es necesario, haga doble clic en el objeto de tendencia. Aparecerá el cuadro de diálogo
Configuración de tendencias históricas.
 Ajuste las opciones de color. Haz lo siguiente:
 En el área Color, haga clic en el cuadro Color del gráfico para abrir la paleta de colores.
 Haga clic en un color de la paleta como fondo de la tendencia. Blanco es el color de fondo
predeterminado. Cualquier otro color de fondo aumenta el tiempo necesario para imprimir una
tendencia.
 Seleccione Color del borde para abrir la paleta de colores.
 Haga clic en un color de la paleta como el color del borde de la tendencia.
 Ajuste las opciones de divisiones de tiempo. Haz lo siguiente:
 En el área Divisiones de tiempo, escriba el número de divisiones principales de tiempo de
tendencia en Número de div. Las principales divisiones de tiempo aparecen en el eje de tiempo
horizontal de la tendencia. El tiempo máximo entre las divisiones principales de tiempo es
65536 segundos, o 18 horas, 12 minutos, 16 segundos.
 Seleccione el color de las líneas de división principales.

58
 De Div Menor / Div Mayor, escriba el número de divisiones de tiempo menores dentro de cada
división de tiempo principal. El número de divisiones temporales menores debe ser igualmente
divisible dentro de una división principal. Por ejemplo, si la división principal se establece en 60
segundos, al ingresar un valor de 2 en Div Menor / Div Mayor, se establece la división de tiempo
menor en 30 segundos.
 Seleccione el color de las líneas de división menores.
 Seleccione Etiquetas superiores o Etiquetas inferiores para especificar la colocación de
etiquetas de tiempo en la tendencia.
 Si está utilizando etiquetas de tiempo, escriba el número de líneas de división de tiempo
principales por etiqueta de tiempo en el cuadro Etiqueta de div / hora principal.
 Seleccione el color de las etiquetas de división de tiempo.
 Seleccione las unidades de tiempo mostradas como la etiqueta de la división de tiempo
principal.

Meses (MM) Horas (HH)


Días (DD) Minutos (MM)
Años (AA) Segundos (SS)

 En el área Divisiones de valores, configure la apariencia del eje vertical de la tendencia. Las opciones
de divisiones de valor se configuran de la misma manera que las opciones de divisiones de tiempo. El
eje vertical especifica el intervalo de valores de datos que aparecen en la tendencia basándose en
unidades de ingeniería para todas las etiquetas.
 Haga clic en Aceptar para guardar los cambios de configuración y cerrar el cuadro de diálogo
Configuración de tendencia histórica.

Cambio de la configuración de tendencia en tiempo de ejecución.


Si selecciona la opción Permitir cambios de tiempo de ejecución al configurar su tendencia histórica, los
operadores pueden configurar una tendencia histórica mientras se está ejecutando. Los operadores configuran
la tendencia desde un cuadro de diálogo que aparece después de seleccionar la tendencia de una ventana
visualizada.

Para configurar una tendencia histórica durante el tiempo de ejecución:


 Haga clic en la tendencia histórica mientras se está ejecutando. Aparecerá el cuadro de diálogo
Configuración de tendencias históricas.
 En el área Inicio de gráfico, escriba la fecha y la hora de inicio del intervalo de recopilación de datos de
tendencias históricas.
 En el área Modo de visualización, seleccione el tipo de gráfico de
tendencias históricas.
El modo de visualización de tendencias afecta el rendimiento. El factor
primario que determina el desempeño de la tendencia es la longitud de las
líneas mostradas en una tendencia. Cuanto más largas sean las líneas,
Más tiempo se tarda en generar la tendencia.
El ancho de línea también afecta el rendimiento. Las líneas anchas tardan
mucho más en dibujar. Las tendencias mínimas / máximas o medias /
dispersas pueden crearse más rápidamente que un promedio / gráfico de
barras.

58
 En el área Longitud del gráfico, escriba la duración que se mostrará en la tendencia y, a continuación,
seleccione la unidad de medida. Por ejemplo, si introduce 2 y selecciona Horas, la duración de la
tendencia es de 2 horas.
 En el área Rango de gráficos, escriba el porcentaje del rango de la unidad de ingeniería que se muestra
en el eje vertical de la tendencia histórica. La escala de la tendencia es un segmento del rango de la
unidad de ingeniería de la etiqueta con tendencia definida por un rango porcentual. Los valores van de
0 a 100. Por ejemplo, si desea modificar la varianza de las etiquetas seleccionadas de 40 a 60 por
ciento de su rango de unidades de ingeniería, escriba 40 y 60 en las casillas de rango mínimo y
máximo, respectivamente.
 En el área Etiquetas, haga clic en un número de pluma para asignar una etiqueta.
 El cuadro de diálogo Seleccionar etiquetas aparece con una lista de etiquetas que se pueden asignar al
lápiz de tendencia histórica.
 Utilice la siguiente instrucción en un botón QuickScript o para permitir al operador actualizar el gráfico:
Hist_TrendTag.UpdateTrend = 1;
 Utilice cualquiera de las siguientes funciones en un QuickScript o en un botón:

HTUpdateToCurrentTime (Hist_Tag);
HTScrollLeft (Hist_Tag, Porcentaje);
HTScrollRight (Hist_Tag, Porcentaje);
HTZoomIn (Hist_Tag, LockString);
HTZoomOut (Hist_Tag, LockString);
HTSetPenName (Hist_Tag, PenNum, Tagname);

 Cambie cualquiera de los siguientes puntos de marca de tendencia:

.ChartStart
.ChartLength
.Rango máximo
.MinRange
.Pen1-.Pen8
Control de una tendencia histórica utilizando campos de puntos.
Puede utilizar puntos para gestionar las tendencias históricas durante el tiempo de ejecución.

.DisplayMode Dotfield
El campo de puntos .DisplayMode especifica el formato de tendencia utilizado para mostrar los valores de una
etiqueta.

Categoría: Histórico
Uso: tag_name.DisplayMode
Parámetro tag_name: Cualquier etiqueta de Hist Trend.
Tipo de datos: Analógico (lectura / escritura).
Valores válidos:
1 = Muestra el valor mínimo / máximo que se produjo en cada período de muestra (predeterminado).
2 = Muestra el valor promedio de cada período de muestra en una tendencia histórica de dispersión.
3 = Muestra el promedio de cada período de muestra en una tendencia histórica del gráfico de barras.

Ejemplo: Esta sentencia especifica que los valores de la tendencia histórica representada por el
"HistTrend_Tag" están formateados como una tendencia histórica del gráfico de barras.

58
HistTrend_Tag.DisplayMode = 3;
Vea también: .ChartLength, .ChartStart

.MinRange Dotfield
El campo de puntos .MinRange especifica el porcentaje mínimo del rango de unidades de ingeniería de la
etiqueta que se mostrará para cada etiqueta en una tendencia Histórica.
Categoría: Histórico.
Uso: tag_name.MinRange
Parámetro: tag_name: Cualquier etiqueta de Hist Trend.
Observaciones: Una tendencia histórica puede mostrar varios tipos de etiquetas al mismo tiempo. Especificar
los límites mínimo y máximo del rango de valores en unidades de ingeniería es difícil porque los diferentes tipos
de etiquetas pueden tener diferentes rangos de ingeniería. Por lo tanto, los valores de rango mínimo y máximo
se expresan como un porcentaje del rango de ingeniería de cada etiqueta. De esta manera,
independientemente del rango de ingeniería real de la etiqueta, la tendencia histórica muestra el porcentaje
indicado del rango de ingeniería particular de esa etiqueta.
Tipo de datos: Real (lectura / escritura).
Valores válidos: Los límites para los campos de punto .MaxRange y .MinRange son de 0 a 100. .MinRange
siempre es menor que .MaxRange. Si asigna un valor menor que 0 o mayor que 100 a cualquiera de estos
campos de puntos, el valor se bloquea en 0 o 100. Sí .MinRange es mayor o igual que .MaxRange, la tendencia
no muestra ningún dato.

Ejemplo: Esta sentencia dotfield de ejemplo establece el rango de porcentaje mínimo de la tendencia histórica
al 25 por ciento del rango posible de la unidad de ingeniería de una etiqueta Hist Trend.

HistTrend.MinRange = 25
Vea también: .ChartStart, .ChartLength, .DisplayMode, .EngUnits, .MinEU, .MaxEU, .MaxRange, .MinRaw,
.MaxRaw, .RawValue

.MaxRange Dotfield
El campo de punto .MaxRange especifica el porcentaje máximo del rango de unidades de ingeniería de la
etiqueta que se mostrará para cada etiqueta en una tendencia histórica.
Categoría: Histórico.
Uso: tag_name.MaxRange
Parámetro: tag_name: Cualquier etiqueta de Hist Trend.
Observaciones: Una tendencia histórica puede mostrar muchos tipos de etiquetas simultáneamente.
Especificar los límites mínimo y máximo del rango en unidades de ingeniería puede ser difícil porque las
etiquetas pueden tener rangos de ingeniería diferentes. Por lo tanto, los valores de rango mínimo y máximo se
expresan como un porcentaje del rango de ingeniería de cada etiqueta. De esta manera, independientemente
del rango de ingeniería real de la etiqueta, la tendencia histórica muestra el porcentaje indicado del rango de
ingeniería de esa etiqueta.
Tipo de datos: Real (lectura / escritura).
Valores válidos: Los límites para los campos de punto .MaxRange y .MinRange son de 0 a 100. .MinRange
siempre es menor que .MaxRange. Si asigna un valor menor que 0 o mayor que 100 a cualquiera de estos
campos de puntos, el valor se bloquea en 0 o 100. Sí .MinRange es mayor o igual que .MaxRange, la tendencia
no muestra ningún dato.

Ejemplo: Esta sentencia de ejemplo dotfield establece el rango de porcentaje máximo de la tendencia histórica
al 75 por ciento del rango posible de la unidad de ingeniería de una etiqueta Hist Trend.

HistTrend.MaxRange = 75

58
Vea también: .ChartStart, .ChartLength, .DisplayMode, .EngUnits, .MinEU, .MaxEU, .MinRange, .MinRaw,
.MaxRaw, .RawValue

.UpdateCount Dotfield
El campo de punto .UpdateCount incrementa un recuento cada vez que se actualiza una tendencia histórica. El
campo de punto .UpdateCount se puede utilizar como un disparador para otras funciones.
Categoría: Histórico.
Uso: HistTrendTag.UpdateCount
Parámetro: HistTrendTag: La etiqueta HistTrend asignó el nombre de la tendencia.
Tipo de datos: Integer (sólo lectura).
Valores válidos: Cualquier número entero positivo.

Ejemplo: Este ejemplo utiliza la función HTGetValueAtScooter () para recuperar el valor de Pen1 en la posición
actual del scooter derecho. Un cambio en cualquier argumento de función hace que la función sea reevaluada.
Cuando se completa la actualización y se incrementa el valor de .UpdateCount, se vuelve a evaluar esta
instrucción.

MyRealTag = HTGetValueAtScooter (
MyHistTrendTag, MyHistTrendTag.UpdateCount, 2,
MyHistTrendTag.ScooterPosRight, 1, "PenValue");

Vea también: .UpdateInProgress, .UpdateTrend

.UpdateInProgress Dotfield
El campo de puntos .UpdateInProgress indica el estado actual de una operación de actualización de tendencia
histórica. El valor del campo de puntos se establece en 1 si una recuperación histórica está en curso; De lo
contrario el dotfield se establece en 0.
Categoría: Histórico.
Uso: HistTrendTag.UpdateInProgress
Parámetro: HistTrendTag: La etiqueta HistTrend asignó el nombre de la tendencia.

Observaciones: Cuando se solicitan nuevos datos de la tendencia histórica, el valor de este punto se establece
en 1. Una vez finalizado el proceso, .UpdateInProgress se restablece a 0. .UpdateInProgress se puede utilizar
en funciones relacionadas con tendencias históricas. Si el operador desplaza la tendencia a un período fuera
del período mostrado actualmente, puede tomar algún tiempo recuperar los datos históricos. El campo de
puntos .UpdateInProgress proporciona una forma de alertar al operador de que se están recuperando los datos
solicitados. Sin retroalimentación, el operador puede no ser consciente de que la tendencia se está
actualizando.
Tipo de datos: Discreto (sólo lectura).
Valores de valor:

0 = Ninguna actualización en curso


1 = Actualización en curso

Ejemplo: El campo de puntos .UpdateInProgress se suele utilizar como expresión en un enlace de visibilidad en
un objeto de texto cerca o en los botones de desplazamiento de una Tendencia histórica. Puede utilizar el
campo de punto .UpdateInProgress para mostrar "Ocupado" en la ventana
Cuando se están recuperando los datos con el siguiente enlace de animación de visualización de valor de
mensaje:

58
DText (HistTrend1.UpdateInProgress, "Ocupado", "Listo")
Consulte también: .UpdateCount, .UpdateTrend

.UpdateTrend Dotfield
El campo de punto .UpdateTrend activa una actualización de una tendencia histórica. Utilizando el campo de
puntos .UpdateTrend en un script de acción de botón, el operador puede actualizar manualmente la tendencia
durante el tiempo de ejecución.
Categoría: Histórico.
Uso: HistTrendTag.UpdateTrend
Parámetro: HistTrendTag: La etiqueta HistTrend asignó el nombre de la tendencia.
Observaciones: La etiqueta HistTrend asignó el nombre de la tendencia.
Observaciones: Las tendencias históricas no se actualizan automáticamente. Se debe realizar un cambio en los
campos de punto .ChartStart o .ChartLength para actualizar el gráfico y mostrar los valores actuales de las
etiquetas especificadas. Mediante el uso de este campo de puntos en un script de acción de botón, el operador
puede actualizar el gráfico durante el tiempo de ejecución. También puede utilizar este campo de puntos en un
QuickScript si otros dotfields asociados con la tendencia histórica van a ser cambiados.
Sólo debe establecer el campo de punto .UpdateTrend en un valor de 1.
Tipo de datos: Discreto (sólo escritura).
Valores válidos: 1
Ejemplo: Este ejemplo activa la tendencia histórica asociada con la etiqueta MyHistTrendTag para actualizar
con los valores actuales de todos los parámetros.

MyHistTrendTag.UpdateTrend = 1;
.ChartLength Dotfield
El campo de puntos .ChartLength especifica el tiempo que se muestra en una tendencia histórica.
Categoría: Histórico.
Uso: HistTrendTag.ChartLength
Parámetro: HistTrendTag: La etiqueta HistTrend asignó el nombre de la tendencia.
Comentarios: La etiqueta HistTrend asignó el nombre de la tendencia.
Comentarios: El valor asignado a .ChartLength especifica la longitud del gráfico en segundos. La longitud se
define como la cantidad de tiempo que se muestra actualmente en el gráfico de tendencia histórica. Más
específicamente, el cálculo recuperado como la Longitud del gráfico de un gráfico de tendencia histórico es:

ChartLength=(Date/Time Stamp on Right-Hand Side


of Chart) - (Date/Time Stamp on Left-Hand Side
of Chart);

Debido a que los sellos de fecha / hora se expresan en segundos a partir de la medianoche del 1 de enero de
1970, los resultados del cálculo se muestran en segundos de tiempo entre los lados izquierdo y derecho del
gráfico. Siempre que se suma o resta de .ChartLength, el tiempo se expresa en segundos. Por lo tanto, para
restar dos horas a la .ChartLength actual, convierta las horas en segundos antes de realizar el cálculo. Por
ejemplo:

(2 hours) * (60 minutes/hour) * (60 seconds/minute) = 7200 seconds.


Tipo de datos: Integer (lectura / escritura).
Valores válidos: Cualquier número entero positivo.
Ejemplos: Este ejemplo fuerza la duración de la tendencia histórica a una hora.

58
HtTag.ChartLength = 3600 {60 minutos * 60
Segundos / minuto};

Este ejemplo desplaza la tendencia dejada por 50 por ciento.

HtTag.ChartStart = HtTag.ChartStart -
HtTag.ChartLength / 2;

Este ejemplo desplaza el gráfico dejado por 10 por ciento.

HtTag.ChartStart = HtTag.ChartStart - (.10 *


HtTag.ChartLength);

Vea también: .ChartStart

.ChartStart Dotfield
El campo de puntos .ChartStart se puede utilizar para establecer o verificar el valor de la marca de fecha / hora
inicial (izquierda) de una tendencia histórica.
Categoría: Histórico.
Uso: HistTrendTag.ChartStart
Parámetro: HistTrendTag: La etiqueta HistTrend asignó el nombre de la tendencia.
Observaciones: Este campo de puntos de lectura / escritura se utiliza para establecer o verificar el valor de la
fecha / hora de inicio de una tendencia histórica. El campo de puntos .ChartStart se expresa como el número de
segundos transcurridos después de la medianoche del 1 de enero de 1970. El punto de partida se define como
la primera marca de fecha / hora en una tendencia histórica.
Tipo de datos: Integer (lectura / escritura).
Valores válidos: Cualquier número entero positivo.
Ejemplo: La instrucción siguiente desplaza el gráfico a la derecha por un minuto.

HtTagname.ChartStart = HtTagname.ChartStart + 60;


Vea también: .ChartLength

.Pen1-8 Dotfields
Los campos de punto .Pen1-8 asignan una etiqueta registrada a un lápiz de tendencia histórica.
Categoría: Histórico
Uso: HistTrendTag {.Pen1 | .Pen2 | .Pen3 | .Pen4 | .Pen5 | .Pen6 | .Pen7 | .Pen8};
Parámetro: HistTrendTag: La etiqueta HistTrend asignó el nombre de la tendencia.
Observaciones: Asigna etiquetas a las plumas de tendencia utilizando los campos de punto .Pen1-8
Con el siguiente formato: HistTrend.PenX = Tag_Name.TagID
Donde X es un número entero de 1 a 8.
Se recomienda que utilice las funciones HTSetPenName () y HTGetPenName () si es posible.

Nota: Sólo se pueden asignar etiquetas locales a un campo de puntos .PenX. No se puede usar la notación
provider.tag. El proveedor.tag se puede utilizar sólo con la función HTSetPenName ().
Una buena referencia a utilizar al aprender cómo funcionan estos dotfields es un mago de la tendencia histórica
colocado en la pantalla y quebrado aparte.

58
Tipo de datos: TagID (lectura / escritura).
Valores válidos: este tipo de datos dotfield es tipo TagID. Esto significa que sólo se puede asignar el
identificador de una etiqueta a los campos de punto .Pen1-8. No puede asignar directamente el nombre de una
etiqueta a los campos de punto .Pen1-8. Debe asociar el tag .tagID asociado de una etiqueta a un campo de
puntos .Pen1-8 utilizando la siguiente sintaxis:
HistTrendTag.Pen1 = LoggedTag.TagID;
En general, una etiqueta de tipo TagID sólo se puede equiparar a otra etiqueta TagID. No se puede utilizar con
ningún otro tipo de etiqueta a menos que la extensión de campo de punto .TagID se agregue a la otra etiqueta.
Aunque los campos de punto .Pen1-8 se consideran de lectura / escritura, sus valores no se pueden mostrar
directamente en la pantalla.

Ejemplos:
El siguiente ejemplo asigna una nueva etiqueta al campo de puntos .Pen5 de la tendencia histórica asociada
con la etiqueta Hist Trend. Debe agregar el campo de punto .TagID al nombre de la etiqueta registrada para
asignarla a .Pen5 dotfield.

HistTrendTag.Pen5 = PumpPress.TagID;
Trabajando desde el ejemplo anterior, puede mostrar el nombre de la etiqueta asignada a HistTrendTag.Pen5.
La creación de una leyenda que muestre la etiqueta asignada a cada pluma de tendencia es información útil
para un operador. No puede mostrar la etiqueta asignada a HistTrendTag.Pen5 en un enlace de visualización de
mensajes. El valor real del campo de puntos .Pen5 es un entero que representa una ubicación de memoria
dentro de WindowViewer, que no es útil para fines de visualización. Necesita crear una nueva etiqueta de tipo
TagID llamada Pen05. Coloque la siguiente declaración debajo de la declaración del ejemplo anterior:

Pen05 = HistTrendTag.Pen5;
En el primer ejemplo, la etiqueta PumpPress se asigna a la pluma 5 de HistTrendTag. En este ejemplo, a Pen05
se le asigna el valor de Pen5 del HistTrendTag, que es el TagID de la etiqueta de PumpPress. Los campos de
punto .Pen1-8 son punteros a las etiquetas asociadas con las plumas seleccionadas para aparecer en una
tendencia. Los campos de punto .Pen1-8 son de un tipo de datos especial, a saber, .TagID. Después de realizar
la asignación, puede utilizar el campo de punto .Name de la etiqueta TagID para mostrar el nombre de la
etiqueta.

.TagID Dotfield
El campo de puntos .TagID se puede utilizar junto con los campos de punto .Pen1 - .Pen8 para asignar una
etiqueta a un lápiz de tendencia histórica.
Categoría: Etiqueta histórica.
Uso: tag_name.TagID
Parámetro: tag_name: Cualquier marca analógica discreta, entera, real, indirecta discreta o indirecta.
Observaciones: El campo de puntos .TagID proporciona el identificador de una etiqueta y se utiliza
principalmente para asignar etiquetas a plumas en una tendencia histórica.
Tipo de datos: TagID (sólo lectura).

Ejemplo: En este ejemplo se utiliza el dotfield .TagID para asignar la etiqueta de la pluma PumpRPM 6 de la
tendencia histórica.

HistTrendTag.Pen6 = PumpRPM.TagID;
Vea también: .Pen1-.Pen8

58
.ScooterLockLeft Dotfield
El campo de puntos .ScooterLockLeft especifica si un operador puede mover el scooter derecho más a la
izquierda que la posición actual del scooter izquierdo en la tendencia histórica.
Categoría: Histórico.
Uso: HistTrendTag.ScooterLockLeft
Parámetro:
HistTrendTag: La etiqueta HistTrend asignó el nombre de la tendencia.
Observaciones: En general, debe evitar que un operador mueva el scooter derecho más a la izquierda que la
posición actual del scooter izquierdo. Cuando el scooter izquierdo está bloqueado, obliga a la posición del
scooter derecho a ser igual a la posición del scooter izquierdo cada vez que el scooter derecho se adelanta al
scooter izquierdo.
Tipo de datos: Discreto (lectura / escritura).
Valores válidos:
0 = Falso. Scooter derecho puede moverse más a la izquierda que la posición actual de la scooter izquierda en
la tendencia histórica
1 = Verdadero. El scooter derecho no puede moverse más a la izquierda que la posición actual del scooter
izquierdo en la tendencia histórica.
Ejemplo: El ejemplo siguiente evita que el scooter derecho se mueva más a la izquierda que la posición actual
del scooter izquierdo en la tendencia histórica.
HistTrendTag.ScooterLockLeft = 1;
Vea también: .ScooterPosRight, .ScooterPosLeft, .ScooterLockRight

.ScooterLockRight Dotfield
El campo de puntos .ScooterLockRight especifica si un operador puede mover el scooter izquierdo más a la
derecha que la posición actual del scooter derecho en la tendencia histórica.
Categoría: Histórico.
Uso: HistTrendTag.ScooterLockRight
Parámetro:
HistTrendTag: La etiqueta HistTrend asignó el nombre de la tendencia.
Observaciones: En general, debe evitar que el operador mueva el scooter izquierdo más a la derecha que la
posición actual del scooter derecho. Cuando el scooter derecho está bloqueado, si obliga a la posición del
scooter izquierdo a ser igual a la posición del scooter derecho cada vez que el scooter izquierdo se adelanta al
scooter derecho.
Tipo de datos: Discreto (lectura / escritura).
Valores válidos:
0 = Falso. El scooter izquierdo puede moverse más a la derecha que la posición actual del scooter derecho en
la tendencia histórica.
1 = Verdadero. El scooter izquierdo no puede moverse más a la derecha que la posición actual del scooter
derecho en la tendencia histórica.
Ejemplo: El ejemplo siguiente evita que el scooter izquierdo se mueva más a la derecha que la posición actual
del scooter derecho en la tendencia histórica.
HistTrendTag.ScooterLockRight = 1;
Vea también: .ScooterPosRight, .ScooterPosLeft, .ScooterLockLeft

.ScooterPosLeft Dotfield
El campo de punto .ScooterPosLeft controla dinámicamente la posición del scooter izquierdo en una tendencia
histórica.
Categoría: Histórico
Uso: HistTrendTag.ScooterPosLeft
Parámetro:

58
HistTrendTag: La etiqueta HistTrend asignó el nombre de la tendencia.
Observaciones: La etiqueta HistTrend asignó el nombre de la tendencia.
Observaciones: Este campo dinámico de lectura / escritura controla dinámicamente la posición del scooter
izquierdo. Puede utilizar este campo de puntos en una función QuickScript para recuperar la posición actual del
scooter izquierdo o puede asignar un valor a este campo de puntos para ajustar la posición del scooter
izquierdo a otra ubicación en la tendencia. Este dotfield se utiliza con mayor frecuencia en conjunto con el
conjunto de funciones HTGetValue (). Estas funciones deben especificar qué tendencia histórica se está
consultando, así como la posición actual de los scooters de la tendencia.
Tipo de datos: Real (lectura / escritura).
Valores válidos: 0.0 a 1.0; Donde 0,0 es la extrema izquierda del gráfico de tendencias históricas, y 1,0 es la
extrema derecha del gráfico de tendencias históricas.
Ejemplos: El ejemplo siguiente reposiciona el scooter izquierdo. El scooter izquierdo se mueve a una ubicación
del 34 por ciento de la longitud total del gráfico desde el lado izquierdo del gráfico de tendencia histórico
asociado actualmente con la etiqueta MyHistTrendTag.
MyHistTrendTag.ScooterPosLeft = .34;
En la instrucción siguiente, la función QuickGuardValueAtScooter () recupera el valor de la pluma 1 en la
posición actual del scooter izquierdo. Un cambio a cualquier valor dentro de la lista de argumentos de una
función hace que la función sea reevaluada. Cada vez que la posición del scooter izquierdo cambia, esta
declaración es reevaluada.

MyRealTag = HTGetValueAtScooter
(MyHistTrendTag, MyHistTrendTag.UpdateCount, 1,
MyHistTrendTag.ScooterPosLeft, 1, "PenValue");

Vea también: .ScooterPosRight, .ScooterLockLeft, .ScooterLockRight

.ScooterPosRight Dotfield
El campo de punto de lectura / escritura .ScooterPosRight controla dinámicamente la posición del scooter
derecho.
Categoría: Histórico.
Uso: HistTrendTag.ScooterPosRight
Parámetro:
HistTrendTag: La etiqueta HistTrend asignó el nombre de la tendencia.
Observaciones: Este campo dinámico de lectura / escritura controla dinámicamente la posición del scooter
derecho. Puede utilizar este campo de puntos en una función QuickScript para recuperar la posición actual del
scooter derecho. También puede asignar un valor a este campo de puntos para mover el scooter derecho a otra
ubicación en la tendencia. Este dotfield se utiliza con mayor frecuencia en conjunción con las funciones
HTGetValue (). Estas funciones deben especificar qué tendencia histórica se está consultando, así como la
posición actual de los scooters de la tendencia.
Tipo de datos: Real (lectura / escritura)
Valores válidos: 0.0 a 1.0; Donde 0,0 es la extrema izquierda de la tendencia histórica
Gráfico, y 1,0 está en la extrema derecha de la gráfica de tendencia histórica.

Ejemplos: La siguiente sentencia especifica una nueva ubicación para el scooter derecho. El scooter derecho
se mueve a una ubicación del 34 por ciento de la longitud total del gráfico desde el lado izquierdo del gráfico de
tendencia histórica asociado con la etiqueta MyHistTrendTag.

MyHistTrendTag.ScooterPosRight = .34;
La siguiente sentencia utiliza la función QuickGuard de HTGetValueAtScooter () para recuperar el valor de la
pluma 1 en la nueva posición del scooter derecho. Un cambio en cualquier variable dentro de la lista de

58
parámetros de una función hace que la función sea reevaluada. Cada vez que la posición del scooter derecho
cambia, esta declaración es reevaluada.

MyRealTag = HTGetValueAtScooter (MyHistTrendTag,


MyHistTrendTag.UpdateCount, 2,
MyHistTrendTag.ScooterPosRight, 1, "PenValue");

Vea también: .ScooterPosLeft, .ScooterLockLeft, .ScooterLockRight

Uso del Asistente para tendencias históricas.


El Asistente para tendencias históricas crea
automáticamente una tendencia histórica. Aparte de
asignar manualmente etiquetas a las plumas de tendencia
histórica, el asistente configura automáticamente la
tendencia histórica utilizando valores estándar. La siguiente
figura muestra la tendencia estándar creada con el
Asistente para tendencias históricas. La tendencia incluye
deslizadores llamados scooters para mostrar datos en una
ubicación específica en el gráfico de tendencias o acercar
un rango seleccionado de datos de tendencia.

Para agregar funciones de zoom y movimiento o controles de bolígrafo a una tendencia histórica, utilice los
paneles Tendencia / Paneo de tendencia y Leyenda de plumas de tendencia.
Puede crear y configurar una tendencia histórica. Usted puede:
• Crear una tendencia histórica con asistentes
• Seleccione las etiquetas de una tendencia
• Configurar el intervalo de tiempo de tendencia histórica
• Control de una tendencia con QuickScripts

Creación de una tendencia con el Asistente para tendencias históricas.


Puede crear una tendencia histórica estándar utilizando las funciones de automatización del Asistente para
tendencias históricas. Otras secciones describen cómo configurar manualmente una tendencia histórica
mediante las opciones del asistente.

Para crear una tendencia histórica con asistentes:


 Abra una ventana de WindowMaker para colocar una tendencia histórica.
 En la barra de menús de WindowMaker, haga clic en el icono Asistente. Aparecerá el
cuadro de diálogo Asistente de selección.
 Seleccione Trends en la lista de asistentes. El panel derecho del cuadro de diálogo Selección del
asistente muestra un conjunto de iconos de asistente de tendencia.
 Seleccione el Asistente Hist Trend with Scooters y haga clic en Aceptar. El cuadro de
diálogo Asistente de selección se cierra y su ventana vuelve a aparecer.
 Mueva el cursor a la ubicación de la ventana donde desea colocar la esquina superior
izquierda de la tendencia histórica. Haga clic para colocar la tendencia en la ventana.

58
 Haga doble clic en la tendencia. Aparecerá el cuadro de diálogo Asistente para gráficos de tendencias
históricas.

 Haga clic en Sugerir. El Asistente de gráfico de tendencia histórico asigna automáticamente valores de
configuración predeterminados a la tendencia. La única tarea de configuración restante es asignar
etiquetas a las plumas de tendencia.

Configuración de las etiquetas a mostrar en el gráfico de tendencia


Asignar etiquetas a plumas de tendencia en el Asistente para gráficos de tendencia histórica es similar al
procedimiento para las herramientas Históricas y en tiempo real.

Para asignar etiquetas al Asistente de gráfico de tendencia histórico:


 Si es necesario, haga doble clic en la tendencia
histórica. Aparecerá el cuadro de diálogo Asistente para
gráficos de tendencias históricas.
 Haga clic en Pens. Aparecerá el cuadro de diálogo
Plumas de tendencia.
 Introduzca el nombre de una etiqueta local existente en el
cuadro Pluma.

Nota: WindowViewer debe estar cerrado. De lo contrario, los


cuadros de pluma no se pueden seleccionar.

Si hace doble clic en el cuadro Pen, aparece el cuadro de diálogo Select Tag con una lista de etiquetas
asignadas a la opción Log Data para la aplicación. Puede asignar una etiqueta al lápiz seleccionándola en el
cuadro de diálogo Seleccionar etiqueta.
 Haga clic en el cuadro de color situado junto a cada lápiz y seleccione otro color si desea cambiar el
color del lápiz predeterminado. De lo contrario, omita este paso y acepte el color predeterminado.
 Haga clic en Aceptar para cerrar el cuadro de diálogo Plumas de tendencia.
 Haga clic en Aceptar para cerrar el cuadro de diálogo Asistente para la gráfica de tendencia histórica.

58
Configuración de la tendencia histórica.
El cuadro de diálogo Asistente para gráficos de tendencias históricas incluye una opción para configurar
manualmente el intervalo de tiempo que se muestra a partir de una tendencia creada con el Asistente para
tendencias históricas. Puede configurar manualmente la hora de una tendencia en lugar de aceptar la
configuración predeterminada del Asistente de tendencia histórica.

Para configurar el intervalo de tiempo de una tendencia histórica:


 Haga doble clic en la tendencia histórica. Aparecerá el
cuadro de diálogo Asistente para gráficos de
tendencias históricas.
 Haga clic en Times. Aparecerá el cuadro de diálogo
Formato de hora.
 Configure el formato de hora. Haz lo siguiente:
 En el cuadro Divisiones principales, escriba el
número de divisiones de tiempo principales
mostradas en el eje de tiempo horizontal de la
tendencia.
 En el cuadro Div Menor / Mayor, escriba el número de divisiones temporales menores dentro de
cada división principal.
 En el cuadro Intervalo de tiempo inicial, escriba la longitud del período de tiempo que se
muestra en el eje horizontal de la tendencia. Las tendencias creadas con el Asistente para
tendencias históricas se pueden actualizar mientras la aplicación se ejecuta en WindowViewer.
Los operadores pueden cambiar la duración del período de tiempo de tendencia. Sin embargo,
una tendencia histórica siempre comienza con el período de tiempo establecido en el cuadro de
diálogo Formato de hora.
 Seleccione la unidad de medida para el período de tiempo de tendencia
en segundos, minutos, horas y días.
 Opcionalmente, incluya milisegundos en la pantalla de tiempo del scooter. El ejemplo siguiente
muestra un deslizador de scooter con milisegundos añadido al tiempo actual.
 Haga clic en Aceptar para cerrar el cuadro de diálogo Formato de hora.
 Haga clic en Aceptar para cerrar el cuadro de diálogo Asistente para la gráfica de tendencia histórica.

Configuración de las opciones de visualización.


El cuadro de diálogo Asistente para gráficos de tendencias históricas incluye una opción para configurar las
unidades verticales de una tendencia histórica. Puede configurar manualmente las divisiones de valor mayor y
menor que se muestran en el eje vertical de una tendencia.

Para configurar opciones de visualización con el Asistente de gráfico de tendencia histórico:


 Si es necesario, haga doble clic en la tendencia histórica.
Aparecerá el cuadro de diálogo Asistente para gráficos de
tendencias históricas.
 Haga clic en Valores. El cuadro de diálogo Formato de valor
aparece con opciones para configurar el eje de valores verticales
de la tendencia.
 Configure el formato de valor. Haz lo siguiente:
 En el cuadro Divisiones principales, escriba el número de divisiones de valores principales que
se muestran en el eje vertical de la tendencia. Haga clic en el cuadro de color para acceder a la

58
paleta de colores y, a continuación, haga clic en el color que asigna a las líneas de división del
eje de valor principal.
 En el cuadro Menor Div / Mayor, escriba el número de divisiones menores que desea que sean
visibles dentro de cada división del eje de valor principal. Haga clic en el cuadro de color para
acceder a la paleta de colores y, a continuación, haga clic en el color que asigna a las líneas de
división del eje de valor menor.
 En el cuadro Formato de valor, escriba el formato de los números que aparecen en el eje de
valores verticales de la tendencia. El formato de número predeterminado es #, ###.
 En los cuadros Rango de tendencia, escriba los límites de porcentaje inferior e superior de las
unidades de ingeniería de una etiqueta que aparecen en la tendencia.
 Haga clic en Aceptar para cerrar el cuadro de diálogo Formato de valor.
 Haga clic en Aceptar para cerrar el cuadro de diálogo Asistente para la gráfica de tendencia histórica.

Cambiar la configuración en tiempo de ejecución.


Si selecciona la opción Permitir cambios de tiempo de ejecución al configurar su tendencia histórica, los
operadores pueden cambiar algunos aspectos de una tendencia histórica durante el tiempo de ejecución.

Para configurar una tendencia histórica durante el tiempo de ejecución:


 Haga clic en la tendencia de WindowViewer. Aparecerá el
cuadro de diálogo Configuración de tendencias históricas.
 En el área Inicio de gráfico, escriba la fecha y la hora de inicio
del gráfico.
 En el área Modo de visualización, seleccione el tipo de
tendencia histórica.
 En el área Longitud de gráfico, escriba la duración de tiempo
que se mostrará en la tendencia y, a continuación, seleccione
el incremento de tiempo para la longitud.
 En el área Rango de gráfico, escriba el porcentaje de la escala
de unidades de ingeniería que se muestra como el rango
vertical de la tendencia.
 En el área Etiquetas, haga clic en cada número de pluma para
asignar una etiqueta al lápiz de tendencia. Aparece el cuadro
de diálogo Seleccionar etiqueta y muestra las etiquetas para las que el registro está habilitado.
 Haga doble clic en el nombre de una etiqueta para asignarla al lápiz de tendencia.
 Haga clic en Aceptar para guardar los cambios en tiempo de ejecución en la tendencia.

Control Asistente de tendencia histórica mediante secuencias de comandos.


Puede utilizar funciones QuickScript con objetos de tendencia o expresiones de vínculo de animación para
controlar una tendencia histórica durante el tiempo de ejecución. Por ejemplo, puede utilizar QuickScripts para
actualizar una tendencia a la hora actual, reasignar etiquetas a plumas de tendencia, conectar plumas a la
gráfica, replotar la cuadrícula y quitar o replotar los scooters.

Actualización de la tendencia a la hora actual.


Puede crear un script para actualizar una tendencia histórica para mostrar datos de etiqueta recientes.

Función HTUpdateToCurrentTime ()
La función HTUpdateToCurrentTime () recupera y muestra los datos con una hora de fin igual a la hora actual.
El tiempo de inicio es igual al tiempo de finalización menos el ancho del gráfico.
Categoría: Histórico
Sintaxis: HTUpdateToCurrentTime (Hist_Tag);
Argumento:

58
Hist_Tag: La etiqueta HistTrend asignó el nombre de la tendencia histórica.
Ejemplo: La siguiente instrucción recupera y muestra los datos de la etiqueta histórica Trend1 en la hora actual:

HTUpdateToCurrentTime ("Trend1");
Si la hora actual es 3:04 PM y el ancho de la tendencia es de 60 segundos, la nueva hora de finalización es
3:04 PM. La nueva hora de inicio de la tendencia es 3:03 PM.

Cambio de la configuración de tendencias.


Puede utilizar estas funciones de script para cambiar las etiquetas asignadas a las plumas de una tendencia
histórica:
 Función HTSelectTag ()
 Función HTSetPenName ()

Función HTSelectTag()
La función HTSelectTag () abre el cuadro de diálogo Seleccionar etiqueta para que el operador asigne una
etiqueta diferente a un lápiz de tendencia.

Nota: El cuadro de diálogo Seleccionar etiqueta sólo enumera las etiquetas que se definen para el registro
histórico con la opción de datos de registro seleccionada en el TagnameDictionary.

Categoría: Histórico
Sintaxis: HTSelectTag ();
Observaciones: La función HTSelectTag () sólo muestra las etiquetas en las que se ha seleccionado la opción
Datos de registro del Diccionario de variables. Sin embargo, es posible utilizar el filtro del navegador de
etiquetas para mostrar un conjunto de etiquetas más pequeño. Por ejemplo, todas las etiquetas que comienzan
con "A" La función devuelve la etiqueta seleccionada y se puede utilizar como parámetro de función para
asignar una etiqueta a un bolígrafo.
Ejemplo: El siguiente QuickScript hace que el cuadro de diálogo Seleccionar etiqueta aparezca en
WindowViewer. El usuario puede seleccionar una etiqueta de la lista. Esta etiqueta está asignada a la pluma 1
por el objeto histórico denominado HistTrend.
HTSetPenName("HistTrend", 1, HTSelectTag());
Véase también: HTSetPenName()
Función HTSetPenName()
La función HTSetPenName () asigna una etiqueta diferente al lápiz de una tendencia.
Categoría: Histórico
Sintaxis: HTSetPenName (Hist_Tag, PenNum, Tagname);
Argumentos:
Hist_Tag: La etiqueta HistTrend asignó el nombre de la tendencia.
PenNum: Etiqueta entera o valor que representa el número de pluma (1-8) de la tendencia.
Tagname: Nombre de la nueva etiqueta que se va a asignar a la pluma.
Observaciones: Esta función QuickScript es el único método para agregar etiquetas de un proveedor de
historial distribuido durante el tiempo de ejecución.
Puede ver el mensaje de error siguiente cuando intenta anular la asignación de un lápiz de tendencia:
VIEW /UpdateData: Invalid DBS.TAGNAME handle – 0
Este error se produce si está intentando anular la asignación de un bolígrafo asignado previamente a una
etiqueta remota en el formato histprovider.tag_name. Para resolver este error, cree una etiqueta local con la
opción de datos de registro seleccionada. A continuación, utilice el siguiente script para anular la asignación del
lápiz:

HTSetPenName( "HistTrend", 1, "localtag" );

58
{assigns the pen to a locally logged tag---localtag}
HistTrend.Pen1=None;
{unassigns the pen}

Donde Ninguna es una etiqueta de tipo TagID.


Ejemplos: La siguiente sentencia asigna la etiqueta OutletPressure a la pluma 3 de Trend1.

HTSetPenName ("Trend1", 3, "OutletPressure");


La siguiente sentencia asigna la etiqueta HistPrv1.Tag1 a TrendPen4 de Trend1.

HTSetPenName ("Trend1", TrendPen4, "HistPrv1.Tag1");


Vea también: HTSelectTag ()

Recuperación de información sobre la tendencia y los datos históricos.


Puede crear secuencias de comandos que recuperen información de una tendencia histórica mientras se está
ejecutando. Utilice las siguientes funciones:

 Función HTGetPenName()
 Función HTGetTimeAtScooter()
 Función HTGetTimeStringAtScooter()
 Función HTGetValue()
 Función HTGetValueAtScooter()
 Función HTGetValueAtZone()
 Función HTScrollLeft()
 Función HTScrollRight()
 Función HTZoomIn()
 Función HTZoomOut()
 Función HTGetPenName()

La función HTGetPenName () devuelve el nombre de la etiqueta actualmente asignada al número de pluma


especificado de la tendencia histórica.
Categoría: Histórico
Sintaxis: MessageResult = HTGetPenName (Hist_Tag, UpdateCount, PenNum);
Argumentos:
Hist_Tag: La etiqueta HistTrend asignó el nombre de la tendencia.

UpdateCount: Integer que representa el campo de punto .UpdateCount de la tendencia. El valor del argumento
actúa como un activador de cambio de datos para reevaluar la función.
PenNum: Etiqueta entera o valor que representa el número de pluma (1-8) de la tendencia.

Ejemplo: La sentencia siguiente recupera el nombre de la etiqueta asignada a la Pluma 2 de la tendencia


Trend1 y coloca el nombre en la etiqueta de mensaje TrendPen:

TrendPen = HTGetPenName("Trend1",
Trend1.UpdateCount, 2);
Función HTGetTimeAtScooter()
El HTGetTimeAtScooter () devuelve el tiempo en segundos después de 00:00:00 horas GMT, 1 de enero de
1970 para la muestra en la ubicación del scooter especificada por los argumentos ScootNum y ScootLoc.
Categoría: Histórico

58
Sintaxis:
IntegerResult=HTGetTimeAtScooter(Hist_Tag,
UpdateCount,ScootNum,ScootLoc);

Argumentos:
Hist_Tag: La etiqueta HistTrend asignó el nombre de la tendencia.
UpdateCount: Integer que representa el campo de punto .UpdateCount de la tendencia.
ScootNum
Número entero que representa el scooter izquierdo o derecho:
1 = Scooter Izquierda
2 = Scooter derecho
ScootLoc
Número real que representa el valor en las posiciones .ScooterPosRight o .ScooterPosLeft en la tendencia.
Observaciones: Cualquier cambio en los valores asignados a los argumentos UpdateCount, ScootNum y
ScootLoc hace que la expresión se evalúe. Esto asegura que la expresión se evalúa después de que se
recuperen nuevos datos o después de que se mueve un scooter.

Ejemplo: La sentencia siguiente recupera el tiempo en segundos para el valor en la ubicación actual del scooter
izquierdo de la tendencia Trend1:

HTGetTimeAtScooter ("Trend1", Trend1.UpdateCount, 1,


Trend1.ScooterPosLeft);
Función HTGetTimeStringAtScooter ()
La función HTGetTimeStringAtScooter () devuelve la cadena que contiene la hora / fecha de la muestra en la
ubicación de scooter especificada.
Categoría: Histórico
Sintaxis: MessageResult = HTGetTimeStringAtScooter (Hist_Tag,
UpdateCount, ScootNum, ScootLoc, Format_Text);
Argumentos:
Hist_Tag: La etiqueta HistTrend asignó el nombre de la tendencia.
UpdateCount: Integer que representa el campo de punto .UpdateCount de la tendencia.
ScootNum: Número entero que representa el scooter izquierdo o derecho:
1 = Scooter Izquierda
2 = Scooter derecho
ScootLoc: Número real que representa el valor en las posiciones .ScooterPosRight o .ScooterPosLeft en la
tendencia.
Format_Text: Cadena que especifica el formato de hora / fecha a utilizar. Las siguientes cadenas Format_Text
son aceptables:

"Date", "Time", "DateTime", "DOWShort" (Wed, for


example), and "DOWLong" (Wednesday, for example).

Observaciones: Cualquier cambio en los valores asignados a los argumentos UpdateCount, ScootNum y
ScootLoc hace que la expresión se evalúe. Esto asegura que la expresión se evalúa después de que se
recuperen nuevos datos o después de que se mueve un scooter. El formato de la cadena determina el
contenido del valor devuelto.

Ejemplo: La sentencia siguiente recupera la fecha y la hora del valor en la posición actual del scooter para el
scooter derecho de la tendencia Trend1. El valor se almacena en la etiqueta de mensaje NewRightTimeString y
se encuentra en formato "Hora":

58
NuevoRightTimeString = HTGetTimeStringAtScooter
("Trend1", Trend1.UpdateCount, 2,
Trend1.ScooterPosRight, "Tiempo");
Función HTGetValue ()
La función HTGetValue () devuelve un valor del tipo solicitado para el lápiz especificado de la tendencia.
Categoría: Histórico
Sintaxis: RealResult = HTGetValue (Hist_Tag, UpdateCount,
PenNum, ValType_Text);
Argumentos:
Hist_Tag: La etiqueta HistTrend asignó el nombre de la tendencia.
UpdateCount: Entero que representa el campo de puntos .UpdateCount de la tendencia.
PenNum: Etiqueta entera o valor que representa el número de pluma (1-8) de la tendencia.

ValType_Text: Cadena que indica el tipo de valor a devolver:

PenAverageValue = Promedio para toda la tendencia.


PenMaxValue = Valor máximo de la pluma para toda la tendencia.
PenMinValue = Valor mínimo de la pluma para toda la tendencia.
PenMaxEU = Valor máximo de unidades de ingeniería para toda la tendencia.
PenMinEU = Valor mínimo de unidades de ingeniería para toda la tendencia.
PenStdDev = Desviación estándar para toda la tendencia.

Comentarios: La función devuelve el valor solicitado como un valor real.

Ejemplo: La instrucción siguiente obtiene la desviación estándar para los datos de la pluma 2 recuperados de la
tendencia de PumpPress. El valor se almacena en la etiqueta real de la memoria LeftHemisphereSD:

LeftHemisphereSD = HTGetValue ("PumpPress",


PumpPress.UpdateCount, 2, "PenStdDev");
Función HTGetValueAtScooter ()
La función HTGetValueAtScooter () devuelve un valor del tipo solicitado para la muestra en la posición de
scooter, la tendencia y el número de pluma especificados. El argumento UpdateCount hace que la expresión se
evalúe una vez finalizado el procesamiento de funciones.
Categoría: Histórico
Sintaxis: RealResult = HTGetValueAtScooter (Hist_Tag,
UpdateCount, ScootNum, ScootLoc, PenNum, ValType_Text);
Argumentos:
Hist_Tag: La etiqueta HistTrend asignó el nombre de la tendencia.
UpdateCount: Integer que representa el campo de punto .UpdateCount de la tendencia.
ScootNum: Número entero que representa el scooter izquierdo o derecho:
1 = Scooter Izquierda
2 = Scooter derecho
ScootLoc: Número real que representa los campos de puntos .ScooterPosRight o .ScooterPosLeft de la
tendencia.
PenNum: Etiqueta entera o valor que representa el número de pluma (1-8).
ValType_Text: String que indica el tipo de valor a devolver:
PenValue = Valor en la posición del scooter.
PenValid = 0 si el valor no es válido, 1 si es válido.

58
Cuando se utiliza el argumento ValType_Text con la función HTGetValueAtScooter (), utilice uno de los tipos
válidos enumerados.

Ejemplo: La función siguiente devuelve un 1 si el valor es una muestra real o un 0 si el valor no es válido para
la pluma 3 de la tendencia Tendencia1 para la posición actual del scooter derecho:

HTGetValueAtScooter ("Trend1", Trend1.UpdateCount,


2, Trend1.ScooterPosRight, 3, "PenValid");
Función HTGetValueAtZone ()
La función HTGetValueAtZone () devuelve un valor del tipo solicitado para los datos situados entre las
posiciones de scooter derecha e izquierda para el pluma especificada de una tendencia.
Categoría: Histórico
Sintaxis: RealResult = HTGetValueAtZone (Hist_Tag, UpdateCount,
Scoot1Loc, Scoot2Loc, PenNum, ValType_Text);
Argumentos:
Hist_Tag: etiqueta HistTrend asigna el nombre de la tendencia.
UpdateCount: Integer que representa el campo de punto .UpdateCount de la tendencia. Se utiliza sólo como
un disparador para evaluar la función.
Scoot1Loc: Real que representa el campo de puntos .ScooterPosLeft de la tendencia. Se utiliza sólo como
un disparador para evaluar la función.
Scoot2Loc: Real que representa el campo de puntos .ScooterPosRight de la tendencia. Se utiliza sólo como
un disparador para evaluar la función.
PenNum: Etiqueta entera o valor que representa el número de pluma (1-8) de la tendencia.
ValType_Text: String que indica el tipo de valor a devolver.
PenAverageValue = Promedio para la zona entre los scooters.
PenMaxValue = Valor máximo para la zona entre los scooters.
PenMinValue = Valor mínimo para la zona entre los scooters.
PenMaxEU = Valor máximo de unidad de ingeniería para la zona entre scooters.
PenMinEU = Valor mínimo de unidad de ingeniería para la zona entre los scooters.
PenStdDev = Desviación estándar para la zona entre los scooters.
Observaciones: Se devuelve un valor real que representa el valor calculado del tipo dado. Especificar valores
constantes para los argumentos Scoot1Loc y Scoot2Loc no tiene efecto y sólo se utilizan para activar la
evaluación de la función. La función utiliza los valores de punto de campo de la etiqueta de tendencia
.ScooterPosLeft y .ScooterPosRight directamente, independientemente de los valores que especifique para los
argumentos Scoot1Loc y Scoot2Loc.
Ejemplo: La siguiente sentencia calcula el valor promedio de los datos entre los scooters derecho e izquierdo de
la tendencia Trend1 del lápiz 1. El valor se almacena en la etiqueta real de la memoria AvgValue:

AvgValue = HTGetValueAtZone ("Trend1",


Trend1.UpdateCount, Trend1.ScooterPosLeft,
Trend1.ScooterPosRight, 1, "PenAverageValue");
Panorámica y zoom de la tendencia
Puede crear QuickScripts que contengan funciones que seleccionen datos específicos de una tendencia
histórica durante el tiempo de ejecución.

Función HTScrollLeft ()

58
La función HTScrollLeft () establece la hora de inicio de la tendencia a una hora anterior a la hora de inicio
actual por un porcentaje del tiempo total de la tendencia. El efecto es desplazar el gráfico a la izquierda a un
tiempo anterior por un porcentaje especificado del tiempo total de la tendencia.
Categoría: Histórico
Sintaxis: HTScrollLeft (Hist_Tag, Percent);
Argumentos:
Hist_Tag: etiqueta HistTrend asigna el nombre de la tendencia.
Percent: Número real que representa el porcentaje del intervalo de tiempo del gráfico para desplazarse (0.0 a
100.0) a la izquierda.

Ejemplo: La instrucción siguiente desplaza la hora / fecha que queda por el 10 por ciento del ancho total de la
tendencia de PumpPress:

HTScrollLeft ("PumpPress", 10.0);


Si la pantalla actual comienza a las 12:00:00 PM y el ancho de la pantalla es de 60 segundos, la nueva
tendencia comienza a las 11:59:54 AM después de procesar la función.

Función HTScrollRight ()
La función HTScrollRight () establece la hora de inicio de la tendencia a un tiempo posterior a la hora de inicio
actual por un porcentaje del ancho de la tendencia. El efecto es desplazar la fecha / hora del gráfico a la
derecha por un porcentaje especificado del ancho de la tendencia.
Categoría: Histórico
Sintaxis: HTScrollRight (Hist_Tag, Percent);
Argumentos:
Hist_Tag: etiqueta HistTrend asigna el nombre de la tendencia.
Percent: Número real que representa el porcentaje del gráfico para desplazarse (0.0 a 100.0) a la derecha.
Ejemplo: La siguiente afirmación desplaza la tendencia PumpPress a la derecha en un 20 por ciento.

HTScrollRight ("PumpPress", 20.0);


Si la pantalla actual comienza a las 12:00:00 PM y el ancho de la pantalla es de 60 segundos, la nueva
tendencia comienza a las 12:00:12 PM después de procesar la función.

Función HTZoomIn ()
La función HTZoomIn () calcula un nuevo ancho de gráfico y hora de inicio. Si los scooters de la tendencia se
encuentran en el lado izquierdo y derecho de la tendencia, entonces el ancho del gráfico nuevo es igual al
ancho del gráfico antiguo dividido por dos. La nueva hora de inicio se calcula en función del valor del argumento
LockString. Si los scooters no están a la izquierda y derecha de la tendencia, la función HTZoomIn () amplía la
tendencia a la zona definida por los scooters e ignora el argumento LockString.
Categoría: Histórico
Sintaxis: HTZoomIn (Hist_Tag, LockString);
Argumentos:
Hist_Tag: etiqueta HistTrend asigna el nombre de la tendencia.
LockString: String que representa el tipo de zoom:
StartTime: Mantenga la hora de inicio igual a antes del zoom
Center: Mantenga el tiempo del centro igual a antes del zoom
EndTime: Mantiene el tiempo final igual al antes del zoom

Observaciones: Si las posiciones del scooter no están en el lado izquierdo y derecho de la tendencia, el nuevo
ancho del gráfico es el tiempo entre las posiciones .ScooterPosLeft y .ScooterPosRight. En este caso, no se

58
utiliza el valor de LockString. El ancho mínimo de la carta es de un segundo. Las posiciones del scooter se
ajustan a .ScooterPosLeft = 0.0 y .ScooterPosRight = 1.0 después del zoom.

Ejemplo: La siguiente declaración amplía la visualización por un factor de dos y mantiene la misma hora de
inicio para la tendencia Trend1. Trend1.ScooterPosRight es igual a 1.0 y Trend1.ScooterPosLeft es igual a 0.0.
Si la hora de inicio antes del zoom era 1:25:00 PM y el ancho del gráfico era de 30 segundos, la nueva hora de
inicio permanece en 1:25:00. El nuevo ancho del gráfico es de 15 segundos.

HTZoomIn ("Trend1", "StartTime");


Función HTZoomOut ()
La función HTZoomOut () calcula un nuevo ancho de gráfico y hora de inicio. El nuevo ancho de gráfico es el
ancho de gráfico antiguo multiplicado por dos. La nueva hora de inicio se calcula en función del valor del
argumento LockString.
Categoría: Histórico
Sintaxis: HTZoomOut (Hist_Tag, LockString);
Argumentos:
Hist_Tag: etiqueta HistTrend asigna el nombre de la tendencia.
LockString: String que representa el tipo de zoom:
StartTime = Mantener la hora de inicio igual a antes del zoom.
Center = Mantener el tiempo central igual a antes del zoom.
EndTime = Mantener la hora final igual a antes del zoom.

Observaciones: Las posiciones actuales del scooter no tienen ningún efecto en HTZoomOut ().
Una vez finalizado el zoom de función, las nuevas posiciones del scooter se ajustan a .ScooterPosLeft = 0.0
y .ScooterPosRight = 1.0.
Ejemplo: La siguiente declaración amplía el tiempo de tendencia por un factor de dos y mantiene el mismo
tiempo de centro para la tendencia de volumen. Si la hora de inicio antes del zoom era 2:15:00 PM y el ancho
del gráfico era de 30 segundos, la hora de inicio después del zoom es ahora 2:14:45. El ancho de la carta es de
60 segundos y el centro de la tendencia permanece a las 2:15:15.

HTZoomOut ("Volumen", "Centro");


Impresión de la tendencia.
Puede imprimir una tendencia histórica visible desde una pantalla de WindowViewer mediante la función
PrintHT() en un script.

Función PrintHT()
La función PrintHT() imprime la tendencia histórica actualmente visible en la pantalla. Normalmente, la función
PrintHT() está asociada con un botón de pantalla incluido en la ventana de tendencia histórica. Los operadores
hacen clic en el botón para imprimir la tendencia histórica visible con sus valores actuales.
Categoría: Histórico
Sintaxis: PrintHT(Trend_Tag);
Argumento: Trend_Tag: etiqueta HistTrend.
Ejemplo: Este ejemplo muestra la tendencia histórica de PumpPress visible en la pantalla.

PrintHT (PumpPress);

58
Solución de problemas de la tendencia.
Puede crear QuickScripts para verificar si los datos se recuperaron correctamente y aparecen en una tendencia
histórica. Utilice la función HTGetLastError () para solucionar la tendencia.

Función HTGetLastError ()
La función HTGetLastError () se puede utilizar en una secuencia de comandos para determinar si se produjo un
error durante la última recuperación de datos para un lápiz de tendencia histórica especificado.
Categoría: Histórico
Sintaxis: [Result=]HTGetLastError(Hist_Tag,UpdateCount,PenNum);
Argumentos:
Hist_Tag: etiqueta HistTrend asigna el nombre de la tendencia.
UpdateCount: Integer que representa el campo de punto .UpdateCount de la tendencia.
PenNum: Etiqueta entera o valor que representa el número de pluma (1-8) de la tendencia.

Result: Número entero asignado a una etiqueta que representa el estado de la última llamada de función de
secuencia de comandos para el lápiz especificado.
0 = Sin error
1 = Error general del servidor
2 = Solicitud anterior
3 = Error de archivo
4 = El servidor no está cargado
5 = No existe la función Trend / Pen passed in
6 = La etiqueta de tendencia no existe en la base de datos
7 = El número de pluma pasado a la función es inválido (no en el rango de 1 a 8).
8 = Ninguna etiqueta o etiqueta no registrada asignada al número de la pluma.

Ejemplos: La sentencia siguiente recupera el estado de la última recuperación de datos para la pluma 3 de la
tendencia Trend1 y asigna el resultado a la etiqueta de número entero ResultCode.

[ResultCode =] HTGetLastError ("Trend1",


Trend1.UpdateCount, 3);

En una animación Analog Value Display QuickScript se utilizaría la siguiente sentencia:

HTGetLastError ("Trend1", Trend1.UpdateCount, 3);


Visualización de valores en tiempo real en una tendencia.
Puede crear tendencias en tiempo real mediante dos métodos. El objeto Real-Time Trend proporciona un
conjunto estándar de controles para seleccionar los datos, establecer un intervalo de tiempo y especificar el
aspecto físico del gráfico. InTouch también incluye el 16-Pen Trend Wizard, que es un control opcional para
crear tendencias en tiempos reales e históricos.

Uso de objetos de tendencia en tiempo real.


Puede crear una tendencia en tiempo real para mostrar los valores actuales en su aplicación.

Creación de una tendencia en tiempo real


Puede utilizar la herramienta Real-time Trend para crear un objeto de tendencia en una ventana. La primera vez
que pega un objeto de tendencia en tiempo real, WindowMaker utiliza la configuración predeterminada.

58
Después de configurar una tendencia en tiempo real, WindowMaker utiliza los últimos valores de configuración
como la configuración inicial de cualquier objeto de tendencia en tiempo real nuevo.
Puede dibujar el gráfico de tendencias de cualquier tamaño dentro de los bordes de la ventana.

Para crear una tendencia en tiempo real:


 Seleccione la herramienta Tendencia en tiempo real en
la Barra de herramientas de dibujo.
 Mueva el ratón sobre el área de la ventana donde
desea colocar la tendencia en tiempo real. Arrastre el
ratón diagonalmente para crear un rectángulo el
tamaño deseado de la tendencia. El objeto
Tendencia en tiempo real aparece en la ventana.
 Si es necesario, ajuste la altura y el ancho de la
tendencia con las manijas de los objetos.

Configurar qué etiquetas mostrar en una tendencia en tiempo real.


Un lápiz de tendencia en tiempo real crea una representación gráfica de los datos actuales de cualquier etiqueta
local o una expresión que contenga una o más etiquetas locales. Configure las plumas que muestren datos de
etiqueta en una tendencia en tiempo real.

Para configurar etiquetas de tendencia en tiempo real:


 Haga doble clic en el objeto de tendencia de la ventana. Aparecerá el cuadro de diálogo Real Time
Trend Configuration.
 En el área Expression, escriba el nombre de una etiqueta o expresión local que contenga una o más
etiquetas locales. Si hace doble clic en el cuadro Pluma, aparece el cuadro de diálogo Seleccionar
etiqueta que muestra una lista de etiquetas definidas para la aplicación. Puede asignar una etiqueta al
lápiz seleccionándola en el cuadro de diálogo Seleccionar etiqueta.
 Haga clic en el cuadro de color situado junto a cada lápiz asignado a una etiqueta para mostrar una
paleta de colores.
 Haga clic en el color que desea asignar al lápiz.
 En el cuadro Ancho, escriba el ancho de línea en
píxeles para cada pluma que se muestra en la
tendencia. Al seleccionar un ancho de línea
mayor que 1 se aumenta el tiempo necesario
para actualizar o imprimir una tendencia.
 Seleccione la casilla de verificación Sólo
actualizar cuando está en la memoria si desea
que la tendencia se actualice sólo cuando se
muestre en la ventana activa. Si no selecciona
esta opción, la tendencia se actualiza
continuamente incluso si la ventana está
cerrada. La actualización continua de tendencias
ralentiza el rendimiento del sistema.
 Mantenga abierto el cuadro de diálogo
Configuración de tendencia en tiempo real y vaya al siguiente procedimiento descrito en Configurar el
intervalo de tiempo de tendencia en tiempo real y la frecuencia de actualización. Configuración de la
tendencia en tiempo real Intervalo de tiempo y frecuencia de actualización Puede configurar el intervalo
de tiempo y la velocidad de actualización de una tendencia en tiempo real.

Para establecer un intervalo de tiempo de tendencia en tiempo real y una tasa de actualización:

 Si es necesario, haga doble clic en el objeto de tendencia. Aparecerá el cuadro de diálogo Real Time
Trend Configuration.

58
 En el área Hora, escriba la longitud de tiempo en el cuadro Intervalo de tiempo que desea que aparezca
en el eje x horizontal de la tendencia.
 Seleccione la unidad de medida para el tiempo de tendencia.

 Segundos (Sec)
 Minutos (Min)
 Horas (Hr)

Por ejemplo: Si introduce 30 en el cuadro Intervalo de tiempo y luego selecciona Min, el intervalo de tiempo
que se muestra en el gráfico es de 30 minutos.

 En el área Muestra, escriba un número en el cuadro Intervalo donde se evalúa la expresión de


tendencia y se actualiza el gráfico.

 Seleccione la unidad de medida de intervalo.


 Milisegundos (Msec)
 Segundos (Sec)
 Minutos (Min)
 Horas (Hr)

Por ejemplo: Si introduce 10 en Intervalo y luego selecciona Sec, la tendencia en tiempo real se actualiza
cada 10 segundos.

 Mantenga abierto el cuadro de diálogo Configuración de tendencia en tiempo real y vaya al siguiente
procedimiento descrito en Configuración de opciones de visualización de tendencias en tiempo real.

Configuración de opciones de visualización de tendencias en tiempo real.


Puede configurar el aspecto visual de una tendencia en tiempo real.

Para configurar las opciones de visualización de tendencias en tiempo real:


 Haga doble clic en el objeto de tendencia. Aparecerá el cuadro de diálogo Real Time Trend
Configuration.
 En el área Color, configure el color. Realice una de las siguientes acciones:
 Haga clic en el cuadro Color del gráfico para abrir la paleta de colores. Seleccione el color de fondo
para la tendencia. Blanco es el color de fondo predeterminado. Cualquier otro color de fondo
aumenta significativamente el tiempo necesario para imprimir una tendencia.
 Haga clic en el cuadro Color del borde para abrir la paleta de colores. Seleccione el color del borde
de la tendencia.
 En el área Divisiones de tiempo, configure las divisiones de tiempo. Haz lo siguiente:
 En el cuadro Número de div principal, escriba el
número de divisiones de tiempo de tendencia
principal. Las divisiones de tiempo principales
aparecen en el eje de tiempo horizontal de la
tendencia. El número de divisiones de tiempo
principales debe ser un múltiplo par del valor Div /
Etiqueta de tiempo principal. Por ejemplo, un número
de división de 20 es un múltiplo par del valor de Div /
Etiqueta de tiempo mayor de 4.
 Seleccione el color de las líneas de división
principales.
 En el cuadro Div Menor / Div Principal, escriba el número de divisiones temporales menores visibles
dentro de cada división de tiempo principal. El número de divisiones de tiempo menores debe ser

58
igualmente divisible dentro del período de división mayor. Por ejemplo, si el período de división
principal se establece en 60 segundos, introducir un valor de 2 en Div Menor/Div Mayor crea dos
períodos menores de división de tiempo de 30 segundos.
 Seleccione el color de las líneas de división menores.
 Seleccione la casilla de verificación Etiquetas superiores o Etiquetas inferiores para especificar la
ubicación de las etiquetas de tiempo en la tendencia. Puede seleccionar ambas opciones para
colocar etiquetas de tiempo en la parte superior e inferior de la tendencia. Dejar ambas opciones en
blanco elimina las etiquetas de tiempo del eje horizontal de la tendencia.
 Si está utilizando etiquetas de tiempo, escriba el número de líneas de división de tiempo principales
por etiqueta de tiempo en Etiqueta de div / hora principal. El número de divisiones principales debe
ser un múltiplo par del valor Div / Etiqueta de tiempo mayor. Seleccione el color de las etiquetas de
división de tiempo.
 Seleccione las unidades de tiempo mostradas como parte de la etiqueta principal de división de
tiempo.
Horas (HH)
Minutos (MM)
Segundos (SS)

 En el área Divisiones de valores, configure la apariencia del eje


vertical de la tendencia. Las opciones de divisiones de valor se
configuran como opciones de divisiones de tiempo. Las divisiones
mayores y menores en el eje y muestran la magnitud de los
valores de los datos en lugar del tiempo. El eje vertical especifica
el rango de valores de datos que aparecen en la tendencia
basándose en unidades de ingeniería para todas las etiquetas.
Para mostrar puntos decimales para las divisiones de valor menor y mayor, escriba números reales
para las opciones Valor mínimo y Máx. Por ejemplo, de 0,00 a 100,00.
 Haga clic en Seleccionar fuente de visualización. El cuadro de diálogo Fuente aparece con opciones
para establecer la fuente, el estilo y el tamaño del texto que aparece en la tendencia.
 Haga clic en Aceptar.

Impresión de una tendencia en tiempo de ejecución.


Varios factores determinan la rapidez con que se puede imprimir una tendencia. El factor primario es el tamaño
de la tendencia en la página impresa. El modo de visualización de la tendencia también afecta al rendimiento de
impresión. Las tendencias mínimas / máximas o medias / dispersas se pueden imprimir con mayor rapidez que
las tendencias del promedio / gráfico de barras. Además, cuanto más largas y anchas las líneas de la tendencia,
más tiempo se tarda en imprimir. Otro factor que afecta el rendimiento de impresión es el color de fondo de la
tendencia. En la mayoría de los casos, un fondo blanco imprime más rápidamente que un fondo coloreado.

Configuración de las opciones de impresión de tendencia.


Puede configurar las opciones que determinan cómo se imprime una tendencia.

Para configurar la impresión histórica de tendencias:


 En el menú Special, haga clic en Configure y luego en Historical Logging. Aparecerá el cuadro de
diálogo Propiedades del registro histórico.

58
 En el área Control de impresión, especifique el
porcentaje de la página para imprimir la
tendencia en la casilla Default% of page to print
on. Si introduce 50, la tendencia se imprimirá en
la mitad de la página vertical y horizontalmente.
Una tendencia impresa al 50 por ciento toma
mucho menos tiempo para imprimir que una
tendencia de página completa. Como
alternativa de impresión, puede utilizar la
función QuickScript de PrintWindow ().
 En el cuadro de impresión Tiempo máximo de
tiempo consecutivo, escriba la franja de tiempo
de proceso en milisegundos. Un segmento de tiempo representa el período asignado al procesador del
equipo para ejecutar el proceso del módulo de impresión en primer plano e imprimir la tendencia. Un
segmento de tiempo más largo permite que la tendencia se imprima más rápidamente a costa de otros
procesos que se ejecutan en el equipo.
 En el cuadro Tiempo de espera entre impresiones, escriba el tiempo en milisegundos que el módulo de
impresión espera entre intervalos de tiempo del procesador. Un período de espera más corto entre los
intervalos de tiempo del procesador permite que la tendencia se imprima más rápidamente.
 Haga clic en Seleccionar fuente de impresora. Aparecerá el cuadro de diálogo Fuente. Seleccione las
características del texto que aparece en una tendencia.

 Haga clic en Aceptar para guardar la configuración de impresión y cerrar el cuadro de diálogo
Propiedades del registro histórico. Visualización de valores de marcas históricas de otros nodos InTouch
o Historiador de Wonderware Si desea utilizar datos almacenados de forma remota para crear
tendencias históricas, el proveedor remoto debe estar registrado en la lista de proveedores de historial
de InTouch. Esta lista especifica el nombre y la ubicación de red de cada proveedor de historial. Se
hace referencia a estos nombres siempre que los lápices de tendencia histórica señalan etiquetas en el
proveedor de historial remoto. Puede definir un proveedor de historial remoto y asignar marcadores de
tendencia históricos para etiquetar los datos almacenados en la ubicación remota. Usted puede:
 Configurar proveedores de historial remotos.
 Configurar las plumas para mostrar datos de un proveedor de historial remoto.
 Asigne bolígrafos para etiquetar los datos almacenados en un proveedor de historial remoto
mediante el Explorador de etiquetas.
 Asigne un lápiz a una etiqueta remota usando un QuickScript.

Uso del InTouch HMI con el Historiador de Wonderware


El Historiador de Wonderware es una base de datos relacional en tiempo real diseñada específicamente para
aplicaciones industriales. Opcionalmente, puede configurar el Registro histórico para almacenar datos históricos
de InTouch en una base de datos de Historiador de Wonderware. Si utiliza Wonderware Historian para
almacenar datos históricos, debe utilizar el Administrador de nombres distribuidos de WindowMaker para
especificar una conexión a la base de datos.

Para configurar una conexión a una base de datos de Wonderware Historian:


 Abra WindowMaker.
 En la vista Herramientas, expanda la lista Configurar.
 Seleccione Administrador de nombres distribuidos. Aparecerá el cuadro de diálogo Administrador de
nombres distribuidos.
 En la pestaña Historial distribuido, escriba InSQL como el nuevo proveedor en el cuadro Nombre del
proveedor.
 Seleccione Proveedor de InSQL.

58
 Haga clic en Configurar proveedor InSQL. Aparece el cuadro de diálogo Propiedades del proveedor de
historial de InSQL.
 En el cuadro Origen de datos, escriba el
nombre de nodo del servidor donde está
instalado el Historian de Wonderware.
 Introduzca un nombre para una cuenta de
usuario de la base de datos de Wonderware
Historian.
 Introduzca la contraseña de la cuenta de usuario en los cuadros Contraseña y Reinsertar
contraseña.
 Haga clic en Test para verificar la conexión a la
base de datos de Wonderware Historian.
Aparecerá un mensaje indicando si la conexión a la
base de datos es correcta o no.
 Haga clic en Aceptar para cerrar el cuadro de diálogo.
 Haga clic en Aceptar para cerrar el cuadro de diálogo
Proveedores de historial de InSQL. El nodo Wonderware
Historian aparece en la lista Proveedores de historial.
 9 Haga clic en Aceptar para cerrar el cuadro de diálogo
Administrador de nombres distribuidos.

Configuración de plumas para mostrar datos de tendencia remota.


Las tendencias históricas pueden mostrar datos de etiquetas de proveedores de historial local y remoto. Puede
asignar plumas de tendencia para mostrar datos de un proveedor de historial remoto.

Para mostrar una etiqueta de un proveedor de historial remoto:


 Haga doble clic en la tendencia histórica para mostrar el cuadro de diálogo Configuración de tendencia
histórica.
 En el cuadro Tagname de cada pluma, escriba la referencia a un proveedor de la historia remota. El
formato de la referencia a un proveedor de historial remoto es:
history_provider_name.tag_name
Ejemplo: TankFarm1.Pump1RPM
Cada pluma de una tendencia histórica puede referirse a un proveedor de historial remoto diferente.
 Haga clic en Aceptar para guardar los cambios de configuración.

Nota: El campo de puntos .TagID no se puede utilizar en las referencias de etiquetas del proveedor de historial
remoto.

Explorador de etiquetas para asignar pluma a proveedor de historial remoto.


El siguiente procedimiento explica cómo utilizar el explorador de etiquetas para asignar un marcador de
tendencia a los datos de etiquetas de un proveedor de historial remoto. El uso del explorador de etiquetas para
seleccionar etiquetas elimina la necesidad de introducir manualmente cada nombre de etiqueta y reduce la
probabilidad de errores. El nombre de nodo remoto que especifique en el Nombre de acceso no tiene que ser el
nombre real del nodo donde reside la etiqueta. Sin embargo, debe crear un nombre de acceso para definir el
proveedor de historial remoto como fuente de etiqueta.

Para definir un proveedor de historial remoto como una fuente de etiqueta:


 Cree un nombre de acceso que especifique el nombre del nodo donde se encuentra el proveedor de
historial.

58
 Haga doble clic en la tendencia histórica para abrir el cuadro de diálogo Configuración de tendencia
histórica.
 Haga doble clic en el cuadro de entrada Tagname de una pluma para mostrar el cuadro de diálogo
Select Tag.
 Haga clic en Definir fuentes de etiquetas para definir el proveedor de historial remoto como fuente de
etiquetas.
 Haga clic en la flecha Fuente de etiqueta y seleccione el nuevo origen de etiqueta del proveedor de
historial remoto en la lista o haga clic en el botón Vista de árbol y seleccione el origen de etiqueta en el
panel de vista de árbol. El cuadro de diálogo Seleccionar etiqueta se actualiza y muestra las etiquetas
del proveedor de historial remoto seleccionado.
 Seleccione la etiqueta que desea asignar al lápiz histórico y haga clic en Aceptar. El cuadro de diálogo
Configuración de tendencia histórica vuelve a aparecer con la etiqueta seleccionada que aparece en el
cuadro Tagname de la pluma como: AccessName: Item.
 Vuelva a colocar la parte AccessName: con el nombre del proveedor de historiales que definió en el
Administrador de nombres distribuidos. Por ejemplo, HistPrv1.tag_name. Este proceso puede parecer
engorroso, pero después de haber definido el proveedor de historiales como una fuente de etiquetas en
el Navegador de etiquetas, cada vez que haga doble clic en otro cuadro de entrada de etiquetas,
simplemente haga doble clic en el nombre de etiqueta en el Navegador de etiquetas y, a continuación,
La parte AccessName: con el nombre del proveedor de historial.

Nota: En WindowViewer, si se permiten cambios en tiempo de ejecución para la tendencia histórica, cuando el
usuario hace clic en un botón de pluma para cambiar la variable, aparece el Navegador de etiquetas, pero sólo
las etiquetas de la aplicación local son accesibles.

Utilizar QuickScript para asignar pluma a un proveedor de historial remoto.


Mientras se ejecuta una aplicación InTouch, puede configurar un lápiz de tendencia para mostrar datos de
etiqueta de un proveedor de historial remoto.
Cree un QuickScript que especifique la referencia de etiqueta del proveedor de historial remoto en la función
HTSetPenName (). Por ejemplo:

HTSetPenName ("HistTrendTag", 1, "HistPrv1.Boiler1");


En este ejemplo, el número 1 especifica el número del lápiz en la tendencia histórica que traza los valores de
etiqueta de Caldera remota del proveedor de historial remoto HistPrv1.

Nota: El cuadro de diálogo Configuración de tendencias históricas de ejecución y los campos de puntos Pen no
es compatible con los proveedores remotos de historial.

XII. Asistentes. (Wizards.)

Los asistentes son objetos pre-diseñados, preconstruidos y preprogramados, solo es necesario seleccionar,
colocar y configurar para su aplicación.

58
Trabajar con asistentes.
Con los asistentes, no pasa tiempo dibujando los
componentes individuales del objeto, o introduciendo los
rangos de valores para el objeto, o animando el objeto:
• Seleccione asistentes de la barra de herramientas
Asistentes / ActiveX.
• Configure asistentes escribiendo etiquetas y QuickScripts
en cuadros de diálogo de configuración.
• Cuando pegue un asistente seleccionado en una ventana
y luego haga doble clic en él, aparecerá el cuadro de
diálogo Configuración.
Por ejemplo, en el caso de un asistente de control
deslizante, la configuración incluye elementos como la variable a realizar, las etiquetas de rango mínimo y
máximo para el control deslizante, el color de relleno y así sucesivamente. Después de proporcionar la
información de configuración requerida, el asistente está listo para usar.
También puede desarrollar sus propios magos complejos para proporcionar detrás de escenas tipos de
operaciones. Estas operaciones pueden incluir crear ventanas de visualización completas, crear o convertir una
base de datos, importar un dibujo de AutoCAD y configurar otras aplicaciones.
Antes de crear sus propios asistentes, debe investigar los símbolos de ArchestrA, que ofrecen funcionalidad de
asistente, pero no requieren programación.

Tipos de asistentes.
Las categorías de asistentes se muestran en el cuadro de diálogo Selección del asistente.
Objetos de tendencia y controles de Windows. Los asistentes son asistentes especiales con
parámetros únicos.

Adición de asistentes a la barra de herramientas.


Puede agregar asistentes de uso frecuente a la Barra de herramientas de Asistente / ActiveX
para una disponibilidad rápida.
Para agregar un asistente a la barra de herramientas de Wizards / ActiveX:
 Haga clic en el botón Asistente en la barra de herramientas Asistentes / ActiveX.
Aparecerá el cuadro de diálogo Asistente de selección.
 En el panel izquierdo, seleccione una categoría de asistente, como Deslizadores.
 En el panel derecho, seleccione un asistente y, a
continuación, haga clic en Agregar a la barra de
herramientas. El botón Asistente aparecerá en la barra
de herramientas.

Para quitar asistentes de la barra de herramientas:


 Haga clic en el botón Asistente en la barra de
herramientas Asistentes / ActiveX. Aparecerá el cuadro
de diálogo Asistente de selección.
 Haga clic en Eliminar de la barra de herramientas.
Aparecerá el cuadro de diálogo Asistente para quitar
de la barra de herramientas.
 Seleccione el asistente que desee quitar y haga clic en Aceptar.

Cómo pegar instancias del asistente


Puede colocar instancias de un asistente en una ventana.

Para colocar un asistente en una ventana:

58
 Haga clic en el botón Asistente en la barra de herramientas Asistentes / ActiveX. Aparecerá el cuadro de
diálogo Asistente de selección. En el panel izquierdo, seleccione una categoría de asistente.
 En el panel derecho, seleccione un asistente.
 Haga clic en Aceptar. El cuadro de diálogo se cierra y el cursor se convierte en un símbolo de esquina.
 Haga clic en la ubicación para poner el asistente.

Configuración de asistentes.
Después de colocar un asistente en la aplicación, haga doble clic en él para configurar sus propiedades.
Aparece un cuadro de diálogo de propiedades personalizado para el asistente seleccionado.
Para obtener más información sobre cada tipo concreto de asistente, consulte la Ayuda del asistente, si está
disponible.

Realización de operaciones estándar en asistentes.


Puede cortar, copiar, pegar, eliminar y duplicar asistentes, de la misma manera y con los mismos resultados que
con otros objetos.

Instalación y eliminación de asistentes.


Debe instalar un asistente en WindowMaker para que pueda utilizarlo en su aplicación. Cuando quita un
asistente de WindowMaker, no se elimina de su equipo.

Para instalar un asistente:


 En el menú especial, seleccione Configurar y, a continuación,
haga clic en Instalación de Asistente / ActiveX. Aparece el
cuadro de diálogo Asistente / instalación de ActiveX.
 Seleccione de la lista de asistentes desinstalados y, a
continuación, haga clic en Instalar.

Para eliminar un asistente:


 En el menú especial, seleccione Configurar y, a continuación, haga
clic en Instalación de Asistente / ActiveX. Aparece el cuadro de
diálogo Asistente / instalación de ActiveX.
 En la lista Asistentes instalados, seleccione el asistente que desee
quitar y, a continuación, haga clic en Quitar. Aparecerá un cuadro
de mensaje pidiéndole que confirme la eliminación.

Consejo: MAYÚS + haga clic en o CTRL + haga clic para realizar


selecciones múltiples.
 Haga clic en Sí para eliminar el asistente. El asistente aparecerá en
la lista de asistentes desinstalados.

Para importar asistentes de otro directorio:


 En el menú especial, seleccione Configurar y, a continuación, haga clic en Instalación de Asistente /
ActiveX. Aparece el cuadro de diálogo Asistente / instalación de ActiveX.

58
 Haga clic en Buscar. Aparecerá el cuadro de diálogo Buscar carpetas.
 Vaya al directorio que contiene los asistentes que desea instalar y haga clic en Aceptar. El cuadro de
diálogo Asistente de instalación vuelve a aparecer con los asistentes importados en la lista de
asistentes desinstalados.

Objetos de tendencias.
Los objetos de tendencia son asistentes que muestran los valores de las etiquetas a lo largo del tiempo.
Hay tres tipos principales de objetos de tendencia:

 Las tendencias en tiempo real representan hasta cuatro etiquetas en tiempo real.
 Las tendencias históricas muestran hasta ocho etiquetas en un período de tiempo anterior.
 16 Tendencias de la pluma muestran los datos históricos y en tiempo real para hasta dieciséis etiquetas.
No hay límite para el número de objetos de tendencia, en tiempo real o histórico, que puede colocar en una
ventana.

Configure objetos de tendencia con los siguientes elementos:


 Espacio de tiempo
 Rango de valores
 Resolución de red
 Ubicación de sellos de tiempo y valor
 Plumas y colores.
Antes de poder utilizar un asistente de tendencias, debe habilitar el registro para cada etiqueta para rastrear y
también habilitar el registro dentro de la aplicación InTouch.

Para habilitar el registro de etiquetas:


 En el diccionario de variables, seleccione una etiqueta y, a continuación, seleccione Datos de registro.
 Si no lo ha hecho anteriormente, active el registro en la aplicación InTouch.
 En el menú especial, seleccione Configurar y, a continuación, haga clic en Registro histórico.
Aparecerá el cuadro de diálogo Propiedades del registro histórico.
 Seleccione la casilla Habilitar registro histórico y haga clic en Aceptar.

Asistentes de controles de Windows.


Los asistentes de controles de Windows son objetos de interfaz de usuario como listas desplegables, cuadros
combinados, selecciones de opciones o casillas de verificación.
Utilice asistentes de control de Windows para presentar conjuntos predefinidos de opciones a sus usuarios. Por
ejemplo, puede crear una lista desplegable de procesos, recetas o identificadores de operador. También puede
habilitar y deshabilitar los controles especificados. Incluso puede cargar y modificar el contenido de las listas
desplegables.
Propiedades de tiempo de ejecución para controles de Windows Los asistentes se acceden a través de
funciones de QuickScript en lugar de expresiones de vínculo de animación.
Controles de Windows Los asistentes tienen propiedades como campos de punto de etiqueta de InTouch.
Pueden ser de lectura-escritura o de sólo lectura. Algunas propiedades son accesibles en el desarrollo y
algunas en tiempo de ejecución. Se identifican como ControlName.x, donde x es la propiedad.
Por ejemplo, si la propiedad .Visible de un control de Windows es igual a 0, el control no es visible en la
ventana. Al igual que con las etiquetas InTouch, .Value es la propiedad predeterminada para los Asistentes de
control de Windows.

Nota: Un conjunto más robusto y flexible de controles de Windows basados en .NET está disponible si utiliza
símbolos de ArchestrA.

58
Creación y configuración de controles de Windows.
Al crear y configurar asistentes de control de Windows, tenga en cuenta que:
 Los Asistentes de control de Windows no pueden superponerse entre sí.
 Cada Asistente para Control de Windows tiene un nombre de control único, que no agrega al recuento
de etiquetas.
 El valor inicial de las etiquetas asignadas a un cuadro de lista o cuadro combinado no inicializa el valor
del cuadro de lista o cuadro combinado. Debe utilizar las funciones de QuickPro de SetPropertyX en
una secuencia de comandos para asignar valores iniciales que deben ser diferentes de los valores
predeterminados.

Sugerencia: Pega los Controles de Windows Asistentes en tus ventanas igual que otros asistentes. Para
lograr la mejor legibilidad, seleccione un fondo gris para los controles de Windows.
Si el color de fondo no puede ser gris, coloque un Asistente de panel gris detrás de los Asistentes de control de
Windows. Para cada Asistente para controles de Windows, debe especificar un nombre de control alfanumérico,
donde el primer carácter es una letra. Los subrayados son permitidos, pero otros caracteres especiales no lo
son. Por ejemplo, "Checkbox_1" está permitido, pero "Checkbox # 1" no lo es. Puede configurar asistentes de
control de Windows mediante InTouch QuickScripts.

Creación de un cuadro de texto. (Text Box).


Utilice los cuadros de texto en su aplicación para permitir a los operadores introducir cadenas de texto.
Para crear y configurar un cuadro de texto:
 Cree y coloque un cuadro de texto. Haz lo siguiente:
 En el cuadro de diálogo Selección del asistente, seleccione Asistentes de control de Windows.
Aparecerán los iconos del asistente de control.
 Haga doble clic en el icono del cuadro de texto. La ventana de la aplicación vuelve a aparecer y
el cursor cambia a un símbolo de la esquina izquierda.
 Haga clic en una ubicación en la ventana de la aplicación para ubicar el
asistente. El asistente de cuadro de texto aparece con pesadas manijas
negras en las esquinas.
 Arrastre y redimensione el asistente para adaptarlo a su
aplicación.
 Haga doble clic en el asistente. Aparecerá el cuadro de diálogo
Control de cuadro de texto.
 Configure el cuadro de diálogo. Haz lo siguiente:
 Escriba un nombre de control, como TextBox_1, en el
cuadro Nombre de control.
 Escriba un nombre de etiqueta de mensaje de memoria,
como New_Value, en el cuadro Tagname.
 En el área Propiedades, seleccione Habilitar entrada y Visible.
 Haga clic en Aceptar. Se cierra el cuadro de diálogo Control de cuadro de texto.

Creación de un cuadro de lista. (List Box).


Puede crear aplicaciones que permitan a sus usuarios seleccionar elementos de una lista de opciones.
Al agregar un cuadro de lista a su aplicación, coloque el control en la pantalla, establezca las propiedades para
configurar la lista y, a continuación, escriba cualquier secuencia de comandos que pueda necesitar.
Los cuadros de lista se pueden cargar con elementos de un archivo o desde la entrada del teclado durante el
tiempo de ejecución.
Para crear un cuadro de lista:

58
 Cree y coloque el control de cuadro de lista. Haz lo siguiente:
 En el cuadro de diálogo Selección del asistente, seleccione Controles de
Windows.
 Haga doble clic en el icono del cuadro de lista. La ventana de la
aplicación vuelve a aparecer y el cursor cambia a un símbolo de la
esquina izquierda.
 Haga clic en una ubicación en la ventana de la aplicación para colocar el control. Aparecerá el
control del cuadro de lista.
 Haga doble clic en el control. Aparece el cuadro de diálogo Control de
cuadro de lista.
 Configure el control. Haz lo siguiente:
 Escriba un nombre de control, como ListBox_1, en el cuadro
Nombre de control.
 Escriba un nombre de etiqueta de mensaje de memoria,
como LB1_Value, en el cuadro Tagname.
 En el área Propiedades, configure cómo el control aparece y funciona.
 Haga clic en Aceptar.

Creación de un cuadro combinado. (Combo Box).


Puede crear aplicaciones que permitan a sus usuarios seleccionar elementos de listas de opciones con un
cuadro combinado. Un cuadro combinado es un control de Windows que combina un cuadro de texto y un
cuadro de lista. Al agregar un cuadro combinado a su aplicación, coloque el control en la pantalla, establezca
las propiedades para configurar el cuadro combinado ya continuación, escriba cualquier secuencia de
comandos que pueda necesitar. Los cuadros combinados se pueden cargar con elementos de un archivo o
desde la entrada del teclado durante el tiempo de ejecución.

Para crear un cuadro combinado:


 Cree y coloque el control de cuadro combinado. Haz lo siguiente:
 En el cuadro de diálogo Selección del asistente, seleccione Controles de Windows.
 Haga doble clic en el icono del cuadro combinado. La ventana de la aplicación vuelve a
aparecer y el cursor cambia a un símbolo de la esquina izquierda.
 Haga clic en una ubicación en la ventana de la aplicación para colocar el control. Aparecerá el
control del cuadro combinado.
 Haga doble clic en el control. Aparece el cuadro de diálogo
ComboBox Control.
 Configure el control. Haz lo siguiente:
 Escriba un nombre de control, como ComboBox_1, en el
cuadro Nombre de control.
 Escriba un nombre de etiqueta de mensaje de memoria,
como CB1_Value, en el cuadro Tagname.
 En el área Propiedades, configure cómo el control aparece y
funciona.
 En el área Estilo, seleccione el tipo de cuadro combinado.
 Haga clic en Aceptar.

Creación de una casilla de verificación. (Check Box).


Un control de casilla de verificación permite al operador seleccionar una opción.
Para configurar un control de casilla de verificación
 Cree la casilla de verificación. Haz lo siguiente:
 En el cuadro de diálogo Selección del asistente, seleccione Asistentes de control de Windows.
Aparecerán los iconos del asistente de control.

58
 Haga doble clic en el icono de la casilla de verificación. La ventana de su aplicación vuelve a
aparecer y el cursor cambia a un símbolo de esquina izquierda.
 Haga clic en una ubicación en la ventana de la aplicación para
ubicar el asistente. Aparecerá el asistente de la casilla de
verificación.
 Arrastre y redimensione el asistente.
 Haga doble clic en el asistente. Aparece el cuadro de diálogo
Control de casilla de verificación.
 Configure el asistente. Haz lo siguiente:
 Escriba el nombre del control.
 Escriba el nombre de la etiqueta discreta o haga doble
clic en la casilla vacía para mostrar el cuadro de diálogo
Seleccionar variable y seleccione una etiqueta.
 Escriba el título para que aparezca en la cara del botón.
 Haga clic en Aceptar.

Creación de un grupo de botones de radio.


Utiliza los botones de radio cuando el usuario debe seleccionar una de varias opciones. Cuando un usuario
selecciona una opción, la opción previamente seleccionada no se selecciona.
Puede crear las opciones para un usuario como un grupo de botones de opción. Cada botón de opción tiene un
título y proporciona un valor único a su secuencia de comandos. Sólo puede asignar etiquetas enteras a los
controles de los botones de opción.
Para crear un grupo de botones de radio:
 Cree el asistente de control Botón de radio. Haz lo siguiente:
 En el cuadro de diálogo Selección del asistente, seleccione Asistentes de control de Windows.
Aparecerán los iconos del asistente de control.
 Haga doble clic en el icono del botón Radio. La ventana de la aplicación vuelve a aparecer y el
cursor cambia a un símbolo de la esquina izquierda.
 Haga clic en una ubicación en la ventana de la aplicación para ubicar el
asistente. El asistente de control del grupo de radio aparece con tres
botones de radio.
 Arrastre y redimensione el asistente para adaptarlo a su aplicación.
 Haga doble clic en el asistente. Aparecerá el cuadro de diálogo Control de
grupo de botones de radio.
 Configure el asistente. Haz lo siguiente:
 Escriba el nombre del control.
 Escriba un nombre de etiqueta de tipo entero
para enlazar a este control.
 Escriba el número de botones que desea
mostrar.
 Escriba los títulos de cada botón.
 Defina el diseño y las propiedades.
 Haga clic en Aceptar.

Scripting de controles de Windows.


Puede utilizar las funciones de QuickScript en los scripts para:
 Obtener o establecer el valor de un control.
 Habilitar, deshabilitar u ocultar un control.
 Trabaje con elementos en cuadros combinados, cuadros de lista, cuadros de texto y casillas de
verificación.

58
Las propiedades de tiempo de ejecución pueden ser de lectura-escritura o de sólo lectura, dependiendo de la
propiedad.
Utilice las funciones GetPropertyX () y SetPropertyX () para controlar o recuperar estas propiedades.

Cómo obtener o establecer el valor de un control.


La propiedad .Value es la propiedad predeterminada para todos los Asistentes de controles de Windows de
InTouch. Los cambios realizados en esta propiedad se sincronizan en la variable InTouch y en los Asistentes de
controles de Windows.

.Value Dotfield
Propiedad predeterminada para todos los asistentes de control de Windows de InTouch.
Los cambios realizados en esta propiedad se sincronizan en la función InTouch y los asistentes de control de
Windows.
Categoría: control de ventanas.

Uso: Los M, I y D son para las versiones de memoria, entero y discreto de las funciones GetProperty y
SetProperty.

[ErrorNumber=]GetPropertyM("ControlName[.Value]",
Tagname);
[ErrorNumber=]SetPropertyM("ControlName[.Value]",
Value);
[ErrorNumber=]GetPropertyI("ControlName[.Value]",
Tagname);
[ErrorNumber=]SetPropertyI("ControlName[.Value]",
Value);
[ErrorNumber=]GetPropertyD("ControlName[.Value]",
Tagname);
[ErrorNumber=]SetPropertyD("ControlName[.Value]",
Value);

Parámetros:
ControlName: Nombre del control de Windows, por ejemplo, ChkBox_4.
Tagname: La variable a la que se escribe el valor de la propiedad.
[.Value]: Esta propiedad es opcional. Si no se especifica, la función siempre asume que se está utilizando la
propiedad .Value.
Value: El valor actual a escribir o una variable InTouch válida (del mismo tipo que la propiedad a ser escrita)
que contiene el valor de la propiedad que se escribirá cuando se procesa la función.

Comentarios: El valor inicial de variables asignadas a un cuadro de lista o cuadro combinado no se puede
utilizar para inicializar el valor del cuadro de lista o cuadro combinado. Este campo de puntos es de lectura /
escritura durante el desarrollo y el tiempo de ejecución. Si se accede al campo de puntos .Value asociando una

58
variable a un cuadro de lista o un cuadro combinado, es de sólo lectura. Si el campo de puntos .Value está
asignado a una casilla de verificación, un botón de opción o un cuadro de texto, es de lectura / escritura. El valor
que especifique en el desarrollo sirve como valor predeterminado para el tiempo de ejecución.

Tipo de datos: Mensaje (lectura / escritura) para cuadros de texto, cuadros de lista y cuadros combinados.
Integer (lectura / escritura) para los botones de radio.
Discrete (lectura / escritura) para las casillas de verificación.

Aplicable: Cuadros de texto, cuadros de lista, cuadros combinados, casillas de verificación y botones de
opción.

Ejemplo (s): La instrucción siguiente establece el campo de puntos .Value del objeto de botón de radio
"RadioButton_1" a un valor de 4:

SetPropertyI("RadioButton_1.Value", 4);

Vea también: GetPropertyM(), SetPropertyM(), GetPropertyI(), SetPropertyI(), GetPropertyD(), SetPropertyD()

Activación o desactivación de un control para entrada de usuario.


Utilice la propiedad .Enabled para determinar si el objeto de control puede responder a eventos generados por
el operador.

.Dotfield habilitado
Determina si el objeto de control puede responder a eventos generados por el usuario.
Categoría: control de ventanas
Uso:
[ErrorNumber =] GetPropertyD("ControlName.Enabled",
Tagname);
[ErrorNumber =] SetPropertyD("ControlName.Enabled",
Discreto);

Parámetros:
ControlName: Nombre del control de Windows. Por ejemplo, ChkBox_4.
Tagname: Una variable discreta que contiene la propiedad solicitada.
Discreto: Un valor discreto o una variable discreta que contiene el valor a escribir cuando se procesa la función.
Para un valor discreto:
0 = El control está deshabilitado.
1 = El control está habilitado.

Comentarios: Esta propiedad es de lectura / escritura durante el desarrollo y el tiempo de ejecución.


Tipo de datos: Discreto (lectura / escritura)
Aplicable: Cuadros de texto, cuadros de lista, cuadros combinados, casillas de verificación y botones de
opción.

Ejemplo (s): La instrucción siguiente deshabilita el objeto de cuadro de lista denominado "ListBox_1".

SetPropertyD("ListBox_1.Enabled", 0).

Vea también: GetPropertyD(), SetPropertyD()

58
Ocultar controles de Windows dinámicamente.
Utilice la propiedad .Visible para determinar si el control de Windows está visible en la ventana.

.Visible Dotfield
Determina si el control de Windows está visible en la ventana.
Categoría: control de ventanas
Uso:

[ErrorNumber =] GetPropertyD ("ControlName.Visible",


Tagname);
[ErrorNumber =] SetPropertyD ("ControlName.Visible",
Número);

Parámetros:
ControlName: Nombre del control de Windows. Por ejemplo, ListBox_1.
Tagname: Una variable (del mismo tipo que se devuelve) que contiene el valor de la propiedad cuando se
procesa la función.

Number: Un valor discreto o una variable discreta que contiene el valor a escribir cuando se procesa la función.
Para un valor discreto:
0 = El control es invisible.
1 = El control es visible.

Observaciones: Esta propiedad es de lectura / escritura tanto en tiempo de desarrollo como en tiempo de
ejecución.
Tipo de datos: Discreto (lectura / escritura), Valores válidos.

Aplicable: Cuadros de texto, cuadros de lista, cuadros combinados, casillas de verificación y botones de
opción.

Ejemplo (s): La instrucción siguiente oculta el cuadro de texto denominado "TextBox_1".

SetPropertyD("TextBox_1.Visible", 0);

Vea también: GetPropertyD(), SetPropertyD()

Agregar y eliminar elementos en cuadros combinados.


Utilice las siguientes funciones de secuencia de comandos para agregar y eliminar elementos de cuadros
combinados y listas.

Función de script. Efecto.


Agrega un elemento al final de la lista de un cuadro de lista o cuadro combinado.
wcAddItem() Si la clasificación está activada, la lista se ordenará después de que se agregue el
elemento.
Agrega un elemento en una posición especificada en la lista de un cuadro de lista
wcInsertItem()
o cuadro combinado.
Elimina un elemento de una posición especificada en la lista de un cuadro de lista
wcDeleteItem()
o cuadro combinado.
wcDeleteSelection() Elimina el elemento actualmente seleccionado de la lista o del cuadro combinado.

58
wcClear() Elimina todos los elementos de la lista o del cuadro combinado.

Función WcAddItem()
Agrega un elemento al final de la lista de un cuadro de lista o cuadro combinado. Si la clasificación está
activada, la lista se ordenará después de que se agregue el elemento.
Categoría: control de ventanas
Sintaxis: [ErrorNumber =] wcAddItem("ControlName", "MessageTag");
Parámetros:
ControlName: El nombre del objeto de control de Windows. Por ejemplo, ListBox_1. Cadena real o mensaje
tagname.
MessageTag: La cadena de mensajes que se mostrará. Cadena real o mensaje tagname.
Se aplica a: Cuadros de lista y cuadros combinados.

Ejemplo (s): La instrucción siguiente agrega el contenido de la cadena de mensaje al cuadro de lista cuando se
abre la ventana (utilizando On Show Window QuickScript) que contiene el cuadro de lista:

WcAddItem("ListBox_1", "Chocolate");
WcAddItem("ListBox_1", "Vainilla");
WcAddItem("ListBox_1", "Fresa");

Vea también: wcInsertItem()


Función wcInsertItem()
Inserta la cadena especificada en la lista de un cuadro de lista o cuadro combinado en la posición especificada.
A diferencia de la función wcAddItem (), la función wcInsertItem () no ordena una lista, incluso si se crea como
un cuadro de lista ordenada o un cuadro combinado.
Categoría: control de ventanas
Sintaxis: [ErrorNumber =] wcInsertItem("ControlName", ItemPosition,"Message");
Parámetros:
ControlName: El nombre del objeto de control de Windows. Por ejemplo, ListBox_1. Cadena real o mensaje
tagname.
ItemPosition: Un número que corresponde a la posición del elemento que se va a agregar. Si este parámetro
es -1, la cadena se agrega al final de la lista. Cualquier número o número entero.
Message: Contiene la cadena a insertar en la posición indicada por ItemPosition. Cadena real o mensaje
tagname.
Observaciones: Para obtener una lista de números de error devueltos, consulte Descripción de los mensajes
de error de los controles de Windows.
Se aplica a: Cuadros de lista y cuadros combinados.

Ejemplo (s): La siguiente instrucción inserta un nuevo elemento llamado "Blueberry" en un cuadro de lista en la
cuarta posición desde la parte superior cuando se ejecuta una secuencia de comandos de acción.

WcInsertItem("ListBox_1", 4, "Blueberry");

Véase también: wcAddItem ()

Función wcDeleteItem()
Elimina el elemento en una posición especificada de la lista de un cuadro de lista o cuadro combinado.
Categoría: control de ventanas
Sintaxis: [ErrorNumber =] wcDeleteItem("ControlName", ItemPosition);
Parámetros:

58
ControlName: El nombre del objeto de control de Windows. Por ejemplo, ListBox_1. Cadena real o mensaje
tagname.
ItemPosition: Número que corresponde a la posición del elemento. Cualquier número o número entero.

Observaciones: Para obtener una lista de números de error devueltos, consulte Descripción de los mensajes
de error de los controles de Windows.
Se aplica a: Cuadros de lista y cuadros combinados.

Ejemplo (s): La siguiente instrucción elimina el tercer elemento de una lista cuando se ejecuta una secuencia
de comandos de acción:

WcDeleteItem("ListBox_1", 3);

Función wcDeleteSelection()
Elimina el elemento actualmente seleccionado de la lista.
Categoría: control de ventanas
Sintaxis: [ErrorNumber =] wcDeleteSelection ("ControlName");
Parámetro: ControlName: El nombre del objeto de control de Windows. Por ejemplo, ListBox_1. Cadena real o
mensaje tagname.
Observaciones: Para obtener una lista de números de error devueltos, consulte Descripción de los mensajes
de error de los controles de Windows.
Se aplica a: Cuadros de lista y cuadros combinados.
Ejemplo (s): La instrucción siguiente elimina el elemento seleccionado actualmente en una lista de cuadro de
lista cuando se ejecuta una secuencia de comandos de acción:

WcDeleteSelection("ListBox_1");

Función wcClear()
Elimina todos los elementos del cuadro de lista o del cuadro combinado.
Categoría: control de ventanas
Sintaxis: [ErrorNumber =] wcClear ("ControlName");
Parámetros:
ControlName: El nombre del objeto de control de Windows. Por ejemplo, ListBox_1. Cadena real o mensaje
tagname.
Observaciones: Para obtener una lista de números de error devueltos, consulte Descripción de los mensajes
de error de los controles de Windows.
Se aplica a: Cuadros de lista y cuadros combinados.
Ejemplo (s): La sentencia siguiente borra todos los elementos de un cuadro de lista cuando se ejecuta una
secuencia de comandos de acción:

WcClear ("ListBox_1");

Cargar y guardar elementos de la lista desde o hacia un archivo.


Utilice las siguientes funciones de secuencia de comandos para cargar y guardar elementos en un cuadro
combinado o una lista desde o hacia un archivo.

Función de script. Efecto.


Carga el contenido de un cuadro de lista o cuadro combinado con nuevos elementos
wcLoadList()
de un archivo.
wcSaveList() Guarda el contenido de un cuadro de lista o cuadro combinado en un archivo.

58
Función wcLoadList()
Carga un cuadro de lista o un cuadro combinado con nuevos elementos de un archivo.
Categoría: control de ventanas
Sintaxis: [ErrorNumber=]wcLoadList("ControlName", "Filename");
Parámetros:
ControlName: El nombre del objeto de control de Windows. Por ejemplo, ListBox_1. Cadena real o mensaje
tagname.
Filename: Contiene el nombre de un archivo. Si no proporciona un nombre de ruta completo como parte del
parámetro de mensaje, la función comprueba el directorio de la aplicación para el archivo de mensajes. Cadena
real o mensaje tagname.
Observaciones: Para obtener una lista de números de error devueltos, consulte Descripción de los mensajes
de error de los controles de Windows.
Si utiliza archivos externos para rellenar la lista y los cuadros combinados, deben seguir un formato específico y
contener información específica. Formato:

ControlType, ListCount
ListItem, ItemIndex
ListItem, ItemIndex
..
..
..
ListItem, ItemIndex

El ControlType es COMBOBOX o LISTBOX.


Por ejemplo, desea cargar un archivo de lista en un cuadro combinado y contiene tres elementos para
seleccionar y esos elementos no tienen ningún elemento asignado. El formato del archivo aparece como:

COMBOBOX, 3
Chocolate, 0
Vainilla, 0
Fresa, 0

El COMBOBOX es el tipo de control. El recuento de listas es de 3 para Chocolate, Vainilla y Fresa. El chocolate
entonces se enumera como el primer artículo o posición 1. La vainilla como la posición 2, y la fresa como la
posición 3. Cada uno de estos artículos tiene un valor de los datos de 0.

Se aplica a: Cuadros de lista y cuadros combinados.

Ejemplo (s): La siguiente instrucción carga una lista correctamente formateada (ubicada en c: \ wclist.txt.) En
un cuadro combinado:

WcLoadList ("Combobox_1", "c: \ wclist.txt");

Véase también: wcAddItem (), wcSaveList ()

Función wcSaveList()
Guarda los elementos de un cuadro de lista o cuadro combinado en un archivo.
Categoría: control de ventanas
Sintaxis: [ErrorNumber=]wcSaveList("ControlName","Filename");
Parámetros:

58
ControlName: El nombre del objeto de control de Windows. Por ejemplo, ListBox_1. Cadena real o mensaje
tagname.
Filename: Contiene el nombre de un archivo. Si el archivo no existe, se crea. Cadena real o mensaje tagname.
Se aplica a: Cuadros de lista y cuadros combinados.

Ejemplo (s): La siguiente sentencia guarda los elementos actuales en un cuadro de lista en un archivo (c: \
newlist.txt) cuando se ejecuta una secuencia de comandos de acción:

WcSaveList("ListBox_1", "c: \ newlist.txt");

Vea también: wcLoadList(), wcSetItemData()

Encontrar elementos en un cuadro combinado o lista


Utilice la función wcFindItem () para buscar un elemento especificado en un cuadro de lista o cuadro
combinado. Si se encuentra el elemento, esta función devuelve la posición correspondiente a un nombre entero
como el cuarto parámetro.

Función wcFindItem()
Determina la posición correspondiente del primer elemento en el cuadro de lista o cuadro combinado que
coincide con la cadena de mensaje suministrada.

Categoría: control de ventanas


Sintaxis: [ErrorNumber =] wcFindItem ("ControlName", "MessageTag", CaseSens, Tagname);

Parámetros:
ControlName: El nombre del objeto de control de Windows. Por ejemplo, ListBox_1. Cadena real o mensaje
tagname.
MessageTag: La cadena de mensajes a comparar. Cadena real o
Mensaje tagname.
CaseSens: Determina el tipo de comparación de cadenas. Puede ser un valor discreto o una variable. Los
siguientes valores son válidos:
0 = sin distinción entre mayúsculas y minúsculas.
1 = sensible a mayúsculas y minúsculas.
Tagname: Etiqueta de número entero en la que se devuelve la posición del elemento coincidente. Si no se
encuentra ningún elemento coincidente, se devuelve -1.
Observaciones: Para obtener una lista de números de error devueltos, consulte Descripción de los mensajes
de error de los controles de Windows.
Se aplica a: Cuadros de lista, cuadros combinados

Ejemplo (s)
Suponiendo que ListBox_1 es un cuadro de lista que contiene "ItemA", "ItemB" y "ItemC", la función devuelve
los valores siguientes en Resultado:

wcFindItem("ListBox_1", "ItemB", 0, Result);


returns 2
wcFindItem("ListBox_1", "Itemb", 1, Result);
returns -1
wcFindItem("ListBox_1", "itemc", 0, Result);
returns 3
wcFindItem("ListBox_1", "XYZ", 0, Result);
returns -1

58
Trabajar con índices de elementos en un cuadro combinado o lista.
Utilice los campos de puntos siguientes para trabajar con el índice de elementos de un cuadro de lista o cuadro
combinado.
Campo de puntos (Dot Field). Efecto.
.TopIndex El índice entero del elemento superior en el cuadro de lista.
El índice entero (tagname) del último elemento agregado al cuadro de
.NewIndex lista o cuadro combinado a través de las funciones wcAddItem () o
wcInsertItem ().
El índice (tagname o número) del elemento actualmente seleccionado
.ListIndex
en la lista.

.TopIndex Dotfield
Establece o lee el índice de número entero del elemento más superior en un cuadro de lista.
Categoría: Control de ventanas
Uso:
[ErrorNumber =] GetPropertyI("ControlName.TopIndex", Tagname);
[ErrorNumber =] SetPropertyI("NombreControl.TopIndex", Number);

Parámetros:
ControlName: Nombre del control de Windows. Por ejemplo, ListBox_1.
Tagname: Una variable Integer que contiene el valor de la propiedad cuando se procesa la función.
Number: el número de índice que define el elemento más superior en el cuadro de lista. Puede ser un valor
entero literal o una variable tagname o expresión que proporcione un valor entero.
Comentarios: Esta propiedad está disponible sólo en tiempo de ejecución.
Tipo de datos: Integer (lectura / escritura)
Se aplica a: Cuadros de lista.
Ejemplo (s): La instrucción siguiente establece el TopIndex del objeto de cuadro de lista "ListBox_1" a un valor
de 14:
SetPropertyI ("ListBox_1.TopIndex", 14);

Vea también: GetPropertyI (), SetPropertyI (), .ListIndex, .NewIndex

.NowIndex Dotfield
Devuelve el índice entero (Tagname) del último elemento agregado al cuadro de lista o cuadro combinado a
través de wcAddItem () o wcInsertItem ().
Categoría: Control de ventanas
Uso: [ErrorNumber =] GetPropertyI("ControlName.NewIndex", Tagname);
Parámetros:
ControlName: Nombre del control de Windows. Por ejemplo, ListBox_4.
Tagname: Una variable que contiene el índice entero del último elemento agregado a la lista o al cuadro
combinado. Para las listas vacías, se devuelve un valor -1.
Comentarios: Esta propiedad sólo está disponible en tiempo de ejecución.
Tipo de datos: Integer (sólo lectura)
Se aplica a: Cuadros de lista y cuadros combinados.
Ejemplo: La instrucción siguiente recupera el índice del elemento añadido más recientemente en el cuadro de
lista denominado "ListBox_1" y escribe ese valor en la variable de memoria entera NewItemIndex.

GetPropertyI ("ListBox_1.NewIndex", NewItemIndex);

Vea también: GetPropertyI (), wcAddItem (), wcInsertItem (), .ListIndex, .TopIndex

58
.ListIndex Dotfield
Establece o lee el índice (Tagname o Number) del elemento actualmente seleccionado en la lista.
Cuando se utiliza un cuadro de lista, un índice de -1 indica que no hay ningún elemento seleccionado
actualmente.
Cuando se utiliza un cuadro combinado, un índice de -1 indica que el usuario ha escrito nuevo texto en el
campo de entrada de texto del control.
Sintaxis:
[ErrorNumber =] GetPropertyI ("ControlName.ListIndex", Tagname);
[ErrorNumber =] SetPropertyI ("NombreControl.ListIndex", Number);

Parámetros:
ControlName: Nombre del control de Windows. Por ejemplo, ListBox_4.
Tagname: La variable a la que se escribe el índice del elemento seleccionado actualmente.
Number: El número de índice que define un elemento específico en la lista.
Observaciones: El número de índice define un elemento específico en una lista. Utilice el campo de punto
.ListIndex para establecer o determinar el índice del elemento seleccionado actualmente en una lista o cuadro
combinado. Esta propiedad sólo está disponible en tiempo de ejecución.
Tipo de datos: Integer (lectura o escritura).
Se aplica a: Cuadros de lista y cuadros combinados.
Ejemplo: Esta instrucción recupera el índice del elemento actualmente seleccionado en el cuadro de lista
denominado "ListBox_1" y escribe ese valor en la variable de memoria entera MyListBoxIndex.

GetPropertyI ("ListBox_1.ListIndex", MyListBoxIndex);

Vea también: GetPropertyI (), SetPropertyI (), .NewIndex, .TopIndex

Recuento de caja de lista o elementos de cuadro combinado.


El campo de puntos .ListCount contiene el número de elementos en un cuadro de lista o cuadro combinado.

.ListCount de Dotfield
Lee el número de elementos en el cuadro de lista o en el cuadro combinado.
Categoría: Control de Windows
Sintaxis: [ErrorNumber =] GetPropertyI("ControlName.ListCount", Tagname);
Parámetros:
ControlName: Nombre del control de Windows.
Tagname: Una variable válida que contiene el número entero de los elementos de la lista.
Observaciones: Esta propiedad sólo está disponible en tiempo de ejecución.
Tipo de datos: Integer (sólo lectura)
Se aplica a: Cuadros de lista y cuadros combinados.

Ejemplo (s): La sentencia siguiente recupera el número de elementos en el cuadro de lista denominado
ListBox_1 y escribe ese valor en la etiqueta entera de memoria MyListBoxCount.

GetPropertyI("ListBox_1.ListCount", MyListBoxCount);

Vea también: GetPropertyI (), .ListIndex

Cómo obtener o establecer el valor de un elemento de lista.


Utilice la función wcGetItemData() para encontrar el valor de número entero asociado con el elemento de lista
identificado por el índice de elemento.

58
Utilice la función wcSetItemData() para asignar un valor entero al elemento de la lista especificada por índice de
elemento. Esto asigna un número a una cadena.

Función wcGetItemData()
Lee el valor entero asociado con el elemento de lista identificado por el parámetro ItemIndex.
Categoría: control de ventanas
Sintaxis: [ErrorNumber =] wcGetItemData ("ControlName", ItemIndex, Tagname);
Parámetros
ControlName: El nombre del objeto de control de Windows. Por ejemplo, ListBox_1. Cadena real o mensaje
tagname.
ItemIndex: Número que corresponde a la posición del elemento. Cualquier número o número entero.
Tagname: Nombre real de una variable real o entera. La función wcGetItemData () coloca el valor numérico
correspondiente al elemento en esta variable al regresar de la función.
Observaciones: Para obtener una lista de números de error devueltos, consulte Descripción de los mensajes
de error de los controles de Windows.
Se aplica a: Cuadros de lista y cuadros combinados.

Ejemplo (s): La sentencia siguiente recupera el valor numérico asociado con el quinto elemento en un cuadro
de lista y lo devuelve a la variable ItemValue Integer cuando se ejecuta una secuencia de comandos de acción:

WcGetItemData("ListBox_1", 5, ItemValue);

Si se asigna al quinto elemento de la lista el valor entero 4500, la variable ItemValue contiene 4500.

Véase también: wcSetItemData()

Función wcSetItemData()
Asigna un valor entero del elemento (el parámetro Number) al elemento de la lista especificada por el parámetro
ItemIndex. Esta función permite asignar un número a una cadena.
Categoría: Control de ventanas
Sintaxis: [ErrorNumber =] wcSetItemData ("ControlName", ItemIndex, Number);
Parámetros:
ControlName: El nombre del objeto de control de Windows. Por ejemplo, ListBox_1. Cadena real o mensaje
tagname.
ItemIndex: un valor entero que especifica el elemento de lista que desea editar. Cualquier número o número
entero.
Number: un valor entero que representa los datos del elemento. Cualquier número o número entero.
Observaciones: Puede crear listas completas que contengan los elementos utilizando un programa como el
Bloc de notas y, a continuación, cargarlos mediante una llamada de función. Formatee la lista según lo requiera
la función wcSaveList (). Para obtener una lista de los números de error devueltos, consulte Descripción de los
mensajes de error de los controles de Windows. Utilice la función wcGetItemData () para devolver el valor
(datos de elemento) asociado con el elemento de lista. El parámetro tagname contiene el valor numérico
devuelto. Este parámetro podría ser una variable de entero de E / S que escribe directamente en el dispositivo
del mundo real.

Ejemplo (s): Una receta tiene tres ingredientes; Harina, azúcar y sal. La cantidad de harina es 4500 gramos, el
azúcar es 1500 y la sal es de 325 gramos. Los valores se asignan a cada uno de los elementos del cuadro de
lista mediante un script de cambio de datos activado por qué receta (tagname, RecipeName) está seleccionada:

WcSetItemData("ListBox_1", 1, 4500); {Establecer el primer elemento en la lista (harina) = 4500}


WcSetItemData("ListBox_1", 2, 1500); {Establecer el segundo elemento de la lista (azúcar) = 1500}
WcSetItemData("ListBox_1", 3, 325); {Establecer el tercer elemento en la lista (sal) = 325}

58
Vea también: wcLoadList(), wcSaveList(), wcGetItemData()

Cómo obtener el nombre de un elemento de lista.


Utilice la función wcGetItem () para devolver la cadena de elemento asociada al índice de elemento
correspondiente en el cuadro de lista o en el cuadro combinado.

Función wcGetItem()
Devuelve una cadena que contiene el contenido del elemento correspondiente al ItemIndex en el cuadro de lista
o en el cuadro combinado.
Categoría: control de ventanas
Sintaxis: [ErrorNumber =] wcGetItem("ControlName", ItemIndex, Tagname);
Parámetros:
ControlName: El nombre del objeto de control de Windows. Por ejemplo, ListBox_1. Cadena real o mensaje
tagname.
ItemIndex: Número que corresponde a la posición del elemento. Cualquier número o número entero.
Tagname: Mensaje tagname. La función wcGetItem colocará los datos correspondientes al índice del elemento
en esta variable al regresar de la función.
Observaciones: Para obtener una lista de números de error devueltos, consulte Descripción de los mensajes
de error de los controles de Windows.
Se aplica a: Cuadros de lista y cuadros combinados.

Ejemplo (s): La instrucción siguiente devuelve el valor de cadena del décimo elemento en un cuadro
combinado a la etiqueta de mensaje ListSelection cuando se ejecuta una secuencia de comandos de acción:

WcGetItem("Combobox_1", 10, ListSelection);


Si el punto diez de la lista es "Vanilla", entonces la etiqueta ListSelection contiene la cadena "Vanilla".

Cargar el contenido de un cuadro de texto.


Utilice la función wcLoadText() para cargar el contenido de un cuadro de texto de un archivo. Utilice la función
wcSaveText() para guardar el contenido de un cuadro de texto en un archivo de texto.

Nota: Si el nombre de etiqueta se ha definido con una longitud máxima, sólo se puede asignar ese número de
caracteres desde el contenido del cuadro de texto a la etiqueta. Si no se asigna ninguna etiqueta al cuadro de
texto, su contenido puede tener hasta 65.535 caracteres.

Función wcLoadText()
Reemplaza el contenido del cuadro de texto con el contenido del archivo.
Categoría: Control de ventanas.
Sintaxis: [ErrorNumber=]wcLoadText("ControlName", "Filename");
Parámetros:
ControlName: El nombre del objeto de control de Windows. Por ejemplo, ListBox_1. Cadena real o mensaje
tagname.
Filename: Contiene el nombre de un archivo. Si no se suministra un nombre de ruta completo como parte del
parámetro de mensaje, la función comprobará el directorio de la aplicación para el archivo. Cadena real o
mensaje tagname.
Observaciones: Para obtener una lista de números de error devueltos, consulte Descripción de los mensajes
de error de los controles de Windows.
Se aplica a: Cuadros de texto.

58
Ejemplo (s): La siguiente instrucción carga un archivo de texto (c: \ InTouch.32 \ readme.txt.) En un cuadro de
texto cuando se abre la ventana (On Show Window script) que contiene el cuadro de texto:

WcLoadText("Textbox_1", "c: \ InTouch.32 \ readme.txt");

Función wcSaveText()
Guarda el texto contenido en el cuadro de texto en el archivo especificado. Si el archivo no existe, se crea. Si
existe, debe ser de lectura / escritura.
Categoría: Control de ventanas
Sintaxis: [ErrorNumber=]wcSaveText("ControlName", "Filename");
Parámetros:
ControlName: El nombre del objeto de control de Windows. Por ejemplo, ListBox_1. Cadena real o mensaje
tagname.
Filename: Contiene el nombre del archivo de destino. Si no proporciona un nombre de ruta completo, el archivo
se guarda en el directorio de la aplicación. Si el archivo existe, se sobrescribe. Si el archivo no existe, se crea.
El archivo resultante se puede cargar posteriormente en un objeto de cuadro de texto mediante la función
wcLoadText (). Cadena real o mensaje tagname.
Observaciones: Para obtener una lista de números de error devueltos, consulte Descripción de los mensajes
de error de los controles de Windows.
Se aplica a: Cuadros de texto.

Ejemplo (s): La siguiente instrucción guarda la información actual introducida en un cuadro de texto en un
archivo de c: \ InTouch.32 \ newtext.txt cuando se ejecuta una secuencia de comandos de acción:

WcSaveText("Textbox_1", "c: \ InTouch.32 \ newtext.txt");

Vea también: wcLoadText()

Comprobar si un cuadro de texto es de sólo lectura.


Utilice el campo de punto .ReadOnly para determinar si el contenido del cuadro de texto es de sólo lectura o de
lectura / escritura.

.ReadOnly Dotfield
Determina si el contenido del cuadro de texto es de sólo lectura o de lectura / escritura.
Categoría: control de ventanas
Uso: [ErrorNumber =] GetPropertyD("ControlName.ReadOnly", Tagname);
Parámetros:
ControlName: Nombre del control de Windows. Por ejemplo, Textbox_1.
Tagname: Una variable discreta que contiene el valor de la propiedad cuando se procesa la función.
0 = Contenido del cuadro de texto es lectura / escritura
1 = El contenido del cuadro de texto es de sólo lectura
Observaciones: Esta propiedad está disponible tanto en tiempo de desarrollo como en tiempo de ejecución.
Tipo de datos: Discreto (sólo lectura)
Se aplica a: Cuadros de texto.
Ejemplo (s): La instrucción siguiente recupera el estado de sólo lectura del cuadro de texto denominado
"TextBox_1":

GetPropertyD("TextBox_1.ReadOnly", A_Tagname);

Vea también: GetPropertyD(), SetPropertyD()

58
Obtener o establecer la etiqueta de una casilla de verificación.
El campo de puntos .Caption define el texto del mensaje de una casilla de verificación.

.Caption Dotfield
Determina el mensaje que se mostrará con la casilla de verificación.
Categoría: control de ventanas
Uso:
[ErrorNumber =] GetPropertyM ("ControlName.Caption", Tagname);
[ErrorNumber =] SetPropertyM ("ControlName.Caption", " Message ");
Parámetros:
ControlName: Nombre del control de Windows. Por ejemplo, ChkBox_4.
Tagname: Un mensaje tagname que contiene la propiedad solicitada.
Message: Una cadena de mensaje entre comillas.
Comentarios: Esta propiedad es de lectura / escritura durante el desarrollo y el tiempo de ejecución.
Tipo de datos: Mensaje (lectura / escritura)
Se aplica a: casillas de verificación.

Ejemplo: Esta sentencia establece el título del objeto de casilla de verificación "CheckBox_1" en "Blue Paint
Option".

SetPropertyM("CheckBox_1.Caption", "Opción de pintura azul");

Vea también: GetPropertyM (), SetPropertyM ()

Descripción de los mensajes de error de los controles de Windows.


Dado un número de error, wcErrorMessage (), devuelve un mensaje de cadena que describe el error. Se aplica
a cuadros de lista, cuadros de texto, cuadros combinados, botones de opción y casillas de verificación. Las
funciones Window Controls devuelven valores basados en el resultado del procesamiento de funciones
QuickScript. El valor de retorno se utiliza para diagnósticos de errores. Puede asignar estos valores a nombres
de etiqueta enteros. Por ejemplo:

ErrorNumber = wcGetItem("ControlName", Number, Tagname);

En este script, ErrorNumber es una etiqueta de número entero que contiene el valor de error devuelto. El valor
devuelto de la función se puede pasar a wcErrorMessage (). WcErrorMessage () devolverá una descripción de
cadena del error. Por ejemplo:

ErrorMsg = wcErrorMessage (ErrorNumber);

En este script, ErrorMsg es una etiqueta de tipo de mensaje que contiene el texto del error devuelto. La tabla
siguiente identifica valores de error numéricos y sus definiciones.
Mensaje de error. Definición.
0 Éxito
-1 Falla general
-2 Memoria insuficiente disponible
-3 La propiedad es de sólo lectura
-4 Elemento especificado ya presente
-5 Nombre de objeto desconocido
-6 Nombre de la propiedad desconocido

58
-x Error desconocido

Función wcErrorMessage()
Devuelve una cadena de mensaje que describe el error.
Categoría: control de ventanas
Sintaxis: ErrorMessage = wcErrorMessage(ErrorNumber);
Parámetros:
ErrorMessage: Mensaje tagname.
ErrorNumber: Número devuelto por todas las funciones de control de Windows. Cualquier número o número
entero.
Observaciones: Para obtener una lista de números de error devueltos, consulte Descripción de los mensajes
de error de los controles de Windows.
Se aplica a: Cuadros de lista, cuadros de texto, cuadros combinados, casillas de verificación y botones de
opción.

Ejemplo (s): Si se produce un error mientras se carga una lista, muestre la descripción de texto del error en la
variable de mensaje ErrorDescription. En este ejemplo, se asigna un vínculo de animación de Visualización de
valor a la variable ErrorDescription para mostrar el mensaje de error. En la ventana "On Show" QuickScript:

ErrorNumber = wcLoadList("ListBox_1", "c: \ recipe.txt");


ErrorDescription = wcErrorMessage(errornumber);

Puede utilizar esta función con todas las funciones de control de Windows para mostrar mensajes de error:

ErrorNumber = wcAddItem("ListBox_1", "AM_4A4356");


ErrorMsg = wcErrorMessage(ErrorNumber);

58

Vous aimerez peut-être aussi