You are on page 1of 26

Innova Service Tecnologa

w w w. iste c.cl

Gua de Programacin para Visual Basic 6


Versin 1.1

Indice
Introduccin.1 Instalacin y Enlace a Proyecto Visual Basic.3 Consideraciones Generales Nombres de funciones y procedimientos5 Uso de puerto COMM (RS232) o USB...5 Valores de retorno de las funciones y condiciones de error6 Tabla Resumen de Funciones y Subrutinas Visual Basic..8 Referencia de Funciones y Subrutinas A. Rutinas de Inicializacin y Trmino...10 B. Funciones de entradas y salidas13 C. Funciones especiales...21

QUADRALAB

Introduccin

Microsoft Visual Basic es uno de los lenguajes de programacin Windows ms difundidos actualmente. Combina facilidad de uso, programacin atractiva y recursos adecuados tanto para principiantes como para programadores expertos.

Figura 1. Ejemplo del entorno Visual Basic 6.0 en Windows XP.

La primera versin se present a principios de los 90, hasta llegar a la actual, que forma parte de Visual Studio 2005. No obstante, para muchas aplicaciones se sigue utilizando la versin 6.0 (aparecida en 1998) debido a la gran cantidad de licencias adquiridas para esa versin y a la preferencia de muchos programadores por sobre versiones posteriores ms complejas. QuadraLab utiliza una librera DLL especial para permitir su control y administracin va Visual Basic:

Gua de Programacin en Visual Basic 6

Pag.1

QUADRALAB
PC Compatible Entorno de programacin Visual Basic 6

DLL de control

Puerto COM o USB

QuadraLab

Figura 2. Estructura conceptual de la comunicacin via DLL.

Como se puede ver en el esquema, el DLL administra los detalles de la comunicacin, actuando como una capa protectora entre el programador Visual Basic y el hardware del mdulo. Mediante el DLL es posible: Acceder a las entradas y salidas de QuadraLab, tanto digitales como anlogas. Programar algoritmos complejos de control, permitiendo a QuadraLab comportarse como una interface industrial. Acceder a informacin especial del mdulo, como nmero de serie y nombre del equipo.

Los detalles de la comunicacin serial son enmascarados por el DLL, ofreciendo un conjunto de funciones de alto nivel como leer entrada o cambiar salida. Slo se requiere que el programador invoque una funcin especial de inicializacin y proporcione el nmero de puerto COM (Virtual USB o puerto COM fsico) y lo dems es realizado automticamente por el DLL.
Nota: El software de control del DLL requiere para su correcto funcionamiento la versin SP6 de Visual Basic 6.0. Este parche puede descargarse desde msdn.microsoft.com

El DLL ha sido especialmente diseado para Visual Basic, por tanto no requiere que el programador declare explcitamente sus funciones y subrutinas. Esto aumenta la sencillez de uso y permite que el programador se concentre exclusivamente en la construccin y depuracin del software de control.

Gua de Programacin en Visual Basic 6

Pag.2

QUADRALAB

Instalacin y Enlace a Proyecto Visual Basic

Instalacin del DLL. El DLL no requiere de un programa especial de instalacin. Slo se requiere copiarlo a la carpeta System, dentro de la carpeta WINDOWS (en Windows XP) o dentro de la carpeta WINNT (en Windows 2000). Asegrese de que Visual Basic no est ejecutndose al momento de instalar el DLL. En www.istec.cl/quadralab se encuentra siempre la versin ms actual del DLL, que incluye depuracin de posibles errores y mejoras. Una vez que el DLL est instalado en la carpeta de sistema, es necesario enlazarlo con el proyecto Visual Basic (VB) para poder acceder a todos sus recursos y funciones. A continuacin se explica el procedimiento necesario; esto debe realizarse para cada nuevo proyecto VB creado.

Para enlazar la biblioteca DLL a un proyecto Visual Basic: 1) En el men Proyecto, hacer click en el tem Referencias 2) Seleccionar Quadralab_VB6.dll en la lista de referencias (si no est en la lista, debe localizarse manualmente el DLL con el botn [Examinar] ):

C:\WINDOWS\SYSTEM\

En el ejemplo, el DLL se ha instalado en la carpeta de sistema de Windows XP en la unidad C:


Gua de Programacin en Visual Basic 6 Pag.3

QUADRALAB Una vez seleccionada esta referencia, las funciones y subrutinas del DLL estarn disponibles al proyecto Visual Basic sin necesidad de declaraciones u otros pasos. Cmo comprobar la instalacin y enlazado correcto del DLL. Para comprobar si el DLL est enlazado correctamente, puede llamarse a la funcin
ql_version_dll, que mostrar la versin del DLL de control en una caja de mensajes.

Ejemplo: Se ha creado un botn de comando llamado command1 en el formulario del proyecto. Haciendo doble clic sobre el mismo, al momento del diseo, se tipea el siguiente cdigo para el botn: Private Sub Command1_Click() ql_version_dll True End Sub Al momento de ejecutar el proyecto y hacer click sobre el botn, debiera aparecer el siguiente mensaje:

Cualquier mensaje de error indica que el DLL no est correctamente enlazado al proyecto.
Notar que no es requerido llamar a esta funcin para inicializar al mdulo y operarlo; se ha previsto esta funcin como una manera de verificar la instalacin del DLL y la posibilidad de obtener la versin del mismo.

Para comprobar el correcto funcionamiento de la comunicacin y del mdulo, se recurre a las funciones de inicializacin, a discutir en la siguiente seccin: Referencia de Funciones y Subrutinas.

Gua de Programacin en Visual Basic 6

Pag.4

QUADRALAB

Consideraciones Generales

Antes de proceder con la referencia completa de procedimientos y funciones disponibles en el DLL, se recomienda estudiar con cuidado la siguiente informacin:

Nombres de funciones y procedimientos. Todos los procedimientos y funciones del DLL empiezan con el prefijo ql_, tal como ql_inic() o
ql_leer_ent_dig(). Esto permite evitar confusiones de nombres con funciones ya existentes,

independientes de QuadraLab. Los nombres estn en lenguaje espaol para facilitar el aprendizaje de los mismos.

Uso de puerto COMM (RS232) o USB. La biblioteca DLL administra de manera transparente al programador la comunicacin, independientemente de si se est usando un puerto COM virtual-USB o un puerto DB-9 fsico. Al momento de inicializar el mdulo, mediante la funcin ql_inic(), se especifica al DLL qu puerto COM se utilizar y ste intentar inicializar la comunicacin por esa va. Recurdese que el control por USB se realiza por medio de un puerto COM virtual; esto se explica en el captulo de Comunicaciones del Manual de Usuario. No obstante lo anterior, el uso de un puerto COM virtual-USB tiene complicaciones particulares de rendimiento que no son problemas del DLL o del mdulo QuadraLab en s mismo, sino que de la manera en que el hardware USB administra la comunicacin. En lneas generales, si se envan demasiadas peticiones secuenciales de lectura o escritura al mdulo, el trfico por USB tender a atascarse haciendo el rendimiento del programa VB lento. Para paliar este inconveniente (inexistente cuando se usa un puerto COM RS-232 verdadero), el DLL ofrece un modo burst especial que permite leer el estado de todas las entradas y salidas del mdulo con un solo comando, reduciendo as en gran medida el trfico USB. Esta caracterstica se explica detalladamente en la seccin de Referencia de Funciones y Procedimientos.

Gua de Programacin en Visual Basic 6

Pag.5

QUADRALAB No olvidar que es necesario especificar en el mismo mdulo QuadraLab explcitamente si el control va PC ser por su puerto USB o RS-232. Para ello, referirse al captulo de Comunicaciones del Manual de Usuario.

Valores de retorno de las funciones y condiciones de error. Existen bsicamente tres tipos de funciones disponibles en la biblioteca DLL para QuadraLab: Funciones de lectura Funciones de escritura Funciones especiales

Las funciones de lectura en su mayora se refieren a las entradas digitales y anlogas del mdulo. No obstante, algunas de ellas tambin leen valores escritos en las salidas e informacin especial, como nombre del equipo. La mayor parte de las funciones de lectura devuelven valores numricos iguales o mayores que 0, en formato entero (Integer, 16 bits) o bien formato punto flotante (Single, 32 bits), segn el caso. Si hay una condicin de error, como un fallo en la comunicacin, estas funciones devuelven un -1. Las funciones de escritura, aunque por concepto no leen valores desde el mdulo, retornan un tipo boolean (verdadero o falso) para indicar que la operacin se realiz en forma correcta. Si no se requiere estricta certeza de que la operacin se realiz, entonces puede ignorarse el valor de retorno (False indica error en la operacin). Para una mayor sencillez en aplicaciones de laboratorio, es posible omitir el valor de retorno y usar estas funciones simplemente como comandos:
todo_ok = ql_cambiar_sal_v1(2.5) ejemplo usando valor de retorno, se guarda en la variable tipo boolean todo_ok

o bien,
ql_cambiar_sal_v1(2.5) ejemplo ignorando el valor de retorno

La primera forma se recomienda en aplicaciones donde la seguridad de la conexin sea un


Gua de Programacin en Visual Basic 6 Pag.6

QUADRALAB problema crtico. Notar que la versin simplificada (la de abajo) no lleva parntesis, esto es por caractersticas propias de Visual Basic. Los ejemplos de este manual estn dados en esta forma simplificada. La naturaleza de las funciones especiales y sus valores de retorno sern discutidas en detalle segn el caso. Se provocar un error al intentar ejecutar funciones de lectura / escritura sin haber inicializado la comunicacin con el mdulo.

Gua de Programacin en Visual Basic 6

Pag.7

QUADRALAB

Tabla Resumen de Funciones y Subrutinas Visual Basic para el mdulo QuadraLab, Versin 1.0
Func / Sub Function Tipo de retorno String

Categora

Nombre

Comentarios

ql_dll_version Inicializacin y Trmino

Devuelve y/o muestra en pantalla la versin del DLL de control.

ql_inic

Function

Boolean

Inicializa el mdulo en el puerto COM (virtual USB o fsico) especificado. Cierra la comunicacin y libera al puerto COM usado. Devuelve false si la operacin fall. Devuelve el estado lgico de la entrada digital especificada. Devuelve la lectura de la entrada de voltaje v1 o v2, en volts. Devuelve la lectura de la entrada de corriente i1 o i2, en miliamperes. Devuelve la posicin absoluta de la perilla Datos del mdulo, en %. Devuelve el estado lgico de la entrada digital especificada. Devuelve la lectura de la salida de voltaje v1 o v2, en volts. Devuelve la lectura de la salida de corriente i1 o i2, en miliamperes.

ql_terminar

Function Function Function Function Function Function Function Function

Boolean Byte Single Single Single Byte Single Single

ql_leer_ent_dig ql_leer_ent_v1 ql_leer_ent_v2 ql_leer_ent_i1 ql_leer_ent_i2 Entradas y Salidas ql_leer_pot_datos ql_leer_sal_dig ql_leer_sal_v1 ql_leer_sal_v2 ql_leer_ent_i1 ql_leer_ent_i2

Gua de Programacin en Visual Basic 6

Pag.8

QUADRALAB ql_cambiar_sal_v1 ql_cambiar_sal_v2 Entradas y Salidas (cont.) ql_cambiar_sal_i1 ql_cambiar_sal_i2 ql_cambiar_sal_dig ql_set_burst ql_leer_burst ql_set_msg ql_leer_nombre ql_leer_OS ql_leer_modelo Function Function Function Sub Function Sub Function Function Function Boolean Boolean Boolean -Boolean -String String String Programa el voltaje especificado en las salidas de voltaje. Programa la corriente especificado en las salidas de corriente. Programa la salida digital especificada. Permite activar o desactivar el modo burst para lectura de entradas y salidas. Refresca el burst buffer del PC con la informacin de las entradas y salidas del mdulo. Establece si se mostrarn o no mensajes de error en cajas de mensaje. Retorna el nombre del equipo (12 caracteres) como un string. Retorna la Versin de Sistema instalada en el mdulo como un string. Retorna el modelo del equipo como un string.

Funciones Especiales

Gua de Programacin en Visual Basic 6

Pag.9

QUADRALAB

Referencia de Funciones y Subrutinas


A. Rutinas de Inicializacin y Trmino
Public Function ql_version_dll(msg As Boolean) As String

Esta rutina retorna la version del DLL de control instalado en el sistema, lo que puede ser til en la medida en que nuevas versiones del DLL pueden ofrecer carctersticas de control adicionales y depuracin de errores. Si el argumento msg=True, se muestra una ventana con la informacin de versin en pantalla. Por ejemplo, al tipear desde Visual Basic:
ql_version_dll(True)

se muestra una ventana como la siguiente:

El valor de retorno corresponde a la versin en forma de String. Por ejemplo, 1.0 o


2.3.

Public Function ql_inic(puerto As Byte) As Boolean

Esta rutina es fundamental, por cuanto ejecuta la inicializacin del protocolo para utilizar las caractersticas del mdulo. Ninguna otra funcin o subrutina relacionada con el mdulo responder si no se ha ejecutado correctamente esta rutina. El argumento puerto corresponde al puerto COM (virtual-USB o RS-232) al que se encuentra conectado la interface. Por ejemplo, para inicializar la interface en el puerto COM3, se tipea lo siguiente:

Gua de Programacin en Visual Basic 6

Pag.10

QUADRALAB
ql_inic(3)

Con lo que aparece una ventana similar a sta:

La informacin que aparece en esta ventana es enviada directamente por el microcontrolador del mdulo. Se mostrar una ventana con un mensaje de error si no es posible comunicarse con la interface:

Esta funcin retorna True si la inicializacin fue exitosa, o False si hubo un error de comunicacin u otro tipo. En caso de que la comunicacin se haya establecido, el puerto COM utilizado no estar disponible para otras aplicaciones hasta cerrarlo como es explica inmediatamente. Condiciones de error comunes son: o Error en el puerto COM: Este mensaje indica que el puerto no pudo abrirse. Ello puede deberse a que es un puerto inexistente, que ha sido ocupado por otra aplicacin o o que un puerto COM virtual-USB est mal instalado.

Comunicacin fallida: Entre las causas posibles estn: se intent inicializar el puerto equivocado, cables daados o no conectados, o que la comunicacin est desactivada en el mdulo QuadraLab.

Gua de Programacin en Visual Basic 6

Pag.11

QUADRALAB Durante la fase de inicializacin, se enva informacin importante hacia el PC anfitrin, tal como nombre del equipo (puede cambiarse, hasta 12 caracteres de largo), identificacin de manufactura, nmero de serie, etc. Esta informacin puede luego leerse usando funciones especiales del DLL. El LED naranjo del mdulo se enciende permanentemente cuando la comunicacin con PC est inicializada y por tanto disponible para las operaciones de entrada / salida.

Public Function ql_terminar() As Boolean

Esta funcin "cierra" el puerto y desconecta al mdulo del software anfitrin. Ninguna operacin sobre QuadraLab se ejecutar hasta no inicializar la comunicacin nuevamente, usando la funcin ql_inic(). La funcin retorna True si la operacin de "cierre" fue exitosa, o False si hubo un error de comunicacin u otro tipo. Esta funcin debiera ser llamada siempre que se va a descargar el proyecto o formulario que invoca las funciones de QuadraLab. Ejemplo:
ql_terminar

Nota: Todas las funciones que intenten comunicarse con el mdulo mostrarn un mensaje de error en pantalla cuando la comunicacin se pierda. Para evitar este mensaje, debe invocarse a la subrutina ql_set_msg(False), con lo que no aparecern ms mensajes en pantalla.

Gua de Programacin en Visual Basic 6

Pag.12

QUADRALAB B. Rutinas de Entradas y Salidas

Public Function ql_leer_ent_dig(n as Byte) As Byte

Esta funcin retorna el estado de la entrada digital especificada por n (n es un entero entre 1 y 8). El valor es '0' si la entrada no est conectada a tensin alguna, o '1' si est conectada a una tensin entre 12 y 24V. Si la comunicacin con el mdulo se ha perdido o no se ha inicializado, el valor de retorno es -1. El siguiente ejemplo controla el estado de un control checkbox llamado "chk_ejemplo" de acuerdo al valor de la entrada DIn2:
chk_ejemplo.value = ql_leer_ent_dig(4)

En este caso, cuando se conecte tensin a la entrada digital 4, el checkbox mostrar un ticket al ponerse su propiedad value en 1 (que es el valor retornado por
ql_leer_ent_dig). Si la tensin leda es 0 V, el ticket no se mostrar al ser su propiedad value=0.
Esta funcin lee la entrada desde el hardware en el momento de ser llamada, si el modo Burst no est activo. Si el modo est activado, la funcin retornar el ltimo estado ledo con el comando ql_leer_burst().

Public Function ql_leer_ent_v1() As Single Public Function ql_leer_ent_v2() As Single

Estas funciones leen el voltaje presente en las entradas de voltaje v1 o v2, respecto a uno de los terminales de tierra G. El valor de retorno es un nmero en punto flotante (single, 32 bits) entre 0.0 y 5.0 V, usando 10 bits de precisin.
Si se desea reducir la cantidad de decimales, puede utilizarse la funcin round() de Visual Basic.

El siguiente ejemplo muestra el voltaje de la entrada 1 (con todos sus decimales) en una etiqueta llamada etiq:
etiq.caption = ql_leer_ent_v1()

Gua de Programacin en Visual Basic 6

Pag.13

QUADRALAB Estas funciones retornan -1 si ocurri un error.


Esta funcin lee la entrada desde el hardware en el momento de ser llamada, si el modo Burst no est activo. Si el modo est activado, la funcin retornar el ltimo estado ledo con el comando ql_leer_burst().

Public Function ql_leer_ent_i1() As Single Public Function ql_leer_ent_i2() As Single

Estas funciones leen la corriente presente en las entradas de corriente i1 o i2. El valor de retorno es un nmero en punto flotante (single, 32 bits) entre 0.0 y 20.0 mA, usando 10 bits de precisin. El siguiente ejemplo muestra la corriente de la entrada 2 en una etiqueta llamada etiq:
etiq.caption = ql_leer_ent_i2()

Estas funciones retornan -1 si ocurri un error.


Esta funcin lee la entrada desde el hardware en el momento de ser llamada, si el modo Burst no est activo. Si el modo est activado, la funcin retornar el ltimo estado ledo con el comando ql_leer_burst().

Public Function ql_leer_pot_datos() As Single

Esta funcin retorna la posicin absoluta de la perilla de datos. La posicin es un nmero tipo Single entre 0.0% (perilla en tope izquierdo) y 100.0% (perilla en tope derecho) Esta funcin es til para variar parmetros en el formulario VB de manera continua, desde el mismo hardware, tal como barras de progreso, deslizadores, etc. El siguiente ejemplo vara una barra de progreso (Progress Bar) llamada progbar. Esta barra tiene sus propiedades min=0 y max=100, respectivamente:
ProgBar.Value = ql_leer_pot_datos()

Si la comunicacin con el mdulo se ha perdido o no se ha inicializado, el valor de retorno


Gua de Programacin en Visual Basic 6 Pag.14

QUADRALAB es -1.

Esta funcin lee la salida desde el hardware en el momento de ser llamada, si el modo Burst no est activo. Si el modo est activado, la funcin retornar el ltimo estado ledo con el comando ql_leer_burst().

Public Function ql_leer_sal_dig(n as Byte) As Byte

Esta funcin retorna el estado de la salida digital especificada por el parmetro n (n es un entero entre 1 y 8). El valor es '0' si la salida est abierta y '1' si est conectada. Si bien parece contradictorio leer una salida, ello tiene sentido por cuanto el modo Monitor o una aplicacin corriendo en QuadraLab puede modificar las salidas. Por tanto, esta funcin permite que el software VB actualice su registro de las salidas activas e inactivas. El siguiente ejemplo controla el estado de un control checkbox llamado "chk_ejemplo" de acuerdo al valor de la salida digital 8:
chk_ejemplo.value = ql_leer_sal_dig(8)

Si la comunicacin con el mdulo se ha perdido o no se ha inicializado, el valor de retorno es -1.

Esta funcin lee la salida desde el hardware en el momento de ser llamada, si el modo Burst no est activo. Si el modo est activado, la funcin retornar el ltimo estado ledo con el comando ql_leer_burst().

Public Function ql_leer_sal_v1() As Single Public Function ql_leer_sal_v2() As Single

Estas funciones leen el ltimo voltaje ajustado en las salidas v1 o v2, respecto a uno de los terminales de tierra G. El valor de retorno es un nmero en punto flotante (single, 32 bits) entre 0.0 y 5.0 V, usando 10 bits de precisin. Si bien parece contradictorio leer una salida, ello tiene sentido por cuanto el modo Monitor o una aplicacin corriendo en QuadraLab puede modificar las salidas de manera ajena a
Gua de Programacin en Visual Basic 6 Pag.15

QUADRALAB Visual Basic. Por tanto, esta funcin permite que el software VB actualice su registro de las salidas de voltaje. El siguiente ejemplo muestra el voltaje de la salida 1 en una etiqueta llamada etiq:
etiq.caption = ql_leer_sal_v1()

Una manera simple de comprobar esta funcin consiste en disear un formulario VB donde el valor de una salida sea ledo continuamente desde QuadraLab y mostrado en una etiqueta o cuadro de texto. Cuando esta salida sea modificada desde el modo Monitor, este cambio tambin ser mostrado en pantalla de manera inmediata. Estas funciones retornan -1 si ocurri un error.
Esta funcin lee la salida desde el hardware en el momento de ser llamada, si el modo Burst no est activo. Si el modo est activado, la funcin retornar el ltimo estado ledo con el comando ql_leer_burst().

Public Function ql_leer_sal_v1() As Single Public Function ql_leer_sal_v2() As Single

Estas funciones leen el ltimo voltaje ajustado en las salidas v1 o v2, respecto a uno de los terminales de tierra G. El valor de retorno es un nmero en punto flotante (single, 32 bits) entre 0.0 y 5.0 V, usando 10 bits de precisin. Si bien parece contradictorio leer una salida, ello tiene sentido por cuanto el modo Monitor o una aplicacin corriendo en QuadraLab puede modificar las salidas. Por tanto, esta funcin permite que el software VB actualice su registro de las salidas de voltaje. El siguiente ejemplo muestra el voltaje de la salida 1 en una etiqueta llamada etiq:
etiq.caption = ql_leer_sal_v1()

Una manera simple de comprobar esta funcin consiste en disear un formulario VB donde el valor de una salida sea ledo continuamente desde QuadraLab y mostrado en una etiqueta o cuadro de texto. Cuando esta salida sea modificada desde el modo Monitor, este cambio tambin ser mostrado en pantalla de manera inmediata.
Gua de Programacin en Visual Basic 6 Pag.16

QUADRALAB Estas funciones retornan -1 si ocurri un error.


Esta funcin lee la salida desde el hardware en el momento de ser llamada, si el modo Burst no est activo. Si el modo est activado, la funcin retornar el ltimo estado ledo con el comando ql_leer_burst().

Public Function ql_leer_sal_i1() As Single Public Function ql_leer_sal_i2() As Single

Estas funciones leen la corriente presente en las salidas de corriente i1 o i2. El valor de retorno es un nmero en punto flotante (single, 32 bits) entre 0.0 y 20.0 mA, usando 8 bits de precisin. El siguiente ejemplo muestra la corriente de la salida 1 en una etiqueta llamada etiq:
etiq.caption = ql_leer_sal_i1()

Estas funciones retornan -1 si ocurri un error.


Esta funcin lee la salida desde el hardware en el momento de ser llamada, si el modo Burst no est activo. Si el modo est activado, la funcin retornar el ltimo estado ledo con el comando ql_leer_burst().

Gua de Programacin en Visual Basic 6

Pag.17

QUADRALAB
Public Function ql_cambiar_sal_v1(v as Single) As Boolean Public Function ql_cambiar_sal_v2(v as Single) As Boolean

Estas funciones programan el voltaje en las salidas v1 o v2. Los valores aceptados estan entre 0.000 y 5.000 volts; valores fuera de este rango sern aproximados al lmite ms cercano. Por ejemplo, si se intentan colocar -3 V en la salida v1, el equipo colocar 0 V. El siguiente ejemplo establece la salida v2 en 3.14 volts:
ql_leer_cambiar_sal_v2(3.14)

El valor programado siempre puede revisarse en el modo Monitor.

Public Function ql_cambiar_sal_i1(i as Single) As Boolean Public Function ql_cambiar_sal_i2(i as Single) As Boolean

Estas funciones programan la corriente en las salidas i1 o i2. Los valores aceptados estan entre 0.0 y 20.0 miliamperes; valores fuera de este rango sern aproximados al lmite ms cercano. Por ejemplo, si se intentan colocar 100 mA en la salida v1, el equipo colocar 20 mA. El siguiente ejemplo establece la salida i1 en 12.3 mA:
ql_leer_cambiar_sal_i1(12.3)

El valor programado siempre puede revisarse en el modo Monitor.

Gua de Programacin en Visual Basic 6

Pag.18

QUADRALAB
Public Function ql_cambiar_sal_dig(n As Byte, v As Byte) As Boolean

Estas funcin programa una de las 8 salidas digitales al valor especificado: Si v = 0, entonces la salida es desconectada (circuito abierto) Si v = 1, entonces la salida es conectada (circuito cerrado).

El parmetro n especifica la salida a programar, desde 1 a 8. El siguiente ejemplo conecta la salida digital 3:
ql_leer_cambiar_sal_dig(3,1)

El siguiente ejemplo desconecta la salida digital 7:


ql_leer_cambiar_sal_dig(7,0)

El estado es inmediatamente mostrado en los LEDs verdes de las salidas digitales. El valor programado siempre puede revisarse en el modo Monitor.

Gua de Programacin en Visual Basic 6

Pag.19

QUADRALAB

Gua de Programacin en Visual Basic 6

Pag.20

QUADRALAB

C. Funciones especiales.
Public Sub ql_set_burst(x as Boolean)

Nota Este comando y el modo burst tienen sentido cuando se quiere mejorar el rendimiento por puerto virtual USB.

Este comando permite establecer de qu forma sern ledas las entradas y salidas del mdulo con las funciones correspondientes. Si x=True, se activa el modo burst: todos los valores de entradas y salidas de QuadraLab sern ledos desde el burst buffer en el PC, aumentando de esta forma el rendimiento del modo USB. Ello implica que estos valores deben ser refrescados manualmente con regularidad, usando el comando ql_leer_burst(). Si x=False, se desactiva el modo burst: todos los valores de entradas y salidas de QuadraLab sern ledos usando peticiones de comunicacin individuales. En este caso, el trfico sobre el puerto COM virtual USB puede atascar bastante la aplicacin. Este es el modo por defecto cuando se llama al DLL. Como se ha dicho antes, si la aplicacin VB est controlando al mdulo va puerto COM RS232 real, el modo burst no aporta grandes beneficios respecto a la complejidad de su uso. Si bien no es recomendado, el modo puede cambiarse sobre la marcha, una vez que la aplicacin VB est corriendo.
Public Function ql_leer_burst() as Boolean

Nota Este comando y el modo burst tienen sentido cuando se quiere mejorar el rendimiento por puerto virtual USB.

Esta funcin refresca o actualiza el burst buffer presente en el PC, con la informacin de todas las entradas y salidas del mdulo, de una sola vez. Corresponde a un muestreo de estos valores y esto queda presente en memoria, para lectura instantnea de las funciones correspondientes, sin cargar el trfico USB con excesivas peticiones de lectura individuales.
Gua de Programacin en Visual Basic 6 Pag.21

QUADRALAB
Nota Para que las funciones de lectura utilicen esta facilidad, es necesario que el modo burst est activo.

Debe tenerse la precaucin de ejecutar esta funcin cada vez que se quiera leer un nuevo grupo de valores de las entradas y salidas. De otro modo, estas funciones siempre arrojarn el mismo valor muestreado anteriormente con ql_leer_burst(). La aparente complicacin de este modo queda compensada por la notable mejora en rendimiento en la comunicacin USB. Por ejemplo, es posible programar un timer en Visual Basic que ejecute esta funcin cada 1/50 de segundo. Ello implica que los estados de las entradas y salidas del mdulo sern actualizados en el PC cada 20 mS. Entre una actualizacin y la siguiente, todas las funciones de lectura, como ql_leer_ent_v1 o ql_leer_ent_dig, leern sus valores desde el buffer del PC y con ello no saturarn el trfico USB.

Public Function ql_leer_nombre() As String

Esta funcin retorna el nombre del equipo (12 caracteres) como un string. El siguiente ejemplo muestra una caja de mensajes con el nombre del equipo:
m=msgbox(ql_leer_nombre)

Si la comunicacin con el mdulo se ha perdido o no se ha inicializado, el valor de retorno es (string vacio).

Public Function ql_leer_OS() As String

Esta funcin retorna la Versin de Sistema instalada en el mdulo como un string. El siguiente ejemplo muestra una caja de mensajes con esta informacin
m=msgbox(Version de Sistema: + ql_leer_OS)

Gua de Programacin en Visual Basic 6

Pag.22

QUADRALAB Si la comunicacin con el mdulo se ha perdido o no se ha inicializado, el valor de retorno es (string vacio).

Public Function ql_leer_modelo() As String

Esta funcin retorna el modelo del equipo como un string. En la presente versin de hardware, todos los mdulos corresponden al modelo QuadraLab. Si la comunicacin con el mdulo se ha perdido o no se ha inicializado, el valor de retorno es (string vacio).

Public Function ql_set_msg(x as Boolean)

Este comando determina si se mostrarn mensajes de error en pantalla (va cajas de mensaje) cuando stos se produzcan en la operacin del mdulo. Si x=True, los errores de comunicacin sern mostrados en pantalla. Este es el modo por defecto cuando se llama al DLL. Si x=False, no se mostrarn mensajes de error de comunicacin. Independientemente de este ajuste, los valores de retorno de error (en la mayor parte de los casos es -1) siempre funcionarn de la misma manera.

Gua de Programacin en Visual Basic 6

Pag.23

QUADRALAB

Notas:

Innova Service Tecnologa


www.istec.cl

QuadraLab es un producto desarrollado por ISTEC Innova Service Ltda. Sta. Magdalena 75 of. 412, Providencia, Santiago Fono (02)-2444082
Microsoft, Windows y Visual Basic son marcas registradas de Microsoft Corporation.

Gua de Programacin en Visual Basic 6

Pag.24

You might also like