Está en la página 1de 98

Lección 1: Aprendiendo a Usar Infilink

General
Si Usted necesita ayuda, Gracias por hacer de Infilink su elección en Programa HMI. Infilink
puede encontrar las ha sido diseñado para brindar al usuario, el máximo de beneficios
lecciones completas en
el directorio Infilink con una mínima cantidad de esfuerzo
\lecciones.
Estas lecciones son Esta lección y las siguientes están diseñadas para guiarlo en el
provistas para entregarle
una referencia de cómo proceso de crear un proyecto con Infilink. Las lecciones se pondrán
debe verse el proyecto más complejas conforme a su avance. Algunas lecciones, como
cuando es completada.
ésta, están diseñadas para enseñarle sobre las partes de Infilink.
En cualquier momento puede avanzar a otra lección o saltarse una
lección completa.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 21


Objetivo de la Lección
Esta lección está diseñada para entregarle un conocimiento básico
de como navegar con Infilink. Cuando la complete, usted estará
capacitado para:
? Crear un nuevo proyecto.
? Agregar/Dibujar objetos en una ventana del proyecto
usando la barra de herramientas o el menú principal.
? Editar objetos usando el menú principal, menú abreviado
o barra de herramientas.
? Guardar un Proyecto

Si usted siente que ya conoce como navegar en Infilink, favor


siéntase libre de ir a la lección 2.

Así se debe ver su


proyecto al término de
esta lección.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 22


Creando un Proyecto
1. Abra el Modo de Diseño de Infilink.

2. Haga Click en Cancelar en el cuadro de diálogo de Abrir


Proyecto

Cuadro de diálogo que


muestra al Abrir
Proyecto cuando es
iniciado el Modo Diseño
de Infilink.

3. Haga Click en Nuevo .

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 23


4. El cuadro de diálogo Nuevo Proyecto se abrirá. Digite un
nombre de proyecto en el directorio a crear, le sugerimos usar
“Leccion1”. Haga click en Crear para aceptar los datos y crear
el proyecto.

5. Cuando el sistema solicite verificar el nombre y directorio, haga


click en Si es correcto. En caso contrario, haga click en No y
repita el paso 3.

6. El Modo Diseño partirá con una ventana creada por defecto.


Abra el cuadro de diálogo de Propiedades de Ventana haciendo
click en Propiedades en el menú Ventana. Deje “Win001” como
nombre de ventana y escriba “Dibujando y Editando” como título.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 24


Win001 es el
nombre de objeto
generado por el
sistema para la
primera ventana
en un proyecto. Se
puede cambiar
este nombre en
cualquier
momento.
Generalmente se
dará un nombre
que esté
relacionado con su
aplicación Ej:
Principal ó Sala de
Bombas N°1.
El texto del Titulo
aparecerá en la
barra de Titulo de
la ventana del
proyecto.
Muestra cuando el
proyecto se inicia
en Modo
Ejecución, cuando
se revisa, al abrir
ventanas, y cada
vez que el
proyecto se abra
en Modo
Ejecución.
7. Click en Mostrar cuando el proyecto se inicie en modo
ejecución, luego click Aceptar para crear la ventana.

8. Se dispone de una grilla para ayudar la disposición y alineación


de objetos en la ventana. Si no está activada, click en el menú
Ver y seleccione Grilla o click el botón en la barra de
herramientas. Cuando los objetos son dibujados ó
redimensionados, se alinearán con los puntos de la malla.
9. Para hacer más claras las imágenes de Texto se ha elegido que
el color de la ventana sea blanco. Si desea cambiar este color,
click el botón en la barra de herramientas y seleccione el
color deseado de la paleta desplegada.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 25


Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 26
La Importancia de las Propiedades del Objeto

Acerca de las Propiedades de Objetos

Los objetos sin nombre Cada objeto tiene propiedades que pueden ser modificadas en el
serán referidos como Modo Diseño y en Modo Ejecución. Las diferencias en los cuadros
"Sin Nombre" en la barra
de estado, y en los de diálogos para cada objeto son muy numerosas para explicarlas
mensajes de error de en una lección. Pueden ser investigadas por su cuenta una vez que
compilación
se haya aprendido como crear cada objeto y a modificar sus
propiedades.

Las propiedades comunes a cada objeto son: el nombre, tamaño y


posición. Generalmente se utilizará el mouse para modificar el
tamaño ó posición de un objeto. Sin embargo, se debe utilizar el
Un proyecto Infilink no se cuadro de diálogo de las propiedades de objeto para cambiar su
ejecutará si contiene nombre.
errores.

Nombre del Objeto


Al crear objetos, es muy importante considerar un nombre único a
un objeto que va a ser animado. Se podría tener diez ó veinte
objetos agrupados para similar un panel y tener solo uno animado.
Nombrar ese objeto permitirá saber inmediatamente cuando lo haya
seleccionado, mirando su nombre en la barra de estado.

Para referenciar las propiedades de un objeto en Modo Ejecución


utilizando un script, se deberá poder especificar ese objeto por el
nombre.

Al grabar un proyecto, aparecerán mensajes en el registrador de


eventos, si hubiese errores en los scripts ó animaciones. Estos
mensajes indicarán los objetos por su nombre además del tipo de
error ocurrido.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 27


Una oportunidad para Practicar
Ahora se tendrá una oportunidad para agregar algunos objetos a
nuestro proyecto y aprender a manipularlos. Siéntase libre para
desviarse de la lección, la idea es ayudarle a que se sienta cómodo
utilizando Infilink
Si comete un error al
dibujar un objeto, puede
seleccionar Deshacer Dibuje y coloque Rectángulo de bordes redondeados.
desde el menú Edición ó Primero, colocar la figura en la esquina superior izquierda de la
seleccionar el objeto y
oprimir la tecla DEL ventana de su proyecto.
para removerlo.
1. Click el botón en la barra de herramientas.

2. Coloque el cursor lápiz en la esquina superior izquierda de la


ventana del proyecto.

3. Manteniendo apretado el botó n izquierdo del mouse, arrastre el


cursor hacia abajo creando un cuadro, suelte el botón del mouse
una vez que termine.

4. Mientras el objeto se mantiene seleccionado, oprima el botón


derecho del mouse y haga click en Propiedades.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 28


5. Digite “Rectangulo_Redondeado” en el campo Nombre del
cuadro de dialogo Propiedades.

Note que el nombre del


objeto cambió de “Sin
Nombre” a
“Rectangulo_Redondead
o” en la barra de estado.

6. El Tabulador Geometría permite cambiar la forma de las


esquinas. Cambiando ambos números a 0, hará de un
rectángulo con esquinas redondeadas a un cuadrado perfecto.
Cambiando estos números a 100, hará un círculo perfecto.
Como verá, estos atributos también pueden ser cambiados
visualmente invocando un Modo especial, denominado Redefinir
Forma.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 29


7. Click en Aceptar para salir del diálogo.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 30


8. Mientras el objeto permanece seleccionado, oprima el botón
derecho del mouse y haga click en Redefinir Forma desde el
Menú de acceso directo.

9. Mueva el cursor sobre el punto Redefinir Forma hasta que se


convierta en una mano.

10.Manteniendo oprimido el botón izquierdo del mouse, mueva el


punto alrededor y vea como sus diferentes posiciones afectan a
las esquinas del rectángulo.

11.Una vez terminado, arrastre el punto Redefinir Forma hacia el


centro de la línea de fondo y suelte el botón izquierdo del mouse
como se muestra más abajo.

Dibujar y colocar un objeto de Texto


Ahora dibujará un objeto de Texto, aproximadamente en el centro
de la ventana del proyecto.
1. Click en el botón de la barra de herramientas de edición.

2. Ubique el cursor tipo lápiz bajo el rectángulo en el centro de la


ventana del proyecto.

Manteniendo oprimido el botón izquierdo del Mouse, arrastre el


cursor hacia abajo y hacia la derecha creando un cuadro. Suelte el
botón del mouse una vez terminado.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 31


3. Mientras el objeto se mantiene seleccionado, oprima el botón
derecho del mouse y seleccione el ítem Propiedades desde el
Menú de acceso directo.

4. Seleccione el Tabulador y escriba el siguiente texto en su campo


de texto: “Este texto puede ser útil”

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 32


Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 33
5. Click en el Tabulador General y digite “Mi texto” en el campo
Nombre.

Note que el nombre del


objeto cambio de “sin
npmbre” a “Mi_Texto” en
la barr a de estado.

6. Click en Aceptar para aceptar los cambios y salir del diálogo.

7. Si el texto queda muy cerca del rectángulo, o no lo


suficientemente cerca del centro, ubique el cursor sobre el texto
hasta que se transforme en una mano.

8. Manteniendo oprimido el botón izquierdo del mouse, arrastre el


objeto de texto de modo que quede centrado en la ventana del
proyecto.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 34


Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 35
Dibujar y colocar un Triángulo
Se dibujará un polígono con forma de triángulo en la esquina
inferior derecha de la ventana del proyecto.
1. Click en el botón en la barra de herramientas.

2. Ubique el cursor tipo lápiz bajo el objeto de texto en la esquina


inferior derecha de la ventana del proyecto.

3. Click en el botón izquierdo del mouse para ubicar la primera


esquina del triángulo. Arrastre el cursor al próximo punto y
suelte. Mueva el cursor a la posición anterior y haga doble click
para finalizar la creación del triángulo.

4. Mientras se mantiene seleccionado el objeto, utilice el menú de


acceso directo para desplegar el diálogo de propiedades ó bien
presione F4 para lo mismo.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 36


5. Asigne el nombre “Triangulo” al objeto y click en Aceptar.

Ver el archivo de
ayuda para
información en como
cambiar la forma de
un polígono...

6. Cambie el color de relleno del triángulo a verde brillante con


click en el botón
, relleno y en el botón , herramientas de color de relleno
en la barra de herramientas.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 37


Agrupando los Objetos
Ahora se agrupará los tres objetos y se manipularán todos juntos.

1. Click en el botón en la barra de herramientas de edición


para elegir la herramienta de selección.

2. Click en una zona en blanco de la ventana para eliminar la


selección.

3. Posicione el cursor sobre y hacia la izquierda del rectángulo.

4. Manteniendo el botón izquierdo del Mouse oprimido, arrastre


el cursor hacia abajo y hacia la derecha creando un cuadro lo
suficientemente grande para alojar todos los objetos en la
ventana del proyecto y suelte el botón.

5. Click en el botón en la barra de herramientas para alinear


los objetos agrupados en su centro horizontal.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 38


Note como los objetos
son alineados a la
derecha.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 39


6. Click el botón en la barra de herramientas para espaciar en
forma equidistante a los objetos agrupados de arriba hacia
abajo.

7. Click en el icono de grupo en la barra de herramientas de


edición para agrupar objetos.

8. Utilice uno de los métodos descritos anteriormente en la Lección


para desplegar las propiedades del grupo y nombrarlo
“grpLeccion1”.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 40


Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 41
9. Arrastre el costado izquierdo del grupo hacia la izquierda para
redimensionar el grupo y los objetos que contiene.

10. Haga doble Click mientras se mantienen oprimidas las teclas


Shift y Ctrl en uno de los objetos agrupados. Esto selecciona
el grupo y permite la edición de objetos en forma individual
dentro del grupo.

Nota: Tamaños variables son asignados en forma automática a los


objetos de texto en un grupo cuando este es redimensionado por
arrastre

.
Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 42
11. Click en el botón en la barra de alineación para alinear todos
los objetos agrupados a su centro horizontal.

12. Click en el botón para deshacer los últimos cambios hasta


que la ventana vuelva a ser como la imagen de abajo.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 43


Guardar el Proyecto y Salir
1. Seleccione el ítem Guardardesde el Menú Proyecto
2. Seleccione el ítem Salir desde el Menú Proyecto para salir del
programa.

Copyright © 2003 KEP, Inc. Lección 1: Aprendiendo a Usar Infilink ? 44


Grupos de Tags y Tags

General
Esta sección describe el editor de la Base de Datos de Tags. Se
utilizará este Editor para definir grupos que representen dispositivos
PLCs y Tags que representen ubicaciones en estos dispositivos.

Acerca de los Grupos de Tags


Infilink utiliza un grupo de tags para identificar una fuente de datos.
Se puede referir a un grupo de Tags como una parte de hardware
físico, un vínculo OPC ó DDE ó ubicaciones de memoria interna. A
continuación se describen los posibles tipos de grupos de tags.

Sistema
Estos son ubicaciones de memoria interna mantenidas por Infilink,
que contienen información del sistema. Tales como la fecha actual
y la hora, el nombre del usuario, etc. No se puede definir los tags
para este grupo y son solo de lectura.

Memoria
Son las ubicaciones de memoria definidas por el usuario dentro del
contexto del proyecto en ejecución. Un tag que es utilizado para
mantener resultados parciales de una ecuación será asignado a
este nodo.

DDE (Definido por el Usuario)


Puede ser un dispositivo de hardware PLC, un programa ó una
aplicación de servidor DDE que entregará datos a Infilink. Para los
servidores DDE, el nombre identificará la aplicación del servidor y
un nodo en ese servidor.

OPC (Definido por el Usuario)


Es una aplicación servidor OPC que entregará datos a Infilink. Para
estos servidores, la identificación del programa identificará una
aplicación OPC.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 45


Virtual
Un Tag Virtual sirve como un indicador para la información de otro
Tag. Estos Tags pueden entonces ser reasignados en forma
dinámica a los valores de otro Tag durante el Modo Ejecución con
un script. Los Tags virtuales pueden almacenar datos de cualquier
tipo.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 46


Agregar/Editar Grupos de Tags
El editor de Tag se llama seleccionando Grupos de Ta gs desde el
Menú Proyecto ó presionando F6.

Creación de Grupos de Tags


Se utiliza el cuadro de diálogo Grupos de Tags para agregar
Grupos de Tags definidos por el usuario a un proyecto. Click en
Grupos de Tags en el Menú Proyecto de Infilink ó presione F6.

Haciendo click en el icono Grupos de Tags permite agregar un


Nuevo Grupo de Tags de ese tipo, haciendo doble click en un
grupo de tags predefinido ó resaltado permite editar las propiedades
del grupo.

Herramienta de Edición de las propiedades de un Grupo de Tags


Utilice esta herramienta para desplegar la ventana de propiedades
de un grupo de Tags.
Herramienta para borrar un Grupo de Tags
Utilice esta herramienta para borrar un Grupo de Tags. Solo se
puede borrar un grupo si está vacío.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 47


Creación de un Grupo de Tags de Memoria

1. Click en la herramienta .
2. Nombre: Ingrese un nombre que identifique este grupo. El
nombre que ingrese aquí, aparecerá en los scripts que utilicen
Tags de este grupo.

3. Click Aceptar para agregar el grupo.

Creación de un Grupo de Tags DDE

1. Click en la herramienta .

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 48


1. Nombre: Ingrese un nombre que identifique este grupo como
un vínculo a un servidor DDE. El nombre que ingrese aquí,
aparecerá en los scripts que utilicen Tags de este grupo.
Vea Utilizando DDE. Aún 2. Nombre del Servidor: Ingrese el nombre del programa ó
cuando el servidor OPC de
KEPware es referido como aplicación de servidor DDE que este Grupo de Tags utilizará
KEPServerEX, el nombre de para obtener la fuente de información DDE.
la aplicación sigue siendo
KEPDDE.
3. Para un Grupo de Tags DDE , se ingresará el nombre de la
aplicación que estará entregando datos al proyecto. Si se
estará utilizando el servidor OPC de KEPware, se deberá
ingresar KEPDDE si es que el servidor e Infilink residen en el
mismo PC. En caso contrario, se debe ingresar un string en la
forma \\<nombre del computador>\ndde$ para especificar una
conexión NETDDE para KEPServerEX en el PC identificado
<nombre del computador>.

4. Formato de Datos: Podrá especificar el formato para una


conexión DDE para un determinado nodo, asignando un formato
a dicho nodo. Los formatos disponibles son Avanzado y
CF_TEXT. Si sabe que un servidor especifico soporta ambas
conexiones Avanzado y CF_TEXT (como es el caso del
KEPServerEX), se puede forzar Infilink para que solo se conecte
utilizando el formato que se ha elegido asignando el tipo de
conexión deseado. Cuando el formato elegido es Avanzado,
Infilink tratará en forma alternativa Avanzado seguido de
CF_TEXT al intentar conectar con un servidor.

Tabulador Avanzado

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 49


1. Deshabilitado Inicialmente en la Modalidad de Ejecución: Permite
iniciar manualmente la búsqueda de la información DDE cuando
la necesite. En algunos casos, la información DDE no está
disponible hasta que la aplicación del servidor sea iniciada.
(algunas veces esto ocurre después de que Infilink se ha
iniciado)

2. Esperar: Agrega un retardo antes de intentar reconectar un


vinculo DDE roto. Esto da al servidor una oportunidad para
restablecer un enlace con su tópico.

3. CF_TEXT DDE: Esto solo es aplicable cuando el formato de


datos es CF_TEXT. Permite la habilitación de requerimiento de
datos en bloque.
Al inicio, la información de tag DDE debe ser enviada al servidor de modo que
este sepa que información enviar a Infilink. Al revisarlo, la información del
tag DDE es enviada en forma altamente eficiente hacia el servidor. En caso
contrario, cada información del tag DDE es enviada en forma normal. Revise
este cuadro para acomodar servidores que no poseen capacidades de alta
eficiencia.

Retardo de Inicio en milisegundos (0-2000)


Este valor produce un retardo en la comunicación hacia el servidor DDET
poco después de iniciado Infilink. Esto permite a los servidores de respuesta
lenta, responder adecuadamente a los comandos de inicio de Infilink. Este
retardo solo ocurre una vez al inicio de Infilink.

Requerimiento de retardo de inicio de datos en milisegundos (0-1000)


Utilice este valor para agregar retardo adicional una vez iniciada la
comunicación DDE. Una vez terminado el retardo comienza la solicitud por
datos DDE.

Notas:
1. Los dos retardos mencionados pueden agregar hasta 3
segundos en la partida de un proyecto Infilink . Haciendo más
corto el retardo se reduce este retardo adicional. El retardo
puede ser ajustado en detalle por prueba y error. El retardo es
independiente del servidor que se esté utilizando.

2. KEPServerEX aceptará requerimientos de datos de lata eficiencia


y no requiere retardos en el inicio.

5. Click Aceptar para agregar el Grupo.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 50


Creación de un Grupo de Tags OPC
1. Click en el icono .

2. Nombre: Ingrese un nombre que identifique a éste Grupo de


Tags como un vinculo con un servidor OPC. El nombre que se
ingrese aquí, aparecerá en los scripts que utilicen Tags de este
Grupo.
3. Descripción: Ingrese una breve descripción. Esto ayudará más
adelante a identificar el objetivo del Tag en este grupo.
4. Prog ID: Ingrese el nombre del servidor OPC ó fuente. Utilice la
herramienta para buscar las aplicaciones OPC que se
estén ejecutando en Modo Diseño. Si se utilizará el servidor
OPC de KEPware, deberá ingresar
KEPware.KEPServerEX.V4, siempre que el servidor e Infilink
residan en el mismo PC. Por el contrario, ingresar el nombre de
la estación remota para especificar una conexión remota hacia
KEPware.KEPServerEX.V4.

5. Maquina Remota: Ingrese el nombre de una estación remota


<nombre del computador> para especificar una conexión
remota al servidor, mencionado en el campo de identificación del
programa.

6. Tasa de Actualización: La tasa de actualización, especifica con


que frecuencia el Grupo de Tags debería requerir datos desde el
servidor.

7. Click Aceptar para agregar el grupo.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 51


Creación de un Grupo de Tags Virtuales

1. Hacer Click en el icono .

2. Nombre: Ingresar un nombre que identificará a este Grupo como


un Grupo de Tags Virtuales. El nombre que se ingrese,
aparecerá en los Scripts que utilicen Tags de este Grupo.

3. Descripción: Ingresar una descripción breve pero significativa.


Esto le ayudará a identificar el propósito de los Tags en este
Grupo más adelante.

4. Click en Aceptar para agregar el Grupo .

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 52


Acerca de los Tags
Un tag es un objeto con nombre, que es utilizado para hacer
referencia a una porción de datos. El Grupo al cual el Tag es
asignado determina la fuente de los datos.

El cuadro de diálogo de los Grupos de Tags es utilizado para definir


nuevos Grupos de Tags y para editar las propiedades de los Tags
existentes. Se puede acceder a este cuadro de diálogo presionando
F6 ó bien seleccionando Grupos de Tags, desde el menú Proyecto al
estar en el Modo Diseño. Cualquier modificación que se haga en los
Tags no quedará grabad a hasta que grabe el Proyecto.

Tags de Sistema Predefinidos


Hay dieciséis Tags predefinidos, Tags de memoria solo-lectura,
denominados Tags de Sistema, los que Infilink asigna y actualiza en
forma automática en el Modo Ejecución. No se pueden eliminar ó
modificar sus propiedades. Los Tags de Sistema no están incluidos
en la cuenta total de Tags de su aplicación.

_AccessLevel Short
Identifica el nivel de acceso del usuario (0-255).

_ActiveAlarmCnt Largo
Identifica el número de alarmas comúnmente activas en el proyecto
en ejecución.

_AlarmLogStatus Short
Identifica el estado del registro de alarmas, en donde : 0 = Off, 1 =
On
y -1 = Deshabilitada.

_DataLogStatus Short
Identifica el estado del registro de datos, en donde: 0 = Off, 1 = On
y -1 = Deshabilitada.

_Date Short
Identifica el día del Mes.

_Day Short
Identifica el día de la semana, en donde: 0 = Domingo, 1 = Lunes,...,
6 = Sábado.

_FileOpStatus Short
Mantiene el resultado de la última ó más reciente operación con
Ver archivos. Los códigos de los resultados son:
Funciones
de Archivo 0 Éxito de la Función
en -1 Archivo no encontrado
Scripting. -2 Se ha excedido el número máximo (8) de archivos abiertos
-3 Imposibilidad de crear un archive de destino
-4 Error durante la operación de lectura de archivo
-5 Error durante la operación de escritura en un archivo
-6 Falla en una ubicación de memoria durante una operación de lectura
-7 Se ha excedido el largo máximo de campo CSV, 256 caracteres.
-8 Un offset de lectura ha sobre-pasado el final del archivo.
-9 Se ha especificado un largo de parámetros inválido.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 53


_Hour Short
Identifica la hora actual en formato de 24 horas, en donde: 0 = 12:00
am, 13 = 1:00 pm, etc.

_MenusVisible Discrete
Ver
Identifica el estado visible de los menús del en tiempo real, donde: 0
Funciones
= Off, 1 = On.
de sistema
en
Scripting
_Minute Short
Identifica los minutos actuales desde 0 a 59.

_Month Short
Identifica el Mes de 1 a 12.

_Msecond Short
Identifica los milisegundos desde 0 a 999.

_ProjectPath String
Identifica la ruta del proyecto en formato con carácter backslash (\)
como en: C:\Infilink \Projects\test\

_Second Short
Identifica los segundos de 0 a 59.

_User String
Identifica al usuario en función. Si no hay usuario en el sistema, este
tag tomará el valor de NO USER

_Year Short
Identifica el año en formato de 4 dígitos.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 54


Agregar/Editar Tags definidos por el Usuario

Herramienta de Edición de Tags

Creación de un Nuevo Tag


Utilice esta herramienta para crear un nuevo Tag en el Grupo
activo. Haciendo click con el botón derecho del Mouse en el
icono, aparecerá un menú de acceso rápido para hacer lo mismo.

Edición de las propiedades de los Tags


Utilice esta herramienta para mostrar l a ventana de propiedades
del Tag.

Eliminar Tags
Utilice esta herramienta para eliminar un Tag. Verificar que el
Tag no está siendo utilizado en alguna animación, de lo contrario,
ocurrirá un error al grabar el Proyecto.

Creando un Tag de Memoria


Hacer Click en el Grupo de Tags de memoria en la lista de

Grupos de Tags. Luego haga click el icono ó un click en el


botón derecho sobre la lista de Tags y seleccione Nuevo Tag.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 55


Los nombres de los
Campo Nombre del Tag
Tag no discriminan Muestra el nombre del Tag seleccionado. Al definir un nuevo Tag, se
las mayúsculas de deberá ingresar su nombre en este campo.
más minúsculas, por
lo que "Tag1" es lo
mismo que "tag1".
Descripción
Se debe tratar en lo Ingrese una descripción breve pero significativa. Esto le ayudará a
posible de utilizar identificar el propósito del Tag mas adelante.
un nombre único y
significativo para
cada Tag que
Valor inicial (Solo Tags de Memoria)
defina. De este Ingrese el valor que desearía que este Tag asuma cuando el Proyecto
modo se evitarán se inicia por primera vez.
confusiones. El
nombre del Tag
puede contener
hasta 32 caracteres
en largo y deben
comenzar con una
letra.

Tipo de Dato, se Tipo de Dato


aplica a todos los Utilice esta lista para seleccionar el tipo de dato para el valor asignado
grupos con a este Tag.
excepción de los
Virtuales.
Discreto: Valor Booleano, Falso = 0, Verdadero = 1

Char: Valor de 8 bit, con rango de -128 a 127 que representa un carácter.

Byte: Valor de 8 bit, con rango de 0 a 255.

Corto Valor de 16 bit, con rango de -32768 a 32767

Word: Valor de 16 bit, con rango de 0 a 65535

Largo: Valor de 32 bit, con rango de -2,147,483,648 a 2,147,483,647

DWord: Valor de 32 bit, con rango de 0 a 4,294,967,295

Real: Valor de precisión simple (4 Byte) con punto flotante, rango de -3.37
E38 a +3.37 E38

Doble: Valor de precisión doble (8 Byte) con punto flotante, rango de


–1.7976931 E308 a +1.7976931 E308

String: Cadena de caracteres de largo variable de 1 a 256 bytes

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 56


Seguridad
Es utilizada para restringir al Usuario el cambio de valores en los Tags.
El valor de un Tag, puede ser modificado de varias formas. El acceso
Condicional también puede ser implementado utilizando los Niveles de
Acceso.

Acceso Interno
Seleccionar Solo Lectura para prevenir la alteración del valor del
Tag. Si un valor de un Tag va a ser modificado bajo el control del
proyecto ya sea por un Script o por una entrada de datos en
animación, entonces se le debe otorgar el privilegio de
Lectura/Escritura .

Acceso Cliente DDE


Seleccionar Acceso Denegado para prevenir que una aplicación
cliente OPC/DDE lea el valor de este Tag.

Seleccionar Solo Lectura, para permitir que las aplicaciones


cliente OPC/DDE lean el valor, pero sin posibilidad de modificarlo.

Seleccionar Lectura/Escritura para permitir que cualquier


aplicación cliente OPC/DDE pueda modificar el valor del Tag.

Acceso Cliente Internet


Seleccionar Acceso Denegado para prevenir que una aplicación
cliente Internet pueda leer el valor de este Tag.

Seleccionar Solo Lectura, para permitir que las aplicaciones


cliente Internet lean su valor, pero sin posibilidad de modificarlo.

Seleccionar Lectura/Escritura para permitir que cualquier


aplicac ión cliente Internet pueda modificar el valor del Tag.

Ver la Lección 5 Registro en Cambios de Datos


para mayor Utilice el cuadro de Registro en cambio de Datos para grabar los
información en cambios de valores de este Tag en un archivo de registro.
Registro de
Datos.
Hacer Click en Aceptar para agregar el grupo.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 57


Creando un Tag DDE
Hacer Click en la lista de grupo de Tags DDE. Luego hacer click

en el icono que se ubica sobre la lista de Tags. En forma


alternativa, haga click con el botón derecho en la zona de la lista
de Tag y seleccione Nuevo Tag desde la ventana de acceso
rápido.

El tipo de datos,
La mayoría de las configuraciones son los mismos que los de
debe calzar con el los Tags de Memoria. Configuraciones adicionales son listadas
valor que se está mas abajo.
desplegando. .

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 58


Elemento del Servidor
La dirección * de la información en el dispositivo ó nombre del
Tag en el Servidor. Para un controlador esto podría ser un
número de registro (Ej.: R0012) ó en una planilla una ubicación
de celda (c3).

*Dirección
La dirección de un ítem del servidor es una cadena de 1 a 30
caracteres que especifica un nombre de ítem soportado por
el tópico identificado en las propiedades del Grupo de Tags
DDE.
Nota: Si utilizará KEPServerEX sin un alias como tópico,
deberá especificar el canal y el dispositivo además de la
dirección para el nombre del ítem.
< Canal>.<Dispositivo>.<Dirección>

Puede especificar una tasa de muestreo opcional y/o tipo de


datos para éste ítem utilizando el formato:

<nombre del ítem>@<tasa de muestreo>

Donde:
<nombre del ítem> es la ruta hacia la dirección del dispositivo
ó simplemente una dirección si es que se está utilizando un
alias.
<tasa de muestreo> es la frecuencia del scan en
milisegundos. Infilink requerirá la información desde el
servidor DDE en ese intervalo. El intervalo especifica que
tan a menudo el driver del dispositivo requerirá esta porción
de datos desde el dispositivo.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 59


Creando un Tag OPC
Click sobre un grupo de Tag OPC en la lista. Luego click en el icono

ubicado sobre la lista de Tags. O bien haga clic con el botón


derecho sobre el área de la lista y seleccione Nuevo Tag desde la
ventana de menú rápido.

El tipo de datos debe La mayoría de la configuración son los mismos que los de los Tags DDE.
coincidir con el valor Configuraciones adicionales son listadas mas abajo.
que se está
buscando.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 60


Elemento del Servidor
Truco para Dirección* de la información en el dispositivo ó nombre del Tag en el
Diseño Servidor.
Cuando más
de una *Dirección
dirección en el La dirección de un ítem del servidor es una cadena de 1 a 30 caracteres
Servidor es que especifica un nombre de ítem soportado por el tópico identificado
seleccionada,
en las propiedades del Grupo de Tags OPC.
Infilink creará
Tags para Nota: Si utilizará KEPServerEX sin un alias como tópico, deberá
todas las especificar el canal y el dispositivo además de la dirección para el
direcciones nombre del ítem.
seleccionadas.
Esta potente < Canal>.<Dispositivo>.<Dirección>
cualidad
facilita la
Donde:
creación de
Tags luego de <Canal> es el nombre del canal en el servidor OPC.
haberlos <Dispositivo> es el nombre del dispositivo en el servidor OPC.
creados en el <Ítem > es la dirección del dispositivo en el controlador ó el nombre
servidor. del Tag que fue creado en el servidor OPC.

Utilice el icono para buscar los ítems del Servidor OPC. Esto
generará la dirección en forma automática y la colocará en el cuadro de
Texto del Servidor.

Nota: Una vez que se ha ingresado un nombre de Tag, el botón de


búsqueda le solicitará si desea cambiar el nombre del Tag. Seleccionar
NO para continuar con la búsqueda.

Ruta de Acceso (opcional)


Si el Servidor accede a dos Tags ó direcciones con el mismo nombre, es
necesario indicar una ruta específica para determinar que valor deberá
ser retornado a Infilink. Si esta utilizando KEPServerEX, especificar el
ítem utilizando el formato:

< canal>.< dispositivo>

Donde:
<canal> es el nombre del canal en el Servidor OPC
<dispositivo>es el nombre del dispositivo en l Servidor Server

Unidad de Ingeniería
El Tag mantendrá el valor según se ha escalado en el Servidor OPC.

Fila
El Tag mantendrá el valor no-escalado del Servidor OPC.

Creando un Tag Virtual


Hacer Click en un Grupo de Tag OPC en la lista de grupos de Tags.

Luego click en el icono sobre la lista de Tags ó hacer click el área


de la lista de Tags y seleccione Nuevo Tag desde el menú de acceso
rápido.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 61


Solo un nombre es requerido.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 62


Barra de Edición Avanzada de Tags

Banda muerta
Seleccionar la casilla Activado para elegir el valor crudo mínimo que el
Tag puede tomar antes de que Infilink vea que el valor ha cambiado.

Ejemplo: Si se ingresa un valor de banda muerta de 10, el valor crudo


del Tag debe cambiar en + - 10 unidades desde el ultimo registro antes
de que un Nuevo valor sea reconocido y registrado para este Tag.

Si el valor inicial del Tag


Valores Límites / Escalamiento
queda a un valor menor Seleccionar el cuadro Mínimo para ingresar el valor crudo mínimo que el
que el valor mínimo del Tag podrá aceptar. Si el valor baja de este limite, se conservará el valor
Limitador, un mensaje de mínimo ingresado.
error será reportado en
el registro de eventos.
Seleccionar el cuadro Máximo para ingresar el valor crudo máximo que el
Tag podrá aceptar. Si el valor sube de este límite, se conservará el valor
máximo ingresado.

Por Ejemplo: si el valor límite de fija en 10 mínimo y 40 máximo, Infilink


no permitirá que los Tags asuman valores menores a 10 y mayores de
40.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 63


Escalamiento
Los Tags DDE y OPC pueden ser escalados. El escalamiento es una
interpolación lineal simple entre los valores crudos y los de ingeniería
ingresados. Valores de ingeniería Mínimos y Máximos son escalados a
los rangos de valores que se utilizarán para Scripts y Animaciones.
Los valores crudos Mínimos y Máximos son el rango de valores recibidos
del Servidor. Cuando Infilink escribe una información en el Servidor, el
escalamiento es revertido de modo tal que el Servidor reciba datos
relevantes.

Por Ejemplo: El valor de un Word desde el Servidor es un valor de 10 Bits


que viene de un conversor análogo/digital, con el rango de 0 a 1024. Se
desea ver éste valor desplegado en un rango de 4 a 20.
Coloque el valor crudo mínimo en 0 y el máximo en 1024.
Coloque el valor de ingeniería mínimo en 4 y máximo en 20.

Edición de Scripts en Tags


Barra de Scripts
Despliegue el cuadro de diálogo del Editor de Script para visualizar ó
editar la información del Script para el Tag seleccionado.

Barra de Edición de Tag Discreto, Nivel y Desviación de


Alarma
Ver la Lección 4
Alarmas
para más
Despliegue las definiciones de las alarmas. Si se ha agregado un Tag
información en las que tiene un tipo de datos ya asignado, y no son una cadena de
alarmas y sus
caracteres, se podría utilizar estos Tags para asignarle alarmas.
registros.

Exportando la Base de Datos de Tags


Hacer click en el botón derecho sobre la lista de Grupos de Tags. Se
puede utilizar el ítem Exportación de Tags a Archivos CSV…en el menú
de acceso rápido del Grupo de Tags, para generar un archivo de texto
.CSV (variables separadas por una coma), que contenga la información
de los Tags del grupo seleccionado para el Proyecto. El archivo se
compone de un registro de identificación del campo, que identifica el
orden y el contenido de los campos (columnas) de cada registro (filas) y
la información de los Tags correspondiente a esos campos.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 64


Nota especial: Esta es la
mejor manera de crear Consejo
un archivo CSV. Permitir Si intenta utilizar la función CSV para crear su bas e de datos de Tags en
que Infilink cree un otro producto como Excel, crear un par de Tags utilizando los grupos
cuadro utilizando la
función Exportando una
normales y editores de Infilink.
Base de Datos de Tags. Una vez que se disponga de una pequeña base de datos de Tags, utilice
Luego agregar al cuadro la función Exportar Base de Datos de Tags para generar un archivo CSV.
y leer de vuelta con la Luego se puede Importar este archivo hacia Excel y agregar según
función Importación de
requerimientos.
Base de Datos.

Definición de los Campos de la Base de Datos de Tags

Nombre del Tag


Es el nombre del Tag.

Descripción
Descripción suministrada por el Usuario para este Tag.

Datos Tipo Ing.


Tipo de datos para utilizar con Infilink. discretos, Corto, Word, Largo, etc.

Tipo de Datos Crudos (solo Tags OPC)


Tipo de datos esperados desde el Servidor. Discretos, Byte, Char, Short,
Word, Long, DWord, Real, Double, String.

Ítem Servidor (solo Tags OPC y DDE)


Referencias de Tags Ubicaciones de dispositivo/Itemes DDE

Ruta de Acceso (solo Tags OPC)


Ruta hacia la ubicación del dispositivo del Item OPC en las referencias de
Tags.
Valor Inicial (Solo Tags de Memoria)
Valor inicial asignado a un Tag de memoria.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 65


Acceso Local
R/W (lectura/escritura) si el tag puede ser escrito, sino RO (solo lectura)

Acceso Cliente
“None” si es que el Tag no se puede acceder desde la aplicación Cliente
DDE, RO si solo se provee acceso “solo lectura”. R/W si se provee
acceso total lectura/escritura.

Acceso a Internet
“None” si es que el Tag no se puede acceder desde Ia aplicación Viewer
de Infilink, RO silo solo se provee acceso “solo lectura”. R/W si se
provee acceso total lectura/escritura.

Registro por cambios de estado


“Y” si la información deberá ser registrada, sino “N”.

Banda Muerta
Valor definido para el Tag.

Valor Min.
Valor de Ing.mínimo si el escalamiento ó el Limitador están habilitados.

Valor Máx.
Valor de Ing.máximo si el escalamiento ó el Limitador están habilitados.

Valor Crudo Min.


Valor crudo mínimo si el escalamiento está habilitado.

Valor Crudo Máx.


Valor crudo máximo si el escalamiento está habilitado.

Banda Muerta
Valor definido para el Tag.

Disparador de alarma Discreta


Si se define una alarma discreta, el estado que la dispara es:
0 = Falso, 1 = Verdadero.

Comentario de Alarma Discreta


Si se define una alarma discreta, el texto asignado a esta alarma es de
0 a 64 caracteres.

Severidad de una Alarma Discreta


Si se define una alarma discreta, la severidad para esta alarma va de 0
a 16.

Nivel de Acceso para Alarma Discreta


Si se define una alarma discreta, el nivel de acceso para esta alarma
va de 0 a 255.

Acción en Alarma Discreta


Si se define una alarma discreta, las acciones para asignar a esta
alarma
“L” = Registro, “P” = Imprimir, “D” = Desplegar "E" = E Mail.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 66


Tope para Desviación de Alarma
Si se define una desviación de Alarma, el valor tope es el asignado a
esa alarma.
%%de Alarma de Desviación Min.
Porcentaje mínimo de desviación si una alarma de desviación ha sido
definida.

Comentario de Alarma de Desviación Min.


Si se ha definido una alarma de desviación, corresponde al texto
asignado a esa alarma.

%%de Alarma de Desviación Máx.


Porcentaje máximo de desviación si una alarma de desviación ha sido
definida.
Deviation percentage if a deviation alarm is defined.

Comentario de Alarma de Desviación Máx.


Si se ha definido una alarma de desviación, corresponde al texto
asignado a esa alarma.

Severidad de Alarma de Desviación


Si se define una alarma de desviación, la severidad para esta alarma
va de 0 a 16.

Nivel de Acceso para Alarma de Desviación


Si se ha definido una alarma de desviación, el nivel de acceso
asignado va de 0 a 255.

Acción en Alarma de Desviación


Si se define una alarma de Desviación, las acciones asignadas a esta
alarma son:
“L” = Registro, “P” = Imprimir, “D” = Desplegar "E" = E Mail.

Disparo Alarma Alto Alto


Valor de activación de alarma Alto Alto, si se ha definido alarma
alto/bajo.

Comentario Alarma Alto Alto


Si se ha definido alarma Alto Alto, corresponde al Texto asignado a
esta alarma.
Disparo Alarma Alto
Valor de activación de Alarma de Alto, si se ha definido alarma
Alto/Bajo.

Comentario Alarma Alto


Si se ha definido alarma Alto, corresponde al Texto asignado a esta
alarma.

Disparo Alarma Bajo


Valor de activación de alarma Bajo, si se ha definido alarma alto/bajo.

Comentario Alarma Bajo


Si se ha definido alarma Bajo, corresponde al Texto asignado a esta
alarma.

Disparo Alarma Bajo Bajo


Valor de activación de Alarma Bajo Bajo, si se ha definido alarma
Alto/Bajo.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 67


Comentario Alarma Bajo Bajo
Si se ha definido alarma Bajo Bajo, corresponde al Texto asignado a
esta alarma.

Severidad de alarma de Nivel


Si se ha definido una alarma de nivel, la severidad que se puede
asignar a esta alarma es de 0 a 16.

Nivel de Acceso para alarma de Nivel


Si se ha definido una Alarma de Nivel, el nivel de acceso asignado a
esa alarma va de 0 a 255.

Acción en Alarma de Nivel


Si se define una alarma de Nivel, las acciones asignadas a esta alarma
son:
“L” = Registro, “P” = Imprimir, “D” = Desplegar "E" = E Mail.

Tope
Valor tope si se ha definido una Alarma de Desviación.

Dev Mayor
Porcentaje de Desviación Mayor si se ha definido una Alarma de
Desviación.

Dev Menor
Porcentaje de Desviación Menor si se ha definido una Alarma de
Desviación.

Notas
1. Los Tags de Sistema no se incluyen en la salida CSV.
2. Cambios de Datos y Scripts de Alarmas no se incluyen en la salida
CSV.
3. Si una Base de Datos de Tag que contiene Scripts es exportada,
modificada y luego importada de regreso al mismo Proyecto, los
Scripts permanecerán intactos.
4. Cuando se Importe una Base de Datos de Tags, los campos de un
registro de identificación no son requeridos en algún orden.
5. Cuando se Importa una Base de Datos de Tags, solo los campos
requeridos necesitan ser incluidos, pero cada campo incluido
deberá tener un campo de coincidencia en el registro de
identificación.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 68


Importando la Base de Datos de Tag

Puede utilizar la opción Importar Base de Datos de Tag en el Menú


Herramientas para desplegar el contenido de un archivo de texto CSV
(variables separadas por coma), consistente en datos de un nodo y de
Tags del proyecto Puede utilizar la opción Exportar Base de Datos de
Tags para crear una plantilla que luego puede ser expandido en una
aplicación tipo planilla electrónica que soporte archivos CSV. El
resultado luego puede ser grabado al disco e importado de vuelta a
Infilink utilizando esta herramienta.

Copyright © 2003 KEP, Inc. Grupos de Tags y Tags ? 69


Animaciones: Su proceso en acción

General

Ahora que ha aprendido un poco acerca de Infilink, aprovecharemos la


oportunidad para discutir las Animaciones. En Infilink cada objeto
puede ser animado de alguna manera para responder ya sea a clicks
del mouse o a cambios en los datos de los Tags de control asociados.
Esta Sección revisa todas las animaciones disponibles del cuadro de
dialogo.

Acerca de las Animaciones


Los siguientes tipos de animaciones son definidos en Infilink:
1. Mostrar/Ocultar 7. Cambio de Color
2. Parpadear 8. Rotar
3. Estiramiento horizontal 9. Ingresar datos
4. Estiramiento Vertical 10. Mostrar valor
5. Movimiento Horizontal 11. Control deslizante
6. Movimiento Vertical 12. Tomar Acción

No todas las formas de Animación están disponibles para todos los


objetos. Por ejemplo, un objeto de Texto puede tener una animación
tipo Mostrar Valor, en cambio, un objeto rectangular no puede, sin
embargo, ambos objetos pueden tener una animación tipo Tomar
Acción. Los objetos pueden tener definidas varias animaciones en
forma simultánea.

Las Animaciones son definidas utilizando cuadros de diálogo de


animaciones, a los que se accede desde la opción Animaciones en el
Menú Edición desde el cuadro de acceso rápido ó presionando la tecla
F5. Un objeto ó un Grupo debe ser seleccionado antes de poder
utilizar el Cuadro de Diálogo de Animaciones. Una vez que se
encuentre dentro del cuadro de diálogo, solo estarán disponibles
aquellas animaciones previamente definidas para el objeto ó al grupo.

No podrá asignar animaciones que entren en conflicto con los mismos


objetos ó con grupos que contengan estos objetos. Por Ejemplo, no
podrá colocar una animación tipo Ingreso de Datos y Control Deslizante
en el mismo objeto.

Copyright © 2003 KEP, Inc. Animaciones: Su proceso en acción ? 70


Animación de un Objeto

Hacer Parpadear a un Objeto


La animación tipo La animación “Parpadeo” es utilizada para hacer un objeto intermitente:
Parpadeo no hacerlo visible en forma alternati va, luego invisible, ó cambiar su color en
puede ser
asignado a un forma alternativa. Existen tres velocidades de parpadeo disponibles.
Grupo.

. 1. Presione el icono ó presione el Botón Parpadear en el cuadro


de diálogo de Animaciones.

2. Presione el botón para visualizar la lista de Tags. Un


Tag análogo debe ser anexado a esta Animación. Seleccione un Tag
para crear un nombre de Tag ó expresión.

3. Si se desea, revisar la opción Substitución de Cero por el valor de


entrada si el dato del Tag no es válido.

4. Revisado : Cada vez que el valor del Tag esté fuera del rango
especificado, coloca al objeto en la posición Cero.
No revisado: Cada vez que el valor del Tag está fuera del rango la
animación deja al objeto en su última posición válida.

Copyright © 2003 KEP, Inc. General ? 71


5. Si se selecciona un Tag Discreto, entonces elija si el parpadeo se
debe producir cuando el valor lógico del Tag sea Verdadero (ON) ó
Falso (OFF).

6. Si se ha seleccionado un Tag Análogo, entonces elija si el parpadeo


se debe producir cuando el valor esté Dentro del Rango (inclusive) ó
Fuera del Rango de los valores asignados, ingresados bajo Rango
de Entrada de Valores. Si se selecciona Dentro del Rango, el objeto
va a parpadear cuando el valor del Tag caiga entre los rangos Alto y
Bajo dados.

7. Seleccione Tipo de Parpadeo. Mostrar/Ocultar en forma alternativa


mostrará y ocultará al objeto, cuando la condición de parpadeo sea
Verdadera. Cambio de color en forma alternativa cambiará el color
del borde, interior ó del texto de un objeto cuando la condición de
parpadeo sea Verdadera. Los colores son seleccionados en los
rectángulos coloreados y eligiendo el color deseado en el Cuadro de
dialogo de selección de color.

8. Seleccione la frecuencia de parpadeo deseada Lenta, M edia ó


Rápida. El ciclo de parpadeo rápido es de aproximadamente 400
ms, Media es aprox. 800 ms y Lenta es aprox. 1.2 segundos.

9. Elija Aceptar para aceptar la definición de la animación.

Mostrar y Esconder Objetos


La animación Mostrar/Ocultar es utilizada para proveer visibilidad ó
invisibilidad condicion al a un objeto. Puede ser utilizada con imágenes
traslapadas para mostrar estados múltiples de un objeto.

La animación 1. Presionar el botón en la barra de herramientas de Animaciones. O


Mostrar/Ocultar haga click en el botón derecho sobre el objeto y seleccione la animación.
puede ser
asignada a Luego seleccione el botón de animación Mostrar/Ocultar.
cualquier objeto.

2. Presionar el botón para ver la lista de Tags. Un Tag


Análogo debe ser configurado a esta animación. Seleccione un Tag para
crear un nombre de Tag ó expresión.

3. Si se desea, revisar la opción Substitución de Cero por el valor de


entrada si el dato del Tag no es válido.
Revisado : Cada vez que el valor del Tag esté fuera del rango
especificado, la animación Mover coloca al objeto en la posición Cero.
No revisado: Cada vez que el valor del Tag está fuera del rango la
animación mover deja al objeto en su última posición válida.

Copyright © 2003 KEP, Inc. General ? 72


La animación
3. Si se selecciona un Tag Discreto, entonces escoja si hace el objeto
Mostrar / ocultar visible cuando el valor lógico del Tag es verdadero (ON) ó Falso (OFF).
puede ser
utilizada con 4. Si se selecciona un Tag Análogo, utilice la opción Mostrar cuando el
imágenes
traslapadas para
valor de entrada sea: Despliegue las opciones para seleccionar Dentro
mostrar estados ó Fuera del Rango. Ingrese el valor del rango deseado bajo la opción
múltiples de un Rango de Valor de Entrada. Si se elige el valor como Dentro del Rango,
objeto. entonces el objeto será mostrado solamente cuando el valor del Tag
caiga dentro de los limites Alto – Bajo.

5. Elija Aceptar para aceptar la definición de la Animación.

Mover Objetos de Izquierda a Derecha (Horizontalmente) o


Arriba y Abajo (Verticalmente)

Copyright © 2003 KEP, Inc. General ? 73


La Animación 1. La Animación Mover Izquierda/derecha es utilizada para desplazar un objeto
Desplazar,
en la dirección X.
puede ser
asignada a
2. La Animación Mover Arriba/Abajo es utilizada para desplazar un objeto en la
cualquier
dirección Y.
objeto, con
excepción de
Visores de 3. Oprima el botón Desplazar Horizontal ó Desplazar Vertical en el
Alarma y Cuadro de Diálogo Animaciones.
Tendencias.

4. Oprima el botón Tags para visualizar la Lista de Tags. Para


Desplazar esta Animación se requiere un Tag Análogo. Seleccione un Tag para crear
Izquierda/ un Nombre de Tag ó una Expresión.
Derecha en
combinación 5. Verifique la Substitución de Cero por valor de entrada si el valor del Tag no
con es válido.
Arriba/Abajo Revisado: Cada vez que el valor del Tag esté fuera del rango especificado, la
animación Desplazar pone al objeto en la posición Cero.
Utilizando la No Revisado: Cada vez que el valor del Tag esté fuera del rango
misma especificado, la animación Desplazar deja al objeto en la última posición
cantidad de Válida.
pasos,
despliega una
forma de
Desplazamie
nto diagonal.

Copyright © 2003 KEP, Inc. General ? 74


6. Ingrese el Rango de Valores de Entrada para Alto y Bajo que corresponda a
los rangos análogos. El límite Alto siempre debe ser mayor que el límite
Bajo.

7. La posición relativa del objeto para cada valor de Tag puede ser establecida
ya sea por el teclado ó haciendo click en el botón Posición relativa Alta ó Baja
. Haciendo Click en uno de estos botones, le lleva al objeto donde se
puede establecer gráficamente las posiciones inicial y final deseadas para el
objeto utilizando el mouse.

8. Elegir Aceptar para aceptar la definición de la Animación.

La Animación
“Estirar” no Estirar Objetos de derecha a izquierda (Horizontalmente) o de arriba abajo
puede ser (Verticalmente)
asignada a
objetos del La animación Estirar Izquierda/derecha se utiliza para redimensionar un objeto
tipo línea ó modificando su ancho.
texto. La animación Estira Arriba/Abajo se utiliza para redimensionar un objeto
modificando su altura.

Estiramiento 1. Oprima el botón ó en la barra de herramientas de Animaciones.


Izq./Der. y Alternativamente, haga click en el botón derecho de la barra de herramientas
arriba/abajo de Animaciones. Luego seleccione el botón de Animación Control deslizante.
utilizados
juntos le da al
objeto un 2. Presione el botón Tags con el fin de visualizar la lista de Tags.
efecto de Un Tag Análogo debe ser asignado a esta Animación. Seleccione un Tag
zoom. para crear un nombre de Tag ó una Expresión.

La Animación 3. Ingrese el valor que el Tag tiene en los puntos finales del movimiento, en el
Estiramiento rango de valores Bajo y Alto en los campos de edición. El límite Alto deberá
es utilizada ser siempre mayor que el Límite Bajo.
para crear
objetos con
indicación de
barras.

Copyright © 2003 KEP, Inc. General ? 75


4. Elegir la dirección en la cual el objeto se va a Estirar.
Extremo superior izquierdo - Estiramiento vertical de arriba hacia abajo;
Estiramiento horizontal de izquierda a derecha.
Centro - Estiramiento Vertical desde el centro hacia abajo; Estiramiento
horizontal desde el centro a la izquierda y derecha.
Extremo inferior derecho - Estiramiento Vertical desde abajo hacia arriba;
Estiramiento Horizontal de derecha a izquierda.
Definido por el Usuario – Permite al usuario definir y enclavar gráficamente
utilizando el botón de posición relativa en la opción del cuadro Estirar desde
y el mouse. Los límites superior e inferior del estiramiento son definidos
gráficamente utilizando los otros botones de posición relativa.

5. La posición relativa del objeto puede ser definida para cada valor de Tag, ya
sea por el teclado ó haciendo clic en el botón de posición relativa Alta ó Baja

. Haciendo Click en uno de estos botones lo llevará al objeto donde


podrá definir gráficamente el inicio y el final del tamaño utilizando el mouse.

6. Elija Aceptar para aceptar la definición de la animación.

La Animación Rotar una Línea


Rotar puede ser La animación Rotar puede ser asignada a un objeto línea. EL centro de la
asignada solo a rotación puede ser definido en cualquier parte dentro de la ventana. El uso típico
objetos línea. es una aguja de un indicador ó para mostrar la rotación de una rueda.

1. Oprima el icono ó el botón Rotar en el cuadro de dialogo Animaciones.

2. Presione el botón Tags con el fin de visualizar la lista de Tags.


Un Tag Análogo debe ser asignado a esta Animación. Seleccione un Tag
para crear un nombre de Tag ó una Expresión.

3. Verifique la Substitución de Cero por valor de entrada si el valor del Tag no


es válido.
Revisado: Cada vez que el valor del Tag esté fuera del rango especificado, la
animación Mover pone al objeto en la posición Cero.
No Revisado: Cada vez que el valor del Tag esté fuera del rango
especificado, la animación Mover deja al objeto en la última posición Válida.

Copyright © 2003 KEP, Inc. General ? 76


4. Ingrese el Rango de Valores de Entrada para Alto y Bajo que corresponda a
los rangos análogos. El límite Alto siempre debe ser mayor que el límite
Bajo.

5. El ángulo de rotación en grados del Objeto para cada valor de Tag puede ser
definido ya sea por medio del teclado ó haciendo Click en el botón de
posición relativa . Haciendo Click en uno de estos botones lo llevará al
objeto en donde se podrá definir gráficamente los puntos de rotación inicial y
final utilizando el mouse. Los Ángulos de rotación se miden en grados
según se muestra en el diagrama:

6. Seleccione el Centro de Rotación (punto de pivote). Este puede ser:


Punto de Inicio - El comienzo de donde el objeto fue dibujado.
Punto Central - Es el centro del objeto.
Punto Final - El final de donde el objeto fué dibujado.
Definido por el Usuario - Si es seleccionado, el botón de posición
relativa es utilizado para definir gráficamente el centro de rotación con el
mouse.

7. Elija Aceptar para aceptar la definición de la animación.

Copyright © 2003 KEP, Inc. General ? 77


Ingresar Datos en un Tag
La Animación Ingreso de Datos permite al Operador asignar un valor a un Tag
en Modo Ejecución.

La Animación 1. Oprima el icono ó el botón “Ingreso de Datos” en el cuadro de diálogo


“Ingreso de datos” Animaciones.
no puede ser
asignada a objetos
del tipo línea, arco, 2. Oprima el botón para visualizar la lista de Tags. Seleccione un
torta ó cuerda. Tag.

3. Una vez seleccionado el Tag, enseguida seleccione el Método de Entrada


que desea utilizar. Existen 6 métodos diferentes para escoger:

La Animación 4. Taponazo arriba – Despliega un cuadro de diálogo que permite al operador


“Ingreso de datos” hacer una selección on/off ó teclado si es que el Tag es numérico, ó teclado
puede ser asignada si el Tag es una serie (string). Un campo de entrada de datos planos es
a un grupo aún mostrado si se selecciona la opción teclado, en las propiedades del proyecto.
cuando uno o más Toda la entrada de datos se realiza en formato decimal con signo
objetos de este
grupo no puedan 5. Alternancia (Toque) VERDADERO/FALSO – El valor del Tag asignado será
aceptar este tipo de alternado entre Verdadero a Falso ó de Falso a Verdadero cuando se oprima
Animación. el botón del mouse ó la tecla designada.
Forzar ESTABLECER/VERDADERO (1) – Se Escribirá un 1 al Tag cada vez
que la animación sea invocada

6. Forzar RESET/FALSO (0) – Se escribirá un cero al Tag cada vez que la


animación sea invocada.

7. Normal Abierto – Momentáneo: - El valor del Tag asignado cambiará a


Verdadero cuando el botón del mouse o la tecla asignada sean presionadas y
volverán a FALSO al dejar del oprimir el botón.

8. Normal Cerrado – Momentáneo: - El valor del Tag asignado cambiará a


Falso cuando el botón del mouse o la tecla asignada sean presionadas y
volverán a Verdadero al dejar del oprimir el botón.

9. Si el Tag es un valor numérico, seleccione Figuras Significativas para mostrar


(1-12).

Copyright © 2003 KEP, Inc. General ? 78


10. Seleccione Invocar utilizando una tecla de acceso rápido si desea suministrar
un paso rápido de teclado para activar la Animación. Complete los controles
de acceso rápido según se desee.

11. Si se ha elegido un Tag Numérico, elija el rango de límite de la entrada de


una de dos maneras.
Tipo de datos por Defecto: Limita la entrada al rango para ese tipo de datos.
Definido por el Us uario: Limita el rango de las configuraciones ingresados
en los campos de texto Alto y Bajo.

12. Si su proyecto soporta seguridad para multi-usuarios, ingrese el nivel de


acceso que el operador debe tener para activar la Animación.

13. Elija Aceptar para aceptar la definición de la Animación.

Utilizar Controles Deslizantes para el Ingreso de Datos


La Animación deslizante es utilizada para variar valores de Tags Análogos dentro
de un rango dado. El nuevo valor depende de la posición del control deslizante.
Actúa como un control de volumen.

La Animación tipo 1. Presione el botón en la barra de herramientas de Animación.


control deslizante Alternativamente, oprima el botón derecho sobre el objeto y seleccione la
no puede ser Animación. Luego seleccione el botón de Animación Mostrar/Esconder.
asignada a objetos
del tipo línea, arco, 2. Presione el botón para visualizar la lista de Tags. Un Tag
torta ó cuerda.. análogo deb e ser asignado a esta animación. Seleccione un Tag.

3. Ingrese el valor que el Tag deberá asumir en los puntos finales del
Animaciones tipo movimiento, en el rango de valores de salida del campo de edición Bajo y
deslizante pueden Alto.
ser asignadas a
cualquier grupo.

Copyright © 2003 KEP, Inc. General ? 79


Copyright © 2003 KEP, Inc. General ? 80
4. Elija la Dirección en la cual se va a deslizar el Objeto, Horizontal
(Izquierda/derecha) ó Vertical (Arriba/Abajo).

5. La posición relativa del objeto puede ser definida para cada valor de Tag, ya
sea por el Teclado o haciendo click en los botones de posición relativa valor
@bajo ó valor @alto . Haciendo Click en uno de estos botones, lo llevará
al objeto en donde podrá definir gráficamente las ubicaciones inicial y final
utilizando el mouse.

6. Seleccione Al Desplazar para actualizar el valor del Tag mientras el control


deslizante se encuentra en movimiento ó seleccione Al Soltar para actualizar
el valor del Tag luego de liberar el botón del mouse.

7. Si su proyecto soporta seguridad para multi-usuarios, ingrese el nivel de


acceso que el operador debe tener para activar la Animación.

8. Elija Aceptar para aceptar la definición de la Animación.

La Animación Cambiando el Color de un Objeto


Cambio de Color no La Animación Cambio de Color es utilizada para cambiar el color de un objeto,
puede ser asignada basado en el valor de un Tag. Con un Tag Discreto, se puede elegir dos colores,
a Objetos del tipo uno para cada posible estado. Con un Tag Análogo, se puede elegir hasta siete
mapa de bits, colores.
metafile ó grupo.
1. Oprima el icono ó presione el botón Cambio de Color en el cuadro de
diálogo de Animaciones.

2. Presione el botón para visualizar la lista de Tags. Un Tag


análogo debe ser asignado a esta animación. Seleccione un Tag para crear
un nombre de Tag ó una expresión.

3. Verifique la Substitución de Cero por valor de entrada si el valor del Tag no


es válido.
Revisado: Cada vez que el valor del Tag esté fuera del rango especificado, la
animación Mover pone al objeto en la posición Cero.
No Revisado: Cada vez que el valor del Tag esté fuera del rango
especificado, la animación Mover deja al objeto en la última posición Válida.

4. Si el objeto al cual se le está asignando la Animación tiene borde, entonces


debe escoger si se va a cambiar el color del borde seleccionando la
alternativa apropiada en la lista desplegable Rangos de Bordes.

5. Si el objeto al cual se le está asignando la Animación tiene relleno, entonces


debe escoger si se va a cambiar el color del relleno seleccionando la
alternativa apropiada en la lista desplegable Rangos de Relleno.

6. Seleccionando Ninguna deshabilita el cambio de color para la opción


correspondiente, borde o relleno.

7. Si se ha seleccionado un Tag Discreto, elija el color para cada uno de los


dos estados, Off y On utilizando el diálogo Selección de Color.

Copyright © 2003 KEP, Inc. General ? 81


Si se ha elegido un Tag Análogo, seleccione el Rango número 2 - 7 y el color
para cada rango. El primer color es asignado cuando el valor del Tag está bajo
el primer valor en el rango, el próximo cuando el valor del Tag esté entre el
primero y el Segundo, etc. El último color es asignado cuando el valor del Tag
sea mayor que el último valor dado.

Copyright © 2003 KEP, Inc. General ? 82


8. Elija Aceptar para aceptar la definición de la Animación.

Mostrando el Valor de un Tag


La Animación Mostrar Valor muestra el valor dinámico de un Tag. Trabaja con
ambos, Tags Discretos y Tags Análogos. Puede ser utilizado para supervisar un
valor mientras el proceso se esté ejecutando.

1. Oprima el botón en la barra de herramientas. O bien, oprima el botón


derecho del mouse sobre el objeto y seleccione animaciones. Seleccione el
botón Mostrar Valor en el cuadro de dialogo Animaciones.

2. Oprima el botón Tags para visualizar la lista de Tags.


Seleccione un tag para crear un nombre ó una expresión.

3. Seleccione el tipo de datos que coincide con el Tag en el cuadro Tratar el


valor como y complete el formato.
La Animación
Secuencia – Tags de secuencia de caracteres. Si se selecciona un Tag de
Mostrar Valor solo
secuencia no se requiere formato. La secuencia será desplegada tal como
puede ser asignada
aparece en el Tag. Los caracteres serán desplegados como caracteres ASCII
a botones y objetos
designados por su valor numérico.
de Texto.
Discreto – Tags Discretos. Si se selecciona un Tag discreto, entonces ingrese el
texto a mostrar cuando el valor del Tag sea Encendido y cuando sea Apagado.

Entero – Byte, Corto, Word, Largo, DWord. Elija el formato de entero deseado de
la lista. Los formatos disponibles son Decimal (signo), Decimal (sin signo),
Hexadecimal, Octal y Binario. Especificar el ancho del campo y si se desea
mostrar ceros iniciales.

Real - Real, Doble. Definir los campos para el Formato Real. Seleccionar para
desplegar el valor con un número dado de números significativos (un campo fijo
con punto decimal flotante). O seleccionar el despliegue del valor en un formato
fijo con un número especificado de dígitos a la izquierda del punto decimal y un
número especificado de dígitos a la derecha del punto decimal.

4. Elija Aceptar para aceptar la definición de la Animación.

Copyright © 2003 KEP, Inc. General ? 83


Ejemplos de formato
Descripción Valor del Tag Texto desplegado
Secuencia “Corriendo” Corriendo
Discreto (On, Off) 0 - Falso Off
Short, Decimal (Signo) -54 -54
Word, Decimal (sin signo) con ceros iniciales 54 00054
Real, 3 figuras significativas 12.34 12.3
Real, campo fijo, 3 izq., 3 derecha 12.34 12.340

La Animación Ejecutando un Script con el Click de un botón


Tomar Acción no En el modo Ejecución, posicionar el cursor del mouse sobre un objeto con la
puede ser asignada Animación Tomar Acción, provocará que la forma del cursor cambie a la forma de
a objetos del tipo un dedo apuntando. Haciendo Clic en el botón izquierdo del mouse ejecut ará el
línea, arco, torta ó Script asociado a oprimir tecla.
cuerda.
Los Scripts Tomar Acción son para aquellas funciones y operaciones que deban
ocurrir como resultado directo de presionar ó hacer click sobre un botón o
cualquier otro objeto. Normalmente, estos Scripts se utilizarán para leer ó
escribir archivos, abrir ventanas, ingresar valores por defecto, ó tomar
conocimiento de un evento.

Existen tres tipos de Scripts para ventanas: botón oprimido, mientras el botón
permanezca oprimido y al liberar botón. Se puede escribir un script para cada
caso. Mientras el botón izquierdo permanezca oprimido se ejecutará el Script
asignado a Mientras oprimido en el intervalo especificado. Después de liberar el
botón, el script asignado Al Liberar se ejecutará.

Se puede asignar estos Scripts a cualquier combinación utilizando los siguientes


pasos.

Copyright © 2003 KEP, Inc. General ? 84


1. Oprima el botón Tomar acción en la barra de herramientas de
Animaciones.

2. Seleccione cuando el Script deberá ocurrir.

3. Si el proyecto soporta seguridad multi-usuario, ingrese el Nivel de Acceso


que el Operador deberá tener para activar la Animación.

4. Si se desea, revise el acceso rápido invocar con el teclado y elija una tecla
Ver Scripting para
opcional de acceso rápido, equivalente a un botón del mouse.
mayor información.
5. Ingrese el Script y verifique que la sintaxis esté correcta.

6. Seleccione Aceptar para aceptar la definición de la animación.

LibrERIAS: EL CAMINO RAPIDO PARA UNA GRAN


APARIENCIA

General
Las Librerías son archivos que contienen objetos y grupos de objetos dibujados
previamente. Infilink tiene un administrador de las Librerías para ayudarle a
organizar los objetos utilizados en el Proyecto. El administrador de Librerías
tiene algunas herramientas que le ayudarán a cumplir con los objetivos.

Copyright © 2003 KEP, Inc. LibrERIAS: EL CAMINO RAPIDO PARA UNA GRAN APARIENCIA ? 85
Herramienta de Manejo de Librería

Crear una nueva Librería Cortar un objeto

Crear un Nuevo grupo de objetos Copiar un objeto

Abrir una Librería Pegar un objeto

Grabar una Librería Eliminar un objeto o grupo de objetos


Renombrar un objeto o grupo de objetos

Barra de árbol

Creación de una Nueva Librería

1. Para crear sus propias Librerías, seleccione el ítem Nueva Librería desde el
menú archivos ó haga click en la herramienta . Ingrese un nombre lógico
para la Librería, ej: “ProyectoBombas”, “MáquinaEnvasadora”, etc. Luego
haga Click en Aceptar. Se creará una nueva Librería vacía, con un Nuevo
grupo de objetos también vacío, denominado Sin Nombre.

2. Haga Click en la herramienta Renombrar para dar un nombre apropiado


al Nuevo grupo Sin Nombre. Los nombres de los grupos de objetos deben
reflejar el tipo de objetos que incluyen.

Ahora está listo para comenzar a grabar objetos en el Grupo.

Copyright © 2003 KEP, Inc. LibrERIAS: EL CAMINO RAPIDO PARA UNA GRAN APARIENCIA ? 86
Creación de un Nuevo Grupo de Objetos

Todos los objetos deben ser colocados en un grupo.


Para crear un nuevo grupo, simplemente haga Click en la herramienta .
Luego, renombre el grupo con la herramienta .

El nuevo grupo está ahora listo para recibir objetos.

Abrir una Librería

Haga Click en la herramienta Todas las Librerías de Infilink tienen la


extensión *.kol ó *.lib. La Librería del Sistema es la Librería por defecto que
viene con Infilink.

Explore la pantalla hasta ubicar la Librería que desea abrir, haga click sobre ella y
luego oprima Abrir.

Copyright © 2003 KEP, Inc. LibrERIAS: EL CAMINO RAPIDO PARA UNA GRAN APARIENCIA ? 87
Guardar una Librería

Haga Click en para grabar una Librería existente ó ingrese un nombre de


archivo en el cuadro de diálogo desplegado si es un Nuevo archivo y haga click
en Grabar para salvar.

Árbol del Administrador de Librerías

El Árbol es una herramienta que muestra los Grupos de Objetos y su contenido


en forma jerárquica. Se ubica a la izquierda del campo de objetos según se
muestra.

El objeto seleccionado tiene su nombre resaltado en el árbol. Para renombrar un


objeto o grupo de objetos, haga click en la herramienta . El nombre de un
objeto puede tener un largo de hasta 64 caracteres.

Copyright © 2003 KEP, Inc. LibrERIAS: EL CAMINO RAPIDO PARA UNA GRAN APARIENCIA ? 88
Guardando Objetos en una Librería

Cualquier objeto
dibujado que se inserte o 1. Haga Click sobre el objeto o grupo a grabar. Haga click con el botón
se dibuje en una derecho en el menú de acceso rápido y seleccione Copiar.
ventana, incluyendo los
grupos de objetos
pueden ser grabados en
2. Abra la Librería y el grupo de objetos en donde se desea grabar el objeto o
una Librería. Todas la grupo seleccionado.
Animaciones y Scripts
serán grabadas junto 3. Haga click con el botón derecho en el campo del objeto de la Librería y
con los objetos o grupos.
Estos hacen que los
seleccione P egar desde el menú de acceso rápido. Un nuevo objeto sin
objetos y grupos en las nombre será agregado al árbol a la izquierda del campo del objeto. Utilice
Librerías sean una Renombrar para asignar un nombre apropiado, de hasta 64 caracteres de
herramienta útil para largo, al objeto ó grupo.
futuros proyectos. La
ventana completa puede
ser agrupada y luego Asegúrese de grabar la Librería de modo que el Nuevo objeto o grupo no se
grabados en una Librería pierda.
si se desea.
Dato para Diseño
Nota: El objeto a ser grabado debe ser copiado desde una ventana de Infilink.
Objetos copiados desde otros programas como Word o Paint no pueden ser
pegados en forma directa a una Librería. Se deben pegar primero a una ventana
de Infilink y luego copiarlos de esta ventana y pegarlos a la Librería.

Insertar un Objeto o Grupo desde una Librería


Ver Apéndice A para la
lista de Librerías Infilink . 1. Para insertar un objeto o grupo desde una Librería en una ventana del
proyecto, simplemente haga click sobre él y arrástrelo a la ventana. Una vez
que el objeto se ha insertado, puede ser removido, editado ó animado.
Utilizando Librerías
predefinidas acelera el 2. Modifique su tamaño y ajuste según se desee. Los objetos que han sido
desarrollo del Proyecto.
Los Objetos de una animados y copiados a una Librería, mantienen estas animaciones y los Tags
Librería pueden ser asociados a ellos.
insertados en cualquier
ventana de Infilink. Si estos objetos son copiados desde la Librería hacia a una ventana de proyecto,
deberá suministrar nombres de Tags válidos para soportar las animaciones.
Infilink permite reasignar los Tags en los objetos de sus Librerías cuando son
pegados en la ventana del proyecto. Si el objeto tiene una animación asignada el
cuadro de dialogo Reasignación se desplegará.

Copyright © 2003 KEP, Inc. LibrERIAS: EL CAMINO RAPIDO PARA UNA GRAN APARIENCIA ? 89
Reasignar Tags
La función Reasignación
de Tags puede ser El dialogo Reasignación de Tags es utilizado para reemplazar uno o más
invocada en cualquier nombres de Tags asignados al objeto seleccionado. Cada animación y Script
momento, en cualquier
ventana, con solo
asignados al objeto serán scaneados para ser utilizados por los Tags. Se
hacienda click en botón mostrará un cuadro de diálogo para cada Tag que es asignado al objeto.
derecho sobre un objeto.
Si el objeto contiene El cuadro de diálogo es el siguiente:
Tags, la selección
Reasignación de Tags
estará disponible desde
el menú de acceso
rápido.

Dato para Diseño


Si se duplica objetos que
contienen información de
Tags como un
despliegue, puede
cambiar rápidamente los
Tags en el duplicado
utilizando la función El texto a la derecha de Nombre Antiguo: indica el nombre de un Tag encontrado
Reasignación de Tags. en el scan. Este Tag puede ser asignado a más de una animación ó script. Para
La combinación de estas reasignar el Tag se puede escribir un nombre válido ó presionar el botón Nuevo
dos funciones le permite
crear un objeto una vez y Nombre: y seleccionar un tag desde el diálogo Lista de Tags. Cuando se
luego rápidamente llenar
la pantalla con presiona el botón Aceptar todas las ocurrencias con el Nombre Original serán
duplicados, cada uno reemplazadas con el nombre del Tag en el control de edición.
con su propio tag
utilizando la función de
Se puede saltar la reasignación de un Tag presionando Aceptar sin realizar
Reasignación de Tags.
cambios al nombre.

Presione Cancelar en cualquier momento para detener el proceso de


reasignación.

Copyright © 2003 KEP, Inc. LibrERIAS: EL CAMINO RAPIDO PARA UNA GRAN APARIENCIA ? 90
Scripts: La última palabra en flexibilidad

General
Los Scripts proveen la funcionalidad adicional que su aplicación podría necesitar.
Los Scripts de Infilink permiten realizar Tags tales como complejas operaciones
de escalamientos, manipulación de archivos, manejos de secuencias e
interacciones de usuario con su proceso. Esta sección es una referencia para las
funciones scripts.

Introducción
Los Scripts son secuencias automatizadas de comandos que son realizados por
Infilink en el modo ejecución. Existen cinco tipos de scripts:

1. Scripts de Proyecto – Asignados a nivel de proyecto.


2. Scripts de ventana – Asignados a nivel de ventanas.
3. Scripts tomar acción – Asignados como animaciones a nivel de objetos.
4. Scripts de Tags - Asignados a Tags individuales.
5. Scripts de alarma - Asignados a Alarmas individuales.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 91


Este editor es utilizado
para editar cada tipo de
script.

Los siguientes botones son comunes a todos los editores:

Abre el cuadro de diálogo Grupos de Tags. Se puede seleccionar


un tag de la lista de tags y su nombre será insertado en forma automática en el
script en la posición del cursor.

Revisa el script por errores. Si se encuentra un error, una


descripción del error aparecerá en la barra de estado en la parte inferior del
cuadro de diálogo y el cursor se ubicará en la ubicación aproximada del error en
el script.

Abre la ayuda para el tipo de script que se está editando.

Detiene la edición.

Valida y asigna el script.

Script de Proyecto
El acceso al editor de scripts del proyecto se realiza seleccionando el Tab scripts
en el cuadro de diálogo de opciones del proyecto. Existen tres tipos de scripts de
proyecto: Al abrir el Proyecto, Mientras se ejecuta y al cerrar el proyecto. Se
puede escribir un script para cada condición.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 92


Los scripts de Proyecto
contendrán aquellas
funciones y operaciones
que se requieren para
funcionar en forma
independiente a como el
operador está haciendo
en algún otro lugar del
proyecto.

No se debe intentar Al Abrir el Proyecto


acceder a los Tags Los pasos de iniciación que se desee hacer cuando se inicie el proyecto pueden
asignados a los nodos ser realizados con un script Al Abrir proyecto. Este tipo de scripts se ejecuta
definidos por el usuario cuando el proyecto se carga inicialmente. Se puede utilizar un script Al Abrir
desde un script Al abrir
proyecto ó Al cerrar Proyecto para definir el estado de algunos Tags de memoria interna ó iniciar
proyecto porque los alguna aplicación externa.
datos externos podrían
no estar disponibles al Mientras el proyecto se ejecuta
ejecutar el script.
Operaciones periódicas a nivel de proyecto se pueden realizar con un script
Mientras el proyecto se ejecuta. Este script se ejecuta en intervalos definidos por
el usuario entre 100 y 99999 ms. Estos scripts se ejecutan antes que los scripts
Al Abrir Ventana, si es que han sido definidos.

Al Cerrar el Proyecto
Cualquier limpieza a nivel de proyecto que se desee realizar puede hacerse con
un script Al Cerrar Proyecto.

Ingresando un script de proyecto


1. Presione el Script Tab y seleccione cuando se ejecutará.

2. Ingrese el script y verifique que la sintaxis esté correcta.

3. Seleccione Aceptar para aceptar la definición del script.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 93


Ejemplo: Script Al ejecutar @ 5000 MS tasa de muestreo
# Si el bit de reconocimiento de la alarma de cloro #cesta
activado. Mostrar la ventana de peligro y ejecute #un beep
5 veces.

If (cloro_ack == ON) then


Show "peligro";
Beep(5);
Cloro_ack = OFF;
Endif;

Scripts de Ventana
El acceso al editor de scripts de ventana es otorgado desde el Diálogo de
Propiedades de la ventana. Se puede desplegar el Diálogo de Propiedades para
la ventana requerida, seleccionando Propiedades desde el menú de acceso
rápido. Existen tres tipos de scripts de Ventana: Al abrir, Mientras esté abierta y
al cerrar. Se puede escribir un script para cada condición. Los tipos de scripts que
se pueden escribir para una ventana están definidos a continuación.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 94


Los scripts de ventana
son utilizados para
aquellas funciones y
operaciones que son
importantes solo
mientras la ventana se
esté abierta. Por
ejemplo, se podría
desear mostrar ó
esconder ciertos objetos,
o se podría desear que
se ejecute algunos
cálculos que solo se
muestren en la ventana.

Al Mostrar La Ventana
Los pasos de iniciación que se desea ejecutar antes de mostrar una ventana se
pueden realizar con la condición Al Abrir Ventana. Se puede utilizar un script con
esta condición para iniciar las propiedades de uno o más objetos en la ventana.

Mientras se Despliega la Ventana


Operaciones periódicas a nivel de la ventana pueden ser realizadas con un script
en la condición Mientras esté abierta. Los scripts para esta condición se ejecutan
a un intervalo definido por el usuario, entre 100 y 99999 ms. Se puede utilizar
este tipo de scripts para reciclar el valor de un Tag de Memoria que se utilice en
la ventana.

Al Ocultar la Ventana
Cualquier limpieza a nivel de la ventana que se desee ejecutar al retirar la
ventana de la vista, puede ser ejecutada con un script con esta condición. Se
puede utilizar este tipo de script para mostrar una ventana diferente.

Ingresando un script de ventana


1. Presione el Tabulador Script y seleccione la condición en que se requiere que
se ejecute.

2. Ingrese el script y verifique que la sintaxis esté correcta.

3. Elija Aceptar para aceptar la definición del script.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 95


Ejemplo: Script Mientras se Despliega la Ventana
# Calcular el porcentaje de capacidad usado en el estanque de
#cerveza. El estanque tiene 27 pies de profundidad. Cada pie
equivale a 4800 galones o 400 GPI. La capacidad inicializada a
129,600. EL nivel se registra en pulgadas y el GPI es
inicializado en 400.

porcap = (nivel * GPI) / capacidad;

Scripts Tomar Acción


El acceso al editor de script Tomar Acción se consigue desde el cuadro de
diálogo de Animaciones. Se puede desplegar el cuadro de diálogo Animaciones
para el objeto o grupo seleccionado, oprimiendo F5. Existen tres tipos de scripts
de ventana: al presionar el botón, mientras el botón esta presionado y cuando
el botón esta arriba. Se puede escribir un script para cada condición.

Los scripts Tomar Acción


son para aquellas
funciones y operaciones
que deben producirse
como resultado directo
de presionar, hacer click
sobre un botón ó
cualquier otro objeto.
Normalmente, estos
scripts se utilizan para
leer y escribir archivos,
abrir ventanas,
restablecer valores ó
tomar conocimiento de
un evento.

Al Presionar el Botón
El script asignado a esta condición del botón, se ejecutará tan pronto como el
botón del mouse ó alguna tecla predefinida sea oprimi da.

Mientras el Botón esta Presionado


Este script se ejecutará al intervalo especificado entre 100 y 99999 ms, mientras
el botón del mouse o tecla predefinida permanezca presionada. Se puede utilizar
este script para cambiar el valor de un Tag de memoria en un tiempo un poco
menor que el que se obtiene al oprimir el botón ó la tecla en forma repetitiva.

Cuando el Botón esta Arriba.


Este script se ejecuta al dejar de oprimir el botón o la tecla. Se utiliza este tipo de
script para emular un botón del tipo Windows que inicie una acción simple.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 96


Ejecutando un script con un click de botón
Se puede asignar estos scripts en cualquier combinación utilizando estos pasos:

1. Oprima el botón Tomar Acción en la barra de herramientas de animaciones.


Seleccione la opción para que se ejecute el script.

2. Si el proyecto soporta seguridad para Multi-usuario, ingrese el nivel de


acceso que el operador deberá tener para activar la animación.

3. Si se desea, invoque utilizando el acceso rápido por teclado y elija la tecla de


acceso rápido equivalente al botón del mouse.

4. Ingrese el script y verifique que la sintaxis esté correcta.

5. Elija Aceptar para aceptar la definición de la animación.

Ejemplo: Script Cuando el Botón esta Arriba

# Cuando el botón es presionado y liberado


# la alarma de gas clorhídrico es reconocida

Cloro_ack = TRUE;
PostMsg ("Alarma de gas clorhídrico reconocida por operador"
+_User);

Scripts para Modificar datos en los Tags


Los scripts para
modificar datos están El acceso al editor de scripts Modificación de Datos se consigue seleccionando el
concebidos para Script Tab en el cuadro de diálogo de las propiedades de los Tags. Se puede
aquellas funciones y desplegar el cuadro de diálogo Animaciones para el grupo oprimiendo F6.
operaciones que se
desee realizar ante un
cambio en los datos.
Se puede utilizar estos
scripts para modificar un
proceso cuando un Tag
excede cierto valor.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 97


Cuando se definan Tags
Al Cambiar los Datos
numéricos, se puede Un script del tipo Al Cambiar los Datos que esté asignado a un Tag en la base
asignar una Banda de datos, se ejecutará cada vez que éste cambie de valor. Si el Tag tiene
Muerta. Esta especifica asignada una banda muerta, el valor debe cambiar por lo menos dicho valor
la c antidad mínima por la
cual el valor del Tag
antes de que se ejecute el script.
debe cambiar antes de
que este cambio sea Ingresando un Tag Script
gatillado. 1. Seleccione un tag haciendo click con el botón en el icono Grupo de Tags
para desplegar los Tags definidos y luego elija uno haciendo doble click con
el mouse ó utilice el menú de acceso rápido y seleccione Propiedades.
Desde cuadro de diálogo propiedades del Tag haga click sobre el Tab
Scripts.

2. Ingrese el script y verifique que la sintaxis esté correcta.

3. Elija Aceptar para aceptar la definición del script

Ejemplo:
# Si el sensor de cloro detecta cloro, el bit de
# Reconocimiento de cloro se activa.

If (cloro_detect == 1) then
Cloro_act = 1;
Endif;

Scripts de Alarma
El acceso al editor de scripts de alarma se hace a través el diálogo de
propiedades del Tag, cuando se asigna una alarma a un Tag.

Los scripts de alarma


son para aquellas
funciones y operaciones
que se desea ejecutar
cuando se active una
condición de alarma. Se
puede utilizar un script
de alarma para activar
un sonido de alarma
cuando el valor del Tag
excede un cierto valor.
El script puede
ejecutarse en cualquier
momento.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 98


En Transición Activa
Las acciones que se desea ejecutar cuando la alarma ocurre, se pued en realizar
con un script En Transición Activa. Este tipo de scripts se ejecuta una vez que
la alarma ocurre. Se puede usar este tipo de script para gatillar un aviso o para
mostrar una ventana de diagnóstico.

Mientras este Activo


Se pueden ejecutar operaciones periódicas mientras la condición de alarma
exista, con un script del tipo Mientras esté activa. Este tipo de script se ejecuta
en intervalos definidos por el usuario entre 100 y 99999 ms.

En Reconocimiento
Operaciones periódicas luego de que una alarma es reconocida se pueden
ejecutar con un script Al Ser Reconocida . Estos scripts se ejecutan una vez
que la alarma ha sido reconocida. El reconocimiento de una alarma no inhibe los
scripts del tipo Mientras esté activa.

En Transición Inactiva
Cualquier alarma interna que se desee ejecutar, se puede hacer con un script del
tipo En Transición Inactiva .

Ingresando un Script de Alarma


1. Seleccione un tag haciendo click con el botón en el icono Grupo de Tag para
desplegar los Tags definidos y luego elija uno haciendo doble click con el
mouse ó utilice el menú de acceso rápido y seleccione Propiedades. Desde
cuadro de diálogo propiedades del Tag haga click sobre el Tab de alarma
adecuado y luego haga clic en el botón Script.

2. Ingrese el script y verifique que la sintaxis esté correcta.

3. Elija Aceptar para aceptar la definición del script

Script de Referencia
General

El recordatorio para este capitulo tiene que ver con los comandos y
construcciones que pudieron ser utilizadas al escribir los scripts. He aquí
algunos aspectos básicos:

? Un script válido contiene por lo menos un argumento.


? Cada argumento debe terminar con un punto y coma (;)
? Las palabras clave IF, THEN, While and _SysCmd no son sensibles a
mayusculas.
? Los nombres de ventanas, de tags y de objetos no son sensibles a
mayusculas.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 99


Comentarios
Para continuar un
La inclusión de comentarios en los scripts representan una ayuda cuando otras
comentario en la
personas revisan el trabajo (incluso usted más adelante), la intención de la
siguiiente linea hay
operación del script será más clara.
que colocar un # en
Un comentario se define anteponiendo el signo “#”, como se muestra:
el principio.

# Este es un comentario de muestra


# Muestra el valor de una expresión numérica asignándolo #
a un objeto de texto.

Constantes Lógicas

Las siguientes constantes están disponibles para uso en expresiones que


involucren datos del tipo discreto. Estas se pueden utilizar en cualquier punto en
que se requiera un VERDADERO o FALSO lógico.

ON ó VERDADERO pueden ser utilizados para indicar un verdadero lógico (1)


OFF ó FALSO pueden ser utilizados para indicar un falso lógico (0)

Ejemplo:
# Suena un beep del parlante del PC si el valor de
# DiscreteTag1 es VERDADERO (TRUE)
If DiscreteTag1 == ON Then
Beep;
EndIf;

Operadores Condicionales
Estos operadores son utilizados cuando se crean expresiones de relación para el
uso de las Afirmaciones IF – THEM – ELSE ó WHILE. Los siguientes operadores
están disponibles:

> Mayor que


< Menor que
>= Mayor ó igual a
<= Menor ó igual a
= or == Igual a
<> Distinto a
Se puede utilizar
paréntesis para definir el Ejemplo:
orden de ejecución de If (tag1 > tag2) then
las operaciones lógicas. tag3 = 1;
Las operaciones escritas elseif (tag1 == tag2) then
entre paréntesis son
evaluadas primero desde tag3 = 0;
adentro hacia afuera. else
tag3 = -1;
endif;

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 100


Operadores Lógicos
Son utilizados cuando se combinan expresiones condicionales.

AND Lógico
Las expresiones lógicas que involucran AND se transforman en VERDADERO si
ambos lados de la expresión son verdaderos.

OR Lógico
Las expresiones lógicas que involucran OR se transforman en VERDADERO si
ambos lados de la expresión son verdaderos.

NOT Lógico
Invierte el resultado de una expresión lógica.

Infilink asume que


Ejemplos:
cualquier valor distinto If (tag1 > tag2) OR (tag1 > tag3) then
de cero es tag4 = tag1;
VERDADERO ( TRUE). endif;
DiscreteTag1 = DiscreteTag2 AND DiscreteTag3;
DiscreteTag1 = NOT (DiscreteTag2 AND DiscreteTag3);

Operador de Asignación
Para hacer una asignación a un Tag o propiedades del objeto, se utilizará el
signo IGUAL (=) como en:

<nombre del tag> = <expresión>


<nombre de ventana>.<nombre de objeto>.<propiedades del objeto> =
<expresión>

Cuando se trabaja con el operador de asignación, <expresión> puede ser un


valor literal, nombre de tag, propiedad de objeto, ó cualquier combinación de ellos
que tengan tipos de datos compatibles. Compatible significa simplemente que
todos los componentes de la expresión deben ser Strings ó Numéricos. La meta
de la asignación determinará el tipo de datos.

Asignación de Tag Virtual


Los Tags virtuales pueden ser usados para contener valores de otros Tags. Sin
importar que tipo de datos sean. Esto se hace utilizando el Operador de
Asignación. El nombre del Tag Virtual es asignado a un string que es el nombre
de otro Tag. La sintaxis para esta operación de asignación es:
<nombre del Tag virtual >.nombre="<nombre del Tag>";

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 101


Ejemplos:
# Asigna el resultado de una expresión numérica a un tag
tag1 = tag2 + tag3;

# Asigna una constante numérica a un tag


tag1 = 5;

# Asigna una constante lógica a un tag discreto


DiscreteTag1 = ON;

# Asigna una secuencia literal a un tag del tipo string


StringTag1 = “This is a string”;

# Asigna el valor de otro tag a un tag virtual


virTags\virTag1.name="memTags\boolTag";

Operadores Aritméticos
Son utilizados para construir expresiones numéricas. Los siguientes operadores
están disponibles:
El operador suma
también puede ser + Suma
usado para concatenar - Resta
Strings. . * Multiplicación
Dividir por cero resulta / División
en cero. % Módulo división. Devuelve el reman ente de la división de dos números.
El operador % su puede
utilizar solo con datos del
tipo entero
Operadores que actúan sobre los Tags ó propiedades de los objetos:
Alternancia <tag discreto / propiedades del objeto>
Alterna el valor de un tag discreto ó propiedades de objeto de 1 a 0 ó de 0 a 1.

Decr <tag numérico / propiedades de objeto>


Disminuye el valor de un tag numérico ó propiedades de objeto en 1.

Incr <tag numérico / propiedades de objeto>


Aumenta el valor de un tag numérico ó propiedades de objeto en 1.

Ejemplos:
# Modulo counter
nAngleTag = (nAngleTag + 1) % 360;

# Alterna la visibilidad de un objeto


Toggle _ThisWin.Rect1.Show;

# Incrementa el valor de u tag


Incr tag1;

Control de flujo
IF-THEN-ELSE condicionales

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 102


Sintaxis:
If <expresión relacionada> Then
Afirmación 1;
Afirmación 2;
.
Afirmación n;
ElseIf <expresión relacionada> Then
Afirmación 1;
Afirmación 2;
.
Afirmación n;
Else
Afirmación 1;
Afirmación 2;
.
Afirmación n;
EndIf;

Si una <expresión de relación> resulta en un Afirmación Verdadero lógico, la


palabra Then es ejecutada seguida de un salto a primer Afirmación seguido de la
expresión EndIf. Si una <expresión de relación> resulta en un Falso lógico,
cada condición sucesiva ElseIf será evaluada hasta que se encuentre un
Verdadero lógico <expresión de relación>. Si todas las condiciones ElseIf se
encuentran FALSO, la sección Else se ejecutará si está presente, de lo contrario
la ejecución saltará al primer Afirmación seguido de la expresión EndIf.

Se puede incluir tantas secciones ElseIf como sean necesarias para calificar el
set de condiciones que se está programando (scripting).

Se puede omitir la sección Else si no se requiere un procesamiento por defecto.

While Loop
Syntax:
While <expresión relacionada>
Afirmación 1;
Afirmación 2;
.
Afirmación n;
EndWhile;

Un While loop puede ser utilizado solo en un script de ventana con la opción
Mientras se muestra, en un script de proyecto con la opción Mientras se ejecuta ó
en un script Tomar acción Mientras se presiona tecla.

Si la <expresión relacionada> resulta en un FALSO lógico, la ejecución salta al


primer Afirmación seguido de la expresión EndWhile. Si la <expresión
relacionada> resulta en un VERDADERO lógico, el cuerpo del loop se ejecutará
hasta la expresión EndWhile se suspenderá hasta que el próximo intervalo
especificado. Cuando la ejecución se reinicie, la <expresión relacionada> es
evaluada nuevamente y el proceso se repite.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 103


Funciones Matemáticas
Cada una de las siguientes funciones devuelven y esperan argumentos del tipo
de datos reales.

Seno (<ángulos en grados>)


Retorna el seno trigonométrico de un <ángulo en grados>

Coseno (<ángulos en grados>)


Retorna el coseno trigonométrico de un <ángulo en grados>

Tangente (<ángulos en grados>)


Retorna la tangente trigonométrica de un <ángulo en grados>

Asin (<real>)
Retorna el seno inverso <real>

Acos (<real>)
Retorna el coseno inverso <real>

Atan (<real>)
Retorna la tangente inversa <real>

Raíz cuadrada (<real>)


Retorna la raíz cuadrada <real> (retorna cero si <real> es negativo)

Potencia (<número>, <exponente>)


Retorna el <número> elevado a la potencia <exponente>

Absoluto (<real>)
Retorna el valor absoluto <real>

Ejemplos:
# Calcular la hipotenusa de un triangulo rectángulo con
# el valor de sus otros dos lados.

Hyp = sqrt ((s1 * s1) + (s2 * s2));

# Calcular el ángulo entre la hipotenusa y s2


Angle = atan (s1 / s2);

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 104


Funciones de Strings
Estas funciones operan en expresiones string. Se puede especificar una
expresión string utilizando un string literal o string tag o concatenando string
literales y string tags en cualquier combinación utilizando el operador +.

Se crea un string literal encerrando los caracteres entre comillas como por
Un string literal
ejemplo "Este es un string" Si se necesita incluir las comillas (“) en el
puede tener hasta
string, se puede anteponer un backslash (\). Si el literal debe terminar con el
127 caracteres de
largo. backslash porque el string representa una ruta entonces se deberá agregar un
backslash adicional para prevenir que la sentencia de cierre sea incluida como
parte del string.

LTrim (<string expresión>)


Retorna <string expresión> sin los espacios anteriores.

RTrim (<string expresión>)


Retorna <string expresión> sin los espacios posteriores.

Trim (<string expresión>)


Retorna <string expresión> sin los espacios anteriores y posteriores.

Str (<numeric expresión>)


Retorna la representación string de <expresión numérica>

Val (<string expresión>)


Retorna el valor numérico de < string expresión >

UCase (<string expresión>)


Retorna <string expresión> con todos los caracteres en mayúscula

LCase (<string expresión>)


Retorna <string expresión> con todos los caracteres en minúscula

Chr (<expresión numérica >)


Retorna un string de caracteres simple consistente en caracteres ASCII indicados
en <expresión numérica>.

Len (<string expresión>)


Retorna el número de caracteres en <string expresión>.

Igual (<string expresión1>, <string expresión2>)


Retorna 1 si <string expresión1> es igual a <string expresión2>, 0 si no.

Left (<string expresión>, <num chars>)


Retorna los caracteres <num chars> de la izquierda de la <string expresión>.

Right (<string expresión>, <num chars>)


Retorna los caracteres <num chars> de la derecha de la <string expresión>.

Mid (<string expresión>, <first char>, <num chars>)


Retorna los caracteres <num chars> del centro de la <string expresión>
comenzando con el primero <first char>.

StrPathName (<string expresión>)


Retorna la porción del path de una especificación de archivo identificado por un
<string expresión>.
Si las <string expresión> fueron dadas como c:\path\file.ext el retorno
será como c:\path\

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 105


StrFileName (<string expresión>)
Retorna la porción de la especificación del nombre del archive identificado por
<string expresión>.
Si las <string expresión> fueron dadas como c:\path\file.ext el retorno
será como file.ext

Ejemplos:
# Asignacion de string simple
StringTag = "My String";

# Asignación de string que contiene cremillas encajadas


QuotedStringTag = "This string needs \"quotes\"";

# Asignación de una ruta a un tag tipo string (note el


# extra backslash)
PathStringTag = "c:\dir1\dir2\\";

# Convierte un string a numero


NumTag = Val (StringTag);

Funciones de Archivo
El <tag name> pasado a las siguientes dos funciones puede ser utilizado como
<nombre de archivo> al llamar la función read/write descrita abajo. El Nombre de
Tag suministrado será tipo string.

FileGetWriteName (<tag name>)


Despliega un cuadro de diálogo que permite al OPERADOR seleccionar/ingresar
una especificación de archivo y asignarla al string tag identificada por el <nombre
del tag>. El string tag contendrá una completa especificación del archivo,
incluyendo el drive, ruta y el nombre del archivo.

Al hacer una selección


de éste diálogo, la ruta
es memorizado entre
cada utilización.

FileGetReadName (<tag name>)

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 106


Despliega un cuadro de diálogo que permite al Operador seleccionar/Ingresar
una especificación de archive y asign arlo al string Tag identificado por <nombre
de tag>. El string Tag contendrá una completa especificación del archivo
incluyendo la ruta y el nombre del archivo.

La diferencia entre ésta función y FileGetWriteName() es que para ésta función


el Operador debe elegir un archivo existente.
Al hacer una selección
de éste diálogo, la ruta
es memorizado entre
cada utilización.

Notas:
1. Las funciones de nombre de archivo deben ser llamadas solo desde un script
del tipo Tomar acción (opciones Al oprimir ó Al liberar botón).

2. El cuadro de diálogo que se despliega al llamar a cualquiera de estas


funciones no será desplegado hasta que la función retorne. No se debe
incluir algún Afirmación a continuación de FileGetReadName() ó
FileGetWriteName() que dependa del nombre del archivo que va a ser
seleccionado.

3. Solo se debe llamar a estas funciones desde un script del tipo Tomar acción,
opciones Al oprimir ó Al liberar botón.

Cada una de las funciones siguientes retorna un Gran valor entero indicando el
byte offset del archivo en donde la operación fue completada. Este valor
retornado puede ser utilizado como el <offset> argumento en llamadas
subsecuentes a esta función. Si ocurre un error, la función retornará un –1 y el
tag de Sistema _FileOpStatus cont endrá un valor que indica el tipo de error.

FileWriteText (<nombre de archivo>, <offset>, <string expresión>, <largo>)

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 107


? Escribe <largo> caracteres desde <string expresión> hacia el archivo
especificado por <nombre de archivo> comenzando en el byte offset
<offset>.
Ej. FileWriteText(PathTag, 5, StringTag, LengthTag); Escribe datos StringTag
sobre datos existentes en el archivo comenzando después de carácter 5.

? Si <offset> se da como -1, el caracter será ingresado al archivo.


Ej. FileWriteText(PathTag, -1, StringTag, LengthTag); Escribe datos
StringTag data al final de los datos existentes en el archivo

? Si <offset> se da como -2, el archivo especificado es borrado completamente


antes de ejecutar la operación de escritura.
Ej. FileWriteText(RutaTag, -2, StringTag, LengthTag); El archivo solo va a
contener caracteres del StringTag.

? Si se da un <offset> mas allá del fin del archivo, el espacio entre el punto final
del archivo y el Nuevo caracter será completado con espacios.

? Si el largo <length> se da como -1, todos los caracteres en el <string


expresión> serán escritos.

? No se agrega línea de comando retorno de carro al texto de. Si el texto debe


terminar con un comando de retorno de carro, con un par de CR-LF usted
puede agregarlas +Chr(13)+Chr(10) al <string expresión>.

Ejemplo:
# Los parámetros de string usados en la función FileWriteText
# pueden también ser ingresados literalmente como:
# FileWriteText
#("C:\testfile.txt", -1, "String", Len("String”));

PathTag = "C:\temp\testfile.txt";
StringTag = "New Message: " + plc_string + Chr(13) + Chr(10);
LengthTag = Len (StringTag);
FileWriteText (PathTag, -1, StringTag, LengthTag);
if _FileOpStatus <> 0 Then
Show "MyErrorWindow";
endif;

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 108


FileReadText (<file name>, <offset>, <string tag/object property>, <length>)
? Lee los caracteres <length> desde el archivo especificado por <file name>
comenzando en el byte offset <offset> luego <string tag/object property>
? Si una lectura (read) intenta pasar el final del archivo, la función leerá tantos
datos como pueda y retornará un –1. _FileOpStatus will be set to -4.
? Si se da un <offset> negativo ó más allá del fin del archivo, no ocurrirá acción
alguna.
? El tag o propiedades del objeto especificadas debe tener permiso de escritura
y ser del tipo string.

Ejemplo:
# Los parámetros de string usados en la función FileReadText
# también pueden ser ingresados literalmente como:

# FileReadText("C:\temp\testfile.txt", 0, StringTag, 100);

PathTag = "C:\temp\testfile.txt";
FileReadText(PathTag, 0, StringTag, 2000);
if _FileOpStatus <> 0 And _FileOpStatus <> -4 Then
Show "MyErrorWindow";
endif;

FileWriteCSV (<file name>, <offset>, <tag name>, <number of tags>)


? Genera un registro que consiste en campos de datos separados por comas
desde <número de tags> tags comenzando con <nombre del tag>.
? <nombre de tag> debe ser en el formato "base name+numeric suffix" i.e.
Tag43, DataVal20.
? <nombre del tag> y <número de tags> deben ser literals.
? Los campos de datos CSV están limitados a 250 caracteres cada uno.
? El <offset> es el registro de inicio en donde los nuevos registros son escritos
al archivo especificado.
? Si el <offset> es dado como -1, la salida es grabada al archivo especificado.
? Si el <offset> es dado como -2, el archivo especificado es borrado antes de
que se realice la operación de escritura.

Ejemplo:
# Los parámetros del nombre de archivo usados en la
# función FileWriteCSV
# pueden también ingresados literalmente como:
# FileWriteCSV ("C:\temp\testrec.csv", -1, UserTag1, 10);

# Para que este script se compile adecuadamente, su base


# de datos de tags necesitara contener tags UserTag1,
# UserTag2,...,UserTag10.
# Los valores de estos 10 tags serán escritos entonces en
# El archivo CSV de salida.

PathTag = "C:\temp\testrec.csv";
FileWriteCSV(PathTag, -1, UserTag1, 10);
if _FileOpStatus <> 0 Then
Show "MyErrorWindow";
endif;

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 109


FileReadCSV (<file name>, <offset>, <tag name>, <number of tags>)
? Lee los datos separados por comas desde <file name> comenzando en el
registro <offset>.
? Los datos son leídos de los tags comenzando con el <tag name> y
avanzando hasta del campo <número de tags>.
? <Nombre del Tag > debe estar en el formato "base name+numeric suffix" i.e.
Tag43, DataVal20.
? <nombre del tag> y <número de tags> deben ser literales.
? El <offset> es el número de registros en el archivo, cada registro puede ser
cualquier número de registro de datos.

Ejemplo:
# Loa parámetros del nombre de archivo usados en la
# función FileReadCSV
# pueden también ser ingresados literalmente como:
# FileReadCSV ("C:\temp\testrec.csv", 0, UserTag1, 10);

# Para que este script se compile adecuadamente, su base


# de datos de tags necesitara contener tags UserTag1,
# UserTag2,...,UserTag10.
# Estos tags serán entonces cargados con la información
# leída del archivo CSV de entrada.

PathTag = "C:\temp\testrec.csv";
FileReadCSV(PathTag, 0, UserTag1, 10);
if _FileOpStatus <> 0 Then
Show "MyErrorWindow";
endif;

Funciones de Sonido
Es la función que se utilizará para generar sonidos desde un proyecto Infilink
dependiendo si el PC de destino tiene instalados una tarjeta de sonido y
parlantes.

Beep (<expresión numérica>)


Genera uno o más beeps al parlante del PC.

Si se da una <expresión numérica> el resultado de esa expresión determinará la


cantidad de beeps, sino solo se emitirá un solo beep.

No se requiere hardware especial de audio para utilizar ésta función.

Tocar sonido (<string expresión>)


Toca el sonido especificado por <string expresión>.

<string expresión> puede ser un arc hivo .WAV ó el nombre de un sonido del
sistema definido en WIN.INI.

El tamaño de un archivo .WAV especificado para ésta función debe ser < 100 KB
en tamaño.

Esta función requiere una tarjeta de sonido.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 110


Ejemplo:
# Suene una alarma cuando el nivel de fluido exceda
# nuestro limite
if (niveltanque > Limitetanque) then
TankInlet = OFF;
PlaySound (WaveFilePath + "tanklim.wav");
endif;

Funciones de Ventana
El argumento para cada una de las funciones siguientes es el nombre de la
ventana (no el título). En todos los casos <window name> debe ser considerado
como en "Win001".

Ocultar <nombre de ventana>


Hace invisible la ventana pero no la descarga de la memoria.

Cargar <nombre de ventana>


Carga una ventana en memoria, pero no la hace visible.

Mover <nombre de ventana> A <new left>, <new top>


Cambia la ubicación de una ventana. Las coordenadas son relativas a la esquina
superior izquierda de la ventana principal de la aplicación.

Mover <nombre de ventana> como <cambio horizontal >, <cambio vertical >
Cambia la ubicación de una ventana relativa a su ubicación actual.

Redimensionar <nombre de ventana> A <nuevo ancho>, <nuevo alto>


Cambia el tamaño a una ventana.

Redimensionar <nombre de ventana> Como <cambio en el ancho>, <cambio


en el alto>
Cambia el tamaño de una ventana relativo a su tamaño actual.

Mostrar <nombre de ventana>


Hace visible a una ventana. Si la ventana no se encuentra en la memoria, la
cargará.

Descargar <nombre de ventana>


Descarga una ventana de la memoria.

Ejemplos:
# Mueva 10 pixeles a la derecha esta ventana (Ya que
estamos # operando del script tomar acción asignado a un
botón en la # ventana que queremos mover, podemos usar
_ThisWin.)
# Move _ThisWin by 10, 0;

# Ocultar una ventana y mostrar una diferente


Hide “MainMenu”;
Show “TrendView”;

Funciones de Sistema
Todas las funciones del sistema tienen la siguiente sintaxis:
_SysCmd.<identificador>
Los identificadores soportados se describen abajo. Si un comando corresponde
a un ítem del menú, el ítem se da como <Menu>/<Item>.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 111


Casilla Sobre Ayuda/ Sobre...
Muestra la casilla sobre en el Modo Ejecución.

Inicio Registro de Alarma Registrador/Iniciar Registro de Alarmas


Activa el registro de Alarma.

Detención del Registro de Alarma Registrador/Detener Registro de Alarmas


Desactiva el registro de Alarma.

Cierra Ventana Ventana/Cerrar.


Despliega una lista de las ventanas abiertas que se pueden seleccionar para
cierre.

Inicio del Registro de Datos Registrador/ Iniciar Registro de Datos


Activa el registro.

Detiene el Registro de Datos Registrador/ Detener Registro de Datos


Desactiva el registro.

Pulso de Registro de Datos Registrador/Registrador de Datos Pulso


Pulsa el registro de Datos, haciendo que tome instantáneas de todos los Tags
que tengan el habilitado el atributo de Registro de Datos.

Modo Diseño Proyecto/Diseñar


Vuelve el proyecto al Modo Diseño para edición.

Registro de Eventos Ventana/Mostrar Registro de Eventos


Trae el registro de eventos a primer plano.

Salir Proyecto/Salir
Saca a Infilink del Modo Ejecución.

Ocultar Menus
Hace que la Barra de Menú ubicada en la parte superior de la ventana principal
se oculte, restringiendo el acceso a los comandos.

Acceso Usuario/Acceso...
Despliega el cuadro de diálogo de acceso.

Salir Usuario/Terminar Acceso


Saca al usuario actual del sistema. Debe existir un usuario ingresado para que
este comando se realice.

Abrir Ventana Ventana/Abrir...


Despliega una lista de las ventanas no abiertas que se pueden seleccionar para
abrir.

Mostrar Menús
Hace que se muestre la barra de menú de la parte superior de la ventana
principal, permitiendo el acceso a los comandos.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 112


Conectar Grupo (<"Grupo de Tags">)
Hace que un grupo especificado de tags OPC intenten establecer comunicación
con el servidor.

Desconectar Grupo (<"Grupo de Tags">)


Hace que un grupo especificado de tags OPC termine la comunicación con el
servidor.

Deshabilitar Grupo (<"Grupo de Tags">)


Hace que el grupo especificado de tags DDE detengan la comunicación con el
servidor.

Habilitar Grupo (<"Grupo de Tags">)


Hace que el grupo especificado de tags DDE restablezca la comunicación con el
servidor.

GroupReset (<"Grupo de Tags">)


Hace que el grupo especificado de tags DDE rompa y luego restablezca la
comunicación con el servidor.

Ejemplos:
# Initialize the display on start
_SysCmd.HideMenus;
_SysCmd.Login;

Funciones Misceláneas

Run (<string expresión>)


Evalúa <string expresión> e intenta ejecutar una aplicación de ventana con este
nombre. El valor de retorno será VERDADERO si la aplicación se abre y en
caso contrario FALSO.

PostMsg (<string expresión>)


Registra el resultado de la string expresión en la ventana del Registro de
Eventos. Esta función puede ser utilizada al borrar un script ó instalar
mensajes acerca de los resultados de una operación.

Salir
Detiene la ejecución del script actual.

Salir de la aplicación y
Salir de la Aplicación (igual a _SysCommand.Exit () )
PulseDataLogger son Cierra el proyecto y sale del modo de ejecución de Infilink.
provistas para
compatibilidad con PulseDataLogger (igual a _SysCommand.DataLogPulse () )
versiones previas de
Hace que el registro de datos grabe instantáneas de todos los tags que están
Infilink.
bajo registro.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 113


Ejemplos:
# Este ejemplo carga Microsoft Excel con una hoja de balance
# especifica y si es exitoso, envía los valores de los tags
# PlcTagPressure y PlcTagTemp a la hoja de balance asignando
# estos valores a tags que hacen referencia a casillas
# R1C1 y R1C2

if Run ( "excel.exe calc.xls") then


ExcelTagR1C1 = PlcTagPressure;
ExcelTagR1C2 = PlcTagTemp;
endif;

# Envía un mensaje al registro de eventos PostMsg (“Tanque


llenado por operador ” + _User);

Constantes de Color
Todas las constantes de color tienen la siguiente sintaxis: SysColor.<identifier>

Identificador de Valor Rojo Valor Verde Valor Azul


color
Agua 0 255 255
Negro 0 0 0
Azul 0 0 255
Fucsia 255 0 255
Verde 0 128 0
Gris 128 128 128
Naranjo 0 255 0
Café 128 0 0
Marino 0 0 128
Verde Oliva 128 128 0
Púrpura 128 0 128
Rojo 255 0 0
Plata 192 192 192
Teal 0 128 128
Blanco 255 255 255
Amarillo 255 255 0

Ejemplo
# Cambiar el color de llenado;
_ThisWin.MyRectangle.FillColor = _SysColor.Maroon;

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 114


Propiedades de Objeto
El acceso a la propiedades de un objeto requiere la siguiente sintaxis:

<nombre de ventana>.<nombre de objeto>.<nombre de propiedad>

Cuando se accede a un objeto desde un script de ventana ó Tomar Acción y el


objeto está en la misma ventana que el script está asignando, el <nombre de
ventana> puede ser sustituido por _ThisWin.

Ejemplo:
# Cambiar el color de llenado de un objeto a rojo
_ThisWin.Rect1.FillColor = _SysColor.RED;

Propiedades Generales de Objeto


Mostrar Discreto
Setea y retorna el estado visible del objeto. VERDADERO = Visible,
FALSO = Oculto.

Nombre String
Retorna el nombre del objeto asignado en el Modo Diseño.

Color de Línea Largo


Setea y retorna el color utilizado para dibujar el contorno del objeto.

Estilo de Línea Entero


Setea y retorna el estilo de las líneas utilizadas para dibujar el contorno del
objeto. Los valores son: 0 = sólida, 1 = segmentada, 2 = punteada, 3 = línea -
punto, 4 = línea-punto-punto. Los estilos de línea no-sólida son aplicados
solamente si la propiedad de ancho de línea está definido en 0 ó 1.

Ancho de Línea Entero


Setea y retorna el grosor de las líneas utilizadas para dibujar el contorno del
objeto. Los valores van desde 0 a 7, donde 7 es el más grueso.

Color de relleno Largo


Setea y retorna el color utilizado para el interior de los objetos.

Estilo de Relleno Word


Setea y retorna el tipo de patron utilizado par rellenar el interior de los
objetos.

Texto String
Setea y retorna el texto asignado al objeto.

Color de Texto Largo


Setea y retorna el color utilizado para escribir el texto.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 115


La Tabla siguiente muestra las propiedades de acceso para cada objeto.
Objeto Nombre Mostrar Linea Linea Linea Relleno Texto Texto
Style Width Color* Color* Color
Línea RO R/W R/W R/W R/W N/A N/A N/A
Rectángulo RO R/W R/W R/W R/W R/W N/A N/A
Rectang.Redondeado RO R/W R/W R/W R/W R/W N/A N/A
Rectángulo RO R/W R/W R/W R/W R/W N/A N/A
Elipse RO R/W N/A N/A N/A N/A N/A N/A
Grupo RO R/W N/A N/A N/A R/W R/W R/W
Botón RO R/W R/W R/W R/W N/A N/A N/A
Polilínea RO R/W R/W R/W R/W R/W N/A N/A
Polígono RO R/W R/W R/W R/W N/A N/A N/A
Arco RO R/W R/W R/W R/W R/W N/A N/A
Torta RO R/W R/W R/W R/W R/W N/A N/A
Cuerda RO R/W N/A N/A N/A N/A N/A N/A
mapa de bits RO R/W N/A N/A N/A R/W R/W R/W
Texto RO R/W N/A N/A N/A N/A N/A N/A
Tendencia RO R/W N/A N/A N/A N/A N/A N/A
Visor de historia de RO R/W N/A N/A N/A N/A N/A N/A
Alarma

RO = Solo lectura, R/W = Leer/Escribir, N/A = No disponible


* Nota: Los colores son formados combinando 8 bit de Rojo, Verde y Azul, valores de intensidad en 24 bit
entero de la forma : (Azul * 65536) + (Verde* 256) + Rojo. Se puede también utilizar una de las constantes de
color predefinidas al asignar colores en el Modo Ejecución.

Propiedades de Arco, Torta y Cuerda


Angulo de Inicio Entero
Setea y retorna el ángulo en grados entre la línea horizontal del objeto y la línea
dibujada desde el centro al punto del contorno en donde se inicia el dibujo.

Angulo Final Entero


Setea y retorna el ángulo en grados entre de centro horizontal del objeto y una línea
dibujada desde el centro al punto del contorno en donde termina el dibujo.

Sentido de giro Discreto


Setea y retorna la dirección en la cual se dibujará el objeto.
VERDADERO = En sentido del reloj desde el ángulo de inicio,
FALSE = contra-sentido del reloj desde el ángulo de inicio.
Propiedades del Rectángulo Redondeado
Ancho de Esquina Entero
Setea y retorna el ancho de la Elipse utilizada para crear los bordes redondeados.

Altura de Esquina Entero


Setea y retorna la altura de la Elipse utilizada para crear los bordes redondeados.

Propiedades del Visor de Alarmas


Severidad Entero
Setea y retorna la severidad de las Alarmas que pueden ser desplegadas en la
Ventana de Alarmas. Esta propiedad tiene un rango válido entre 0 y 9. Las
alarmas con severidad mayor ó igual a estos valores serán desplegadas.

AckAll Servicio
Reconocimiento de todas las alarmas.

ScrollUp, ScrollDown Servicio


Desplaza el despliegue de alarmas hacia Arriba/Abajo en una línea.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 116


ScrollLeft, ScrollRight Servicio
Desplaza el despliegue de alarmas hacia Izquierda/Derecha en una columna.

ContadorAlarma Entero
Propiedad de Solo Lectura que identifica el número de alarmas desplegadas en el
visualizador.
Propiedades del visor de alarmas Histórico
FiltroServicio
Despliega un cuadro de diálogo que permite al Operador seleccionar los filtros para
el visualizador.

ScrollLeft, ScrollRight Servicio


Desplaza el despliegue de alarma Izquierda/derecha en una columna.

ScrollUp, ScrollDown Servicio


Desplaza el despliegue de alarmas hacia Arriba/Abajo en una línea.

PageUp, PageDown Servicio


Desplaza el despliegue de alarmas Arriba/Abajo en el número de líneas que se
pueden visualizar de una vez.

Inicio Servicio
Posiciona en la primera alarma disponible al inicio superior de la vista.

Fin Servicio
Posiciona en la última alarma disponible al fondo de la vista.

ContadorAlarma Entero Largo


Propiedad de Solo Lectura que identifica el número de alarmas desplegadas en la
ventana.

Fecha Inicio, Hora Inicio String


Setea y retorna la fecha/hora utilizada para determinar la primera alarma que será
mostrada por el visualizador. El formato utilizado al leer una entrada ó al generar
una salida será el definido en la sección [intl] de un archivo WIN.INI file. Refiérase
a la documentación operativa de Windows para mayor información en como
cambiar el formato de estos items.

Imprimir Servicio
Envía el historial de alarmas al la impresora de windows por defecto.

Propiedades de Tendencias
Modo Discreto
Setea y retorna el modo de operación de la tendencia, donde 0 = Tiempo-real and
1 = Histórico.

Período Largo
Setea y retorna el periodo de una tendencia histórica en segundos. EL rango válido
de esta propiedad es entre 0 y 2147483.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 117


Modo Dibujo Entero
Setea y retorna el modo de dibujo para datos históricos en donde, 0 = Disperso, 1 =
Discreto y 2 = Suave.

Disperso dibuja puntos de datos solo en la línea del gráfico.

Discreto une los puntos de datos asumiendo que el valor es constante hasta el
próximo valor (i.e. un patrón escalonado).

Suave une los puntos en forma directa, este es el modo por defecto utilizado por
las tendencias. Aún con este modo, el gráfico puede aparecer cuadrado si los
cambios de los datos son abruptos.

Redibujar Servicio
Refresca la tendencia histórica utilizando las propiedades de la tendencia.

Fecha Inicio, Hora Inicio String


Setea y retorna la fecha/hora utilizada para desplegar los datos históricos. El
formato utilizado al leer una entrada ó al generar una salida será el definido en la
sección [intl] de un archivo WIN.INI file. Refiérase a la documentación operativa de
Windows para mayor información en como cambiar el formato de estos items.

Ver también: Logging Path String


Data Setea y retorna el nombre de la ruta DOS utilizado para obtener datos históricos.
Es inicializado a la ruta del registro de datos por defecto cuando se crea el objeto.

MinRange, MaxRange Real


Setea y retorna el rango vertical de valores de datos desplegados en una tendencia
histórica.

Skip Largo (Solo escritura)


Desplaza una tendencia histórica adelante ó atrás por el número especificado de
millisegundos. Asignando un valor positivo desplaza la tendencia adelante en el
tiempo, un valor negativo lo desplaza hacia atrás. Normalmente se utilizará esta
propiedad en un script del tipo Tomar Acción asignada a un botón. Se utilizará un
script para asignar un valor negativo a un botón cuando se oprime y otro para un
valor positivo.

Las cuatro propiedades siguientes trabajan juntas.


LapizActual Entero
Setea y retorna el lápiz histórico actual utilizado con las tres próximas propiedades.
El rango válido es entre 1 y 10.

LapizTag String
Setea y retorna el nombre del tag asignado al lápiz actual. El cambio de esta
propiedad cambia la fuente de datos para el lápiz.

Cursor Largo
Setea y retorna la posición actual del cursor en milisegundos relativa al tiempo de
inicio de la tendencia. El valor del cursor es restado del inicio de la tendencia y
utilizado con LapizActual para determinar el ValorLapiz. El valor del cursor no
puede exceder el periodo de la tendencia.

ValorLapiz Real
Retorna el valor del actual ValorLapiz y la posición actual del cursor. Si el cursor se
encuentra entre muestras, el valor retornado es de la muestra anterior.

Copyright © 2003 KEP, Inc. Scripts: La última palabra en flexibilidad ? 118

También podría gustarte