Está en la página 1de 152

A 1

I.- TRABAJANDO CON INTOUCH

Para crear una nueva aplicacin en Intouch, seleccione Create Directory, o


para seleccionar una aplicacin existente basta con hacer doble click sobre el nombre
del archivo a abrir.
Cuando se crea un directorio, tenemos la opcin de hacer varias pantallas dentro
de est, al seleccionar el comando New Windows en el men File aparece el cuadro
Windows Properties (propiedad de pantalla), tal como se indica a continuacin:

Donde se coloca el nombre de la pantalla con un mximo de 32 caracteres, se selecciona


el color de fondo de la pantalla en Window Color, se definen las dimensiones de la
pantalla, tambin se define la visibilidad o no del titulo de pantalla. Se puede ingresar a
los Scripts, aplicacin que ser detallada mas adelante, luego de terminadas las
propiedades de pantalla se presiona OK y se comienza a trabajar en la confeccin de la
pantalla.
Cuando se est dentro de una nueva pantalla aparece la barra de herramientas
Toolbox, es una caja de herramientas con una coleccin de objetos grficos que son
utilizados en la aplicacin. La caja de herramientas queda normalmente visible al abrir
Window Maker.

A 2

La barra de herramientas es tal como se muestra a continuacin:

La primera lnea de herramienta es usada para crear objetos grficos, escribir nombres,
seleccionar objetos, etc. Los cuales pueden ser mostrados o animados en el modo de
trabajo Runtime.
La segunda lnea cuenta con la herramienta Wizard. Al seleccionar est
herramienta aparece un cuadro con elementos bsicos que se utilizan para hacer
eficiente y rpido la construccin de las pantallas.

Basta con hacer doble click en el objeto seleccionado para que se de la opcin de
colocarlo donde se requiera en la creacin de la pantalla, tambin se pueda variar su
tamao y dar Configuracin de acuerdo a lo requerido en la construccin de la pantalla.

A 3

Encontrndose tambin en est cuadro opciones de grficos en tiempo real, histricos y


ventanas de alarmas.
Luego los componentes restantes de est lnea, son herramientas que permiten
alinear, desagrupar, crear botoneras 3D con sus respectivos nombres, borrar, copiar,
pegar, etc.

II.- MENU WINDOWMAKER

WindowMaker contiene una barra de men provista con numerosas funciones.


Esta barra de men esta localizada en la parte superior de la pantalla y se puede acceder
a ella solamente haciendo click sobre la opcin que se desea utilizar.

2.1.- Men File (archivo)


El men archivo contiene un Set de comandos que se utilizan para crear, abrir,
salvar, imprimir, cerrar, borrar, exportar e importar archivos, tambin se cuenta con Exit
que es salir del programa.

Adems cuenta con WindowViewer que es un switch para cambio de


WindowMaker a WindowViewer (pantalla de simulacin).

A 4

2.2.- Men Arreglar


El men Arreglar contiene un conjunto herramientas tales como rotar en sentido
del reloj y en contra, transformar el objeto seleccionado en imagen de espejo vertical u
horizontal, combina varios objetos seleccionados en uno solo o viceversa, habilitar o
desabilitar grid (grilla). Para usar cualquier de los comandos del men arreglar,
seleccione l o los objetos donde el comando va a ser aplicado y entonces seleccionado
el comando desde el men arreglar se aplica. Usted puede configurar el Toolbox para
mostrar herramientas del men arreglar. Muchas de estas herramientas se incluyen en el
toolbox.
El Toolbox se configura por medio de Special / Configure.

2.3.- Men de Texto


El Men de Texto es parte del Toolbox por lo tanto se maneja directamente de la
barra de herramientas.
2.4.- Men de Lnea
Los comandos de Men de Lnea se usan para cambiar el estilo y la anchura de
lneas que son usada sobre objetos individualmente. Cualquier objeto seleccionado que
contiene una lnea (es decir, crculos, cuadrados, polgonos, lneas, etc.) ser

A 5

modificado. Despus de seleccionar el o los objetos, y haciendo click sobre el tipo de


lnea deseado que muestra en el men de lnea, esta ser cambiada.
2.5.- Men Especial
El Men Especial contiene un conjunto de comandos y subcomandos
permitiendo desempear funciones especiales tal como sustituir tagnames, strings,
acceder al Diccionario de Tagname, cambiar los nombres DDE, etc. En este men se
encontraran comandos tales como mostrar y quitar el Toolbox de la pantalla (Show/hide
toolbox), Vnculos de Animacin (Animation Links), sustitucin de tagnames,
sustitucin de string que son utilizados para cambiar el contenido de los String
(botoneras), llamar el diccionario de definiciones de tagnames, crear nombres de grupos
de alarmas o modificar viejos nombres de grupos, tambin se pueden crear subgrupos
de alarmas, seleccionar el nombre de accesos DDE (Dynamic Data Exchange).
Tambin existe el comando Configurar con el cual Intouch, provee la habilidad
de personalizar completamente la funcionalidad y aspecto final de la aplicacin
seleccionando varias opciones. Estas opciones se obtienen desde este comando. Por
ejemplo, puede colocarse las opciones que impidan al usuario salir de WindowVewer,
la barra de ttulo puede personalizarse para mostrar el nombre de compaa, la barra de
men puede eliminarse, la tecla ALT puede estar incapacitado, etc.

A 6

El comando borrar tag inutilizados, permite mostrar una lista de todos los
tagnames inutilizados en el Diccionario de Datos. Todos estos tagnames pueden
borrarse desde la base de datos. Adems se incluye una lista de Script que son editores
de lgica, los cuales pueden ser usados por los usuarios. Dependiendo de que Script se
edita, la lgica puede implementarse (Aplicacin Script), cuando se selecciona el
comando Script, los Scripts de Lgica son utilizados para crear simulaciones,
contrasea de proteccin, clculos de sistemas de variables o cambio de ventanas
debido a los cambios en el proceso de variables, etc. Ms adelante se profundizar ms
sobre los Scripts.
2.6.- Men de Ventana
El men de Ventanas contiene las Propiedades de Ventana y una lista de todas
las pantallas que se encuentran abiertas. Haciendo Click sobre cualquier de los nombres
de las pantallas har que las propiedades de la pantalla se active.
2.7.- Qu es el Diccionario Tagname?
El diccionario de datos tagname es el corazn de Intouch. En orden crea la rutina
de la base de datos, Intouch requiere informacin aproximadamente de todas las
entradas/tags que son creados. Cada entrada se le debe asignar un tagname. Un tagname
es un nombre simblico que se entra en el Diccionario de Tagname. Este nombre
simblico puede entonces configurar valores min., max., alarmas, etc. y tambin se
define como un tipo especfico, por ejemplo, un tag DDE. Este tag DDE puede llegar a
ser entonces un link entre Intouch, el servidor de I/O y el mundo real. El Diccionario de
Tagname es el mecanismo usado para ingresar esta informacin sobre la
variables/entradas en la base de datos. En el modo Runtime, contiene el valor actual de
todos los artculos en la base de datos.
La creacin de la base de datos o el Diccionario de Datos puede realizarse
usando tres diferente mtodos. El primer mtodo es la creacin de un manual donde
usted accesa el tagname de diccionario y define cada tag individualmente hasta
completar la base de datos. El segundo mtodo es el mtodo automtico donde usted
crea un objeto grfico, asignando vnculos de animacin al objeto y el sistema

A 7

rpidamente define el tagname. El tercer mtodo es el mtodo externo donde usted usa
el utilitario de Wonderware DB de Basurero y DB carga para transferir la base de datos
desde una aplicacin de InTouch a otra aplicacin de InTouch.
Si usted escoge el mtodo automtico o manual para crear la base de datos,
aparece el cuadro de dialogo "Diccionario - TagName de Definicin". En el mtodo
automtico el cuadro de dialogo aparecer una vez que se presiona OK, cuando pide
definir los tagnames, asignando despus los vnculos de animacin del objeto. Para
acceder al cuadro de dilogo cuando se usa el mtodo manual de creacin, primero se
selecciona Special/Tag Name Diccionary.

Details
Seleccione este botn para mostrar el cuadro de dilogo usado para ingresar los
detalles del tipo especfico de tag. El inicialmente cuadro de dialogo Dctionary Tag
Name Definition es usado para ingresar la informacin bsica con respecto a un
tagname. Muchos puntos, especialmente entradas y salidas, requieren grandes detalles.
Para cada tipo de tagname especificado, existe un cuadro de dialogo Details
especifico para ingresar el detalle del tipo de tagname. Cuando un tipo de tagname es
seleccionado,

aparece

automticamente

un

cuadro

de

dialogo

Details

respectivamente. Si el cuadro de dilogo "Details" para la definicin del tagname


actualmente mostrado en pantalla no aparece, seleccione Details en la parte superior del
cuadro.

A 8

Alarms
Seleccione este botn para definir la condicin de alarma del tagname. Cuando
definimos un tagname anlogo (entero o verdadero), el siguiente cuadro de dilogo se
usa para seleccionar tipos de alarmas y entrar sus valores. Los valores de campos
ingresados para cada tipo de alarma no aparecern hasta que un tipo de alarma sea
habilitado por un click en su respectivo cuadro de chequeo como se muestra ms
adelante:

Both
Seleccione este botn para mostrar ambos cuadros de dilogos details y alarms
simultneamente. El siguiente es un ejemplo como la pantalla se ver cuando un
tagname "Memoria Real" est siendo definido y este botn se selecciona:

A 9

None
Seleccione este botn para remover el cuadro de dilogo details y/o alarms
desde la pantalla.
2.7.1.- Ingresar Campos, Botones y Permitir al Usuario Opciones de Entrada...

A 10

Tag Name:
Ingrese el nuevo tagname en este campo. Los Tagnames pueden ser hasta un
largo de 32 caracteres y el primer carcter debe ser A-Z o a-z y puede seguirse con AZ, a-z, 0-9,! , Q, -,? , #, $ , %, _ y &.

Comment:

Los Comentarios son opcionales, pero pueden ser mostrados en una

Ventana de Alarma.
Ingrese cualquier informacin opcional para documentar el tagname en este
campo (hasta 50 - caracteres). (Estos comentarios pueden mostrarse en ventanas de
alarmas.)

Hacer click sobre este botn para acceder al Escoger tipo de Tag..., el
cuadro de dilogo selecciona el tipo de tagname:

Hacer click sobre este botn para acceder al cuadro de dilogo Escoger
Grupo de Alarmas... para asignar el tagname a un grupo de alarmas especfico o crear
un nuevo grupo de alarma.
Read only
Seleccione este botn para restringir a WindowViewer para que solamente sea
capaz de leer el valor del tagname.
Read Write
Seleccione este botn para permitir a WindowViewer leer/escribir de/desde el
valor del tagname.

A 11

Log Data
Registra automticamente el tagname en el archivo Histrical Log cada vez que
sus valores de unidades de ingeniera cambien,

ms el valor del Registro

especificado Deadband.

Log Events Priority

999

Registra todos los cambios de valores del tagname que fueron establecidos por el
operador, DDE, un script o por el sistema. Cuando esta opcin es habilitada, el
campo de Prioridad aparecer. El valor ingresado en la Prioridad determina la
preferencia de nivel del suceso para el tagname. Las entradas vlidas en este
campo son de 1 a 999 donde 1 es la ms alta prioridad y 999 es la ms baja.

Retentive Value
Esta opcin es usada para retener el valor actual del tagname. Este valor,
entonces es usado como el valor inicial para el tagname cuando WindowViewer
se reinicie.

Retentive Parameters
No vara los cambios del valor de cualquier campo de alarma para el tagname.
Este valor se usar como el valor inicial para las alarmas cuando
WindowViewer es reiniciado.
2.8.- Tipos de Tag
Cada tagname debe ser asignado a un tipo especfico segn el uso del tagname.
Por ejemplo, si el tagname es para leer o escribir valores que vienen desde otra
aplicacin de Windows tal como un servidor DDE, este debe ser un tag tipo DDE. Se
debe considerar si el Tag esta representando una seal Discreta, que es un solo bit (tal
como una sola entrada del PLC) o una seal Anloga (tal como un registro de 16, 32, o
64 bits).

Los tag analgicos son separados en dos de tipos, Enteros y Reales. A

continuacin se describe cada tipo de tag y su uso respectivo.

A 12

2.8.1.- Tagname tipo Memoria


Estos tipos de tag existen solamente dentro del programa Intouch. Ellos pueden
usarse para crear constantes de sistema, demostraciones y simulaciones. Estos tambin
son tiles en la creacin de clculos de variables para ser accesados en otros Programas
de Windows. Por ejemplo, si un tagname de memoria real es creado llamado PI,
podra asignarse a l, el valor inicial de 3.1416; o las frmulas podran almacenarse en
grupos de tagname de memoria. En simulaciones; los tagnames de memoria pueden
usarse para controlar las acciones de unos antecedentes de script. Por ejemplo un
tagname de memoria "STEP" podra ser cambiado con una accin presionando un botn
Script para provocar varios efectos de animacin. Hay cuatro tipos de Memoria:

Memory Discrete
Tagname Discreto Interno con un valor de O (Falso, Fuera) o 1 (Verdadero,
Habilitado).

Memory Interger
Es asignado un valor entero de 32 bit entre -2,147,483,648 y 2,147,483,647.

Memory Real
Tagname de memoria con punto flotante (decimal). El valor del punto flotante
puede estar entre 3.4e38. Todos los clculos del punto flotante se realizan con 64 bit
de resolucin, pero el resultado se almacena en 32 bit.

Memory Message
El Texto del tagname de una fila puede ser de un largo de 131 caracteres.
2.8.2.- Tagname tipo DDE
Todos los tagnames que leen o escriben sus valores hacia o desde otro programa
de Wndows son Tagname DDE.

Esto incluye todas las entradas y salidas desde

controladores programables, procesos de computadoras, otros programas de Windows y

A 13

datos desde nodos de red. Los Tagnames DDE se ingresan por medio del Protocolo
Dynmic Data Exchange (DDE) de Microsoft. Cuando el valor del tagname DDE de
lectura/escritura cambia, ste es inmediatamente escrito en la aplicacin remota por
medio de DDE. El tagname tambin puede ser actualizado desde la aplicacin remota
cuando el item al cual el tagname es vinculados cambia a la aplicacin remota. Por
defecto Leer / Escribir es un conjunto de todos los tagnames DDE. Sin embargo, ellos
pueden restringirse para Leer solamente al seleccionar el botn Read Only en el cuadro
de dilogo Diccionary Tag Name Definition. Hay cuatro Tipos de DDE:

DDE Discrete
Tagname de entrada/salida discreta con un valor entre 0 (Falso, Off) o 1
(Verdadero, On).

DDE Integer
Es asignado un valor entero de 32 bits entre 2,147,483,648 y 2,147,483,647.
DDE Real
Tagname de memoria con punto flotante (decimal). El valor del punto flotante
puede estar entre 3.4e38. Todos los clculos del punto flotante se realizan con 64 bit
de resolucin, pero el resultado se almacena en 32 bit.

DDE Message
El Texto del tagname de una fila puede ser de un largo de 131 caracteres.
2.8.3.- Tagnames de Tipo Miscelneo
Estos son un tipo de tags especiales que son asignados a tagnames que realizan
funciones complejas, tal como mostrar despliegues de alarmas dinmicas, histricos,
monitoreo y / o cambio del tagname en cada trazado histrico que es dibujado y
tagname indirectos que permiten reasignar los tagname a mltiples fuentes. Estos tipos
de tags son los siguientes:

A 14

Group Var
Este tipo de tag es asignado a un tagname que tenga el nombre de un Grupo de
Alarma asignado a l. Esto es muy til en hacer despliegues de alarma, registros de
discos e imprimir dinmicamente los registros. Las ventanas de alarmas o registros de
alarmas pueden configurarse para mostrar todas las alarmas asociadas con un Group
Var. Mediante asignacin un grupo de Alarma diferente al nombre del Grupo de
Variable, la seleccin de alarmas a mostrar o a registrar puede ser controlada. Un
tagname de Group Var puede usarse para crear un botn que selectivamente muestre
las alarmas de diferentes partes de una planta en la misma Ventana de Alarma. Todos
los campos asociados con los Grupos de Alarma pueden ser aplicados a Group Var.

Hist Trend
Este tipo de tag es asignado a un tagname para ser usado como un diagrama
Histrico de Tendencia.

Cuando configuramos un mapa Histrico de Tendencia,

InTouch requiere que un tipo de tagname HistTrend sea asignado a un grfico.

Tag ID
Este tipo de tag es usado para obtener informacin sobre los tagnames que estn
siendo registrados en un mapa de Tendencia Histrica. El uso ms comn es mostrar el
nombre del Tagname de la tendencia. Por ejemplo, Pen4 de un mapa Histrico de
Tendencia se muestra la tendencia del tagname "Analog1". Una ventana puede ser
creada con un campo de salida que muestra el tagname actualmente asignado a Pen4.

Indirect Discrete

Indirect Analog

Indirect Messaga

El tagname de tipo Indirecto permite al operador crear una de ventana y


reasignar el tagname en esa ventana a mltiples fuentes. Por ejemplo, uno Cambio de

A 15

Datos de Script pueden ser creado para cambiar la fuente de todos los tagnames en una
ventana basado sobre el cambio de un valor.
Cuando un tag indirecto es igual a otro tag de fuente, ambos llegan a ser iguales
el uno al otro en cada aspecto. Por ejemplo, campos, scripts, etc., si el valor del tag de
fuente cambia, en el tag indirecto se reflejar el cambio. Si el valor del tag indirecto
cambia, el tag de fuente cambia consiguientemente. Los valores del tagname indirecto
pueden establecer en la base de datos como retentivo y tambin se pueden modificar.
Esto les permite tomar su ltima asignacin de tagname en la partida.
2.9.- Tagnames Placeholder
Cuando una ventana es importada o es exportada a una aplicacin, todos los
tagnames asociados con la ventana son transferidos con la ventana, pero no son
agregados a la nueva base de datos de aplicacin. Ellos sern automticamente
cambiados en el tagnames "placeholder" (ndice) y deben ser convertidos y definidos
por la nueva aplicacin.
1. Para convertir el tagnames, seleccione el comando /Edit/Select All (F2) luego el
comando /Special/Substitute All Tags...(Ctrl+U). El cuadro de dilogo Sustitute Tag
Names... aparecer listando todos los tagnames usados por todos los objetos en la
ventana:

2. Note el " ?d: " , " ?h: " , etc. que precede el tagnames, estos son "placeholders".
La letra "d" indica que el tagname se defini originalmente como un tipo "discreto", la

A 16

"h" indica un HistTrend, etc. haciendo Click sobre el botn Convert se remover
automticamente el placeholders:
3. Una vez que los tagnames son convertidos, haga click sobre OK. Si el tagname no
existe en la actual base de datos de la aplicacin, el siguiente cuadro de mensaje
aparecer verificando la creacin del nuevo tagname:

4. Haciendo Click sobre OK permitir que el cuadro de dilogo Diccionary - Tag


Name Definition aparezca y el tagname pueda definirse y agregarlo a la base de datos
de la actual aplicacin.

2.10.- Qu son los Links (Vnculos)?


Una vez que un objeto grfico o el smbolo se ha creado, ste puede ser animado
uniendo vnculos de animacin a l. Los vnculos de animacin permiten que el objeto,
smbolo o celda cambien su apariencia reflejando los cambios en el valor de una
variable de la base de datos del tagname. Por ejemplo, el smbolo de una bomba puede
ser de color rojo cuando esta apagada y de color verde cuando est encendida. El
smbolo de la bomba tambin puede ser encendida por un pulsador que se usa para
encender y apagar la bomba cuando se pulse. Estos y muchos otros efectos de
animacin son obtenidos cuando se definen los vnculos de animacin para un objeto o
smbolo seleccionado. Conjuntamente con los tagnames, algunos vnculos de
animaciones tambin permiten el uso de expresiones lgicas usados para calcular
variables (por ejemplo integer1 + 100, discretel AND discrete2 AND NOT discrete3,
etc.).

A 17

2.10.1.- Uniendo y Seleccionando un Vnculo


Cuando un objeto se selecciona y el comando /Special/Animation Links... se
ejecuta hay dos cuadros de dilogo que siempre aparecen; el "Item Description" y el
"Links selection". Ambos cuadros de dilogo son descritos ms adelante.
Nota: Haciendo Doble click sobre el que objeto deseado se llama directamente
la pantalla de los Links de Animacin.

A continuacin se describe cada campo en el cuadro previo de dilogo:


Prev Link y Next Link
Si varios vnculos han sido adjuntos al objeto, estos dos botones pueden usarse
para avanzar y retroceder rpidamente mediante el cuadro de dilogo de detalle para
cada Links adjunto al objeto sin salir del cuadro de dilogo de Vinculo de Animacin.
Nota:

En un objeto o smbolo pueden tener mltiples links definidos.

La

capacidad para combinar los vnculos de animacin provee la capacidad para


crear casi cualquier animacin de pantalla y efecto imaginable.
Horizontal/Vertical Loc. Width/Height
Corresponde a la ubicacin Horizontal y Vertical como tambin al Largo y Alto
del objeto expresado en pixeles de la pantalla.

A 18

Este cuadro de dilogo se usa para seleccionar el Link (s) deseado (s) para el
objeto, haciendo click sobre el botn con el nombre del links. Haciendo Click sobre el
cuadro de chequeo, solamente selecciona o deshabita el links. Haciendo Click sobre el
botn del nombre del links selecciona y permite que aparezca el especfico cuadro de
dilogo de definicin de detalle para el links.

Informacin comn del Links...


La Paleta de Seleccin de Color: El cuadro de seleccin de color aparece
cuando un color de links est siendo unido para animar el color de la lnea, llenado de
color, (y/o para atributos de color de texto de un objeto). El cuadro de seleccin de
color ofrece una cantidad de 32 colores. La primera columna (desde la izquierda)
muestra los ocho colores slidos primarios. Las tres columnas que quedan muestran los
ocho colores slidos o colores derivados dependiendo de la tarjeta de grficas instalada
en la computadora.
Asignando una tecla a un Vinculo de Animacin: Una Tecla especfica o
combinacin de teclas en el teclado pueden ser asignado para activar ciertos links,
cuando la tecla se presiona en WindowViewer. La tecla equivalente es solamente
operacional cuando el objeto con el link es visible. Si una tecla se define en ventanas
mltiples, la definicin en la ventana abierta ms recientemente ser la que se active
primero. Para asignar una tecla, haga click sobre el botn Key... en el cuadro de dilogo
de detalle de animacin. El cuadro de dilogo "Choose Key... " aparecer rpidamente
para que usted seleccione la tecla deseada.

2.10.2.- Cuadro de dilogo Choose Name...


Haciendo doble - click sobre Blank Tag Name o Expression, entre el campo
en el cuadro de dilogo de detalle de links de animacin que ocasionar que aparezca el
cuadro "Choose Name...", rpidamente usted puede seleccionar el tagname deseado que
ha sido previamente ingresado en la base de datos. Haciendo doble - click sobre un

A 19

nombre se remueve el cuadro de dilogo y se inserta el nombre seleccionado en el


tagname o campo de expresin en el cuadro de dilogo.

2.11.- Qu Links estn disponibles?

Touch Links
Touch Link convierte cualquier objeto o smbolo en un botn
de accin. Un botn de accin puede ser activado al presionar el
botn del mouse sobre l, tocando la imagen en la pantalla (si
la pantalla es sensible al tacto), presionando alguna letra
asignada o presionando la tecla [Enter (s el objeto est
marcado alrededor). Hay nueve de tipos de Touch Links que
pueden ser definidos, que se describen a continuacin.

Nota: Si el objeto o smbolo utilizado para estos vnculos contiene un campo de


texto, todos atributos diseados para el texto aparecern cuando el objeto
aparezca en el modo Runtime. El valor de salida que usted haya ingresado ser
mostrar en el campo de a menos que la opcin Input Only sea habilitada en el
cuadro de dilogo de Details.

A 20

Valor Slider Touch Links


El Slider (Deslizador) Touch Links se usa para crear un objeto o
smbolo que pueda moverse con el mouse. Como el objeto o smbolo se mueve, este
altera el valor de una variable vinculada a l. Esto permite la capacidad de crear
dispositivos para colocar valores en el sistema. Un objeto puede ser un Slider
Horizontal, un Slider Vertical, o ambos. Para usar ambos Link sobre un objeto nico, el
valor de las dos variables anlogas pueden ser cambiadas simultneamente.

Vnculos con Touch Pushbutton


Los Touch Pushbutton son vnculos de objeto que ejecutan
inmediatamente una operacin cuando son activados.

Estas

operaciones pueden ser cambios de Valores Discreto (Discrete


Value), ejecucin de Script (Action), mostrar Ventanas (Show
Window) u Ocultar Ventanas (Hide Windows).

Vinculo de Colores
Los vnculos de Colores permiten la animacin de atributos de color de lnea,
llenado, y/o texto de un objeto. Cada uno de estos atributos pueden ser creados
dinmicamente al definir un color vinculado al atributo. El atributo de color puede
vincularse al valor de una expresin discreta, expresin anloga, condicin discreta de
alarma o condicin anloga de alarma.

A 21

Vnculos de Colores de Objetos a Estados de Alarma


El color de texto, lnea, y llenado de un objeto pueden ser
vinculados al estado de alarma de un Tagname, Group Name, o Group Variable. Hay
dos tipos bsicos de alarmas orientados al color. El primero es el Estado del tag de
Alarma Discreta (Discrete Alarm) que puede usarse con cualquier tipo de variable. El
segundo tipo es el Estado de Alarma Anloga (Analog Alarm) que es nicamente
aplicable a las variables de tipo anlogas.
[Value Alarm Color Link]
Provee la capacidad para seleccionar hasta cinco diferente colores basados en los
lmites de alarma definidos para ese tagname.
[Deviation Alarm Color Link]
Proveen la capacidad para seleccionar hasta tres diferente colores dependiendo
de los estados de las alarmas de desviacin que se definen para el punto.
[Rate-Of-Change Alarm Color Link]
Provee la capacidad para seleccionar dos colores diferentes dependiendo del
estado de la razn de cambio de la alarma definido para el punto.

Vnculos del Tamao del Objeto


Este vinculo se usa para variar la altura y/o ancho de un objeto
segn el valor de una expresin analgica.

Provee la

capacidad para controlar la direccin en que el objeto se agranda en altura y/o anchura
seteando el Anchor (Top, Middle, o Botton) del vinculo. Ambos vnculos, de anchura y
altura, pueden ser usados en el mismo objeto.

Vnculos de Localizacin
Este vinculo se usa para hacer que un objeto se mueva
horizontalmente, verticalmente, o

en ambas

automticamente con respecto a cambios en el valor de una expresin.

direcciones

A 22

Vnculos del Porcentaje de Llenado


Este vinculo provee la capacidad para variar el nivel de relleno
de una forma o un smbolo que se llenan segn el valor de una
expresin analgica. Por ejemplo, este vinculo puede usarse para mostrar el nivel de
lquidos en una embarcacin.

Un objeto o smbolo puede ser llenado en forma

horizontal, vertical, o ambos.


Vnculos Miscelneos
Existen

cuatro

vnculos

miscelneos,

Visibility,

Blink,

Orientation y Disable. Los vnculos de visibilidad controlan la


visualizacin de un objeto dependiendo del valor de un
tagname discreto o expresin. Este vinculo puede usarse para
hacer que aparezcan y desaparezcan objetos. Los vnculos Blink proveen la capacidad
para hacer que un objeto parpadee de acuerdo al valor de un tagname discreto o
expresin. (Cada uno de los atributos de color del texto, Lnea y relleno pueden ser
seleccionado para que un objeto parpadee). Los vnculos de orientacin proveen la
capacidad para hacer que un objeto gire sobre un eje especificado de acuerdo al valor de
un tagname o expresin. El vinculo Disable provee la capacidad de impedir a un
usuario particular o un grupo de usuarios tener acceso a presionar un botn en particular
si sus AccessLevel no es lo suficientemente alto por ejemplo (si el vinculo disable es
verdadero, el texto sobre el botn 3-d no se destacar indicando que esta desabilitado).
Vnculos de valores de salida
Estos vnculos proveen la capacidad para usar un texto objeto
para mostrar el valor de una variable discreta (Discrete),
anloga (Analog), o alfanumrica (String).

A 23

III.- Men WindowViewer


3.1.- Men File
El men File de WindowViewer es muy similar a cualquier men de una
aplicacin en comn. Permitiendo abrir, cerrar, salir, etc. ventanas de la aplicacin.

3.2.- Controlador Logic


El Men de Logic contiene los comandos de partida (Start Logic) y
parada (Stop Logic) de la ejecucin de los scripts que se crearon en el
WindowMaker.
3.3.- Men Special
Este men de WindowViewer contiene los comandos que son utilizados para
iniciar o reiniciar conversaciones DDE, reanudar Registros de Alarmas, iniciar/detener
registros Histricos y accesar al Wonderware Logger para ver informacin de error.

A 24

3.4.- /Special/Security
Los comandos de seguridad de este men son usados para iniciar y cerrar la
aplicacin, cambiar passwords o contraseas y para configurar la lista de usuarios,
passwords y niveles de acceso. Cuando este comando es seleccionado aparece un men
secundario de comandos:

La seguridad ser discutida ms adelante.


3.5.- Development!
Este es un interruptor rpido que cambia a la aplicacin WindowMaker. Este es
habilitado en WindowMaker usando el comando \Special\Configure\WindowMaker.
3.6.- Diseo de Scripts en InTouch
La variedad de scripts de Wonderware expande las capacidades de InTouch para
proporcionar la ejecucin de comandos y operaciones lgicas segn las necesidades.
Por ejemplo presionar una tecla, abertura de ventanas, cambio de valores, etc. Al usar
Scripts, se pueden crear una gran variedad de funciones y sistemas automticos
personalizados.
Existen seis tipos de Scripts disponibles:
Scripts de Aplicacin
Scripts de Ventanas

A 25

Scripts de Teclas
Scripts de Condiciones
Scripts de Cambio de Datos
Scripts de Accionamiento de Botones (Touch Pushbotton)

Los comandos para crear estos Scripts (a excepcin del Accionamiento de


Botones) se ubican en el men /Special/Scripts.

3.7.- Scripts de Aplicacin


Los Scripts de Aplicacin son vinculados a una aplicacin completa y se pueden
usar para correr otras aplicaciones, crear simulacin de procesos, clculo de variables.
Al seleccionar este comando aparece el siguiente cuadro de dilogo:

A 26

On Startup permite crear un Script que se ejecute


una vez cuando la aplicacin comienza.
While Running crea un Script para que se ejecute
continuamente cada cierta cantidad de tiempo mientras
corre una aplicacin. Este tiempo se ingresa en
milisegundos.
On Shutdown ejecuta el Script una vez que la
aplicacin termina.
Una vez que el botn Script es presionado, aparecer en pantalla el cuadro de
dilogo de seleccin de script.
Nota: Los tres tipos de scripts pueden ser utilizados en una misma aplicacin. Un
Script While Running se ejecutar despus de transcurridos el tiempo establecido.
Para una ejecucin inmediata se debe crear un script On Starup.

3.8.- Script de Ventana


Estos tipos de scripts son vinculados a una ventana especfica. La seleccin de
este comando causar la aparicin de la ventana de dilogo Window Action Script for
Nombre de Ventana

On Show permite crear un Script que se ejecute una


vez cuando la ventana se abre por primera vez.

A 27

While Showing crea un Script para que se ejecute


continuamente cada cierta cantidad de tiempo mientras
la ventana est abierta. Este tiempo se ingresa en
milisegundos.
On Hide ejecuta el Script una vez que la ventana se
cierra.
Una vez que el botn Script es presionado, aparecer en pantalla el cuadro de
dilogo de seleccin de script.
Nota: Los tres tipos de scripts pueden ser utilizados en una misma ventana. Un
Script While Showing se ejecutar despus de transcurridos el tiempo establecido.
Para una ejecucin inmediata se debe crear un script On Show.

3.9.- Script de Teclas


Estos tipos de scripts son vinculados a una tecla especfica del teclado. Pueden
muy tiles para crear teclas globales para la aplicacin, por ejemplo, volver a una
ventana del men principal, salida del operador (log off). Seleccionando este comando
aparecer el cuadro de dilogo Keyboard Action Script:

On Key Down permite crear un Script que se ejecute


una vez cuando la tecla inicialmente es presionada por
primera vez.
While Down crea un Script para que se ejecute
continuamente cada cierta cantidad de tiempo mientras
la tecla est presionada. Este tiempo se ingresa en
milisegundos.

A 28

On Key Up ejecuta el Script una vez que la tecla es


dejada de presionar.
Una vez que el botn Script es presionado, aparecer en pantalla el cuadro de
dilogo de seleccin de script.
Nota: Los tres tipos de scripts pueden ser utilizados en una misma ventana. Un
Script While Down se ejecutar despus de transcurridos el tiempo establecido.
Para una ejecucin inmediata se debe crear un script On Key Down.
Nota especial: Si un objeto o botn de accin en la ventana activa (abierta) es
asignado a una misma tecla usada para un Script de teclas, el vnculo en la tecla de
la ventana tendr preferencia sobre la ejecucin del Script.

3.10.- Scripts de Condiciones


Estos Scripts estn vinculados a un tagname o expresin discretos. Cuando este
comando es seleccionado aparecer el cuadro de dilogo Condition Action Script:

On True ejecuta un Script una vez cuando la


condicin pasa a ser verdadera.
On False se ejecuta cuando la condicin pasa a ser falsa.
While True ejecuta el Script continuamente

a una

frecuencia especificada mientras la condicin es verdadera.


While False ejecuta el Script continuamente a una
frecuencia especificada mientras la condicin es falsa.

A 29

Nota: El valor para la condicin debe pasar a la transicin verdadera o falsa antes
de que el Script se ejecute. Por ejemplo, si el valor inicial cuando parte el
WindowViewer es verdadero, el valor debe transformarse en falso y nuevamente a
verdadero para que se ejecute un Script On True.

Establece el tiempo (en milisegundos) en que los Scripts While


True y While False se ejecutarn en forma repetitiva.
Una vez que un botn de Script es pulsado aparecer en pantalla el cuadro de
dilogo del Script.
Nota: Los cuatro tipos de Scripts pueden ser usados a la misma condicin. Ambos
Scripts, While True y While False, se ejecutarn despus de transcurridos el
tiempo en milisegundos establecido. Para una ejecucin inmediata, se crea o se
crean los Scripts On True y/o On False.
Nota Especial: Los tagnames que son modificados (escritos) en un Script de
Condicin o Script de Cambio de Dato, no deberan ser usados como el tagname
para un Script de Cambio de Datos o en la expresin de un Script de Condicin.
Ejemplo, un Script de Cambio de Dato ejecuta un valor A cambiando el contenido
lgico de B=B+1. El tagname B no debera ser usado cono el tagname para un
Script de Cambio de Dato o ser parte de la expresin de un Script de Condicin.

3.11.- Scripts de Cambio de Datos


Estos Scripts se vinculan a un tagname o tagname field. Se ejecuta una vez
cuando el valor del tagname o campo de un tagname cambien por un valor mayor que
la banda muerta (dead band) definida para l, el tem /point en el Tagname Dictionary.

A 30

Nota Especial: Los tagname que son modificados en un Script de Condicin o


Script de Cambio de Dato no deben ser usados con el tagname para un Script de
Cambio de Datos o en la expresin de un Script de Condicin.

3.12.- Scripts de Accionamiento de Botones


Estos Scripts son vinculados a un objeto tipo Botn. Cuando el operador
presione el botn el Script de Accionamiento es ejecutado. Seleccionando un vnculo de
animacin usando un Botn de Accin aparecer el cuadro de dilogo Touch

Action

Script.

On Key Down permite crear un Script que se ejecute


una vez cuando el objeto inicialmente es presionado.
While Down crea un Script para que se ejecute
continuamente cada cierta cantidad de tiempo mientras el
objeto est presionado. Este tiempo se ingresa en
milisegundos.
On Key Up ejecuta el Script una vez que el objeto se
deja de presionar.
Una vez que el botn Script es presionado, aparecer en pantalla el cuadro de
dilogo de seleccin de script.
Nota: Los tres tipos de scripts pueden ser utilizados al mismo botn. Un Script
While Down se ejecutar despus de transcurridos el tiempo establecido. Para una
ejecucin inmediata se debe crear un script On Key Button Down.

A 31

3.13.- Ingreso de la Operacin Lgica


En la mayora de los casos, una vez que el tipo de Script es seleccionado en su
respectivo cuadro de dilogo, aparecer tambin el siguiente cuadro de dilogo en la
pantalla:

Significado de cada uno de los Botones

Pulsando alguno de estos botones aparecer la


palabra escrita de ellos.
Pulsando alguno de estos botones de equivalencia o
matemtica ingresa la funcin correspondiente a l.

A 32

El texto seleccionado (resaltado) es eliminado del Script. El texto


eliminado no es guardado en la carpeta de Windows.

El texto seleccionado (resaltado) es borrado del Script. El texto


cortado es guardado en la carpeta de Windows.
El texto seleccionado (resaltado) es copiado a la carpeta de Windows. El
texto copiado no es borrado del Script.

Pega el contenido de la carpeta de Windows en la posicin del cursor en


el Script.
Se devuelve a la ltima operacin de edicin.
Remueve el primer carcter tabulado a la izquierda de la posicin del
cursor.
Inserta una tabulacin a la derecha de la posicin del cursor.

Borra completamente el texto del Script. (El Script no es borrado de la


aplicacin).
Valida el Script ingresado. Si existen errores aparecer el correspondiente
cuadro de mensaje.

Aparece en pantalla los tpicos de ayuda de WindowMaker para todas las


funciones del editor de Script.
Pulsando este botn aparecer el cuadro de dilogo Reemplazar:

A 33

Funciones especficas estn creadas internamente en el sistema y pueden


ser seleccionadas e insertadas al Script seleccionando uno de esos
botones. Al seleccionar uno de ellos aparecer el cuadro de dilogo
Choose Function.

A 34

A 35

A 36

A 37

Esta funcin entrega el valor absoluto de un nmero especfico(el equivalente


sin signo). Ejemplo:

ResultNumericTag= Abs(InputNumericTag);

En esta instruccin el valor absoluto del NumericTag es calculado y dado como


ResultNumericTag.

Esta funcin puede ser usada en un botn para reconocer cualquier alarma
desconocida. Esta funcin puede ser aplicada a un tagname, Grupo de Alarmas o Grupo
de Variables. (Un Grupo de Variables es un tagname que tiene el nombre de algn
Grupo de Alarma asignado a l.) Ejemplo:

A 38

Ack $System; (Reconoce todas las alarmas)


Ack Tagname;
Ack GroupName;
Ack GroupVariable;

Esta funcin activa otra aplicacin en Windows que est ejecutando.


Ejemplo:
ActivateApp Title Text;

Title Text es la palabra o texto exacto, incluyendo espacios, que aparece en la Lista de
Tareas.
Ejemplo:
ActivateApp Microsoft Excel;

Nota: El Title Text o aplicacin a activar debe estar entre comillas.

Entrega la funcin arco coseno expresado en grados entre 0 y 180.


Ejemplo:
ResultNumericTAg=ArcCos(InputNumericTag)
Ejemplo:
ArcCos(1) estregar el valor 0
ArcCos(-1) entregar el valor 180

Entrega la funcin arco seno expresado en grados entre -90 y 90.


Ejemplo:
ResultNumericTAg=ArcSin(InputNumericTag)

A 39

Ejemplo:
ArcSin (1) estregar el valor 90
ArcSin(-1) entregar el valor -90

Entrega la funcin arco tangente expresada en grados entre -90 y 90.


Ejemplo:
ResultNumericTAg=ArcTan(InputNumericTag)
Ejemplo:
ArcTan (1) estregar el valor 45

ArcTan (0) entregar el valor 0


Entrega el coseno de un ngulo en grados.
Ejemplo:
ResultNumericTAg=Cos(InputNumericTag)
Ejemplo:
Cos (90) estregar el valor 0
Cos(0) entregar el valor 1

Esta funcin cambia en forma dinmica un tagname de mensaje basado en un


tagname de una variable discreta.
Ejemplo:
MsgTag=DText(Discrete, OnMessage, OffMessage);

MsgTag es un tagname tipo mensaje, Discrete es un tagname tipo discreto,


OnMessage es el mensaje que aparecer cuando el valor de Discrete es 1(True, On,
Yes, S). El mensaje se convertir en OffMessage es el mensaje que aparecer cuando

A 40

el valor de Discrete es 0(False, Off, No). (Los mensajes de estado On y off deben estar
entre comillas)

Esta funcin entrega el valor de la potencia de .


Ejemplo:
ResultNumericTag=Exp(InputNumericTag)
Ejemplo:
Exp(1) dar el valor 2.71828182..........

El rango de esta funcin es entre -88.72 hasta 88.72

Esta funcin es usada para copiar un archivo fuente a un archivo destino,


similar al comando de DOS o la funcin de copiado en el administrador de archivos.

FileCopy(SourceFile, DestinationFile, MonitorTag);


donde:
SourceFile - nombre del archivo fuente (incluyendo la ruta completa)
DestinationFile - nombre del archivo destino (incluyendo la ruta completa) o nombre
del directorio.
MonitorTag - Nombre de un tag que usar el comando FileCopy() para informar el
progreso del copiado. Este parmetro debe tener un caracter referenciando el nombre
del tag(no el mismo nombre del tag). Si el tag monitor se llama Monitor, se debe
agregar Monitor o Monitor.name, no Monitor.
Cuando la funcin FileCopy() es usada, sta automticamente arroja un valor 1
si el procedimiento fue iniciado exitosamente. 0 si existe otro procedimiento en
ejecucin (el nuevo procedimiento no podr ser inicializado) 1 si existe un error.
Usando estos valores, la inicializacin de FileCopy() puede ser monitoreada:

A 41

Status=FileCopy(C:\*.TXT, C:\BACKUP,Monitor);

donde: Status es un tag entero el cual puede ser 1, -1 0.


FileCopy() es ejecutado en segundo plano lo cual no interfiere en la operacin de
InTouch. El propsito del MonitorTag es permitir que el progreso de copiado sea
monitoreado por una aplicacin o un usuario. De esta forma, el usuario puede ser
alertado de errores que puedan ocurrir DESPUES que el procedimiento sea inicializado.
Este es diferente que el valor Status descrito recientemente, el cual indica

si el

procedimiento ha sido iniciado exitosamente.


Una vez que el copiado ha sido exitosamente iniciado, el valor del MonitorTag
es entonces asignado. El valor est en 0 mientras el procedimiento est an en progreso.
Es 1 cuando se complet exitosamente -1 si hay un error antes de que sea completado
normalmente, SourceFile y DestinationFile son nombres de archivos. Sin embargo, si
un archivo es copiado con FileCopy, el destino tambin puede ser un directorio, como
muestra el siguiente ejemplo:

FileCopy(C: \DATA.TXT, C: \BACKUP, Monitor);

El tag Monitor ser 1 cuando la copia sea realizada por completo.


Si SourceFile contiene varios archivos, sin embargo, el destino DEBE ser un
directorio. En caso contrario la funcin dar un cdigo de error.
Ejemplo:
FileCopy(C: \*. TXT, C: \BACKUP, Monitor);
El tag Monitor ser 1 cuando la copia sea realizada por completo.

Esta funcin es
FileDelete(Filename).
Ejemplo:

usada para borrar archivos indexados o innecesarios.

A 42

Status=FileDelete(C:\DATA.TXT)

Si el o los archivos son encontrados y borrados, la funcin estar en 1. En caso contrario


en 0.

Similar a FileCopy(), excepto que esta funcin mueve archivos de un lugar a


otra en vez de hacer una copia.

FileMove(SourceFile,DestinationFile,MonitorTag);
donde:
SourceFile - nombre del archivo fuente (incluyendo la ruta completa)
DestinationFile - nombre del archivo destino (incluyendo la ruta completa).
MonitorTag Nombre de un tag que usar el comando FileMove() para informar el
progreso del movimiento. Este parmetro debe tener un caracter referenciando el
nombre del tag(no el mismo nombre del tag). Si el tag monitor se llama Monitor, se
debe agregar Monitor o Monitor.name, no Monitor.
Cuando la funcin FileMove() es usada, sta automticamente arroja un valor 1 si el
procedimiento fue iniciado exitosamente. 0 si existe otro procedimiento en ejecucin(el
nuevo procedimiento no podr ser inicializado) 1 si existe un error. Usando estos
valores, la inicializacin de FileMove() puede ser monitoreada:

Status=FileMove(C:\DATA.TXT,C:\BACKUP\DATA.TXT,Monitor);
donde:
Status es un tag entero el cual puede ser 1, -1 0.
FileMove() - es ejecutado en segundo plano y no interfiere en la operacin de InTouch.
MonitorTag - permite que el progreso de copiado sea monitoreado por una aplicacin o
un usuario, el usuario puede ser alertado de errores que puedan ocurrir DESPUES que el
procedimiento sea inicializado. Este es diferente que el valor Status descrito
recientemente, el cual indica si el procedimiento ha sido iniciado exitosamente.

A 43

Una vez que el movimiento ha sido exitosamente iniciado, el valor del


MonitorTag es entonces asignado. El valor est en 0 mientras el procedimiento est an
en progreso. Es 1 cuando se complet exitosamente -1 si hay un error antes de que sea
completado. Si el SouceFile y DestinationFile se encuentran en el mismo disco, la
funcin cambia la referencia de directorio de archivos sin mover los datos. En este caso
el procedimiento ser rpido, sin importar el tamao del archivo.
Si el SouceFile y DestinationFile se encuentran en diferentes discos, el tiempo
de depender del tamao del archivo. En este caso es transferida de un disco fsico a
otro.
Ejemplo:
FileMove(C:\DATA.TXT, D:\DATA.TXT,Monitor);

Nota: Tambin puede ser usado para renombrar archivos cuando el SourceName y
el DestinationName especifican el mismo directorio pero diferentes nombres de
archivos.
Ejemplo:
FileMove(C:\DATA.TXT, C:\DATA.bak,Monitor);

El archivo DATA.TXT es renombrado a DATA.BAK. El tag Monitor ser 1 cuando la


copia sea realizada por completo.

Esta funcin lee variables separadas por coma, Comma Separated Variable
(CSV) de un archivo especfico.

FieldReadFields(Filename,BytePosition,Tagname,NumberOfFields);
donde:
Filename especifica el archivo donde se leern los campos.
BytePosition especifica la posicin del comienzo de la lectura.

A 44

Tagname especifica el nombre de un tag Intouch donde el primer tem ser escrito. El
name de este tag debe terminar en un nmero(ej. :MyTag1). Este parmetro debe ser un
caracter indicando el nombre del tag (no el tag mismo). Si el tag fuera MyTag, se debe
agregar MyTag o MyTag.name; no solamente MyTag1.
NumberOfFields especifica el nmero de campos a leer (el nmero de campos
separados por coma en cada registro del archivo).
Si el Tagname es MyTag1 y NumberOfFields es 3, entonces hay 3 campos
ledos del archivo y son almacenados en MyTag1, MyTag2 y Mytag3. Estos tags, con
nombres consecutivos deben ser primeramente creados en InTouch y deben ser de tipos
diferentes(Integer, Message, etc.).
Ejemplo:
Si la primera lnea de C:\DATA\FILE.TXT es: This is text, 3.1416,5
El siguiente script leer esta lnea y almacena This is text en MyTag1,
3.1416 en MyTag2 y 5 en MyTag3:

BytePosition=FileReadFields(C:\DATA\FILE.TXT,0,MyTag,3)

La funcin toma el nuevo valor de Byte position despus de la lectura. Se puede usar
este valor como el BytePosition para la siguiente lectura.
Por ejemplo:
FileReadFields(C:\DATA\FILE.TXT, BytePosition,MyTag1,3)

Esta funcin leer un nmero especfico de bytes (o una lnea completa) de un


archivo especfico.

FileReadMessage(Filename,BytePosition,MessageTag,ByteCount);
donde:
Filename especifica el archivo desde donde se leer.
BytePosition especifica la posicin en el archivo para comenzar a leer.

A 45

MessageTag corresponde al lugar donde almacenar el dato elido del archivo.


ByteCount especifica cuantos bytes a leer desde el archivo. Para archivos de texto,
ByteCount puede ser sesteado en 0. La funcin entonces leer hasta el prximo linefeed
en el archivo.
Ejemplo:
FileReadMessage(C:\DATA\FILE.TXT,0,MsgTag,0);

La primera lnea ser leda desde el archivo C:\DATA\FILE.TXT y almacenada en


MsgTag.

La funcin toma el nuevo byteposition despus de la lectura. Este valor se puede usar
como el BytePosition para la prxima lectura.

Esta funcin escribe un registro tipo CVS para un archivo especfico.

FileWriteFields(Filename, BytePosition; TagName, NumberOfFields);


donde:
Filename especifica el nombre del archivo a escribir. Si no existe es creado.
BytePosition especifica la ubicacin en que archivo comenzar a ser escrito. Si
BytePosition es -1, la escritura comienza al final del archivo.
Tagname especifica el nombre de un tag InTouch de donde proviene el primer tem de
dato. El nombre de este tag debe terminar con un nmero. Debe tener un caracter
indicando el nombre del tag.
NumberOfFields especifica el nmero de campos a escribir(nmero de campos
separados por coma grabados en el archivo).
Si el TagName es MyTag1 y el NumberOfFields es 3, entonces 3 campos se
escriben en el archivo (desde MyTag1, MyTag2 y Mytag3). Estos tag con nombres
consecutivos deben ser primero creados en InTouch y deben ser de diferentes
tipos(Integer, Message, etc.)

A 46

El siguiente script escribir la lnea This text, 3.1416, 5 a la primera lnea de


C:\DATA\FILE.TXT. This text es el actual valor en MyTag1, 3.1416 en MyTag2 y 5
en MyTag3:

FileWriteFields(C:\DATA\FILE.TXT,0,MyTag,3);

La funcin toma el nuevo valor del byte de posicin despus de la escritura. Este valor
se puede usar como el BytePosition para la prxima escritura.
El siguiente script escribir el siguiente texto de MyTag al final de
C:\DATA\FILE.TXT:
FileWriteFields(C:\DATA\FILE.TXT,-1,MyTag1,3);

Esta funcin escribir un numero de bytes especficos (o una lnea completa) en


un archivo especfico.

FileWriteMessage(Filename, BytePosition, MessageTag, linefeedFlag);


donde:
Filename especifica el archivo a escribir. Si el archivo no existe, ser creado.
BytePosition especifica la ubicacin en el archivo para comenzar a escribir. Si el
BytePosition es -1, la funcin escribir al final del archivo.
MessageTag especifica los caracteres a escribir en el archivo.
LineFeedFlag especifica agregar o no una lnea despus de la operacin de escritura.
Al escribir en un archivo de texto, setear el LineFeddFlag en 1.
La funcin retoma el nuevo byte de posicin despus de la escritura. Este valor
se puede usar como el BytePosition para la prxima escritura.
Ejemplo:
FileWriteMessage(C: \DATA\FILE.TXT, -1,MsgTag,1);

A 47

Esta instruccin escribir el tag de mensaje MsgTag al final del

archivo

C:

\DATA\FILE.TXT.

Esta funcin puede ser usada en un script para obtener el nombre de un nodo
NetDDE a una variable de caracteres. Formato vlido:

GetNodeName(messagetagname, 131);

Cuando este script se ejecuta, la funcin GetNodeName() leer el nombre del nodo local
y lo registrar en el messagetagname. (El nmero 131 establece la longitud del caracter
para el tagname de mensaje.)
Nota: Esta funcin se ejecuta slo si se est ejecutando NetDDE.

Esta funcin oculta varias ventanas con un script. Un comando Hide debe
preceder a cada ventana que se desea cerrar.
Ejemplo:
Hide WindowName;

WindowName debe ser el nombre de una ventana que existe o ser creada. En
runtime, si la ventana no existe, WindowViewer ignora la sentencia. Tambin, si el
nombre de la ventana es usado en un script de cambios, sta tambin ser cambiada en
esta instruccin.
Nota: Si el script es solamente para mostrar u ocultar pantallas, se recomienda
usar el botn Touch Pushbotton que vincula Show Window o Hide Windows en
vez de esta funcin. Si esos botones son usados y cambia el nombre de la ventana,
Intouch har el cambio en el vnculo.

A 48

Esta funcin crea un botn genrico para ocultar a travs de una aplicacin
para ocultar la actual ventana activa.
Ejemplo:
HideSelf;

Nota: el funcionamiento del script de botn Hideself es slo aplicable para un


action pushbutton script.

Esta funcin es usada para determinar si hubo algn error durante la ltima
recuperacin de escritura. Ejemplo:

HTGetLastError(TrendName, UpdateCount; Pen#);


donde:
TrendName es un tag HistTrend representando el nombre la tendencia.
UpdateCount es un entero representando la tendencia. El campo UpdateCount, y Pen#
es un tag entero que representa el nmero de escritura (de 1 -4).

Los siguientes tag enteros ResultCodes sern dados:

0= Sin Error.
1=Error General del Servidor
2=Reuqerimiento Antiguo
3=Error de Archivo
4=Servidor no Cargado.
5= Tendencia/Escritura en la Funcin no Existe
6=Nombre del Tag de Tendencia no existe en la Base de Datos
7=Nmero de Escritura en la funcin es Invlida (fuera del rango 1 a 4)

A 49

Ejemplo:
ResulCode=HTLastError(Trend1.UpdateCount, Pen3);

Esta instruccin recupera el error para la ltima recuperacin de Pen3 de la tendencia

con el tagname Trend1 y el resultado es puesto en el tag entero ResultCode.


Esta funcin convierte el tagname del tag actualmente usado por el pen# de la
tendencia especificada.

HTGetPenName(TrendName, UpdateCount, Pen#)


donde:
TrendName es un tag de HistTrend representando el nombre de la tendencia.
UpdateCount es un entero que representa la tendencia. El campo UpdateCount y Pen#
es un tag entero que representa el nmero de escritura (1-4). Un tag de mensaje es dado
representando el tag especfico del pen.

Ejemplo:
TrendPen2=HTGetPenName(Trend1, Trend1.UpdateCount, Pend2);

Este ejemplo recupera el tagname para el Pen2 de la tendencia con el tagname Pen1 y
coloca el resultado en el tag de mensaje TrendPen2.

Esta funcin retorna el tiempo en segundos desde 00:00:00 hrs. GMT, January
1, 1970 para el muestreo en la ubicacin del scooter especificado por Scooter# y
ScooterLocation. UpdateCount, Scooter#, y ScooterLocation permiten evaluar la
expresin ser evaluada cuando alguno de estos parmetros cambian. Esto asegura que la
expresin es evaluada despus de nuevos restablecimientos o desplazamientos del
scooter.

A 50

HTGetTimeAtScooter(TrendName, UpdateCount, Scooter#,


ScootertLocation)
donde:
TrendName es un tag HistTrend representando el nombre de una tendencia,
UpdateCount es un entero representando el campo UpdateCount de la tendencia,
Scooter# es un entero representando el scooter izquierdo o derecho (1=Scooter
Izquierdo, 2=Scooter Derecho), y ScooterLocation es un nmero real representando el
campo ScooterPosRight o ScooterPosLeft. Un entero es dado representando el tiempo
en segundos desde 1/1/70.
Ejemplo:
HTGetTimeAtSCooter(Trend1,Trend1.UpdateCount,1,Trend1.ScooterPosLeft);
Esta funcin restablece el tiempo en segundos por el valor a la posicin del scooter
actual para el scooter izquierdo de la tendencia etiquetada Trend1.

Esta funcin retorna en la variable la hora/fecha para el muestreo a la ubicacin


del scooter especificada por Scooter# y ScooterLocation. UpdateCount, Scooter# y
ScooterLocation causan que la expresin sea evaluada cuan algunos de estos parmetros
cambian. Esto asegura que la expresin es evaluada despus de nuevos
restablecimientos o desplazamientos del scooter. El formato de la variable determina el
contenido del valor retornado.
Ejemplo:
NewRightTimeString=HTGetTimeStringAtScooter(TrendName,Update
Count,Scooter#,ScooterLocation,Format)
donde:
TrendName es un tag HistTrend representando el nombre de la tendencia,
UpdateCount es un entero representando el campo UpdateCount de la tendencia.
Scooter# es un nmero real que representa el scooter izquierdo o derecho(1=Scooter

A 51

Izquierdo, 2=Scooter Derecho), ScooterLocation es un nmero real que representa el


campo ScooterPosRight o ScooterPosLeft de la tendencia, Format es una variable que
especifica el formato tiempo/fecha a usar, NewRightTimeString es un tag message
donde el resultado de la funcin ser retornado.
Ejemplo:
HTGetTimeStringAtScooter(Trend1, Trend1.UpdateCount, 2,Trend1.
ScooterPosRight,Time);
Esta instruccin restablece el valor tiempo/fecha a la posicin del scooter actual por el
scooter derecho de la tendencia llamada Trend1. El valor es almacenado en el tag
message NewRightTimeString y est en formato Time.
Los formatos pueden ser los siguientes: Date, Time, DateTime,
DOWShort(Wed, por ejemplo), y DOWLong(Wednesday, por ejemplo).

Esta funcin toma un valor del tipo requerido para la tendencia completa de un
Pen especificado. El parmetro UpdateCount causar que la expresin sea evaluada
despus que una recuperacin es completa.
Ejemplo:
HTGetValue(TrendName, UpdateCount, Pen#, ValueType)
donde:
TrendName es un tag HistTrend que representa el nombre de la tendencia.
UpdateCount es un entero que representa el campo UpdateCount de la tendencia.
Pen# es un tag entero que representa el nmero de escritura (1-4),
ValueType es una cadena que indica el tipo de valor. Este ValueType puede ser uno de
los siguientes:

PenAverageValue= Promedio de la tendencia completa


PenMaxValue= Mximo para la tendencia
PenMinValue= Mnimo para la tendencia
PenStdDev= Desviacin standard para la tendencia

A 52

Un tag de memoria real es dado representando el valor calculado de estos tipos.


Ejemplo:
LeftHemisphereSD=HTGetValue(Trend1, Trend1.UpdateCount, Pen2,PenStdDev)

Esta funcin obtendr la desviacin standard para el dato capturado para las tendencias
Trend1, Pen2. El valor es almacenado en el tag de memoria real LeftHemisphereSD.

Esta funcin entrega del tipo requerido para el muestreo en la posicin del
scooter, tendencia y pen# especificados. El parmetro UpdateCount permite que la
expresin sea evaluada despus de un restablecimiento completo.

HTGetValueAtScooter(TrendName, UpdateCount, Scooter#,


ScooterLocation, Pen#, ValueType)
donde:
TrendName es un tag HistTrend que representa el nombre de la tendencia,
UpdateCount es un entero que representa el campo. UpdateCount de la tendencia,
Scooter# es un entero que representa el scooter izquierdo o derecho (1=Scooter
Izquierdo, 2=Scooter Derecho)
Pen# es un entero que representa el nmero de pen (1-4)
ValueType es una variable que indica el tipo de valor a entregar. ValueType puede ser:

PenValue= Valor de la posicin del Scooter.


PenVaid= 0 si no es vlido, 1 si lo es.

Un tag de memoria real entrega el valor calculado PenValue. Un tag discreto


de memoria representa el valor para PenValid.
Ejemplo:
ValidFlag=HTGetValueAtScooter(Trend1,Trend1.UpdateCount,2,
Trend1.ScooterPRigh,Pen3,PenValid);

A 53

Esta instruccin almacena un 1 si el valor es un muestreo actual o un 0 si no lo es para


el Pen3 de la tendencia Tren1 en un a flag el discreto de memoria Valid Flag para la
posicin actual del scooter derecho.

Esta funcin retorna un valor del tipo requerido para el dato contenido entre las
posiciones del scooter derecho y el izquierdo para un escrito especfico de la tendencia.
El parmetro UpdateCount permitir que la expresin sea calculada despus de un
restablecimiento completo.

HTGetValueAtZone(TrendName, UpdateCount, Scooter1,


Scooter2Location, Pen#,ValueType)
donde:
TrendName es un tag HistTrend que representa el nombre de la tendencia.
UpdateCount es un entero que representa el campo UpdateCount de la tendencia.
Scooter1Location es un real que representa el campo ScooterPosLeft de la tendencia.
Scooter2Location es un real que representa el campo ScooterPosRight de la tendencia.
Pen# es tag entero representando el nmero de escrito (de 1 a 4).
ValueType es una variable indicando el tipo de valor a retornar. Valuetype puede ser
uno de los siguientes:

PenAverageValue= Valor medio para la zona entre el scooter derecho y el izquierdo.


PenMaxValue= El mximo para la zona entre el scooter derecho y el izquierdo.
PenMinValue= El mnimo para la zona entre el scooter derecho y el izquierdo.
PenStdDev= Desviacin standard para la zona entre el scooter derecho y el izquierdo.

Un tag de memoria real es dado representando el valor calculado de los tipos


dados anteriormente.
Ejemplo :

A 54

AvgValue=HTGetValueAtZone(Trend1, Trend1.UpdateCount, Trend1.


ScooterPosLeft, Trend1.ScooterPosRight, Pen1,PenAverageValue);

Esta instruccin calcula el valor medio para el dato entre los scooters derecho e
izquierdo de la tendencia Trend1, Pen1. El valor es almacenado en el tag de memoria
real AvgValue.
Esta instruccin establece el tiempo de partida de la tendencia a un valor
anterior que el actual tiempo de partida por un porcentaje del ancho de la tendencia. El
efecto es mostrar el grfico date/time a la izquierda por un porcentaje dado.
Ejemplo:
HTScrollLeft(TrendName, Percent)
donde:
TrendName es un tag HistTrend representando el nombre de la tendencia.
Percent es un nmero real representando el porcentaje del grfico a desplegar (0.0 a
100.0). Ejemplo:
HTScrollLeft(Trend, 10.0);

Esta instruccin despliega el time/date para una tendencia con un tagname de Trend1 al
10%. Si la pantalla actual comienza a las 12:00:00 PM y en ancho de pantalla es de 60
segundos, entonces, la nueva tendencia comenzar a las 11:59:54 AM(despus que la
funcin es ejecutada).

Esta instruccin establece el tiempo de partida de la tendencia a un valor


anterior que el actual tiempo de partida por un porcentaje del ancho de la tendencia. El
efecto es mostrar el grfico date/time a la derecha por un porcentaje dado.

HTScrollRight(TrendName, Percent)
donde:

A 55

TrendName es un tag HistTrend representando el nombre de la tendencia.


Percent es un nmero real representando el porcentaje del grfico a desplegar (0.0 a
100.0). Ejemplo:
HTScrollRight(Trend, 20.0);

Esta instruccin despliega el time/date para una tendencia con un tagname de Trend1 al
20%. Si la pantalla actual comienza a las 12:00:00 PM y en ancho de pantalla es de 60
segundos, entonces, la nueva tendencia comenzar a las 12:00:12 PM (despus que la
funcin es ejecutada).

Esta funcin es usada para asignar un diferente tagname a un trazado de


tendencia.
HTSetPenName(TrendName.Pen#,PenName)
donde:
TrendName es un tag HistTrend que representa el nombre de la tendencia
Pen# es un tagname entero representando el nmero de trazado(de 1 a 4)
PenName es una variable que representa el nuevo tagname asignado al trazado.
Ejemplo:
HTSetPenName(Trend1, Pen3, OutletPressure);

En esta instruccin Pen3 de Tendencia1 usar como tagname OutletPressure.

Esta funcin causa que el dato sea recuperado y mostrado con una hora final
igual a la hora actual. La hora de inicio ser igual al EndTime - Ancho del grfico.

HTUpdateToCurrentTime(TrendName)
donde:
TrendName es un tag HistTrend correspondiente al nombre de la tendencia.

A 56

Ejemplo:
HTUpdateToCurrentTime(Trend1);

Esta instruccin recupera y muestra el dato para el tag histrico Trend1 a la hora
exacta. Si fueran las 3:04 PM y el ancho de la tendencia es 60 segundos, la nueva hora
de trmino ser 3:04 PM. La nueva hora de inicio ser 3:03 PM.

Esta funcin calcular un nuevo ancho de grfico y tiempo de inicio. Si el


campo ScooterPosLeft de la tendencia es 0.0 y ScooterPosRight es 1.0, entonces el
nuevo ancho del grfico es igual al ancho antiguo dividido por dos. El nuevo tiempo de
inicio ser calculado de acuerdo al valor de LockString.

HTZoomIn(TrendName, LockString)

donde:
TrendName es un tag HistTrend del nombre de la tendencia.
LockString es una variable que representa el tipo de zoom. Puede ser uno de los
siguientes:
StartTime= Mantiene el tiempo de inicio igual al de antes del zoom.
Center = Mantiene el tiempo central igual al de antes del zoom.
EndTime= Mantiene el tiempo final al de antes del zoom.

Si las posiciones de los scooters no estn al final, el nuevo ancho del grfico es
el tiempo entre ScooterPosLeft y ScooterPosRight. En ese caso, el valor de LockString
no se usa. El ancho mnimo del grfico es 1 segundo. Las posiciones de los scooters
sern para ScooterPosLeft=0.0 y para ScooterPosRight=1 despus del zoom.
Ejemplo:
HTZoomIn(Trend1, StartTime);

A 57

Esta instruccin mostrar la pantalla en factor de dos y mantendr el mismo


tiempo de inicio para el tag de tendencia Trend1. Trend1.ScooterPosRight es igual a 1
y Trend.ScooterPosLeft es igual a 0.0. Si el tiempo de inicio antes del zoom era 1:25:00
PM y el ancho del grfico era 30 segundos (despus de realizar el zoom), el tiempo de

inicio todava ser 1:25:00. Pero en ancho ser de 15 segundos.


Calcula un nuevo ancho del grfico y tiempo de inicio. El nuevo ancho del
grfico es el antiguo multiplicado por dos. El nuevo tiempo de inicio ser calculado de
acuerdo al LockString.

HTZoomOut(TrendName, LockString)
donde:
TrendName es un tag HistTrend del nombre de la tendencia.
LockString es una variable que representa el tipo de zoom. Puede ser uno de los
siguientes:
StartTime= Mantiene el tiempo de inicio igual al de antes del zoom.
Center = Mantiene el tiempo central igual al de antes del zoom.
EndTime= Mantiene el tiempo final al de antes del zoom.

Si las posiciones de los scooters no tienen efecto sobre HTZoomOut.


ScooterPosLeft=0.0 y ScooterPosRight. =1 despus del zoom.
Ejemplo:
HTZoomOut(Volume, Center);

Esta instruccin mostrar la pantalla en factor de dos y mantendr el mismo tiempo


central para el tag de tendencia Volume. Si el tiempo de inicio antes del zoom era
2:15:00 PM y el ancho del grfico era 30 segundos, el tiempo de inicio despus de
realizar el zoom todava ser 2:15:00. El ancho ser de 60 segundos y el tiempo central
de la tendencia permanecer en 2:15:15.

A 58

Prueba cuando una aplicacin est Activa.

ResulDiscrete=InfoAppActive(TaskListname);

El ttulo para una aplicacin en particular puede ser determinado usando la funcin
InfoAppTitle.
Ejemplos:
InfoAppActive(Microsoft Excel) ser 1 (si se est ejecutando)
InfoAppActive(Calculator) ser 0 (si no se est ejecutando)

Esta funcin retorna al programa especificado que est corriendo en la Lista de


Tareas.
ResultMessage=InfoAppTitle(ProgramEXEName);

En esta instruccin, el programa, si existe, de nombre ProgramExeName ser asignado a


ResultMessage. Por ejemplo, un ProgramExeName calc ser Calculator.
Ejemplos:
InfoAppTitle(calc ser Calculator
InfoAppTitle(excel) ser Microsoft Excel

Entrega la informacin de un disco local o conectado en la red.

ResultInteger=InfoDisk/DriveLetter, InfoType, Trigger);

A 59

En esta instruccin, la informacin acerca del disco especificado por la letra del
DriveLetter es asignada a ResultInteger. InfoType determina la informacin deseada en
particular:
Case1: Entrega el tamao total del disco (en bytes).
Case2: Entrega el espacio disponible en el disco (en bytes).
Trigger ejecutar la funcin InfoDisk cada tiempo que el valor del Trigger cambia.
Ejemplo:
InfoDisk(C, 1, $Minute) ser 233869345 (capacidad total)
InfoDisk(C, 2, $Minute) ser

3238935 (espacio disponible)

En estos ejemplos, la funcin se ejecutar cada minuto y entregar el valor actual.

Nota: Trigger puede ser algn tagname (no est limitado a un sistema de
variables).
Nota: As como en otras funciones se usan caracteres simples, si el tag message
contiene ms de una letra y es usado en InfoDisk (como DriveLetter), slo el
primer caracter del tag ser considerado.

Esta funcin retorna la informacin sobre un archivo o subdirectorio especfico


en un computador (o equipo conectado en red).

ResultInteger=InfoFile(FileName, InfoType, Trigger);

En esta instruccin, la informacin acerca de un archivo especificado como FileName


es retornada a ResultInteger. El FileName debe incluir la ruta completa del archivo,
pero tambin puede incluir los caracteres comodines(*,?). InfoType determina la
informacin en particular que se muestra a continuacin:
Case 1: Existe el archivo?. Es 1 si el nombre del archivo es un archivo actual. Es 2 si
el FileName es un directorio. Es 0 y la funcin no puede encontrar el archivo.

A 60

Caso 2: Tamao del archivo(en bytes)


Caso 3: Fecha/Hora del archivo. ( en segundos desde Jan-1-1970)
Caso 4: Nmero de archivos que cumplen con la descripcin del filename. Este valor
ser mayor que 1 para bsquedas semejantes.
Trigger ejecutar la funcin InfoFile cada vez que el valor de Trigger Cambie.
Ejemplos:
InfoFile(c:\intouh\view.exe, 1, $Minute) ser 1 (encuentra el archivo)
InfoFile(c:\intouh\view.exe, 2, $Minute) ser 634960(tamao del archivo)
InfoFile(c:\intouh\view.exe, 3, $Minute) ser 736701852 (encuentra el
archivo)
InfoFile(c:\intouh\*. exe, 4, $Minute) ser 17 (encuentra 17
archivos.EXE)
En estos ejemplos, la instruccin se ejecutar cada minuto.

Nota: Trigger puede ser cualquier tagname (no est limitado a variables del
sistema).

Esta aplicacin retorna al directorio actual de la aplicacin InTouch.

ResultMessage=InfoInTouchAppDir();

En esta instruccin, la aplicacin InTouch actual es asignada a ResultMessage.


Ejemplo:
InfoInTouchAppDir() ser c:\demoapp1

Esta funcin retorna varios valores en los recursos.

ResultInteger=InfoResources(ResourceType, Trigger);

A 61

En esta instruccin, el recurso del sistema en particular especificado por el entero


ResourceType es almacenado en ResultInteger. ResourceType determina el valor del
recurso establecido, el cual puede ser:
Caso 1: Entrega el porcentaje de espacio libre para recursos GDI.
Caso 2: Entrega el porcentaje de espacio libre para recursos del USUARIO.
Caso 3: Entrega el nmero de bytes de memoria libre actual.
Caso 4: Entrega el nmero de tareas que estn corriendo actualmente.
Trigger ejecutar la funcin InfoResources cada vez que el valor de Trigger Cambie.
Ejemplos:
InfoResources(1, $Minute) ser 54 (% libre)
InfoResources(2, $Minute) ser 36 (% libre)
InfoResources(3, $Minute) ser 11524093 (bytes)
InfoResources(4, $Minute) ser 14 (tareas)

En estos ejemplos, la instruccin se ejecutar cada minuto.

Nota: Trigger puede ser cualquier tagname (no est limitado a variables del

sistema).
Esta funcin retorna el prximo entero menor o igual a un nmero especfico.

ResultNumericTag=Int(InputNumericTag)

Cuando se ingresan nmeros reales negativo, esta funcin retorna el entero ms alejado
del cero.
Ejemplos:
Int(4.7) ser 4
Int(-4.7) ser -5

A 62

Esta funcin retorna el logaritmo natural de un nmero.

ResultNumericTag=Log(InputNumericTag)
Ejemplos:
Log(100) ser 4.605...
Log(1) ser 0
Log(0) es indeterminado.

Esta funcin escribir un mensaje definido por el usuario en el WWLogger.

LogMessage(Message);

En esta instruccin, el contenido de Message ser escrito en el WWLogger.


Ejemplo:
LogMessage(Report Script is Running);

La siguiente lnea aparecer en el WWLogger:


94/01/14 15:21:14 WWSCRIPT Message: Report Script is Running

Entrega el valor del logaritmo en base n.

ResultNumericTag=Log(InputNumericTag, BaseNumericTag)
Ejemplos:
LogN(8,3) ser 1.89279...
LogN(3,7) ser 0.564...

Base 1 es indeterminado.

A 63

Esta funcin retorna el valor de Pi().


ResultNumericTag=Pi()
Ejemplo:
Pi() ser 3.1416926...

Esta funcin toca una msica o sonido especificado por un archivo .wav o una
entrada en la seccin [sounds] del archivo WIN.INI mediante el dispositivo de sonidos
(si est instalado).
Ejemplo:
PlaySound(c:\horns.wav, 1);

En esta instruccin, el 1 permite tocar el sonido en forma asincrnica. Para un sonido


repetitivo, se ingresa un 9.

Nota especial: El sonido debe estar en la memoria fsica disponible y ser ejecutado
en una unidad de sonido instalada. Los directorios en donde se buscan los archivos
de sonido estn en orden: Directorio actual; Directorio Windows; Directorio
Windows\System; los directorios listados en el PATH. Si un archivo .wav especifico
no puede ser encontrado, se escuchar el sonido por defecto por la entrada del
SystemDefault en la seccin [sounds] del archivo WIN.INI Si no existe el sonido
por defecto o no es encontrado, la funcin no se escuchar.

Esta funcin crea un botn para ser usado en la impresin del grfico Historical
Trend asociado con el tagname HistTrend especfico. La Tendencia Histrica debe estar
visible cuando se usa esta funcin.
Ejemplo:
PrintHT(HistTrend1);

A 64

Esta funcin es usada para imprimir una ventana. Al usar esta funcin muchos
reportes pueden ser encolados. Cuando se selecciona esta funcin, el View carga la
pantalla en un rea de memoria off screen o fuera de pantalla. Entonces el View
espera 10 segundos para permitir a todas las variables DDE ser actualizadas. La ventana
entonces en enviada a la impresora. El tiempo de espera que el View tiene puede ser
controlado al agregar la siguiente lnea al archivo INTOUCH.INI:

PrintWindowWait=10000

donde: 10000 representa el nmero en milisegundos de espera.

Las fuentes son impresas como fuentes, los objetos se imprimen como mapas
de bits. Las ventanas con fondo blanco que contienen slo letras se imprimen
rpidamente. Las que contienen fondo de color y varios objetos toman un tiempo
considerable en imprimir.
Ejemplo:
PrintWindow(WindowName, left, top, width, height, options)
donde:
WindowName es el nombre de la pantalla a imprimir.
left nmero con punto flotante en pulgadas correspondiente al margen izquierdo.
top nmero con punto flotante en pulgadas correspondiente al margen superior.
width nmero con punto flotante en pulgadas que establece el ancho que no se imprime.
Este por defecto puede ser 0, o puede tener un ancho especfico.
height nmero con punto flotante en pulgadas que establece el largo que no se imprime.
Este por defecto puede ser 0, o puede tener un ancho especfico.
options puede ser 0 1 y slo se usan si width y height estn en 0. Si options est en 1,
la ventana se imprime con el aspecto de la razn del largo que es un entero mltiplo del
tamao de la ventana. Si options est en 0, la ventana se imprime con el aspecto ms
amplio que se ajuste a la pgina.

A 65

Nota: Si la ventana contiene mapas de bits, options debe estar en 1 para evitar
imgenes angostas.
El siguiente ejemplo de Script de Condicin podra imprimir 3 pginas de
reporte cada da a las 8:30 AM:
$Hour==8 and $Minute==30;
PrintWindow(1sr Shift Summary, 1,1,0,0,0);
PrintWindow(2nd Shift Summary, 1,1,0,0,0);
PrintWindow(3rd Shift Summary, 1,1,0,0,0);

La funcin PrintWindow() es 1 si la ventana existe y pudo ser encolada para imprimir.


De otro modo, es 0. Adems, el estado de la funcin puede ser monitoreado.
Ejemplo:
Status=PrintWindow(Shift Summary Overview, 1,1,0,0,0);
donde:
Status es un tag discreto que puede ser 1 0.

Esta funcin redondea un nmero real a una precisin especfica.

ResultNumericTag=Round(InputNumericTag, Precision);

El parmetro Precision establece la precisin a la cual el InputNumericTag ser


redondeado. Ejemplos:
Round(4.3,1) ser 4
Round(4.3, .01) ser 4.30
Round(4.5,1) ser 5
Round(-4.5,1) ser -5
Round(106,5) ser 106
Round(43.7, .5) ser 43.5

A 66

Esta funcin activa teclas para otra aplicacin. En la otra aplicacin, las teclas
aparecern como si se hubiesen ingresado desde el teclado mismo. Esta capacidad
puede ser usada para ingresar datos a la aplicacin como tambin comandos a ella. La
mayora de las teclas del teclado pueden usadas en el SendKeys. Cada tecla se
representa por uno o ms caracteres tal como la A es para la letra A o {Enter} para la
tecla Enter. Para especificar ms de una tecla, se debe concatenar los cdigos para cada
caracter. Por ejemplo, para especificar el signo pesos ($) seguido por una b, ingresar $b.
La siguiente lista muestra los sendkeys con sus teclas vlidas para ser utilizadas por el
teclado:
BACKSPACE

{BACKSPACE} o {BS}HELP

{HELP}
BREAK

{BREAK}

HOME

{HOME}

CAPSLOCK {CAPSLOCK}

INSERT

{INSERT}

DELETE

{DELETE} o {DEL}

NUMLOCK {NUMLOCK}

DOWN

{DOWN}

PAGE DOWN {PGDN}

END

{END}

PAGE UP

{PGUP}

ENTER

{ENTER} o { }

PRTSC

{PRTSC}

ESCAPE

{ESCAPE} o {ESC}

RIGHT

{RIGHT}

F1

{F1}*

TAB

{TAB}

UP

{UP}

* Igual con las dems teclas de funcin

Para especificar que las teclas Shift, Ctrl y/o Alt sean presionadas mientras otra tecla lo
est, la otra tecla debe estar en minsculas y entre parntesis.
Ejemplo:
Sendkeys^(p);
Si dos de esas teclas son usadas juntas, se utiliza un segundo par de parntesis. Por
ejemplo, para presionar Ctrl+Alt+p se debe ingresar:
ActivateApp Microsoft Excel;
SendKeys ^(%(p));

A 67

El comando debe ser precedido por una ActivateApp para dirigir las teclas a la
aplicacin respectiva.

Esta funcin modifica la aplicacin o las porciones de un nombre o tpico de


un DDE Access Name durante la ejecucin runtime lo cual permite la implementacin
de estrategias de respaldo (hot-backup) para InTouch.
Ejemplo:
SetDddeAppTopic(DDEAccessName, Application, Topic);

El DDEAccessName es el nombre actual de la definicin DDE Access Name a ser


modificado. Application es el actual programa de la nueva aplicacin, por ejemplo,
genius; y Topic es el nuevo nombre a ser usado por el DDE Access Name. (Estos
trminos deben estar entre comillas como se muestra en el ejemplo). Si la nueva
aplicacin o tpico est en blanco, la aplicacin o tpico no cambian. Ejemplo:

SetDdeAppTopic(PLC1, genius, );

Estos tres argumentos pueden ser variables de caracteres constantes o variables.

Nota: Cuando se ejecuta SetDdeAppTopic, existe un retardo cuando se inicia como


cuando se termina una conversacin DDE. Durante este tiempo cualquier
modificacin al nuevo tpico se perder.

Esta funcin determina el signo de un valor(si es positivo, negativo o cero).

ResulNumericTag=Sgn(InputnumericTag);

A 68

Si la entrada es positiva, el resultado ser 1. Para nmeros negativos ser -1 y para el 0


ser 0.
Ejemplos:
Sgn(425) ser 1
Sgn(0) ser 0
Sgn(-37.3) ser -1

Muestra una ventana especfica. Ejemplo:

Show WindowName;

WindowName debe ser el nombre de una ventana existente o una ventana que ser
creada. En runtime si la ventana no existe, WindowViewer ignora la instruccin.
Tambin, si el nombre de la ventana cambia, el script tambin debe ser cambiado.

Nota: Si el script solo est mostrando u ocultando ventanas, es recomendable usar


los vnculos Show Window o Hide Window. Si se usan y el nombre de la ventana
cambia, InTouch automticamente har los cambios.

Esta funcin especifica la posicin del pixel horizontal y vertical de una


ventana cuando es mostrada. Cuando se abre la ventana, sta ser centrada a las
coordenadas vertical y horizontal. Ejemplo:

ShowAt(WindowName, 100,200);

En esta instruccin, el 100 representa el pixel horizontal y 200 el vertical. Objetos de


entrada anloga (Analog Input) tambin pueden ser creados y vinculados a tagnames de

A 69

memoria, por ejemplo, Horz y Vert, a cambios dinmicos de la posicin de la ventana


durante el runtime. En este caso la instruccin podra ser:

ShowAt(WindowName, HORZ, VERT);

Para determinar la ubicacin de los pixel en un objeto, los tagnames internos $ObjHorz
y $ObjVer pueden ser asignados a vnculos de salidas anlogas que mostrar las
posiciones del objeto seleccionado actualmente. Una ventana puede ser creada para
aparecer centrado sobre un objeto o botn usando los tagnames $ObjHorz y $ObjVer en
un script vinculado al objeto o botn.
Ejemplo:
ShowAt(WindowName, $ObjHor, $ObjVer);

Esta funcin muestra la(s) ventana(s) home. Las ventanas Home son
configuradas a travs del comando /Special/Configure... /View Home Windows...
Ejemplo:
ShowHome;

Especifica la ubicacin horizontal y vertical del pixel de la esquina superior


izquierda de una ventana cuando es mostrada. Cuando se abre la ventana, su esquina
superior izquierda ser ubicada donde las coordenadas horizontal y vertical se ubiquen.
(La esquina superior izquierda ms extrema de la ventana est en la ubicacin del pixel
0,0).
Nota: Esta funcin trabaja exactamente igual que la funcin ShowAt descrita
anteriormente excepto que sta ltima controla donde la esquina superior
izquierda de la ventana aparecer.

A 70

Esta funcin entrega el valor del seno de un ngulo en grados.

ResulNumericTag=Sin(InputNumericTag)
Ejemplos:
Sin(90) ser 1

Sin(0) ser 0

Permite al InTouch calcular automticamente la raz cuadrada de un valor.


Ejemplo:
AnalogTag1=Sqrt(AnalogTag2);

Esta funcin automticamente ejecuta otra aplicacin de Windows. La


instruccin es la siguiente:

StartAppAplicationName{DocumentName};

AplicationName es el actual nombre del programa de aplicacin que ser ejecutado,


Por ejemplo; Excel.exe. La parte DocumentName es opcional y se refiere a abrir un
documento especfico cuando parte la aplicacin.
Ejemplo:
StartAppExcel.exe Report.XLS;

Esta instruccin ejecutar el Excel y abrir inmediatamente la hoja de clculo llamada


Report.XLS. Si No es usado el nombre del documento la instruccin ser:

StartAppExcel.exe;

A 71

Esta instruccin ejecutar Excel.exe y la hoja de clculo por defecto ser Sheet1.
Aunque no es un requerimiento, es recomendable incluir la extensin.exe en el nombre
del programa o aplicacin.

Entrega el valor en cdigo ASCII del primer caracter de un tag de mensaje


especfico.
IntegerTag=StringASCII(MessageTag);

En esta instruccin, el valor ASCII del primer caracter en MessageTag ser entregado al
IntegerTag.
Ejemplos:
StringASCII(A) ser 65
StringASCII(A Mixer is Running) ser 65
StringASCII(a mixer is running) ser 97

Nota: Como en otras funciones donde el primer caracter es chequeado o afectado,


si el tag de mensaje dado para la instruccin StringASCII contiene ms de un
caracter, slo el primero del tag ser utilizado para la conversin.

Entrega el caracter correspondiente a un cdigo ASCII especfico.

MessageTag=StringChar(IntegerTag);

En esta instruccin, el caracter ASCII especificado por el IntegerTag es retornado al


MessageTag. Una utilizacin de esta funcin es que se puede agregar caracteres ASCII
que normalmente no estn representados en el teclado para tags de mensajes.
Ejemplo:
ControlString=MessageTag+StringChar(13)+StringChar(10);

A 72

En este ejemplo, un [CR y un [LF han sido agregados al final de MessageTag y


traspasados a ControlString. La insercin de caracteres fuera del rango normal de 32 a
126 de caracteres visuales pueden ser tilmente usados en la creacin de cdigos de
control para ciertos dispositivos externos tales como impresoras o mdems.

Convierte un entero en una representacin de caracteres de diferente base


numrica.
ResultMessage=StringFromIntg(IntegerTag, Base);

En esta instruccin, IntegerTag es convertido a la Base especificada y el resultado es


almacenado en ResultMessage.
Ejemplos:
StringFromIntg(26,2) ser el cdigo binario 11010
StringFromIntg(26,8) ser el nmero octal 32
StringFromIntg(26,16) ser el nmero hexadecimal 1A

Convierte un valor real a una representacin como un nmero con punto


flotante o como notacin exponencial.

ResultMessage=StringFromReal(RealTag, Precision, StringType);

En esta instruccin, RealTag es convertido a la precisin y tipo y caracter especificado y


el resultado es almacenado en ResultMessage. La variable Precision especifica cuantos
decimales sern mostrados. StringType determina el mtodo en que aparecer de
acuerdo a:
StringType=f muestra la notacin con punto flotante.
StringType=e muestra la notacin exponencial en minscula e.

A 73

StringType=E muestra la notacin exponencial en mayscula E.


Ejemplos:
StringFromReal(263.355,2,f) ser 263.36
StringFromReal(263.355,2,e) ser 2.63e2
StringFromReal(263.55,3,E) ser 2.636E2

Convierte un valor del tiempo (en segundos desde Jan 01-1970) a una
representacin particular.

ResultMessage=StringFromTime(TimeValue, StringType);

En esta instruccin, TimeValue es convertido al StringType especificado y el resultado


es almacenado en ResultMessage. StringType determina la forma en que se mostrar de
acuerdo a:
Caso 1: Muestra la fecha en el mismo formato del panel de control. Similar al que es
mostrado por $DateString.
Caso 2: Muestra la hora en el mismo formato del panel de control. Similar al que es
mostrado por $TimeString.
Caso 3: Muestra una cadena de 24 caracteres indicando la fecha y la hora. Ejemplo :
Wed Jan 02 02:03:55 1993
Caso 4: Muestra el da de la semana abreviado. Ejemplo: Wed.
Caso 5: Muestra el nombre completo del da de la semana. Ejemplo: Wednesday.

Ejemplos:
StringFromTime(86400,1) ser 1/2/70
StringFromTime(86400,2) ser 12:00:00 AM
StringFromTime(86400,3) ser Fri Jan 02 00:00:00 1970
StringFromTime(86400,4) ser Fri
StringFromTime(86400,5) ser Friday

A 74

Esta funcin retorna la posicin en el MessageTag donde ocurre primero


MessageToFind.
IntegerTag=StringInString(MessageTag, MessageToFind, StartPosition,
CaseSensitive);

En esta instruccin, el MessageTag es buscado para encontrar el MessageToFind. Si


est varias veces en el MessageTag, La posicin del primer encuentro ser dado a
IntegerTag. StartPosition es un entero que determina desde que posicin comienza la
bsqueda en el MessageTag. El parmetro CaseSensitive determina cuando la bsqueda
ser exacta (0=n0 y 1=yes).
Ejemplos:
StringInString(The mixer is running, mix, 1,0) ser 5
StringInString(Today is Thursday, day, 1,0) ser 3
StringInString(Today is Thursday, day, 10,0) ser 15
StringInString(Today is Veterans Day, Day,1,1) ser 20

StringInString(Today is Veterans Day, Night, 1,1) ser 0


Considera los primeros caracteres de un tag de mensaje especfico.

ResultMessage=StringLeft(MessageTag, IntegerTag);
Ejemplos:
StringLeft(The Control Pump is On, 3) ser The
StringLeft(Pump 01 is On, 3) ser Pum
StringLeft(Pump 01 is On, 3) ser Pump 01 is On

Determina la longitud de un tag de mensaje especfico.

A 75

IntegerTag=StringLen(MessageTag);

En esta instruccin, la longitud (en caracteres) de MessageTag es dada a IntegerTag.


Todos los caracteres en el tag de mensaje, incluyendo los que no aparecen en pantalla
son contados.
Ejemplos:
StringLen(Twelve percent) ser 14
StringLen(12%) ser 3
StringLen(The end. [CR ) ser 10

Nota: [CR es el caracter retorno de carro, en ASCII es el 13.

Convierte todos los caracteres en maysculas a minsculas de un tag de


mensaje especfico.
ResultMessage=StringLower(MessageTag);

Los caracteres en minsculas, smbolos, nmeros y otros caracteres especiales no son


afectados.
Ejemplos:
StringLower(TURBINE) ser turbine
StringLower(22.2 Is The Value) ser 22.2 is the value

Toma un nmero especfico de caracteres de un tag de mensaje, partiendo de la


posicin especificada.

ResultMessage=StringMid(MessageTag, StartInteger, SpanInteger);

A 76

Esta funcin es levemente diferente de las otras StringLeft y StringRight en que permite
al usuario especificar el comienzo y el final de la cadena de caracteres que ser extrado
del tag de mensaje. StartInteger especifica la posicin del primer caracter a extraer.
SpanInteger el nmero total de caracteres a retornar.
Ejemplos:
StringMid(The Furnace is Overheating, 5,7) ser Furnace
StringMid(The Furnace is Overheating, 13,3) ser is
StringMid(The Furnace is Overheating, 16,50) ser Overheating

Reemplaza o cambia partes especficas de una variable de caracteres dada.

ResultMessage=StringReplace(MessageTag, SearchForString, ReplaceWithString,


CaseSensitive, NumberTo.MatchWholeWord);

Usando esta instruccin se pueden cambiar caracteres, palabras o frases con tag
de string. Los parmetros de StringReplace() son:
MessageTag es la cadena de caracteres o frase que se desea modificar.
SearchForString es la cadena de caracteres que se desea buscar y reemplazar.
ReplaceWithString es la cadena que es reemplazada.
CaseSensitive determina la exactitud de los cambios(0=no y 1=yes)
NumberToReplace determina el nmero de ocurrencia a reemplazar (-1=todas)
MatchWholeWord determina si la funcin limitar el reemplazo a palabras completas
(0=no y 1=yes). Si MatchWholeWord se deja en 1 y SearchForString es and, el and
en la palabra handle no ser reemplazado. Si el WatchWholeWord est en 0, todo
puede ser reemplazado.
Ejemplos:
StringReplace(In From Within, In, Out, 0, 1,0 es Out From Within
(slo se reemplaza el primer caracter encontrado).

A 77

StringReplace(In From Within, In, Out, 0, -1,0 es Out From WithOut


(reemplaza todos los encontrados).
StringReplace(In From Within, In, Out, 1, -1,0 es Out From Within
(Reemplaza el caracter encontrado).
StringReplace(In From Within, In, Out, 0, -1,1 es Out From Within
(reemplaza todas las palabras completas).

Considera los ltimos caracteres de un tag de mensaje especfico.

ResultMessage=StringRight(MessageTag, IntegerTag);
Ejemplos:
StringLeft(The Control Pump is On, 2) ser On
StringLeft(Pump 01 is On, 5) ser is On
StringLeft(Pump 01 is On, 87) ser Pump 01 is On

Esta funcin es usada para generar una cadena de espacios en un tag de


mensaje o una expresin.

MessageTag=StringSpace(IntegerTag);

En esta instruccin, StringSpace entrega una serie de espacios cuya longitud est
especificada por el IntegerTag.

Nota: En el siguiente ejemplo, todos los espacios son representados por el caracter
x.
StringSpace(4) ser xxxx
Pump + StringSpace(1) + Station ser PumpxStation

A 78

Esta funcin determina el primer caracter de un tag de mensaje para determinar


si es de un cierto tipo.

DiscreteTag=StringTest(Message Tag, IntegerTag)

En esta instruccin, StringTest dar un valor positivo a DiscreteTag si el primer caracter


en MessageTag es del tipo especificado en IntegerTag. Los diferentes casos que pueden
ser chequeados estn dentro de las siguientes categoras:

Clase 1:

Caracter Alfanumrico (A -Z, a - z y 0 - 9)

Clase 2:

Caracter Numrico (0 - 9)

Clase 3:

Caracter Alfabtico (A - Z y a - z)

Clase 4:

Caracter en Mayscula (A - Z)

Clase 5:

Caracter en minscula (a - z)

Clase 6:

Caracter de puntuacin (0x21 - 0x2F)

Clase 7

Caracteres ASCII (0x00 - 0x7F)

Clase 8:

Caracteres Hexadecimal (A - F o a - f 0 - 9)

Caso 9

Caracteres de impresin (0x20-0x1E)

Caso 10

Caracteres de Control (0x00 - 0x1F o 0x7F)

Caso 11

Caracteres de Espacio en Blanco (0x09 - 0x0D o 0x20)

Como en las otras funciones, slo es chequeado el primer caracter cuando el StringTest
contiene ms de un caracter.
Ejemplos:
StringTest(ACB123, 1) ser 1
StringTest(ACB123, 5) ser 0

A 79

Convierte el valor numrico de un tagname de mensaje a un valor entero que


pueda ser calculado.
Ejemplo:
IntegerTag=StringToIntg(MessageTag);

En esta instruccin, IntegerTag es un tagname tipo entero y MassageTag es un tagname


tipo mensaje. Cuando esta instruccin es evaluada, el sistema lee el primer caracter en
busca de un valor numrico. Si el primer caracter es distinto a un nmero (sin
considerar los espacios en blanco), el valor de la variable es cero(0). Si el primer
caracter es un nmero, el sistema contina leyendo los siguientes caracteres hasta
encontrar un valor no numrico.
Ejemplos:
Si MessageTag=ABCD, entonces IntegerTag=0
Si MessageTag=22.22 is the value entonces IntegerTag=22
Si MessageTag=The Value is 22 entonces IntegerTag=0

Esta funcin convierte el valor numrico de un tagname de mensaje a un valor


real(punto flotante) que pueda ser calculado.
Ejemplo:
RealTag=StringToReal(MessageTag);

En esta instruccin, RealTag es un tagname tipo real y MassageTag es un tagname tipo


mensaje. Cuando esta instruccin es evaluada, el sistema lee el primer caracter en busca
de un valor numrico. Si el primer caracter es distinto a un nmero (sin considerar los
espacios en blanco), el valor de la variable es cero(0). Si el primer caracter es un
nmero, el sistema contina leyendo los siguientes caracteres hasta encontrar un valor
no numrico. Ejemplos:

A 80

Si MessageTag=ABCD, entonces RealTag=0

Si MessageTag=22.261 is the value entonces RealTag=22.261


Si MessageTag=The Value is 22 entonces RealTag=0

Esta funcin es usada para remover espacios indeseados en un tag de mensaje.

ResultMessage=StringTrim(MessageTag, IntegerCode);

En esta instruccin, MessageTag es buscado por espacios en blanco (Cdigo ASCII


0x0D o 0x20) que sern removidos. IntegerCode determina el mtodo a usar en la
funcin.

Caso 1: Remover espacios iniciales(a la izquierda del primer caracter)


Caso 2: Remover espacios finales(a la derecha del ltimo caracter)
Caso 3: Remover todos los espacios a excepcin del espacio entre palabras.
Ejemplos:
StringTrim(xxxxThisxisxaxxtestxxxx, 1) ser Thisxisxaxxtestxxxx
StringTrim(xxxxThisxisxaxxtestxxxx, 2) ser xxxxThisxisxaxxtest
StringTrim(xxxxThisxisxaxxtestxxxx, 3) ser Thisxisxaxtest

Nota: En estos ejemplos los espacios en blanco son representados por x.


Nota: La funcin StringReplace() puede ser usada para remover TODOS los
espacios de un tag de mensaje especfico. Simplemente reemplazar todos los
espacios con un caracter nulo.

Esta funcin convierte todos los caracteres en minscula a mayscula.

ResultMessage=StringUpper(MessageTag);

A 81

Los caracteres en maysculas, smbolos, nmeros y otros caracteres especiales no son


alterados.
Ejemplos:
StringUpper(abcd) ser ABCD
StringUpper(22.2 is the value) ser 22.2 IS THE VALUE

Entrega el valor de la tangente de un ngulo en grados.

ResulNumericTYag=Tan(InputNumericTag)
Ejemplos:
Tan(45) ser 1
Tan(0) ser 0

Esta funcin permite que un tagname de tipo mensaje muestre el valor de un


tagname anlogo(entero o real) de acuerdo a un formato especfico.
Ejemplo:
MessageTag=Text(AnalogTag,#.00);

En esta instruccin, MessageTag es un mensaje tipo tagname, AnalogTag es un


tagname tipo entero o real y #.00 representa la forma en que se muestra el valor.
Ejemplo:
Si AnalogTag=66 entonces MessageTag=66.00.
Si AnalogTag=22.269 entonces MessageTag=22.27.
Si AnalogTag=9.999 entonces MessageTag=10.00.

A 82

Esta funcin trunca un nmero real eliminando la parte a la derecha del punto
decimal.
ResultNumericTag=Trunc(InputnumericTag)

Esta funcin toma el mismo valor y el contenido de un nmero real lo convierte en un


tag entero.
Ejemplos:
Trunc(4.3) ser 4
Trunc(-4.3) ser 4

Esta funcin permite al usuario controlar otra a aplicacin desde InTouch,


dando la capacidad de Restaurar, Minimizar, Maximizar o Cerrar tal aplicacin.

WWControl(TaskListname, ControlAction);

El TaskListname para una aplicacin en particular puede ser determinado usando la


funcin InfoAppTitle. El parmetro ControlAction determina el control de la aplicacin
(estas acciones son las mismas en la seleccin correspondiente al men de control de la
aplicacin), las cuales son:
ControlAction= Restore: Activa y muestra la ventana de la aplicacin.
ControlAction=Minimize: Activa una ventana y la minimiza en un icono.
ControlAction=Maximize: Activa y muestra la ventana de la aplicacin.
ControlAction=Close: Cierra una aplicacin.

Ejemplos:
WWControl(Calculator,Restore);
WWControl(Microsoft Excel, Close);

A 83

Esta funcin enviar un comando (usando una ejecucin DDE) a una


aplicacin y tpico especficos.

WWExecute(Application, Topic, Command);

En esta instruccin, el Command ser enviado a un Application y Topic especficos. El


siguiente Script ejecuta una macro en Excel:

Macro= Macro1!TestMacro;
Command=[Run(+StringChar(34) + Macro + StringChar(34) + 0) ;
WWExecute(excel, system, Command);

El siguiente script ejecuta una macro en Microsoft Access:

WWExecute(MSAccess, system,MyMacro);

La funcin WWWexecute() est en 1 si la aplicacin est corriendo, existe el tpico y el


comando ha sido enviado satisfactoriamente. Est en 0 cuando la aplicacin est
ocupada, y en -1 cuando existe un error. De esta manera, se puede monitorear el estado
del comando:
Status= WWExecute(excel, system, Command);

Donde: Status es un tag entero que puede ser 1, -1 0.

Est funcin enva un valor usando un DDE Poke a una Aplicacin, Topic, e
Item especficos.
WWPoke(Application, Topic, Item, ValueMessageTag);

A 84

En esta instruccin el valor ValueMessageTag enviar al Application en particular,


Topic e Item especificados. Notar que el valor enviado debe ser un caracter
alfanumrico. Si el valor a enviar es un nmero debe ser convertido usando las
funciones Text(), StringFromIntg(), o StringFromReal().
El siguiente script convertir un valor a texto y lo posesionar en una celda de
una planilla excel:
String= Text(Value,"0");
WWPoke(excel, sheet1, r1c1, String);

La funcin WWPoke() est en 1 si la aplicacin est corriendo, y el valor ha sido


enviado satisfactoriamente.
Est en 0 cuando la aplicacin est ocupada y en -1 cuando hay un error. De
este modo el estado de este comando puede ser monitoreado:

Status=WWPoke(excel, sheet1, r1c1, String);


Donde: Status es un tag entero que puede ser 1, -1 0.

Esta funcin realiza un requerimiento de una vez por un valor (usando DDE
Request) de una Application, Topic e Item.

WWRequest(Application, Topic, Item, ValueMessageTag);

En esta instruccin el valor DDE en la Application, Topic e Item en particular ser dado
al ValueMessageTag. Notar que el valor ser entregado como una cadena de caracteres
al MessageTag. Si el valor es un nmero se debe convertir usando las funciones
StringFromIntg(), o StringFromReal().
El siguiente script pedir un valor de una celda de una planilla Excel y
convertir el texto a un valor:
WWRequest(excel,sheet1,r1c1, Result);

A 85

Value=StringToReal(Result);

La funcin WWRequest() est en 1 si la aplicacin est corriendo, y el valor ha sido


obtenido satisfactoriamente. Est en 0 cuando la aplicacin est ocupada y en -1 cuando
hay un error. De este modo el estado de este comando puede ser monitoreado:

Status=WWRequest(excel, sheet1, r1c1, Result);

Donde : Status es un tag entero que puede ser 1, -1 0.

3.14.- Definicin de Window Name to Insert


Accionando este botn se inserta automticamente el nombre de una
ventana en un script, aparecer el cuadro de dilogo Window Name
to Insert:

3.15.- Definicin de Choose Name


Accionando este botn se accesa a todos los tagnames de la base de
datos (incluyendo todos los tagnames internos del sistema) para
ingresar el script en la posicin respectiva; aparecer el cuadro de dilogo Choose
Name...

A 86

Lee solamente el tagname de seguridad entero usado


en expresiones o script para controlar las propiedades del operador en la ejecucin de
funciones especficas. Por ejemplo, para hacer que un objeto sea visible dependiendo
del registro de nivel de acceso del operador, la siguiente expresin podra ser usada para
en vnculo de visibilidad:

$AccessLevel=>2000;

Nota: La funcionalidad de tocar objetos puede ser tambin basado en valor del
$AccessLevel usado en una expresin para un objeto, botn, etc., que es asignado
al vnculo de animacin Disable.

Es un tagname discreto de lectura/escritura que se


setea en 1 para reiniciar el registro de alarma y de impresin durante el runtime cuando
el comando /Special/Restart Alarm Log ha sido desabilitado en el WindowViewer.

A 87

Nota Especial: El tagname $AlarmLogging no puede ser usado para desactivar un


registro de alarma o de impresin. Este es usado estrictamente en lugar del
comando /Restart Alarm Log. Si el valor de $AlarmLogging es mostrado siempre
ser 0 (off) (cada vez que el registro se realiza).

Lee solamente el tagname discreto que est en 1 si


existe un error de impresora.

Lee solamente el tagname discreto que est en1 si la


impresora no tiene papel.

Lee solamente el tagname discreto que est en 1 si la


impresora est fuera de lnea.

Lee solamente el tagname discreto que est en 1 si la


impresora est sobrecargada.

Lee slo el tagname real que muestra el nmero actual


de la versin de la aplicacin. Este nmero cambia
cada vez que un tagname o script es cambiado, agregado o borrado.

Es

un

tagname

de

seguridad

discreto

de

Lectura/Escritura que puede ser usado en un botn


discreto para permitir al operador establecer el valor de 1 en el tagname
$ChangePassword para hacer que aparezca el cuadro de dilogo Change Password.
(Una vez que el cuadro desaparece, el sistema automticamente deja el valor en 0).

Es

un

tagname

de

seguridad

discreto

de

Lectura/Escritura que puede ser usado en un botn discreto para permitir al operador
establecer el valor de 1 en el tagname $ChangePassword para hacer que aparezca el

A 88

cuadro de dilogo Configure Users para editar la lista de usuarios de seguridad. (Una
vez que el cuadro desaparece, el sistema automticamente deja el valor en 0).

Es un tagname entero slo de lectura que muestra el


nmero total de das que han transcurridos desde 1/1/70.

Es un tagname entero slo de lectura que muestra la


fecha en el mismo formato que el archivo WIN.INI. Por ejemplo 4/18/92. (Este formato
de fecha es establecido a travs del Panel de Control de Windows.)

Es un tagname real slo de lectura que muestra el


nmero completo de das que han transcurridos desde 1/1/70.

Es un tagname entero slo de lectura que muestra el


da y su valor puede ser desde 1 a 31.

Es un tagname discreto de Lectura/escritura usado para


monitorear y/o controlar la partida y parada de un registro histrico.

Es un tagname real slo de lectura que muestra la hora


y el da y su valor puede ser de 0 a 23.

Es un tagname de seguridad discreto slo de Lectura


que es igual a 1 cuando el tiempo configurado para un registro automtico del operador
ha terminado.

Nota: El tiempo para $InactivityTimeout es establecido (en segundos) en el men


/Special/Configure... /View Generic

Es un tagname de seguridad discreto slo de Lectura

A 89

que es igual a 1 cuando el tiempo configurado para advertir al operador que ha


terminado el tiempo de espera para termino de sesin o de tarea.

Nota Especial: El tiempo para los dos ltimos tagnames explicados es establecido
en el men /Special/Configure... /View Generic al ingresar el nmero de segundos
en los siguientes campos.

Es un tagname discreto de Lectura/Escritura usado


para monitorear y/o controlar la ejecucin de scripts.

Es un tagname real slo de lectura que muestra los


minutos y su valor puede ser de 0 a 59.

Es un tagname entero slo de lectura que muestra el


mes y su valor puede ser de 0 a 12.

Es un tagname entero slo de lectura que muestra los


milisegundos y su valor puede ser de 0 a 999. (Este
nmero se incrementa cada segundo)

Es un tagname discreto de lectura/escritura que es


igual a 1 cada vez que ocurre una nueva alarma. Este tagname puede ser vinculado a
programa WWBeeper o al tagname interno PlaySound para provocar una alarma sonora

A 90

para alertar al operador sobre la nueva condicin de alarma. Un botn puede ser creado
para permitir resetear este valor en 0.

Es un tagname entero slo de lectura usado para


mostrar la ubicacin del pixel horizontal de un objeto seleccionado.

Es un tagname entero slo de lectura usado para


mostrar la ubicacin del pixel vertical de un objeto seleccionado.

Es un tagname de mensaje de seguridad slo de lectura


que puede ser usado en una expresin o script para controlar la capacidad del operador
de ejecutar funciones especficas. Por ejemplo, acceder a una ventana especfica podra
ser controlada al ingresar el siguiente script:

IF $Operator==DayShift THEN
Show Control Panel Window;
ENDIF

Es un tagname de mensaje de seguridad slo de


lectura/escritura que puede ser usado para crear una ventana de registro (log on)
personalizada. Los objetos de entrada Touch-sensitive y/o scripts pueden ser vinculados
a este tagname para configurar el UserName del operador.

Es un tagname de mensaje de seguridad que puede ser


usado para crear una ventana de registro (log on) personalizada. Los objetos de entrada
Touch-sensitive y/o scripts pueden ser vinculados a este tagname para configurar el
Password del operador.
Ejemplo:
$PasswordEntered;

A 91

Nota: Si las dos entradas recin mencionadas son vlidas, $AccessLevel y


$Operator son establecidos a sus valores predefinidos.

Es un tagname entero slo de lectura que muestra los


segundos y su valor puede ser de 0 a 59.

Es un tagname discreto de lectura/escritura usado para


partir conversaciones DDE no iniciadas durante el runtime cuando el men /Special ha
sido deshabitado.

Es un tagname del tipo grupo de alarmas del sistema


(system alarm group) slo de lectura para el grupo raz de alarmas (alarm root group).
Si el nombre de un AlarmGroup no est creado para un tagname, es automticamente
asignado a este grupo raz por defecto. Todos los Grupos de Alarmas definidos derivan
de $System.

Es un tagname entero slo de lectura que muestra la


hora en milisegundos desde la medianoche.

Es un tagname de mensaje de memoria slo de lectura


que muestra la hora en el mismo formato que el archivo WIN.INI. Por ejemplo 12:01:59
PM. (Este formato de fecha es establecido a travs del Panel de Control de Windows.)

Es un tagname entero slo de lectura que muestra el


ao en cuatro dgitos, por ejemplo, 1990.

Definiciones de los Campos de Alarma en Choose Field Name


Todos los tagnames en el Data Dictionary tienen campos (.fields)
asociados a ellos que pueden ser usados para crear a una variedad de

A 92

aplicaciones dinmicas, por ejemplo, establecer y mostrar lmites de las alarmas,


cambiar el tiempo de partida y longitud de un grfico de Tendencia Histrica (Historical
Trend), etc. Este botn accesa al cuadro de dilogo Choose field name...:

Es un .field discreto de lectura/escritura usado para


monitorear y/o controlar el estado de reconocimiento de alarmas de los tagnames,
Alarm Groups y/o Group Variables.
Ejemplos:
Tagname.Ack=1;
GroupName.Ack=1
GroupVariable.Ack=1;

Es un .field discreto slo de lectura que es igual a 1 cuando


existe una condicin de alarma para el tagname, Alarma Group Name o Group Variable
especificados.
Ejemplo:
AlarmaGroup.Alarm;

Es un .field anlogo de lectura/escritura (vlido solamente


para tags enteros o reales) que monitorea y/o controla del porcentaje de desviacin de la

A 93

banda muerta para las alarmas de mayor y menor desviacin. Por ejemplo, para cambiar
el porcentaje de desviacin a 25%, se puede usar la siguiente instruccin:
Tagname.AlarmDevDeadband=25

Es un .field discreto de lectura/escritura que habilita o


deshabita sucesos y alarmas en un tagname, Alarm Group o Group Variable.
Ejemplo:
GroupVariable.AlarmEnabled=1;

Es un .field anlogo de lectura/escritura (vlido solamente


para tags enteros o reales) que monitorea y/o controla el valor de la banda muerta de
una alarma. Este campo es vlido para Alarm Groups y Group Variables como tambin
para tags comunes.

Tagname.AlarmValDeadband=10;

Es un .field anlogo de lectura/escritura (vlido solamente


para tags enteros o reales) que monitorea y/o controla el target para las alarmas de
mayor y menor desviacin.
Ejemplo:
Tagname.DevTArget=500;

Es un .field del tagname discreto slo de lectura usado para


determinar cuando existe una alarma de tipo especfico. Por ejemplo, .HiHiStatus ser 1
cuando existe una alarma HiHi para el tagname. (Tambin se aplica a .HiStatus,
.LoStatus, .LoLoStatus, .MinorDevStatus, .MajorDevStatus, .ROCStatus y .SPCStatus.)

Es un .field de tagname anlogo de lectura/escritura usado


para monitorear y/o controlar los lmites para los valores que la alarma contiene y esos

A 94

campos son validos slo para tags enteros o reales. (Tambin se aplica a .HiLimit,
.LoLimit y .LoLoLimit)
Ejemplo:
RealTag.LoLoLimit
Es un .field de un tagname entero tipo lectura/escritura
usado para monitorear y/o controlar el contenido de la desviacin de la alarma.
(Tambin se aplica a .MajorDevPct, .ROCPct). Ejemplo:
IntegerTag.ROCPct

Son .Field de tagname discreto slo de lectura usados para determinar cuando existe una
alarma de un tipo especfico. Por ejemplo:

.MinorDevStatus ser 1 cuando hay una alarma MinorDevStatus para el tagname.

Campo slo de lectura que muestra el campo comment del


tagname. Ejemplo:
Tagname.Comment

Campo de las Tendencias Histricas en la Definicin de Choose Field Name...


En los siguientes ejemplos asumir que ht es un tagname tipo HistTrend.

Es un .field de un tagname entero de tipo lectura/escritura


usado para controlar el tiempo de partida y/o desplegar el grfico de la tendencia
histrica correspondiente. .ChartStart muestra el nmero de segundos transcurridos
desde el 1/1/80 a las 12:00 a.m. Ejemplos:

A 95

Desplazar a la derecha por 1 minuto:


ht. ChartStart = ht. ChartStart + 60;

Desplazar a la izquierda por 1 hora:


ht.ChartStart = ht.ChartStart -3600;

Es .field de un tagname entero de lectura/escritura usado


para mostrar la longitud del tiempo mostrado en un grfico de tendencia histrica.
.ChartLength muestra la longitud del grfico en segundos. Ejemplos :

Forzar el intervalo del grfico a 1 hora:


ht.ChartLength = 3600 {60 minutos * 60
segundos/minuto}

Despliegue del grfico izquierdo por la mitad:


ht.ChartStart = ht.ChartStart - ht.ChartLenght / 2;

Despliegue del grfico izquierdo en un 10%:


ht.ChartStart = ht. ChartStart - 1 * ht. ChartLength

Son .fields de tagname real de escritura/lectura usados para representar el


porcentaje del rango en Unidades de Ingeniera del tagname que podra ser mostrado
por cada tag que est siendo dirigido. Las unidades para .MaxRange y .MinRange son
de 0 a 100 y .MinRange debe ser siempre menor que .MaxRange. Si un valor menor que
0 o mayor que 100 es asignado a estos campos sern aproximados a 0 o 100. Si
.MinRange es mayor o igual que .MaxRange la tendencia no mostrar ninguna
informacin.

Es un .field de tagname anlogo de lectura/escritura usado

A 96

para determinar el mtodo a usar en mostrar los valores en la tendencia. Ejemplo:


HistTrendChart.DisplayMode=2
Las entradas son:

1. Muestra el min/max por cada perodo de muestreo (por defecto).


2. Muestra el valor medio por cada perodo de muestreo usando un diagrama
scatter(dispersin).
3. Muestra el valor medio por cada perodo de muestreo usando un diagrama bar
chart(grfico de barras).

Es un .field de un tagname TagID de lectura/escritura usado


en conjunto con los tagnames TagID Historical Trend .Pen1 - .Pen4 para monitorear
y/o controlar el tagname que est siendo dirigido por un trazador (descrito a
continuacin).

Es un .field de un tagname tipo TagID de lectura/escritura


usado para controlar el tagname que est siendo histricamente dirigido por cada
trazador. (Tambin se aplica a .Pen2, .Pen3 y .Pen4. Un tagname tipo TagID solo puede
ser igualado por otro tagname TagID. Este no puede ser mezclado con otro tipo de
tagname a menos que el campo de extensin .TagID sea agregado al otro tagname. Por
ejemplo, de acuerdo a HistTrendTag.Pen1 para dirigir el tagname Temperature, este
debe tener agregado el campo .TagID.
Ejemplo:
HistTrendTag.Pen1= Temperature.TagID;
Pen01 = HistTrendTag.Pen1;

Este script iguala el tagname TagID HistrendTag.Pen1 a Temperature.TagID


y tambin Pen01 a HistTrendTag.Pen1. Donde Pen01 es un tagname tipo TagID.
Entonces un campo de salida vinculado a Pen01.Name mostrar Temperature.

A 97

Para controlar dinmicamente el despliegue de Unidades de Ingeniera mnimo y


mximo, por el tagname que est siendo dirigido por cada trazador, el tagname TagID
debe ser igualado a un tagname tipo Indirect Analog.
Por Ejemplo:
IndirectAnalogTag.Name = Pen01.Name;

Donde el tagname TagID Pen01 se iguala al IndirectAnalogTag el cual puede ser usado
en cuatro script de cambio de dato ( Data Change Scripts) que son vinculados a los
campos Historical Trend.Pen1-.Pen4. Por ejemplo, un Data Change Script podra ser
creado por HistTrendTag.Pen1 como sigue:

Pen01 = HistTrendTag.Pen1;
IndirectAnalogTag.Name = Pen01.Name;

Los vnculos Analog Output pueden ser entonces creados y vinculados a las siguientes
instrucciones para mostrar los Eus ( Unidades de Ingeniera) mnimo o mximo de
acuerdo con el tagname que est siendo dirigido:

IndirectAnalogTag.MinEU;
IndirectAnalogTag.MaxEU;

Es un .field de un tagname discreto de lectura/escritura que


puede estar en 1 para actualizar un grfico de tendencia histrica usando todos los
valores actuales. Un cambio debe ser hecho para comenzar el grfico, longitud de
grfico, etc. de acuerdo al grfico para actualizar y mostrar los valores actuales para los
tagnames especificados. Usando este .field en un script de action pushbutton permitir
al operador actualizar el grfico cuando sea necesario durante el runtime.
Ejemplo:
HisTrendTag.Update Trend = 1;

A 98

Es un campo entero solo de lectura que es incrementado


cuando una recuperacin es completa para una tendencia.

Es un campo discreto solo de lectura que muestra el estado


de recuperacin de informacin histrica (0=no hay recuperacin, 1= recuperacin en
curso).

Es un campo discreto de lectura/escritura. Cuando el valor


de este campo es TRUE, el scooter derecho no se puede mover hacia la izquierda
(0=FALSE, 1= TRUE).

Es un campo discreto de lectura/escritura. Cuando el valor


de este campo es TRUE, el scooter izquierdo no se puede mover hacia la derecha (0=
FALSE, 1=TRUE).

Es un campo real de lectura/escritura que representa la


posicin del scooter izquierdo (Rango 0.0-1.0).

Es un campo real de lectura/escritura que representa la


posicin del scooter derecho (Rango 0.0-1.0).

Definicin de .Field Miscellaneous en el Choose Field Name ...

Es un .field anlogo slo de lectura que muestra el valor


mximo del tagname en Unidades de Ingeniera.

Es un .field anlogo slo de lectura que muestra el valor


mnimo del tagname en Unidades de Ingeniera.

A 99

Es un .field de tagname de mensaje slo de lectura usado


para mostrar el nombre de un Alarm Group que est indicando un Group Variable, o el
nombre de un tagname TagID, o slo es el nombre de un Tagname de Intouch.

Es un .field de un tagname de mensaje slo de lectura que es


igual a 1 cuando no hay alarmas para el nombre especificado. Este campo es vlido para
Alarm Groups y Group Variables como tambin tag comunes.

Es un .field de un tagname anlogo slo de lectura que


muestra el valor del tagname especificado.

Direccionando Bit .Fields para Tagnames Anlogos


Los bits simples dentro de un tagname entero pueden ser direccionados usando
el bit.field. Todos ellos son considerados como discretos (0/1) y si se graban, el tagname
es actualizado inmediatamente. Estos campos pueden ser usados donde se utilice un
tagname discreto, por ejemplo, DDE, scripts, expresiones, etc.

.00 bit menos significativo (LSB)


.01
.02
.
.
.
.31 Bit ms significativo en un entero de 32 bits (MSB)

El siguiente ejemplo muestra como usar el bit fields dentro de una expresin:

Temperature.08==1;

A100

o, dentro de un script:
IF Temperature.29 THEN
Temperature.29=0;
ENDIF;

Nota: El bit 31 representa el bit de signo. Si es 1 el nmero es negativo. Si es 0 el


nmero es positivo. Se usa complemento 2s.
IF-THEN-ELSE y Comparaciones de Scripts
La instruccin IF-THEN-ELSE es usada para ejecutar condicionalmente varias
instrucciones basadas en el estado de una expresin. Las siguientes operaciones de
comparacin son usadas para establecer las condiciones en la instruccin IF-THENELSE:
<

Menor que

>

Mayor que

<=

Menor o igual que

>=

Mayor o igual que

==

Equivalencia (es igual a)

<>

Distinto

Ejemplos de IF-THEN-ELSE

Instruccin IF-THEN sin condicin ELSE:


IF a<>0 THEN
a=a+100;
ENDIF;

Nota: Cada IF debe tener un ENDIF y un punto y coma debe terminar cada lnea
de instruccin.

A101

3.16.- Caracterstica de Seguridad


Seguridad en una aplicacin

es

una

caracterstica

opcional.

Si

la

implementamos, proporcionamos el desarrollo de una aplicacin la capacidad de


controlar o no una operacin especifica donde se permiten realizar funciones especificas
a una aplicacin que estn vinculadas a esa funcin de variables de seguridad interna.
Adems, cuando la seguridad es establecida en una aplicacin el establecimiento de
rutas puede ser creado con vnculos de registros del operador para todas las
ALARM/EVENTS que ocurren durante el tiempo en que se han creados en el sistema.
La seguridad esta basada en el concepto de que el operador registra para la
aplicacin y entra el/los User Name y Password. ( La aplicacin establece desarrollos de
cada operador con un User Name, o preasignando Password y un Access Level va el
comando /Special/Security/Configure User en cualquiera de los dos WindowMaker o
WindowViewer.)
Una vez que el operador registra la aplicacin, accede a algunas funciones de
proteccin que son reconocidas por la verificacin del registro de los operadores en el
Password y Access Level a travs de valores especficos para la variable de seguridad
interna que esta vinculada a esta funcin. Por ejemplo, acceder a Windows, o ver un
objeto, pushbutton, etc., pueden ser controlados especificndose el Access Level que
tiene que ser mayor que 2000.
3.16.1.- Comandos del Men Seguridad
El comando usado para establecer seguridad en una aplicacin es accesible
desde el men /Special en ambos, WindowMaker o WindowViewer. El comando
/Special/Security son usado para habilitar y desabilitar la aplicacin, cambiar la
Password y configurar la lista de nombres de usuarios, password y niveles de acceso.
Cuando se llama este comando un segundo men de comando aparece en pantalla:

A102

Variables de Seguridad Interna


Son 2 variables de seguridad interna que se usan en expresin o lgica de control
si el registro del operador permite llevar a cabo funciones especificas:

$AccessLevel Entero

0-9999

Leer solamente

$Operator

16 Caracteres max.

Leer solamente

Mensaje

Por ejemplo, crear un objeto que se haga visible basado en el registro en usuario
nivel de acceso, el siguiente estamento puede ser usado:

$AccessLevel => 2000;

o, un script puede ser limitado por un estamento IF:


If $Operator ==DayShift THEN
Show Control Panel Window
Endif
Los objetos pueden ser tambin desabilitados basados sobre el valor de una
variable de seguridad interna usando l vinculo de animacin Disable. Por ejemplo:

3.17.- Introduccin de Alarmas


La mayora de los sistemas automticos dependen de serios tipos anlogos de
medidas junto con el estndar digital de I/O para controles precisos de estos procesos.
Estas medidas tienen que ver con temperatura, posicionamiento, flujos y niveles, por
nombrar unos pocos. En muchos casos, las medidas criticas necesitan ser monitoreadas

A103

cerradamente y/o registradas. Una solucin a esto son los vnculos de variables de
alarmas. La mayora de los conceptos de alarmas implican un menor setpoint o valor
normal para la variable junto con un valor de limite bajo y alto.
Intouch apoya este concepto y ms. Los tipos de alarmas de apoyos para
variables anlogas son: LowLow, Low, High, HigHigh, RateOfChange, Minor
Deviation, y Major Deviation. Adems, una variable discreta puede ser una alarma
definida para uno de estos conocidos estados.

Nota: Un tagname se transforma en alarma habilitada tan pronto como es


configurada por los parmetros de alarma desde el diccionario del tagname.

Estos campos de alarma pueden ser usados por un control dinmicamente y/o
monitor de varias condiciones de alarmas. Por ejemplo un pushbutton es quizs creado
para crear una alarma individual, grupo de alarma o todas alarmas. Muchos de estos
campos son accesibles usando DDE, expresiones y/o script. Los accesos DDE
proporcionan al operador la habilidad de monitorear y/o controlar una informacin de
alarma especifica usando otras aplicaciones de Windows, ejemplo, Excel o una
aplicacin View remota. (Usando NetDDE).

3.18.- Alarma o Evento


Un evento existe generalmente cuando un tagname predefinido es mejorado por
el operador, DDE, una lgica script o por el sistema. En orden para el evento para ser
ingresado en la ventana de alarma, registro o impresin, el tagname empieza a verse
afectado necesita ser configurado para dejar registrados los eventos.

El grupo de alarmas de jerarqua


Cada tagname es asignado a un grupo de alarma. Si un nombre de grupo de
alarma no es creado, el tagname es automticamente asociado con el arraigamiento al
grupo $System. Algunos grupos de alarmas tienen ambos tagnames y otros nombres de
grupos de alarmas asociados a l. Los grupos de alarmas son organizados en una

A104

estructura de rbol jerrquico con el grupo de arraigamiento, $System, en la parte


superior del rbol. Todos los grupos de alarmas se definen automticamente en forma
descendiente del grupo de arraigamiento. Este rbol tiene hacia arriba 8 niveles. Cada
grupo de alarmas tiene un mximo de 16 subgrupos. Cada subgrupo tiene un mximo de
16 grupo, etc.
Esta ilustracin muestra solamente el grupo de alarma y no tagname con cada
grupo. Este concepto de rbol es anlogo para la estructura MS-DOS, cuando un
directorio ve el contenido de otro subdirectorio (grupos analgicos) y nombre de
archivos (tagname analgico). Una vez que la estructura de grupos es creada, esto puede
ser usado en mucho caminos que son discutidos ms adelante.

3.18.1.- Creando un Grupo de Alarmas


Para crear un tagname de grupo de alarma realizar los siguientes pasos:

1.- Llamar el men /Special/Alarm Groups, o hacer click en el botn Group en el


cuadro de dialogo DICCIONARY TAGNAME DEFINITION apareciendo el siguiente
cuadro de dialogo:

2.- Hacer click en el botn ADD para acceder al cuadro Add Alarm Group.

Nota: Los botones Modify y Delete pueden hasta desabilitar un nuevo grupo de
alarmas creado. El grupo de alarma $System no puede ser modificado o creado.

A105

3.- Entre el nombre del nuevo campo Group Name. En este ejemplo GroupA a sido
creado como un subgrupo de Parent Group $System. Hacer click en Done para entrar un
nuevo Group Name (nombre de grupo) y retornar a la ventana de seleccin del grupo de
alarma. Para seleccionar otro Parent Group, hacer click en el botn Parent Group.
El cuadro de dialogo Alarm Group Selection aparece. Seleccione el grupo
deseado y presione Done.

Para modificar o borrar un grupo de alarma hacer click sobre el nombre del
grupo que se modificara o borrara y seleccionar al botn apropiado.

Nota: Cuando un grupo de alarma es borrado con todos los tagnames que fueron
asignados a ese grupo son bajados a un nivel en el rbol del grupo de alarmas.

Creando un Objeto Alarma Evento


Intouch proporciona la habilidad de crear 2 tipos de alarmas de objetos; Alarm
Summary y Alarm History. La principal diferencia entre las 2 es el que una Alarm
Summary solamente muestra la alarma hasta que esta vuelva a la normalidad o es
reconocida.

A106

En una ventana de alarma histrica, todas las condiciones de alarma son siempre
mostrada. Estas ventanas pueden mostrar todas las Alarm/Events activas o un subseteo
de los archivos de alarmas basada en el valor actual del grupo de alarmas y expresiones
prioritariamente asociados con la muestra de una alarma particular adems de mostrar
alarmas de redes.

Nota: l nmero de memorias de entrada de Alarm/Events mantenidas por


WindowViewer

es

configurado

va

el

comando

/Special/Configure

/Alarm/Events.

Nota: Una alarma muestra un objeto vinculado a otro dibujo de objeto en


WindowMaker. Esto puede ser movido tomando con el mouse o puede ser
modificado su tamao tomando uno de los Handles (pequeo cajas alrededor de la
ventana). El texto que aparece usando la alarma objeto es inicialmente dibujado y
muestra el texto proporcionando una idea como la muestra actual mostrado en el
runtime. Mltiples alarmas muestran objetos que pueden tambin ser localizados
dentro de una ventana.

A107

3.18.2.- Configurando un objeto Alarm/Events


Inicialmente, el objeto Alarm/Events mostrado es dibujado con cualquiera de las
dos configuraciones por defecto o para un objeto dibujado previamente. El cambio del
seteo de configuracin, para cualquiera de las dos hacer click en el objeto Alarm/Events
o llamando el comando /Special/Animation Links con el objeto Alarm/Events
seleccionado. Donde aparece el cuadro de dialogo siguiente:

Seleccione el tipo de Alarm/Event visualizado. Estos son


dos tipos : Alarm Summary y Alarm History.

Seleccione esta opcin para mostrar la barra de ttulos


con niveles para cada columna en la alarma del objeto
mostrado. Habilitando esta opcin provoca que aparezca el cuadro de seleccin Title
Bar y Title Text Color: (todas las funciones de seleccin de color en el mismo camino y
son descritos detalles pequeos).

Hacer click en el cuadro coloreado para acceder a la paleta de

A108

seleccin de color para elegir el color del objeto Alarm/Events mostrado en la barra de
ttulo.
Hacer click en el cuadro coloreado para seleccionar el color para la
columna en la barra de ttulo.
Hacer click en el cuadro coloreado para seleccionar el color de
fondo de pantalla.

Hacer click en el cuadro coloreado para seleccionar el color del


borde.

Hacer click en el cuadro coloreado para seleccionar el color del


texto para alarmas no reconocidas mostradas en la pantalla de alarma.

Hacer click en el cuadro coloreado para seleccionar el color del


texto para alarma reconocidas mostradas en la pantalla de alarma.

Hacer click en el cuadro coloreado para seleccionar el color del texto


para retornar a la alarma normal mostradas en la pantalla de alarma.

Hacer click en el cuadro coloreado para seleccionar el color del texto


para mostrar eventos en el objeto Alarm/Events.

Nota: La seleccin del color RTN y evento son solamente seleccionable para una
ventana tipo Alarm History.

Para ver el evento de nodo local, configure una ventana Alarm History
y seleccione Local (viene por defecto).
Es una configuracin maestro/esclavo, seleccione Server para mostrar
una lista de Alarm/Events para el nodo servidor. (El nodo servidor es especificado va el
comando /Special/Configure/View Generic.)

A109

Haciendo click en este botn se accede al cuadro de


dialogo Format Alarm Message para seleccionar varios items que son mostrados y cada
mensaje de alarma visualizado en el objeto Alarm/Events.

Nota: Visualizando, imprimiendo y registrando mensajes de alarmas son todas


formateadas de la misma manera.

Entre el nombre de un grupo de alarmas o de un grupo de variables en este


campo. Si un grupo de alarmas es ingresado, el objeto Alarm/Events mostrara
solamente la alarma en este grupo especifico. Para mostrar todas las alarmas en todos
los grupos, use el nombre de grupo de arraigamiento, $System.
Para controlar la eleccin de alarmas que se muestran en runtime, entre el
nombre de una variable de grupo en este campo y entonces configure una accin de
pushbutton o una tecla script para asignar un especifico nombre de grupo de alarma para
el grupo de variable. Por ejemplo, lo siguiente presenta en la entrada en la accin para el
pushbutton:
GroupVariableTagname=AlarmGroupName;

A110

Entre el nivel alto de alarma para el rango de prioridades que sern visualizadas
en el objeto alarma. Un tagname anlogo puede ser ingresado en este campo. El valor
del tagname esta determinando la prioridad del nivel para ser mostrados. La prioridad
de los nmeros de alarma para ser visualizado puede estar controlados por asignaciones
de valores para estos tagnames a travs de un vinculo de entrada anloga o script.

Entre el nivel de alarma para el rango de prioridades que sern visualizadas en el


objeto alarma. Un tagname anlogo puede ser ingresado en este campo. El valor del
tagname esta determinando la prioridad del nivel para ser mostrados. La prioridad de los
nmeros de alarma para ser visualizado puede estar controlados por asignaciones de
valores para estos tagnames a travs de un vinculo de entrada anloga o script.

Nota: La prioridad de alarmas parte de un nivel alto, ejemplo, 1 es la prioridad


alta.

Entre un tagname discreto que ser usado para mostrar la pagina a travs de la
lista de mensajes de alarma (s hay ms del numero que permite la pantalla). Cuando el
valor de la transicin de una variable discreta desde ON (1, verdadero) a OFF (0, falso),
el objeto visualizado Alarm/Events mostrara la pagina previa. Una vez que se muestra
la pagina previa, la variable discreta automticamente s resetea en ON, a menos que
alcance la parte de arriba de la lista. En este caso, el valor de la variable que da en OFF
y la accin de la pagina previa queda desabilitada.
Para crear un pushbutton de pagina previa, crear un objeto y unir un vinculo
Discrete Value Pushbutton usando el tagname discreto usado en el campo de pagina
previa. Un vinculo de visibilidad puede ser tambin usado en el pushbutton de valor
discreto para ocultar el botn cuando el valor del tagname discreto es OFF.

A111

Los datos ingresados en este campo de trabajo son lo mismo que el del campo de
pagina previa descrita arriba excepto, en control de la funcin Next Page (siguiente
pagina).

Hacer click sobre este botn para seleccionar el comando Font, este
estilo y tamao se usa para mostrar el mensaje en el objeto visualizado Alarm/Events.
Al llamar este comando se accede al cuadro de dialogo FONT:

3.18.3.- Configuracin de Alarm/Events


Estos son 3 tipos de cuadros de dialogo de configuracin usadas para alarmas, el
Alarm/Events, Alarm Loggin y Alarm Priting. A todas ellas se accede va el comando
/Special/Configure:

3.19.- Alarm/Events
Hacer click en este botn para configurar varios parmetros que
afectan a Alarm/Events. El cuadro de dialogo Alarm/Events Configuration aparecer:

A112

3.19.1.- Registro de Alarmas


Hacer click sobre este botn para configurar el archivo de
registro de alarmas. El siguiente cuadro de dialogo aparece:

Seleccione esta opcin para habilitar el registro de alarmas. Los


archivos se pondrn en el directorio seleccionado y nombrados automticamente como
sigue:
YYMMDDHH.ALG

Donde:

YY

es igual al ao en que el archivo fue creado.

MM

es igual al mes en que el archivo fue creado (01-12).

DD

es igual al da en que el archivo fue creado (01-31).

HH

es igual a la hora en que el archivo fue creado (00-23).

Por ejemplo, si un archivo es creado cada 8 horas a partir de las 6 AM en Abril 30 de


1992, entonces el nombre quedara como sigue:

92043006.ALG
92043014.ALG
92043022.ALG

A113

Entre el nmero de valor de la hora del dato de


alarma para ser provisto en cada archivo de registro. Los valores de ingreso son entre 1
y 24.

Entre el intervalo de hora para que el primer registro


empiece. Las entradas validas deben estar entre 0 (para 12:00 AM) y 23 (para 11:00
PM).
Ejemplo 1: El operador de planta realiza 3 cambios. El primer cambio comienza
a las 6:00 AM. Las alarmas son registradas por cambios individuales. Entonces, ingrese
8 en el campo Numer of Hours to Cycle Filaname y 6 en el campo Starting at Hour (023).
Ejemplo 2: El operador de planta realiza 3 cambios. Las alarmas son registradas
por das con la partida del registro de archivo para medianoche. Entonces, ingrese 24 en
el campo Numer of Hours to Cycle Filaname y 0 en el campo Starting at Hours (0-23).

Entre el nmero del valor de das del registro de


archivo para ser retenido en el disco. Por ejemplo, si 10 es ingresado y es el da 12 del
mes, el registro archiva desde el segundo al 12 y el 1 automticamente ser borrado.

Nota: Cuando se ingresa 0 (cero) para el da, el archivo de registro ser guardado
indefinidamente.

Seleccione este botn para acceder al cuadro de


dialogo Format Alarm Message para configurar el contenido del mensaje de alarma
escrito para el archivo de registro.

3.19.2.- Imprimiendo Alarmas


Hacer click sobre este botn para configurar la puerta que

A114

ser usada para imprimir, el formato de impresin de mensaje de alarmas, grupos


especficos de alarmas y/o prioridad de alarmas para ser impreso. Al llamar este
comando accede al cuadro de dialogo Alarm Printer Configuration:

Si usa una puerta paralela, seleccione la puerta donde se usara la


impresora. (None es el seteo por defecto).

Si la impresora usa una puerta serial, seleccione la puerta donde se usara la


impresora. Una vez hecha la seleccin, el campo Configuracin aparece. El
formato del valor ingresado en este campo es el mismo que el requerido por
el comando del modo DOS (BaudDate, Parity, DataBits, StopBits). El siguiente es el
valor valido para cada entrada en la variable:

BaudRate:

110, 150, 300, 600, 1200, 4800, 9600, 19200

Parity:

O (odd), E (even), N (none)

DataBits:

7o8

StopBits:

1o2

Nota Especial: Cuando se imprime alarmas, Intouch toma el control completo de


la puerta. Por lo tanto, una impresora seleccionada es requerida . No para otras
aplicaciones, ejemplo Excel puede usar la impresora hasta que la impresin de
alarma la desabilita.

A115

Seleccione este botn para acceder al cuadro de dialogo


Format Alarm Message para configurar el contenido de la impresin del mensaje de
alarma.

3.20.- Campos de Alarmas


La sintaxis Tagname.FieldName puede ser usada para acceder al campo de datos
asociados con un tagname en la base de datos. Esto es til para el seteo y visualizacin
del limite de alarma, etc.

Campo discreto de lectura y escritura usado para monitorear


y/o controlar el estado de tagname, grupo de alarma y/o grupo de variables. Ejemplo:

Tagname.Ack=1;
GroupName.Ack=1;
GroupVariable.Ack=1;

Campo discreto solamente de lectura, esto es igual a 1 cuando


existe una condicin de alarma para el tagname especifico, nombre del grupo de alarma
o grupo de variable, ejemplo:
AlarmGroup.Alarm;

Campos anlogo de lectura y escritura, (solamente validos


para tagnames enteros o redes). El monitoreo y/o control del porcentaje de desviacin
de banda muerta para mayor y menor desviacin de alarmas. Por ejemplo, para cambiar
el porcentaje a 25%, el siguiente estamento ser usado:

Tagname.AlarmDevDeadband=25;

Campos discreto de lectura y escritura, esto desabilita y/o

A116

habilita eventos y alarmas para un tagname, grupo de alarmas o grupo de variables.


Ejemplo:
GroupVariable.AlarmEnable=1;

Campo anlogo de lectura y escritura (solamente validos para


tagnames enteros o reales) esto monitorea o controla el valor de una alarma de banda
muerta. Este campo es valido para grupos de alarmas y grupo de variables para un
tagname ordinario.
Tagname.AlarmValDeadband=10;

Campo anlogo de lectura y escritura (solamente valido para tagnames


enteros y reales) esto monitorea y/o controla la tarjeta para menor y mayor desviacin
de alarmas. Ejemplo:
Tagname.DevTarget=500;

Campo solamente de lectura de tagnames discretos usados para


determinar si una alarma de tipo especifico existe. Por ejemplo .HiHiStatus ser igual a
1 cuando hay una alarma HiHi para el tagname. (Algunas aplicaciones para .HiStatus,
.LoStatus, .LoLoStatus, .MinorDevStatus, .MajorDevStatus, .ROCStatus y
.SPCStatus.).

Campos de lectura y escritura de tagnames anlogos usados para


monitorear y/o controlar los limites para valores de chequeo de alarmas y estos campos
son solamente validos para tagnames enteros y reales. (Algunas aplicaciones para
.HiLimit, .LoLimit, y .LoLoLimit.).
Ejemplo:
RealTag,LoLoLimit

Campos lectura y escritura de tagname enteros usados para

A117

monitorear y/o controlar el chequeo de la desviacin de alarma. (Algunas aplicaciones


para .MajorDevPct, .ROCPct.). Ejemplo:

IntergeTag.ROCPct

Campos de solamente de lectura de tagnames discretos usados para determinar si


una alarma de un tipo especifico existe. Por ejemplo:
.MinorDevStatus ser igual a 1 cuando hay una alarma de MinorDevStatus para el
tagname.

3.21.- Campo de acceso DDE de alarma


El siguiente campo de alarma es accesible usando DDE, una expresin y/o
Scripts. El acceso DDE provee al operador la habilidad de monitorear y/o controlar una
informacin de alarma de tagname especifico usando otra aplicacin de Windows,
ejemplo: Excel o una aplicacin View remota (usando NetDDe).

.Ack

(0/1)

.Alarm

(0/1)

.AlarmEnable

(0/1)

Lee solamente

Los siguientes campos de alarmas son aplicables para tagnames reales o enteros
solamente:

.AlarmDevDeadband
.AlarmValDeadband
.HiHiLimit
.HiHiStatus

(0/1)

Solamente lectura

(0/1)

Solamente lectura

.HiLimit
.HiStatus

A118

.LoLimit
.LoStatus

(0/1)

Solamente lectura

(0/1)

Solamente lectura

(0/1)

Solamente lectura

(0/1)

Solamente lectura

(0/1)

Solamente lectura

.LoLoLimit
.LoLoStatus
.DevTarget
.MajorDevPct
.MajorDevStatus
.MinorDevPct
.MinorDevStatus
.ROCPct
.ROCStatus

El siguiente es un ejemplo de cmo usar este campo dentro de una expresin:

Temperature.HiHiStatus==1;

O dentro de un script
IF Temperature.HiHiStatus THEN
Temperature.AlarmValDeadband=3;
ENDIF;

3.22.- Tendencia de Tiempo Real y Tendencia Histrica


El paquete del software Intouch tiene la capacidad de mostrar tendencias de
grficos de la entrada de la base de datos. Ellos son creados por el uso especial de
herramientas desde la barra de herramientas de WindowMaker. La tendencia de grfico
puede ser muy pequea o abarcar un rea de pantalla entera. No hay limite para el
nmero de grficos que puedes colocarse en una pantalla. Los grficos tienen la
apiencia de papel grfico con el valor del tiempo en movimiento desde derecha a
izquierda. Varias opciones estn disponibles para personalizar la apariencia del grfico
de tendencia. El operador puede especificar el tiempo abarcado, valores de rango,

A119

resolucin de grilla, localizacin de la marca de tiempo, localizacin de la marca de


valores, nmero de anotaciones (sobre 4) y atributos de color. Existen 2 tipos de objetos
grficos, Tendencia de Tiempo Real y de Tendencia Histrica.
Adems para la capacidad de tendencia de Intouch, 2 utilidades son incluidas en
el paquete del software, HDMerger y HistData. Ambos son diseados para trabajar con
el registro Histrico. La utilidad HistData convierte archivos de registro de datos
histricos (.log) en archivos separados por coma (.CSV) para ser usados en hoja de
calculo o entorno a una edicin de texto (ej. MSExcel). La utilidad HDMerge permite la
unin de varios archivos de registro .CSV con el archivo ONE.CSV.

3.22.1- Tendencia de Grfico en Tiempo Real


La tendencia de objetos en tiempo real provee la habilidad para cambiar un
grfico y registro cuando ellos estn pasando para alguna base de datos de un tagname
especifico o a una expresin que contiene uno o ms tagnames. Un grfico de tendencia
de tiempo real es creado para seleccionar la herramienta de tendencia en tiempo real
(tercera herramienta en la segunda fila) en la barra de herramienta de WindowMaker y
usando la herramienta se crea el rectngulo de tendencia.

A120

Nota: La tendencia en tiempo real del objeto es vinculada a algn otro objeto. Esto
puede ser movido agarrando del centro con el mouse o redimencionado al agarrar
uno de las esquinas circundantes.

3.22.2.- Configuracin de una tendencia en Tiempo Real


Cuando una tendencia de tiempo real de un objeto es dibujada, sta
configuracin se sesteara por defecto para cualquiera de los dos sistemas (s este es el
primer dibujo de tendencia) o para el seteo de configuracin del dibujo de tendencia
previo.
Para cambiar el seteo de configuracin hacer doble click en la tendencia del
objeto. El cuadro de dilogo Real Time Trend Configuration aparecer:

Entre el valor para todo el largo de tiempo para ser mostrado


horizontalmente (eje X) en el grfico de tendencia. Entonces
seleccione el botn para el incremento

del tiempo que

empieza a contar. Por ejemplo, si se ingresa 30 y se selecciona Mn, el tiempo ser


horizontalmente en el grfico por 30 Minutos.

Entre un nmero para la frecuencia en que la


tendencia de expresin ser evaluada. Entonces
seleccione el botn para incrementar el tiempo en

A121

que empiece a contar. Por ejemplo, si se ingresa 10 y se selecciona Sec. la expresin


ser evaluada cada 10 segundos.

Haga click en el cuadro coloreado para acceder a la paleta de


colores de Intouch para seleccionar el color de fondo y del borde para la tendencia.

Entre el nmero de lneas de mayor desviacin


para ser visible en el rea de tendencia. El color de estas lneas es mostrado en el cuadro
adyacente, para un nuevo color hacer click sobre este cuadro.

Entre el nmero de lneas de menor divisin para ser


visibles las lneas de menor divisin. El color de
estas lneas se muestra en el cuadro adyacente, para elegir un color nuevo hacer click
sobre este.

Chequee el cuadro para la etiqueta de tiempo


deseado. Entre el nmero de la etiqueta de
tiempo por mayor divisin en el cuadro de
entrada. Haga click sobre el cuadro coloreado para seleccionar el color de la etiqueta.
Seleccionar al formato deseado para la etiqueta de tiempo.

El valor de la etiqueta se configura igual que la


etiqueta de tiempo. El valor Mn/Mx. es
ingresado en el seteo del rango del valor
vertical (eje Y) para la ventana de tendencia. Este rango es en Unidad de Ingeniera
(EU) y el mismo para todos los tagnames de tendencia.

Nota: para puntos decimales se muestra una runtime para el valor mnimo y
mximo ello se hace entrando en los cuadros Mn y Mx.

A122

Ms de 4 anotaciones pueden ser visibles en una ventana de tendencia. Las


anotaciones pueden ser usadas para mostrar uno o ms tagnames. La habilidad para la
tendencia de expresin es til en la creacin de ventanas personalizadas para mostrar
tagnames con muchos rangos ampliamente diferentes. El color del tagname tender en
est muestra en el acompaamiento en el cuadro coloreado que al hacer click sobre l se
selecciona el nuevo color. El ancho de la anotacin puede tambin ser configurado en el
entrada del ancho del cuadro.

Nota: Seleccionando un gran ancho de anotacin mayor que una significancia


reduce el rendimiento en la actualizacin de pantalla e impresin.

Seleccionando sta opcin causa que la tendencia


solamente actualizada cuando est es parte de una
ventana visualizada (ayuda en RAM).

Hacer click en este botn para acceder al cuadro de dilogo


Font para seleccionar el tipo de letra, el estilo y tamao para ser usado en la impresin.

Aumentando la representacin en tiempo real


Para la aumentar la representacin de tendencia en tiempo real haga lo siguiente:
1.- Setee la anotacin con ancho 1
2.- Asegrese de que otro objeto no este en el lugar de arriba del grfico de tendencia de
tiempo real.
3.- Los nmeros ms bajos de muestra son tomados. Por ejemplo:

A123

Si la envergadura del tiempo en el seteo es de 30 Minutos y los intervalos de muestra


estn seteados a 2 segundos, el nmero de muestras que sern tomadas durante 30
Minutos pueden ser calculado como sigue:
30*60/2

3.23.- Grfico de tendencia Histrica


La tendencia histrica no es dinmica. Esto provee una imagen Snap Shot de
datos para un tiempo y datos del pasado. Distinto de la tendencia de tiempo real, la
tendencia histrica solamente se actualiza cuando Told se hace va script, expresin o
por el operador pulsando un botn. Hasta 4 tagnames pueden ser tendencia de una vez
sin limite del nmero de tendencia de objetos visualizados. Se tiene completa
flexibilidad en disear una interface para el grfico de tendencia. Se pueden crear
Scooters o cursos de datos, el operador puede crear Slides por encima de la tendencia
para acceder a una variedad de datos basados en la actual localizacin del scooters. Por
ejemplo, cuando el scooters es posesionado sobre un rea en la tendencia estos datos
son visibles, la localizacin del scooters retornar el tiempo y valor para todas las
anotaciones (tagnames) que son tendencia.
Se pueden crear botones para aumentar (zoom In) o disminuir (zoom Out) entre
los scooters o datos, tal como el valor mximo y mnimo. El promedio y desviacin
estndar pueden ser mostrados del grfico completo o del rea entre scooters. El grfico
de tendencia histrica puede tambin ser mostrado por algn tiempo. Se puede crear
escalas personalizadas y vincular campos .MnEU y MaxEU para mostrar en EU los
mximos y mnimos.
Para crear un grfico de tendencia histrica, seleccione la herramienta de
tendencia histrica en la barra de WindowMaker, entonces mover el cursor para alguna
rea en blanco de la pantalla. Dibujar el objeto de tendencia histrica soltando y
manteniendo el botn del mouse apretado un momento, dibujando con el mouse
diagonalmente para hacer un rectngulo. Suelte el botn y un objeto de tendencia
histrica aparecer.

A124

El objeto de tendencia histrica es vinculado a algn otro objeto. Esto puede ser
movido agarrando del centro con el mouse o esto puede ser redimencionado agarrando
una de las esquinas del objeto.

3.23.1.- Configuracin de una tendencia histrica


Cuando un objeto de tendencia histrica es dibujado, est configurado por
defecto para cualquiera de los dos sistemas (si este es el primer dibujo de tendencia) o
configurado por el dibujo de tendencia anterior. Para cambiar la configuracin haga
doble click sobre el objeto de tendencia. El cuadro de dilogo Historical Trend
Configuration aparecer:

A125

Nota: Para grficos de tendencia histrica solamente, cuando no comienza la


tendencia de inmediato, el color del rea mostrada ser la misma que el color del
borde seleccionado. Por ejemplo, si la mquina es impulsada desde las 6:00 a las
7:00, los datos para este intervalo de tiempo ser graficado usando el color del
borde seleccionado. Por lo tanto, esto se recomienda para que el color sea diferente
para alguno de los colores de anotacin.

Entre el nombre de un punto de la base de datos que este definido como un tipo
Hist Trend. Si un nuevo tagname es ingresado, este puede ser definido. En general, esto
es recomendado para crear distintos nombres para cada grfico histrico. Sin embargo,
mltiples grficos pueden usar el mismo nombre.

Esta entrada determina el largo del tiempo


inicial horizontalmente mostrado (eje X) en el
grfico de tendencia. Para setear el Chart Initial
Time Span, escriba un nmero en el cuadro y seleccione el botn para el incremento del
tiempo para que empiece a contar. Por ejemplo, si se ingresa 1 y se selecciona Hrs., la
envergadura del tiempo mostrado horizontalmente en el grfico ser de 1 hora de largo

Seleccione el botn para indicar el tipo inicial de muestra


para el grfico nombrado. Si se selecciona el modo
Mn/Mx., cada pixel en el grfico se mostrar el rango
mximo y mnimo de puntos ocultos en el tiempo representado por este pixel. Si se
selecciona el modo Average el grfico mostrar el valor promedio para cada pixel.
Ejemplo, segmento de tiempo.

Nota: Varias de estas configuraciones ingresadas son las mismas que se discutieron
en la configuracin de tendencia de tiempo real.

A126

Estos campos de rangos setean el valor inicial para el rango de la tendencia. Las
unidades para rango Mn/Mx. son un porcentaje de la escala de unidad de ingeniera.
As estos valores son de 0 a 100. Esto es diferente para la tendencia en tiempo real, ya
que el rango de la escala de EU es del 0 %.

Hasta cuatro anotaciones pueden ser visibles en una ventana de tendencia. Estas
pueden ser usadas para mostrar algunos tagnames de base de datos. La habilidad de la
tendencia de expresin es til en la creacin personalizada de pantallas para mostrar
tagnames con muchos rangos diferentes. El color de cada anotacin de tendencia se
muestra en el cuadro coloreado y al hacer click sobre ste cuadro se selecciona un color
nuevo. El ancho de la anotacin tambin puede ser configurado en un cuadro de ingreso
de ancho. Al seleccionar un ancho ms grande que una significancia influye en la
presentacin.
Nota Especial: Una vez completada la configuracin, la opcin de habilitar la
anotacin se har valida va el comando Special/Configure...Historical Logging.
Para un control dinmico la partida/parada del registro histrico durante el
runtime, el tagname $Historical Logging del sistema interno puede ser vinculado a
un objeto o ser usado en un script si el registro es habilitado.

Seleccione sta opcin para permitir al operador hacer


cambios en la configuracin de la tendencia histrica durante el runtime.

Haga click sobre ste botn para acceder al cuadro de


dilogo para seleccionar la letra, estilo y tamao para ser usada en la impresin.

A127

3.23.2.- Actualizacin de una tendencia histrica durante runtime.


En WindowViewer cuando una tendencia histrica es mostrada por primera vez,
sta mostrara datos para la configuracin especifica. Distinto de la tendencia de tiempo
real, la tendencia histrica no se actualiza ella misma continuamente. Un cambio debe
estar echo para la tendencia es orden para ser actualizado despus que los datos iniciales
son mostrados. Algunos de los siguientes mtodos pueden ser usados para actualizar la
tendencia:
1.- Habilitar la opcin Allow runtime changes en el cuadro de dilogo de tendencia
histrica (en WindowMaker) para permitir al operador cambiar manualmente la
tendencia de tiempo y/o datos para forzar la actualizacin.
2.- Use lo siguiente en un script o en un pushbutton para permitir al operador actualizar
el grfico:
Tagname.UpdateTrend=1

3.- Use lo siguiente en un script o en un pushbutton:


HTUpdateToCurrentTime(Hist_tag);
HTScrollLeft(Hist_tag,Percent);
HTScrollRigh(Hist_tag,Percent);
HTZooMin(Hist_tag,LockString);
HTZoomOut(Hist_tag,LockString);

Para ms detalles sobre algunos de las funciones de arriba, vea la seccin


Historical Function de ste captulo.

A128

3.23.3.- Configuracin de una tendencia histrica durante runtime.


Si la opcin Allow Runtime Changes (descrita arriba) es habilitada cuando el
objeto de tendencia es configurado, el grfico ser Touch-sensitive y puede ser
configurado por el operador durante runtime. Durante runtime, hacer click en Trend
para hacer que el cuadro de dilogo Historical Trend Setup aparezca:

Entre el dato de partida y el tiempo para el grfico en


este campo.

Seleccione el botn para indicar el modo de mostrar el grfico.


Estos son tres modos de mostrar un grfico de tendencia:

1 Mn/Mx.
2 Average/Scatter
3 Average/Bar Chart.

El modo mostrar de los grficos afecta la presentacin. El primer factor aqu es

A129

el largo de las lneas que sern dibujadas para generar el grfico. El largo de las lneas,
es tomado para generar el grfico. El ancho de la lnea es tambin factor de
presentacin, el ancho de las lneas toma un significado grande para el grfico. Los
grficos Mn/Mx. o Average/Scatter son generalmente mucho ms rpido para generar
que la tendencia Average/Bar Chart.

Entre el largo del tiempo para ser mostrado horizontalmente (eje Y) sobre la
tendencia.

Esta unidad para el rango es un porcentaje de la escala de EU. As, estos valores
sern de 0 a 100. Entre el porcentaje de la escala EU para que la tendencia sea
aumentada y disminuida. Por ejemplo, para la tendencia de la varianza del tagname
seleccionado desde el porcentaje 40 a 45 de la escala, ingrese 40 y 45 en el mnimo y
mximo en el campo de rango respectivamente.

Para seleccionar el tagname para ser tendencia, haga click en el


botn de la anotacin deseada PEN #. Al seleccionar el cuadro de
dilogo Tag for the Pen aparecer rpidamente para hacer click
sobre un tag.

Nota: Solamente estos tags son opcin de datos de registros que sern habilitados
en el diccionario de datos de tagname siendo mostrado en este cuadro de dilogo.

Alguna tendencia histrica puede ser impresa haciendo click en el botn


Print. La operacin de impresin toma lugar en el Background mientras continua
WindowViewer para procesar todas las otras entradas, normalmente WindowViewer

A130

agrega dos tems a este men durante la impresin: CancelPrint y X % Done. Haciendo
click en CancelPrint para cancelar la actual impresin.
Un botn pushbutton puede tambin ser creado para imprimir la tendencia
histrica para ser usada en la accin interna del script de la funcin PrintHT. Lo
siguiente es una entrada en la accin script para el pushbutton:

PrintHT(HistTrendTagname);

La operacin de impresin usa la actual tendencia histrica como base para


imprimir. Por lo tanto, si algn campo en el cuadro de dilogo Hitorical Trend Setup es
cambiado, el botn Print ser desabilitado. Algunos cambios hechos en el setup no
pueden ser impresos hasta que el botn OK en el cuadro de dilogo Historical Trend
Setup sea presionado para ingresar estos cambios.

Nota: Despus de seleccionado la impresora, no se puede cambiar la tendencia


hasta que el men CancelPrint y X % Done aparezcan. Durante este tiempo,
WindowViewer est salvando la informacin de tendencia en la memoria para
imprimirla. Una vez que estos dos mens aparecen, la tendencia puede ser
cambiada sin afectar la impresin que sta en progreso.

3.24.- Escribiendo Tagname para el Archivo de Registro Histrico.


Los valores escritos en el archivo de registro histrico todo el tiempo son
cambiados una vez cada hora, a pesar de todo cambio. Para cada valor de un tagname
escrito en el archivo de registro histrico, har que el setup se registre en la base de
datos de Intouch. Al llamar el comando Special/Tag Name Dictionary... se accede al
cuadro de dilogo Dictionary-Tag Name Definition y mostrara la definicin del
tagname deseado.

A131

Una vez que la definicin del tagname deseado es mostrada, habilite


sta opcin.

Para ingresar un tipo de tagname real (punto


flotante), un campo Log Deadband ser mostrado en su respectivo detalle en el cuadro
de dilogo. Un valor puede ser en este campo controlado por la EU del valor de un
punto que fue cambiado antes en el registro del disco.

Habilitando el Registro Histrico.


En orden para el tagname estos son definidos para ser registrados y escritos en el
archivo de registro histrico, la funcin registro ha de ser habilitada. Para habilitar el
registro, Llame al comando Special/Configure. La seleccin de Intouch Configuration
hace que aparezca el siguiente cuadro de dilogo:

A132

3.25.- Configure/Historical Logging.


Este comando es usado para configurar el archivo de registro histrico. Al llamar
este comando se accede al cuadro de dilogo Historical Logging Configuration:

Seleccione sta opcin para habilitar el registro. Los


archivos se colocaran en el directorio seleccionado y nombrado automticamente como
sigue:
YYMMDD00.LOG

Donde:

YY es igual al ao en que fue creado el archivo.


MM es igual al mes en que fue creado el archivo (01-12).
DD es igual al ao en que fue creado el archivo (01-31).
00 siempre mostrara ceros.

Por ejemplo, si el archivo fue creado un 30 de Abril de 1992, su nombre ser:

92043000.LOG

A133

Nota: Los registros histricos pueden ser activados y detenidos durante runtime
siendo vinculado al tagname del sistema interno $Historical Logging para un
botn de toque o script. Adems, si el computador queda sin espacio en el disco
para registro de archivos histricos, el operador creara espacio libre en el disco
llamando al comando Special/Restart Historical Logger en WindowViewer para
continuar registrando.

Seleccione esta opcin para causar que los datos histrico sean registrados en el
directorio de la aplicacin.

Seleccione este botn y entre un pathname en el cuadro para provocar que el


objeto histrico sea registrado en el directorio especifico. (Esto es recomendado si el
pathname completo a sido ingresado, ejemplo C:\Intouch).

Entre el nmero de valor de das (prioridad el actual da) del archivo de registro
histrico para ser retenido en el disco. Por ejemplo, si se ingresa 10 y es el da 12 del
mes, el archivo de registro del da 2 hasta el da 12 sern archivados y el da 1 ser
automticamente borrado.

Nota: Cuando se ingresa cero (0) en el da, el archivo de registro es guardado


indefinidamente.

Estos son muchos factores que afectan la presentacin de la impresin del


grfico de tendencia histrica. El primer factor de presentacin es el tamao del grfico
en la pgina impresa. La presentacin puede ser mejorada siendo cambiado el
porcentaje de la pgina que esta siendo usada. Por ejemplo, entrando 50 en este campo

A134

causar que WindowViewer use la mitad de la pgina (verticalmente

horizontalmente). Una impresin esta dimensionada para tomar un cuarto del tiempo
para preparar toda la pgina impresa.

Entre la seccin de tiempo de duracin del proceso (en milisegundos) con l


modulo de impresin de la tendencia histrica.

Entre el tiempo (en milisegundos) para que l modulo de impresin de la


tendencia histrica esperara antes de ingrese a otra seccin de tiempo del procesador.

3.26.- Campo de Tendencia Histrica.


Para una entrega de tagname de tendencia histrica hay mucho campos que estn
solamente aplicados a los tagnames de tendencia histrica. Lo siguiente describe cada
uno de los campos de tendencia histrica.

Nota: En el ejemplo de abajo, se supone que ht es un tagname de tendencia


histrica.
Es un .field de un tagname entero de tipo lectura/escritura
usado para controlar el tiempo de partida y/o desplegar el grfico de la tendencia
histrica correspondiente. .ChartStart muestra el nmero de segundos transcurridos
desde el 1/1/80 a las 12:00 a.m. Ejemplos:
Desplazar a la derecha por 1 minuto:
ht. ChartStart = ht. ChartStart + 60;

Desplazar a la izquierda por 1 hora:


ht.ChartStart = ht.ChartStart -3600;

A135

Es .field de un tagname entero de lectura/escritura usado para


mostrar la longitud del tiempo mostrado en un grfico de tendencia histrica.
.ChartLength muestra la longitud del grfico en segundos. Ejemplos :

Forzar el intervalo del grfico a 1 hora:


ht.ChartLength = 3600 {60 minutos * 60 segundos/minuto}
Despliegue del grfico izquierdo por la mitad:
ht.ChartStart = ht.ChartStart - ht.ChartLenght / 2;
Despliegue del grfico izquierdo en un 10%:
ht.ChartStart = ht. ChartStart - 1 * ht. ChartLength

Son .fields de tagname real de escritura/lectura usados para representar el


porcentaje del rango en Unidades de Ingeniera del tagname que podra ser mostrado
por cada tag que est siendo dirigido. Las unidades para .MaxRange y .MinRange son
de 0 a 100 y .MinRange debe ser siempre

menor que .MaxRange. Si un valor menor

que 0 o mayor que 100 es asignado a estos campos sern aproximados a 0 o 100. Si
.MinRange es mayor o igual que .MaxRange la tendencia no mostrar ninguna
informacin.

Es un .field de tagname anlogo de lectura/escritura usado


para determinar el mtodo a usar en mostrar los valores en la tendencia.
Ejemplo:
HistTrendChart.DisplayMode=2
Las entradas son:
1.- Muestra el min/max por cada perodo de muestreo (por defecto).
2.- Muestra el valor medio por cada perodo de muestreo usando un diagrama
scatter(dispersin).
3.- Muestra el valor medio por cada perodo de muestreo usando un diagrama bar
chart(grfico de barras).

A136

Es un .field de un tagname TagID de lectura/escritura usado


en conjunto con los tagnames TagID Historical Trend .Pen1 - .Pen4 para monitorear
y/o controlar el tagname que est siendo dirigido por un trazador (descrito a
continuacin).

Es un .field de un tagname tipo TagID de lectura/escritura


usado para controlar el tagname que est siendo histricamente dirigido por cada
trazador. (Tambin se aplica a .Pen2, .Pen3 y .Pen4. Un tagname tipo TagID solo puede
ser igualado por otro tagname TagID. Este no puede ser mezclado con otro tipo de
tagname a menos que el campo de extensin .TagID sea agregado al otro tagname. Por
ejemplo, de acuerdo a HistTrendTag.Pen1 para dirigir el tagname Temperature, este
debe tener agregado el campo .TagID.
Ejemplo:

HistTrendTag.Pen1= Temperature.TagID;
Pen01 = HistTrendTag.Pen1;

Este script iguala el tagname TagID HistrendTag.Pen1 a Temperature.TagID


y tambin Pen01 a HistTrendTag.Pen1. Donde Pen01 es un tagname tipo TagID.
Entonces un campo de salida vinculado a Pen01.Name mostrar Temperature.
Para controlar dinmicamente el despliegue de Unidades de Ingeniera mnimo y
mximo, por el tagname que est siendo dirigido por cada trazador, el tagname TagID
debe ser igualado a un tagname tipo Indirect Analog.
Por Ejemplo:
IndirectAnalogTag.Name = Pen01.Name

Donde el tagname TagID Pen01 se iguala al IndirectAnalogTag el cual puede ser


usado en cuatro script de cambio de dato ( Data Change Scripts) que son vinculados a
los campos Historical Trend.Pen1-.Pen4. Por ejemplo, un Data Change Script podra ser
creado por HistTrendTag.Pen1 como sigue:

A137

Pen01 = HistTrendTag.Pen1;
IndirectAnalogTag.Name = Pen01.Name;

Los vnculos Analog Output pueden ser entonces creados y vinculados a las
siguientes instrucciones para mostrar los Eus ( Unidades de Ingeniera) mnimo o
mximo de acuerdo con el tagname que est siendo dirigido:

IndirectAnalogTag.MinEU;
IndirectAnalogTag.MaxEU;

Es un .field de un tagname discreto de lectura/escritura que


puede estar en 1 para actualizar un grfico de tendencia histrica usando todos los
valores actuales. Un cambio debe ser hecho para comenzar el grfico, longitud de
grfico, etc. de acuerdo al grfico para actualizar y mostrar los valores actuales para los
tagnames especificados. Usando este .field en un script de action pushbutton permitir
al operador actualizar el grfico cuando sea necesario durante el runtime. Ejemplo:

HisTrendTag.Update Trend = 1;

Es un campo entero solo de lectura que es incrementado


cuando una recuperacin es completa para una tendencia.

Es un campo discreto solo de lectura que muestra el estado


de recuperacin de informacin histrica (0=no hay recuperacin, 1= recuperacin en
curso).

Es un campo discreto de lectura/escritura. Cuando el valor


de este campo es TRUE, el scooter derecho no se puede mover hacia la izquierda
(0=FALSE, 1= TRUE).

A138

Es un campo discreto de lectura/escritura. Cuando el valor


de este campo es TRUE, el scooter izquierdo no se puede mover hacia la derecha (0=
FALSE, 1=TRUE).

Es un campo real de lectura/escritura que representa la


posicin del scooter izquierdo (Rango 0.0-1.0).

Es un campo real de lectura/escritura que representa la


posicin del scooter derecho (Rango 0.0-1.0).
3.27.- Controlando la frecuencia de Registro Histrico
Cuando el registro es habilitado va el comando Special/Configure/Historical
Logging previamente descritos, los valores de todos los tagname designado para ser
registrado, automticamente sern escritos en el archivo de registros histrico una vez
cada hora, a pesar de todo cambio.
Tu puedes hacer que no se realice cada una hora por defecto al agregar el
parmetro ForceLogging=# del archivo Intouch. INI (localizado en el directorio de la
aplicacin) l # representa los minutos y pueden ser seseados entre 5 y 120. Ver el
ejemplo siguiente:

En este ejemplo, se agrega el ForceLogging=15, el valor del tagname registrado


ser escrito en el archivo de registro histrico cada 15 minutos, a pesar de que el valor
del tagname haya cambiado.

A139

Nota: El parmetro ForceLogging ser seteado a un valor en minutos entre 5 y


120.
3.28.- Muestra de Scooters de Tendencia Histrica
Los Scooters son indicadores de posicin a lo largo de una escala de tiempo,
estos pueden ser cambiados en orden para recordar piezas especficas de datos para
entregar instantes de tiempo. Para unir objeto deslizador a un campo scooters, te puedes
deslizar por encima de una muestra de tendencia histrica y acceder a una seccin
deseada de datos. Las funciones son proporcionadas para acceder al promedio, mnimo
y valores mximos para una posicin especfica del socorrer. Un scooter izquierdo y
derecho puede ser creado usando una funcin script adicional de Intouch, puede retornar
valores basado en un anlisis personalizado en el dato en el scooter o en la localizacin
del scooter. Los tipos de anlisis incluyen el promedio, mnimo, mximo, valor
min/max, EU min/max. y desviacin estndar. Al aumentar, puede tambin ser
personalizado entre los dos scooter. Una agradable caracterstica para agregar a una
tendencia histrica es la habilidad para mostrar datos basados en una localizacin
conocida en el grfico. Aumentando y disminuyendo una tendencia es tambin
beneficial. Las siguientes pginas describen los vnculos y expresiones que pueden ser
usados para incorporar esta funcionalidad en la ventana de tendencia histrica.

3.29.- Programa Utilitario Dato Histrico Merge


La utilidad del programa Utilitario Dato Histrico Merge de InTouch (HDMerge.EXE)
provee de un mecanismo para unir un archivo de datos .CSV con un archivo de registro
histrico de la aplicacin Intouch existente. HDMerge determina el archivo histrico del
dato que ser unido a los datos especficos para el valor de datos en el archivo de datos.
(Archivos de registros histricos son salvados por el dato marcado. Por ejemplo,
Noviembre 22, 1994 ser salvado como 94112200.LOG). HDMerge puede tambin ser
usado para crear archivos de registros histricos. Si un archivo de registro histrico no
existe en la aplicacin de tarjeta para el dato especifico en el archivo .CSV, HDMerge
creara uno para el dato. Si el archivo de datos contiene mltiples das de datos, cada

A140

archivo de registro histrico ser actualizado con el dato para este da. La especificacin
de tiempo para cada muestra de dato puede ser de 1 milisegundo de resolucin.

3.30.- Configurando la Aplicacin


Intouch provee la habilidad para personalizar completamente la funcionalidad y
la apariencia final de una aplicacin seteando varios parmetros. Estos parmetros son
seteados a travs del cuadro de dilogo de configuracin dentro del men
/Special/Configure.... Por ejemplo, los parmetros pueden ser seteados para prevenir al
operador de la existencia de WindowViewer y/o Windows, la barra de ttulos de
WindowViewer puede ser personalizado para mostrar el nombre de la compaa y el
men WindowViewer puede ser desabilitado a travs de la tecla ALT y/o de los mens
de control de la pantalla.
Por primera vez WindowViewer y WindowMaker son ejecutados, Intouch
automticamente crea el archivo Intouch.INI que contiene por defecto los seteos de
configuracin que sern usados por la aplicacin. Una vez que el operador configura
varios parmetros, ellos son actualizados y guardados en este archivo. Como nuevas
aplicaciones son creadas, la personalizacin del archivo Intouch.INI puede ser copiado
en el directorio de la nueva aplicacin, eliminando as la necesidad de setear la
personalizacin de parmetros para cada nueva aplicacin creada.

3.30.1.- /Special/Configure
Este comando es usado para acceder al cuadro de dilogo Intouch Configuration:

A141

En las siguientes pginas se describe las opciones WindowMaker, View


Generic, View Window y View Home Window.

3.30.2.- /Configure/WindowMaker
Este comando es usado para configurar varios items en el programa
WindowMaker. Al llamar este comando aparecer el siguiente cuadro de dilogo:

Entre el ttulo que aparecer en la barra de ttulo cuando se ejecute


WindowMaker. Por ejemplo:
Intouch DemoApp

Seleccione esta opcin para hacer que el actual directorio de la aplicacin sea
mostrado siguiendo el ttulo en la barra de ttulo. Por ejemplo:

Intouch DemoApp C:\DEMOAPP5.

A142

Estas dos opciones son usadas para configurar la grid. Entre el nmero de
pixeles para ser espaciado entre la coordenada del grid. Para hacer visible la grid,
habilitar Show Grid.

Seleccione esta opcin para hacer que el programa de registro


de Wonderware, automticamente parta cuando WindowMaker es ejecutado. El
programa registro graba todos los problemas o errores (ejemplo, error de afirmacin) de
un archivo del disco para analizarlo despus.

Seleccione esta opcin para mostrar el nmero de tagnames


(en la barra men de WindowMaker) que estn siendo definidos en la base de dato de la
aplicacin.

Seleccione esta opcin

para hacer que el

programa WindowMaker automticamente se cierre cuando s esta transfiriendo a


WindowViewer. Cuando esta opcin es seleccionada , la memoria es conservada. Si la
memoria no esta siendo cuestionada y el operador se esta moviendo a menudo entre
WindowMaker y WindowViewer, esta opcin no debe ser seleccionada.

Seleccione esta opcin para hacer que el men


/Edit de WindowMaker muestre el comando para copiar y pegar para y desde el
programa Scrapbook+. (WindowMaker deber ser seteado despus que esta seleccin es
habilitada por el comando que aparece).

Nota: el programa de Windows Scrapbook+ debe ser instalado en el computador.

Habilitando esta opcin permitir la seleccin del


objeto que esta detrs de un objeto Vaco. Por ejemplo, si cuatro lneas son dibujadas y

A143

unidas para hacer un cuerpo alrededor de otro objeto, con esta opcin habilitada, uno
ser capaz de meter el objeto dentro del cuerpo sin hacer que el cuerpo quede atrs de
este objeto.

Seleccione esta opcin para habilitar el


Fast Switch (switch rpido) entre WindowMaker y WindowViewer. El switch aparecer
en la esquina superior derecha en la barra de men.
En WindowMaker, aparecer runtime y en WindowViewer , Development.
Haciendo click en este switch (o usando ALT+!) rpidamente se transfiere desde un
programa a otro.
Usando este switch para transferir de WindowMaker a WindowViewer salva
todos los cambios hechos para todas las pantallas abiertas en WindowViewer.

Entre el nmero de pixeles que el


operador puede estar fuera de una lnea para WindowMaker para saber que esta lnea ha
sido seleccionada. El seteo por defecto es 4, esto es recomendado para ser usado a
menos que exista alguna dificultad con la seleccin.

Entre el nmero de niveles de deshacer/rehacer.


Esto puede ser 0 25 niveles (donde 0 los desabilita). Un nivel representa una accin.
El deshacer y rehacer fila esta vaco cuando una nueva ventana es creada o existe una
ventana abierta.

3.30.3.- /Configure/View Generic...


Este comando es usado para configurar varios items de sistema para el programa
WindowViewer. Al llamar este comando aparecer el cuadro de dilogo View Generic
Configuration:

A144

Seleccione sta opcin para hacer que el programa de registro de


Wanderware

automticamente

parta

cuando

se

corre

WindowViewer. El programa de registro graba todos los problemas o errores de un


archivo del disco para analizarlo despus.

Seleccione sta opcin para hacer que WindowViewer comience


cuando es seleccionado un icono de una ventana. En muchos casos, la seleccin de sta
opcin es apropiada solamente cuando el operador esta usando WindowViewer para
reunir datos para otras aplicaciones interconectadas DDE.

Seleccione esta opcin para hacer que el programa


WindowViewer automticamente se cierre cuando se transfiere desde WindowViewer a
WindowMaker.

Seleccione esta opcin cada vez que exista una situacin


de recurso de memoria baja o Window bajo.

A145

Habilitando esta opcin provoca que una


aplicacin de pantalla sea cargada desde el disco y no salvada en la memoria RAM
cuando es cerrada.

Entre la cantidad de memoria


(Kbytes) que WindowViewer intentara mantener libre para otra aplicacin de Windows.

Seleccione

esta

opcin

para

aumentar

significativamente la velocidad de actualizacin de los dibujos. Habilitando esta opcin


aumenta significativamente el rango de actualizacin para campos de textos. (Si el
sistema es bajo en memoria no habilite esta opcin).

Todos los temporizadores de


Intouch son chequeados basados en la frecuencia del temporizador.

Entre

la

frecuencia

(en

milisegundos) a la que WindowViewer actualizara la base de tiempo del tagname del


sistema $Msec, $Second, $Minute, etc. Si los milisegundos nunca son mostrados, dejar
el seteo por defecto. Si los segundos, nunca son mostrados, setee el valor a 60000. Si
estos tagnames nunca son usados, setee este valor a 0 para prevenir que los tagnames
sean actualizados.

Seleccione esta opcin para hacer que todos los


objetos de toque suenen cuando sean tocados en WindowViewer.

Seleccione esta opcin para hacer la actualizacin de


tendencia de cierre.

Nota: Este es solamente recomendado cuando el operador esta absolutamente


seguro de que los objetos no se traplasen en algunas tendencias de runtime. Si los

A146

objetos s traplasan la tendencia y esta opcin es seleccionada, la tendencia no se


dibujara correctamente.

Seleccione esta opcin para crear un mensaje para ser escrito en el


WWLogger cada vez que un script es ejecutado. Esta opcin puede ser habilitada y/o
desabilitada durante runtime cuando el men /Debug de WindowViewer ha sido
habilitado va el comando /Special/Configure.../View Window...:

Seleccione

esta

opcin

solamente

para

aplicacin

internacionales desarrolladas en Intouch 3.26 o anteriores.

Este campo es usado para especificar el nombre del Nodo


del servidor de alarma en la red. Este Nodo es entonces
usado por los nodos remotos para recuperar su informacin de alarma (si el Nodo local
es el nodo servidor de alarma, este es valido para entrar el nombre de estos Nodos aqu).

Cuando un programa servidor se esta comunicando con


Intouch, DDE Advise y Data Messages son agrupados en bloques para mejorar lo
puesto. Este campo es usado para mejorar el tamao del bloque. Estas entradas no
afectan la operacin del servidor DDE con aplicaciones normales de DDE Aware.

Entre el valor para controlar el intervalo (en segundos)

A147

que WindowViewer automticamente usar para estabilizar la conversacin DDE sin


notificar al operador. Si se cierra un servidor DDE, WindowViewer intentara
reinicializar la conversacin a el rango de seteo en este campo.

Entre el nmero de segundos que pueden transcurrir sin


actividad en la aplicacin antes de que el tagname del sistema discreto $Inactivity
Warning sea seteado a 1. Un mensaje de precaucin dir al operador de que el/ella esta
ms o menos fuera de registro de la aplicacin pueden ser generado usando el tagname
$Inactivity Warning.

Entre el nmero de segundos que pueden transcurrir sin


actividad en la aplicacin antes de que el tagname de sistema discreto $Inactivity
Timeout sea seteado a 1. Un mensaje dir al operador de que el/ella esta ms o menos
fuera de registro de la aplicacin pueden ser generado usando el tagname $Inactivity
Timeout.

Estos son tres campos usados para setear la velocidad (en


milisegundos) de parpadeo de un objeto. La velocidad seteada
aqu ser usada por la seleccin de velocidad de parpadeo en el
cuadro de dilogo Vnculos de Animacin:

A148

3.30.4.- Configure/View Window


Este comando es usado para configurar varios items relativos a la pantalla del
programa WindowViewer. Al llamar este comando se accede al cuadro de dilogo
WindowViewer Configuration:

Por defecto, la barra de men ser mostrada cuando WindowViewer esta


cerrado. Desabilitando esta opcin desabilitar todas todos los mens WindowViewer.
Una barra en blanco fija aparecer en la parte de arriba de la pantalla. Si la barra de
men es habilitada, todos de los siguientes mens no sern habilitados para verse:

Por defecto, el men /File ser mostrado cuando se corre WindowViewer.

A149

Nota: Cuando el men /File es habilitado, el comando WindowMaker ser


desabilitado para prevenir que el operador este cambiando el programa
WindowMaker cuando una llave de desarrollo es instalada.

Por defecto, el men /Logic ser mostrado cuando se corre WindowViewer.


Si este men es habilitado, el operador tendr la habilidad de partir y parar todos los
script que son ejecutados durante runtime.

Habilitando este men permitir al operador acceder a varios comandos


que pueden ser usados para la aplicacin. Esto es recomendado para que este men
solamente sea mostrado cuando sea necesario acceder al comando Debug (paso a paso)
del troubleshooting durante la aplicacin de desarrollo.

Nota ESPECIAL: esto es recomendado para que este men no sea habilitado sin
primero consultar el soporte tcnico de Wanderware.

Por defecto, el men /Special ser mostrado cuando se corre


WindowViewer. Si el men es habilitado, todos los comandos siguiente del men no
sern habilitados para visualizarce:

Por defecto, el men /Special/Security ser accesible cuando se corre


WindowViewer. Si el men es desabilitado, todos los comandos siguiente del men no
sern habilitados para visualizarce:

A150

Seleccione esta opcin para provocar que el men de control sea


mostrado cuando se corre WindowViewer.

Seleccione esta opcin para provocar que el cuadro minimizar


pantalla sea mostrado cuando se corre WindowViewer.

Seleccione esta opcin para provocar que el cuadro maximizar


pantalla sea mostrado cuando se corre WindowViewer.

Seleccione sta opcin para permitir al operador cambiar el tamao


de la visualizacin de WindowViewer. (Este comando no es seleccionable cuando la
barra de ttulo esta oculta).

Entre el ttulo que aparecer en la barra de ttulo cuando se corre


WindowViewer. Ejemplo: Intouch WindowViewer.

Seleccione esta opcin para mostrar el actual directorio de la aplicacin en la


barra de ttulo seguido del ttulo, ejemplo: Intouch WindowViewer c:\DEMOAPP1.

Seleccione esta opcin para que la barra de ttulo no sea mostrada


en WindowViewer.

Seleccione esta opcin para hacer que el programa


WindowViewer sea imposible de cerrar.

A151

Seleccione esta opcin para activar la tecla de


secuencia Ctrl+Break para detener la ejecucin de un script cada vez que sea necesario
durante runtime.

Nota Especial: Si esta opcin es habilitada, el operador ser capaz de parar todos
los script que se estn ejecutando a pesar de toda si o no el men /Logic es
mostrado en WindowViewer. Si el men Logic no es visualizado y los script son
detenidos usando la secuencia de la tecla Ctrl+Break, WindowViewer ser
reseteado para partir ejecutando el script otra vez.

Seleccione sta opcin para desabilitar la tecla ALT y prevenir al


operador de usar el comando acelerador ALT, ejemplo: ALT+FX para salir de la
aplicacin.

Seleccione sta opcin para ocultar el cursor durante runtime.

Seleccione sta opcin para desabilitar la tecla de secuencia


Ctrl+ESC. Esto prev al operador para acceder a la lista de tareas de Windows para
cerrar y/o cambiar de aplicacin.

Nota: Para estar absolutamente seguro de que el operador no tenga la habilidad de


llamar la lista de tareas de Windows, Taskman.exe puede ser borrado del
directorio de Windows.

Seleccione sta opcin para mantener minimizado el programa


WindowViewer para todos los tiempos.

A152

3.30.5.- /Configure/View Home Windows...


Este comando es usado para definir las pantallas que automticamente sern
mostradas cuando parte WindowViewer desde cualquiera de los dos comandos del
programa Manager de Windows /File/Run... o haciendo doble click en el icono
WindowViewer. (Esto no es aplicable cuando se transfiere de WindowViewer a
WindowMaker).
Estas son algunas pantallas que se muestran cuando el comando ShowHome es
usado en un script. Al llamar este comando se accede al cuadro de dilogo Home
Windows For View:

Para seleccionar una pantalla, haga click en ella. Para seleccionar varias
pantallas, haga click en cada nombre de pantalla con el mouse o use la tecla del cursor
de flecha para moverse a cada nombre de pantalla, presionando la barra espaciadora
para seleccionar la pantalla.

También podría gustarte