Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual de Intouch 121207074747 Phpapp01
Manual de Intouch 121207074747 Phpapp01
La primera línea de herramienta es usada para crear objetos gráficos, escribir nombres,
seleccionar objetos, etc. Los cuales pueden ser mostrados o animados en el modo de
trabajo Runtime.
La segunda línea cuenta con la herramienta Wizard. Al seleccionar está
herramienta aparece un cuadro con elementos básicos que se utilizan para hacer
eficiente y rápido la construcción de las pantallas.
Basta con hacer doble click en el objeto seleccionado para que se de la opción de
colocarlo donde se requiera en la creación de la pantalla, también se pueda variar su
tamaño y dar Configuración de acuerdo a lo requerido en la construcción de la pantalla.
A 3
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. Además se incluye una lista de Script que son editores
de lógica, los cuales pueden ser usados por los usuarios. Dependiendo de que Script se
edita, la lógica puede implementarse (Aplicación Script), cuando se selecciona el
comando Script, los Scripts de Lógica son utilizados para crear simulaciones,
contraseña de protección, cálculos de sistemas de variables o cambio de ventanas
debido a los cambios en el proceso de variables, etc. Más adelante se profundizará más
sobre los Scripts.
rápidamente define el tagname. El tercer método es el método externo donde usted usa
el utilitario de Wonderware DB de Basurero y DB carga para transferir la base de datos
desde una aplicación de InTouch a otra aplicación de InTouch.
Si usted escoge el método automático o manual para crear la base de datos,
aparece el cuadro de dialogo "Diccionario - TagName de Definición". En el método
automático el cuadro de dialogo aparecerá una vez que se presiona OK, cuando pide
definir los tagnames, asignando después los vínculos de animación del objeto. Para
acceder al cuadro de diálogo cuando se usa el método manual de creación, primero se
selecciona Special/Tag Name Diccionary.
Details
Seleccione este botón para mostrar el cuadro de diálogo usado para ingresar los
detalles del tipo específico de tag. El inicialmente cuadro de dialogo Díctionary – Tag
Name Definition es usado para ingresar la información básica 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 automáticamente un cuadro de dialogo “Details”
respectivamente. Si el cuadro de diálogo "Details" para la definición del tagname
actualmente mostrado en pantalla no aparece, seleccione Details en la parte superior del
cuadro.
A 8
Alarms
Seleccione este botón para definir la condición de alarma del tagname. Cuando
definimos un tagname análogo (entero o verdadero), el siguiente cuadro de diálogo se
usa para seleccionar tipos de alarmas y entrar sus valores. Los valores de campos
ingresados para cada tipo de alarma no aparecerán hasta que un tipo de alarma sea
habilitado por un click en su respectivo cuadro de chequeo como se muestra más
adelante:
Both
Seleccione este botón para mostrar ambos cuadros de diálogos details y alarms
simultáneamente. El siguiente es un ejemplo como la pantalla se verá cuando un
tagname "Memoria Real" está siendo definido y este botón se selecciona:
A 9
None
Seleccione este botón para remover el cuadro de diálogo details y/o alarms
desde la pantalla.
Tag Name:
Ingrese el nuevo tagname en este campo. Los Tagnames pueden ser hasta un
largo de 32 caracteres y el primer carácter debe ser A-Z o a-z y puede seguirse con A-
Z, a-z, 0-9,! ¿, Q, -,? , #, $ , %, _ y &.
Comment: Los Comentarios son opcionales, pero pueden ser mostrados en una
Ventana de Alarma.
Ingrese cualquier información opcional para documentar el tagname en este
campo (hasta 50 - caracteres). (Estos comentarios pueden mostrarse en ventanas de
alarmas.)
Hacer click sobre este botón para acceder al Escoger tipo de Tag..., el
cuadro de diálogo selecciona el tipo de tagname:
Hacer click sobre este botón para acceder al cuadro de diálogo Escoger
Grupo de Alarmas... para asignar el tagname a un grupo de alarmas específico o crear
un nuevo grupo de alarma.
Read only
Seleccione este botón para restringir a WindowViewer para que solamente sea
capaz de leer el valor del tagname.
Read Write
Seleccione este botón para permitir a WindowViewer leer/escribir de/desde el
valor del tagname.
A 11
Log Data
Registra automáticamente el tagname en el archivo Histórical Log cada vez que
sus valores de unidades de ingeniería cambien, más el valor del Registro
especificado Deadband.
Retentive Value
Esta opción 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 varía 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.
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 cálculos del punto flotante se realizan con 64 bit
de resolución, 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.
Todos los tagnames que leen o escriben sus valores hacia o desde otro programa
de Wíndows 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
Dynámic Data Exchange (DDE) de Microsoft. Cuando el valor del tagname DDE de
lectura/escritura cambia, éste es inmediatamente escrito en la aplicación remota por
medio de DDE. El tagname también puede ser actualizado desde la aplicación remota
cuando el item al cual el tagname es vinculados cambia a la aplicación remota. Por
defecto Leer / Escribir es un conjunto de todos los tagnames DDE. Sin embargo, ellos
pueden restringirse para Leer solamente al seleccionar el botón Read Only en el cuadro
de diálogo 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 cálculos del punto flotante se realizan con 64 bit
de resolución, 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.
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 dinámicamente los registros. Las ventanas de alarmas o registros de
alarmas pueden configurarse para mostrar todas las alarmas asociadas con un Group
Var. Mediante asignación un grupo de Alarma diferente al nombre del Grupo de
Variable, la selección de alarmas a mostrar o a registrar puede ser controlada. Un
tagname de Group Var puede usarse para crear un botón 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
Histórico de Tendencia. Cuando configuramos un mapa Histórico de Tendencia,
InTouch requiere que un tipo de tagname HistTrend sea asignado a un gráfico.
Tag ID
Este tipo de tag es usado para obtener información sobre los tagnames que están
siendo registrados en un mapa de Tendencia Histórica. El uso más común es mostrar el
nombre del Tagname de la tendencia. Por ejemplo, Pen4 de un mapa Histórico 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.
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 también se pueden modificar.
Esto les permite tomar su última asignación de tagname en la partida.
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 botón Convert se removerá
automáticamente 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 aplicación, el siguiente cuadro de mensaje
aparecerá verificando la creación del nuevo tagname:
Este cuadro de diálogo se usa para seleccionar el Link (s) deseado (s) para el
objeto, haciendo click sobre el botón con el nombre del links. Haciendo Click sobre el
cuadro de chequeo, solamente selecciona o deshabita el links. Haciendo Click sobre el
botón del nombre del links selecciona y permite que aparezca el específico cuadro de
diálogo de definición de detalle para el links.
Touch Links
Touch Link convierte cualquier objeto o símbolo en un botón
de acción. Un botón de acción puede ser activado al presionar el
botón 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 continuación.
Vinculo de Colores
Los vínculos de Colores permiten la animación de atributos de color de línea,
llenado, y/o texto de un objeto. Cada uno de estos atributos pueden ser creados
dinámicamente al definir un color vinculado al atributo. El atributo de color puede
vincularse al valor de una expresión discreta, expresión análoga, condición discreta de
alarma o condición análoga de alarma.
A 21
Vínculos de Localización
Este vinculo se usa para hacer que un objeto se mueva
horizontalmente, verticalmente, o en ambas direcciones
automáticamente con respecto a cambios en el valor de una expresión.
A 22
Vínculos Misceláneos
Existen cuatro vínculos misceláneos, Visibility, Blink,
Orientation y Disable. Los vínculos de visibilidad controlan la
visualización de un objeto dependiendo del valor de un
tagname discreto o expresión. Este vinculo puede usarse para
hacer que aparezcan y desaparezcan objetos. Los vínculos Blink proveen la capacidad
para hacer que un objeto parpadee de acuerdo al valor de un tagname discreto o
expresión. (Cada uno de los atributos de color del texto, Línea y relleno pueden ser
seleccionado para que un objeto parpadee). Los vínculos de orientación proveen la
capacidad para hacer que un objeto gire sobre un eje especificado de acuerdo al valor de
un tagname o expresión. El vinculo Disable provee la capacidad de impedir a un
usuario particular o un grupo de usuarios tener acceso a presionar un botón en particular
si sus AccessLevel no es lo suficientemente alto por ejemplo (si el vinculo disable es
verdadero, el texto sobre el botón 3-d no se destacará indicando que esta desabilitado).
3.4.- /Special/Security
Los comandos de seguridad de este menú son usados para iniciar y cerrar la
aplicación, cambiar passwords o contraseñas y para configurar la lista de usuarios,
passwords y niveles de acceso. Cuando este comando es seleccionado aparece un menú
secundario de comandos:
3.5.- Development!
Scripts de Teclas
Scripts de Condiciones
Scripts de Cambio de Datos
Scripts de Accionamiento de Botones (Touch Pushbotton)
Nota: El valor para la condición debe pasar a la transición 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.
ResultNumericTag= Abs(InputNumericTag);
Esta función puede ser usada en un botón para reconocer cualquier alarma
desconocida. Esta función 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 algún
Grupo de Alarma asignado a él.) Ejemplo:
A 38
“Title Text” es la palabra o texto exacto, incluyendo espacios, que aparece en la Lista de
Tareas.
Ejemplo:
ActivateApp “Microsoft Excel”;
Ejemplo:
ArcSin (1) estregará el valor 90
ArcSin(-1) entregará el valor -90
el valor de Discrete es 0(False, Off, No). (Los mensajes de estado On y off deben estar
entre comillas)
Status=FileCopy(“C:\*.TXT”, “C:\BACKUP”,“Monitor”);
Status=FileDelete(“C:\DATA.TXT”)
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 parámetro 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 función FileMove() es usada, ésta automáticamente arroja un valor 1 si el
procedimiento fue iniciado exitosamente. 0 si existe otro procedimiento en ejecución(el
nuevo procedimiento no podrá ser inicializado) ó 1 si existe un error. Usando estos
valores, la inicialización 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 operación de InTouch.
MonitorTag - permite que el progreso de copiado sea monitoreado por una aplicación 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
Nota: También 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”);
Esta función lee variables separadas por coma, Comma Separated Variable
(CSV) de un archivo específico.
FieldReadFields(Filename,BytePosition,Tagname,NumberOfFields);
donde:
Filename especifica el archivo donde se leerán los campos.
BytePosition especifica la posición 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 número(ej. :MyTag1). Este parámetro 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 número de campos a leer (el número de campos
separados por coma en cada registro del archivo).
Si el Tagname es “MyTag1” y NumberOfFields es 3, entonces hay 3 campos
leídos 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 línea de C:\DATA\FILE.TXT es: This is text, 3.1416,5
El siguiente script leerá esta línea 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 función toma el nuevo valor de Byte position después 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)
FileReadMessage(Filename,BytePosition,MessageTag,ByteCount);
donde:
Filename especifica el archivo desde donde se leerá.
BytePosition especifica la posición en el archivo para comenzar a leer.
A 45
La función toma el nuevo byteposition después de la lectura. Este valor se puede usar
como el BytePosition para la próxima lectura.
FileWriteFields(“C:\DATA\FILE.TXT”,0,“MyTag”,3);
La función toma el nuevo valor del byte de posición después de la escritura. Este valor
se puede usar como el BytePosition para la próxima 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 función puede ser usada en un script para obtener el nombre de un nodo
NetDDE a una variable de caracteres. Formato válido:
GetNodeName(messagetagname, 131);
Cuando este script se ejecuta, la función GetNodeName() leerá el nombre del nodo local
y lo registrará en el messagetagname. (El número 131 establece la longitud del caracter
para el tagname de mensaje.)
Nota: Esta función se ejecuta sólo si se está ejecutando NetDDE.
Esta función 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. También, si el
nombre de la ventana es usado en un script de cambios, ésta también será cambiada en
esta instrucción.
Nota: Si el script es solamente para mostrar u ocultar pantallas, se recomienda
usar el botón Touch Pushbotton que vincula Show Window o Hide Windows en
vez de esta función. Si esos botones son usados y cambia el nombre de la ventana,
Intouch hará el cambio en el vínculo.
A 48
Esta función crea un botón genérico para ocultar a través de una aplicación
para ocultar la actual ventana activa.
Ejemplo:
HideSelf;
Esta función es usada para determinar si hubo algún error durante la última
recuperación de escritura. Ejemplo:
0= Sin Error.
1=Error General del Servidor
2=Reuqerimiento Antiguo
3=Error de Archivo
4=Servidor no Cargado.
5= Tendencia/Escritura en la Función no Existe
6=Nombre del Tag de Tendencia no existe en la Base de Datos
7=Número de Escritura en la función es Inválida (fuera del rango 1 a 4)
A 49
Ejemplo:
ResulCode=HTLastError(“Trend1.UpdateCount, Pen3);
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 función retorna el tiempo en segundos desde 00:00:00 hrs. GMT, January
1, 1970 para el muestreo en la ubicación del scooter especificado por Scooter# y
ScooterLocation. UpdateCount, Scooter#, y ScooterLocation permiten evaluar la
expresión ser evaluada cuando alguno de estos parámetros cambian. Esto asegura que la
expresión es evaluada después de nuevos restablecimientos o desplazamientos del
scooter.
A 50
Esta función restablece el tiempo en segundos por el valor a la posición del scooter
actual para el scooter izquierdo de la tendencia etiquetada Trend1.
Esta función toma un valor del tipo requerido para la tendencia completa de un
Pen especificado. El parámetro UpdateCount causará que la expresión sea evaluada
después que una recuperación 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 número de escritura (1-4),
ValueType es una cadena que indica el tipo de valor. Este ValueType puede ser uno de
los siguientes:
Esta función obtendrá la desviación standard para el dato capturado para las tendencias
Trend1, Pen2. El valor es almacenado en el tag de memoria real LeftHemisphereSD.
Esta función entrega del tipo requerido para el muestreo en la posición del
scooter, tendencia y pen# especificados. El parámetro UpdateCount permite que la
expresión sea evaluada después de un restablecimiento completo.
Esta función retorna un valor del tipo requerido para el dato contenido entre las
posiciones del scooter derecho y el izquierdo para un escrito específico de la tendencia.
El parámetro UpdateCount permitirá que la expresión sea calculada después de un
restablecimiento completo.
Esta instrucción 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 instrucción 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 gráfico 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 número real representando el porcentaje del gráfico a desplegar (0.0 a
100.0). Ejemplo:
HTScrollLeft(“Trend”, 10.0);
Esta instrucción 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(después que la
función es ejecutada).
HTScrollRight(TrendName, Percent)
donde:
A 55
Esta instrucción 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 (después que la
función es ejecutada).
Esta función 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 gráfico.
HTUpdateToCurrentTime(TrendName)
donde:
TrendName es un tag HistTrend correspondiente al nombre de la tendencia.
A 56
Ejemplo:
HTUpdateToCurrentTime(“Trend1”);
Esta instrucción recupera y muestra el dato para el tag histórico “Trend1” a la hora
exacta. Si fueran las 3:04 PM y el ancho de la tendencia es 60 segundos, la nueva hora
de término será 3:04 PM. La nueva hora de inicio será 3:03 PM.
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 están al final, el nuevo ancho del gráfico es
el tiempo entre ScooterPosLeft y ScooterPosRight. En ese caso, el valor de LockString
no se usa. El ancho mínimo del gráfico es 1 segundo. Las posiciones de los scooters
serán para ScooterPosLeft=0.0 y para ScooterPosRight=1 después del zoom.
Ejemplo:
HTZoomIn(“Trend1”, “StartTime”);
A 57
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.
ResulDiscrete=InfoAppActive(TaskListname);
El título para una aplicación en particular puede ser determinado usando la función
InfoAppTitle.
Ejemplos:
InfoAppActive(“Microsoft Excel”) será 1 (si se está ejecutando)
InfoAppActive(“Calculator”) será 0 (si no se está ejecutando)
En esta instrucción, la información acerca del disco especificado por la letra del
DriveLetter es asignada a ResultInteger. InfoType determina la información deseada en
particular:
Case1: Entrega el tamaño total del disco (en bytes).
Case2: Entrega el espacio disponible en el disco (en bytes).
Trigger ejecutará la función 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)
Nota: Trigger puede ser algún tagname (no está limitado a un sistema de
variables).
Nota: Así como en otras funciones se usan caracteres simples, si el tag message
contiene más de una letra y es usado en InfoDisk (como DriveLetter), sólo el
primer caracter del tag será considerado.
Nota: Trigger puede ser cualquier tagname (no está limitado a variables del
sistema).
ResultMessage=InfoInTouchAppDir();
ResultInteger=InfoResources(ResourceType, Trigger);
A 61
Nota: Trigger puede ser cualquier tagname (no está limitado a variables del
sistema).
Esta función retorna el próximo entero menor o igual a un número específico.
ResultNumericTag=Int(InputNumericTag)
Cuando se ingresan números reales negativo, esta función retorna el entero más alejado
del cero.
Ejemplos:
Int(4.7) será 4
Int(-4.7) será -5
A 62
ResultNumericTag=Log(InputNumericTag)
Ejemplos:
Log(100) será 4.605...
Log(1) será 0
Log(0) es indeterminado.
LogMessage(Message);
ResultNumericTag=Log(InputNumericTag, BaseNumericTag)
Ejemplos:
LogN(8,3) será 1.89279...
LogN(3,7) será 0.564...
Base 1 es indeterminado.
A 63
Esta función toca una música o sonido especificado por un archivo .wav o una
entrada en la sección [sounds] del archivo WIN.INI mediante el dispositivo de sonidos
(si está instalado).
Ejemplo:
PlaySound(“c:\horns.wav”, 1);
Nota especial: El sonido debe estar en la memoria física disponible y ser ejecutado
en una unidad de sonido instalada. Los directorios en donde se buscan los archivos
de sonido están 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 sección [sounds] del archivo WIN.INI Si no existe el sonido
por defecto o no es encontrado, la función no se escuchará.
Esta función crea un botón para ser usado en la impresión del gráfico Historical
Trend asociado con el tagname HistTrend específico. La Tendencia Histórica debe estar
visible cuando se usa esta función.
Ejemplo:
PrintHT(HistTrend1);
A 64
Esta función es usada para imprimir una ventana. Al usar esta función muchos
reportes pueden ser encolados. Cuando se selecciona esta función, 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 línea al archivo INTOUCH.INI:
PrintWindowWait=10000
Las fuentes son impresas como fuentes, los objetos se imprimen como mapas
de bits. Las ventanas con fondo blanco que contienen sólo letras se imprimen
rápidamente. 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 número con punto flotante en pulgadas correspondiente al margen izquierdo.
top número con punto flotante en pulgadas correspondiente al margen superior.
width número con punto flotante en pulgadas que establece el ancho que no se imprime.
Este por defecto puede ser 0, o puede tener un ancho específico.
height número con punto flotante en pulgadas que establece el largo que no se imprime.
Este por defecto puede ser 0, o puede tener un ancho específico.
options puede ser 0 ó 1 y sólo se usan si width y height están en 0. Si options está en 1,
la ventana se imprime con el aspecto de la razón del largo que es un entero múltiplo del
tamaño de la ventana. Si options está en 0, la ventana se imprime con el aspecto más
amplio que se ajuste a la página.
A 65
Nota: Si la ventana contiene mapas de bits, options debe estar en 1 para evitar
imágenes angostas.
El siguiente ejemplo de Script de Condición podría imprimir 3 páginas de
reporte cada día 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);
ResultNumericTag=Round(InputNumericTag, Precision);
Esta función activa teclas para otra aplicación. En la otra aplicación, las teclas
aparecerán como si se hubiesen ingresado desde el teclado mismo. Esta capacidad
puede ser usada para ingresar datos a la aplicación como también comandos a ella. La
mayoría de las teclas del teclado pueden usadas en el SendKeys. Cada tecla se
representa por uno o más caracteres tal como la A es para la letra A o {Enter} para la
tecla Enter. Para especificar más de una tecla, se debe concatenar los códigos 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 válidas 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}
* Igual con las demás teclas de función UP {UP}
Para especificar que las teclas Shift, Ctrl y/o Alt sean presionadas mientras otra tecla lo
está, la otra tecla debe estar en minúsculas y entre paréntesis.
Ejemplo:
Sendkeys”^(p)”;
Si dos de esas teclas son usadas juntas, se utiliza un segundo par de paréntesis. 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
aplicación respectiva.
ResulNumericTag=Sgn(InputnumericTag);
A 68
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 instrucción.
También, si el nombre de la ventana cambia, el script también debe ser cambiado.
ShowAt(“WindowName”, 100,200);
Para determinar la ubicación de los pixel en un objeto, los tagnames internos $ObjHorz
y $ObjVer pueden ser asignados a vínculos de salidas análogas que mostrará las
posiciones del objeto seleccionado actualmente. Una ventana puede ser creada para
aparecer centrado sobre un objeto o botón usando los tagnames $ObjHorz y $ObjVer en
un script vinculado al objeto o botón.
Ejemplo:
ShowAt(“WindowName”, $ObjHor, $ObjVer);
Esta función muestra la(s) ventana(s) “home”. Las ventanas “Home” son
configuradas a través del comando /Special/Configure... /View Home Windows...
Ejemplo:
ShowHome;
ResulNumericTag=Sin(InputNumericTag)
Ejemplos:
Sin(90) será 1
Sin(0) será 0
StartApp”AplicationName”{“DocumentName”};
StartApp”Excel.exe”;
A 71
Esta instrucción ejecutará Excel.exe y la hoja de cálculo por defecto será Sheet1.
Aunque no es un requerimiento, es recomendable incluir la extensión.exe en el nombre
del programa o aplicación.
En esta instrucción, 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
MessageTag=StringChar(IntegerTag);
Convierte un valor del tiempo (en segundos desde Jan 01-1970) a una
representación particular.
ResultMessage=StringFromTime(TimeValue, StringType);
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
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”
IntegerTag=StringLen(MessageTag);
Esta función 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á extraído
del tag de mensaje. StartInteger especifica la posición del primer caracter a extraer.
SpanInteger el número 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”
Usando esta instrucción se pueden cambiar caracteres, palabras o frases con tag
de string. Los parámetros 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 número de ocurrencia a reemplazar (-1=todas)
MatchWholeWord determina si la función 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”
(sólo se reemplaza el primer caracter encontrado).
A 77
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”
MessageTag=StringSpace(IntegerTag);
En esta instrucción, 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”
Como en las otras funciones, sólo es chequeado el primer caracter cuando el StringTest
contiene más de un caracter.
Ejemplos:
StringTest(“ACB123”, 1) será 1
StringTest(“ACB123”, 5) será 0
A 79
ResultMessage=StringTrim(MessageTag, IntegerCode);
Nota: En estos ejemplos los espacios en blanco son representados por “x”.
Nota: La función StringReplace() puede ser usada para remover TODOS los
espacios de un tag de mensaje específico. Simplemente reemplazar todos los
espacios con un caracter nulo.
ResultMessage=StringUpper(MessageTag);
A 81
ResulNumericTYag=Tan(InputNumericTag)
Ejemplos:
Tan(45) será 1
Tan(0) será 0
Esta función trunca un número real eliminando la parte a la derecha del punto
decimal.
ResultNumericTag=Trunc(InputnumericTag)
WWControl(TaskListname, ControlAction);
Ejemplos:
WWControl(“Calculator”,”Restore”);
WWControl(“Microsoft Excel”, “Close”);
A 83
Macro= “Macro1!TestMacro”;
Command=“¨[Run(“+StringChar(34) + Macro + StringChar(34) + “0) “;
WWExecute(“excel”, system”, Command);
WWExecute(“MSAccess”, “system”,”MyMacro);
Está función envía un valor usando un DDE Poke a una Aplicación, Topic, e
Item específicos.
WWPoke(Application, Topic, Item, ValueMessageTag);
A 84
Esta función realiza un requerimiento de una vez por un valor (usando DDE
Request) de una Application, Topic e Item.
En esta instrucción 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 número 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);
$AccessLevel=>2000;
Nota: La funcionalidad de tocar objetos puede ser también basado en valor del
$AccessLevel usado en una expresión para un objeto, botón, etc., que es asignado
al vínculo de animación “Disable”.
cuadro de diálogo Configure Users para editar la lista de usuarios de seguridad. (Una
vez que el cuadro desaparece, el sistema automáticamente deja el valor en 0).
Nota Especial: El tiempo para los dos últimos tagnames explicados es establecido
en el menú /Special/Configure... /View Generic al ingresar el número de segundos
en los siguientes campos.
para alertar al operador sobre la nueva condición de alarma. Un botón puede ser creado
para permitir resetear este valor en 0.
IF $Operator==“DayShift” THEN
Show “Control Panel Window”;
ENDIF
banda muerta para las alarmas de mayor y menor desviación. Por ejemplo, para cambiar
el porcentaje de desviación a 25%, se puede usar la siguiente instrucción:
Tagname.AlarmDevDeadband=25
Tagname.AlarmValDeadband=10;
campos son validos sólo para tags enteros o reales. (También se aplica a .HiLimit,
.LoLimit y .LoLoLimit)
Ejemplo:
RealTag.LoLoLimit
IntegerTag.ROCPct
Son .Field de tagname discreto sólo de lectura usados para determinar cuando existe una
alarma de un tipo específico. Por ejemplo:
Tagname.Comment
HistTrendChart.DisplayMode=2
Las entradas son:
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 podría ser
creado por HistTrendTag.Pen1 como sigue:
Pen01 = HistTrendTag.Pen1;
IndirectAnalogTag.Name = Pen01.Name;
Los vínculos Analog Output pueden ser entonces creados y vinculados a las siguientes
instrucciones para mostrar los Eus ( Unidades de Ingeniería) mínimo o máximo de
acuerdo con el tagname que está siendo dirigido:
IndirectAnalogTag.MinEU;
IndirectAnalogTag.MaxEU;
El siguiente ejemplo muestra como usar el bit fields dentro de una expresión:
Temperature.08==1;
A100
o, dentro de un script:
IF Temperature.29 THEN
Temperature.29=0;
ENDIF;
Ejemplos de IF-THEN-ELSE
Nota: Cada IF debe tener un ENDIF y un punto y coma debe terminar cada línea
de instrucción.
A101
Por ejemplo, crear un objeto que se haga visible basado en el registro en usuario
nivel de acceso, el siguiente estamento puede ser usado:
cerradamente y/o registradas. Una solución a esto son los vínculos de variables de
alarmas. La mayoría 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 más. Los tipos de alarmas de apoyos para
variables análogas son: LowLow, Low, High, HigHigh, RateOfChange, Minor
Deviation, y Major Deviation. Además, una variable discreta puede ser una alarma
definida para uno de estos conocidos estados.
Estos campos de alarma pueden ser usados por un control dinámicamente y/o
monitor de varias condiciones de alarmas. Por ejemplo un pushbutton es quizás 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 información de
alarma especifica usando otras aplicaciones de Windows, ejemplo, Excel o una
aplicación View remota. (Usando NetDDE).
2.- Hacer click en el botón 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 selección del grupo de
alarma. Para seleccionar otro Parent Group, hacer click en el botón 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 botón 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.
En una ventana de alarma histórica, 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 además de mostrar
alarmas de redes.
selección de color para elegir el color del objeto Alarm/Events mostrado en la barra de
título.
Hacer click en el cuadro coloreado para seleccionar el color para la
columna en la barra de título.
Hacer click en el cuadro coloreado para seleccionar el color de
fondo de pantalla.
Nota: La selección 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 configuración maestro/esclavo, seleccione Server para mostrar
una lista de Alarm/Events para el nodo servidor. (El nodo servidor es especificado vía el
comando /Special/Configure/View Generic.)
A109
Entre el nivel alto de alarma para el rango de prioridades que serán visualizadas
en el objeto alarma. Un tagname análogo puede ser ingresado en este campo. El valor
del tagname esta determinando la prioridad del nivel para ser mostrados. La prioridad
de los números de alarma para ser visualizado puede estar controlados por asignaciones
de valores para estos tagnames a través de un vinculo de entrada análoga o script.
Entre un tagname discreto que será usado para mostrar la pagina a través de la
lista de mensajes de alarma (sí hay más del numero que permite la pantalla). Cuando el
valor de la transición 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 automáticamente 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 acción 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 también usado en el pushbutton de valor
discreto para ocultar el botón 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 función Next Page (siguiente
pagina).
Hacer click sobre este botón para seleccionar el comando Font, este
estilo y tamaño se usa para mostrar el mensaje en el objeto visualizado Alarm/Events.
Al llamar este comando se accede al cuadro de dialogo FONT:
3.19.- Alarm/Events
Hacer click en este botón para configurar varios parámetros que
afectan a Alarm/Events. El cuadro de dialogo Alarm/Events Configuration aparecerá:
A112
92043006.ALG
92043014.ALG
92043022.ALG
A113
Nota: Cuando se ingresa 0 (cero) para el día, el archivo de registro será guardado
indefinidamente.
Tagname.Ack=1;
GroupName.Ack=1;
GroupVariable.Ack=1;
Tagname.AlarmDevDeadband=25;
IntergeTag.ROCPct
.Ack (0/1)
.Alarm (0/1) Lee solamente
.AlarmEnable (0/1)
Los siguientes campos de alarmas son aplicables para tagnames reales o enteros
solamente:
.AlarmDevDeadband
.AlarmValDeadband
.HiHiLimit
.HiHiStatus (0/1) Solamente lectura
.HiLimit
.HiStatus (0/1) Solamente lectura
A118
.LoLimit
.LoStatus (0/1) Solamente lectura
.LoLoLimit
.LoLoStatus (0/1) Solamente lectura
.DevTarget
.MajorDevPct
.MajorDevStatus (0/1) Solamente lectura
.MinorDevPct
.MinorDevStatus (0/1) Solamente lectura
.ROCPct
.ROCStatus (0/1) Solamente lectura
Temperature.HiHiStatus==1;
O dentro de un script
IF Temperature.HiHiStatus THEN
Temperature.AlarmValDeadband=3;
ENDIF;
Nota: La tendencia en tiempo real del objeto es vinculada a algún otro objeto. Esto
puede ser movido agarrando del centro con el mouse o redimencionado al agarrar
uno de las esquinas circundantes.
Nota: para puntos decimales se muestra una runtime para el valor mínimo y
máximo ello se hace entrando en los cuadros Mín y Máx.
A122
El objeto de tendencia histórica es vinculado a algún otro objeto. Esto puede ser
movido agarrando del centro con el mouse o esto puede ser redimencionado agarrando
una de las esquinas del objeto.
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 gráfico histórico. Sin embargo,
múltiples gráficos pueden usar el mismo nombre.
Nota: Varias de estas configuraciones ingresadas son las mismas que se discutieron
en la configuración de tendencia de tiempo real.
A126
Estos campos de rangos setean el valor inicial para el rango de la tendencia. Las
unidades para rango Mín/Máx. son un porcentaje de la escala de unidad de ingeniería.
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 expresión es útil en la creación personalizada de pantallas para mostrar
tagnames con muchos rangos diferentes. El color de cada anotación de tendencia se
muestra en el cuadro coloreado y al hacer click sobre éste cuadro se selecciona un color
nuevo. El ancho de la anotación también puede ser configurado en un cuadro de ingreso
de ancho. Al seleccionar un ancho más grande que una significancia influye en la
presentación.
Nota Especial: Una vez completada la configuración, la opción de habilitar la
anotación se hará valida vía el comando Special/Configure...Historical Logging.
Para un control dinámico la partida/parada del registro histórico 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.
Para más detalles sobre algunos de las funciones de arriba, vea la sección
Historical Function de éste capítulo.
A128
1 Mín/Máx.
2 Average/Scatter
3 Average/Bar Chart.
el largo de las líneas que serán dibujadas para generar el gráfico. El largo de las líneas,
es tomado para generar el gráfico. El ancho de la línea es también factor de
presentación, el ancho de las líneas toma un significado grande para el gráfico. Los
gráficos Mín/Máx. o Average/Scatter son generalmente mucho más rápido 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
serán 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 mínimo y
máximo en el campo de rango respectivamente.
Nota: Solamente estos tags son opción de datos de registros que serán habilitados
en el diccionario de datos de tagname siendo mostrado en este cuadro de diálogo.
agrega dos ítems a este menú durante la impresión: CancelPrint y X % Done. Haciendo
click en CancelPrint para cancelar la actual impresión.
Un botón pushbutton puede también ser creado para imprimir la tendencia
histórica para ser usada en la acción interna del script de la función PrintHT. Lo
siguiente es una entrada en la acción script para el pushbutton:
PrintHT(HistTrendTagname);
92043000.LOG
A133
Nota: Los registros históricos pueden ser activados y detenidos durante runtime
siendo vinculado al tagname del sistema interno $Historical Logging para un
botón de toque o script. Además, si el computador queda sin espacio en el disco
para registro de archivos históricos, el operador creara espacio libre en el disco
llamando al comando Special/Restart Historical Logger en WindowViewer para
continuar registrando.
Seleccione esta opción para causar que los datos histórico sean registrados en el
directorio de la aplicación.
Entre el número de valor de días (prioridad el actual día) del archivo de registro
histórico para ser retenido en el disco. Por ejemplo, si se ingresa 10 y es el día 12 del
mes, el archivo de registro del día 2 hasta el día 12 serán archivados y el día 1 será
automáticamente borrado.
HistTrendTag.Pen1= Temperature.TagID;
Pen01 = HistTrendTag.Pen1;
Pen01 = HistTrendTag.Pen1;
IndirectAnalogTag.Name = Pen01.Name;
Los vínculos Analog Output pueden ser entonces creados y vinculados a las
siguientes instrucciones para mostrar los Eus ( Unidades de Ingeniería) mínimo o
máximo de acuerdo con el tagname que está siendo dirigido:
IndirectAnalogTag.MinEU;
IndirectAnalogTag.MaxEU;
HisTrendTag.Update Trend = 1;
archivo de registro histórico será actualizado con el dato para este día. La especificación
de tiempo para cada muestra de dato puede ser de 1 milisegundo de resolución.
3.30.1.- /Special/Configure
Este comando es usado para acceder al cuadro de diálogo Intouch Configuration:
A141
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 diálogo:
Seleccione esta opción para hacer que el actual directorio de la aplicación sea
mostrado siguiendo el título en la barra de título. Por ejemplo:
Estas dos opciones son usadas para configurar la grid. Entre el número de
pixeles para ser espaciado entre la coordenada del grid. Para hacer visible la grid,
habilitar Show Grid.
unidas para hacer un cuerpo alrededor de otro objeto, con esta opción habilitada, uno
será capaz de meter el objeto dentro del cuerpo sin hacer que el cuerpo quede atrás de
este objeto.
Nota ESPECIAL: esto es recomendado para que este menú no sea habilitado sin
primero consultar el soporte técnico de Wanderware.
Nota Especial: Si esta opción es habilitada, el operador será capaz de parar todos
los script que se están 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.
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.