Guía Básica Labjack
Guía Básica Labjack
Guía Básica Labjack
DESCRIPCIN
Fsicamente la LabJack contiene:
Conector USB.- Este cable va a una PC que trabaje bajo cualquier sistema de Windows, para poder enviar y recibir datos a nuestra PC por medio de la Tarjeta adquisitoria, adems de comunicarnos tambin alimenta a la Tarjeta por lo que no es necesario conectarle ninguna fuente externa. Conector DB25.- Este puerto en la LabJack cuenta con 16 pines que pueden ser utilizados como entradas o como salidas, 4 pines son de +5V, 4 son de Tierra, y uno NC no utilizable, dando la suma de los 25 pines Status Led.- Este Led indica que la LabJack esta trabajando correctamente, si no esta encendido significa que no esta trabajando correctamente 30 Terminales con tornillo.- De las cuales 4 terminales pueden usarse como entrada y salida, 8 terminales pueden usarse como entradas analgicas, 2 terminales pueden usarse como salidas analgicas, 9 terminales son tierra, 4 terminales son +5V, 1 terminal es un contador de 32 bits y finalmente 2 terminales de servicio CAL y STB
FUNCIONES DE LA LABJACK
La LabJack posee muchas funciones que no acabaramos de ver en y comprender en poco tiempo, por lo que elegiremos solo algunas funciones que explicaremos y posteriormente explicaremos como usarlas en un lenguaje visual, que en este caso ser el Visual C#. Entre las funciones que veremos se encuentran las siguientes: EAnalogIn (Controla las entradas anlogas AI0-AI7) EAnalogOut (Controla las salidas anlogas AO0-AO1) DigitalIO (Controla el PuertoD y PuertoIO, en otras palabras todas las salidas y entradas digitales)
EAnalogIn
Esta funcin se usa en para tomar lecturas analgicas, tiene 8 entradas analgicas simples o 4 entradas analgicas diferenciales. Esta funcin maneja 6 variables que describiremos, de las cuales 4 le asignamos valor nosotros y 2 son de lectura (Que nosotros no le asignamos un valor, sino que nos entrega un valor) esas variables se definen a continuacin: idnum: esta variable se pone el ID de la LabJack cuando conectaremos mas de una tarjeta a nuestra PC para decir a cual de las tarjetas que tenemos conectadas nos estamos refiriendo, si solo tenemos una tarjeta le asignaremos un -1 a esta variable (Idnum = -1) y con esto nos estaremos refiriendo a la primera tarjeta encontrada. A menos que sea un proyecto muy complejo se usaran mas de 1 una tarjeta, por lo tanto este valor casi siempre ser -1
demo: Esta variable tomara el valor de 0 si tenemos una LabJack conectada para una normal operacin, tomara un valor menor de 0 (<0) si no tenemos conectada una tarjeta para trabajar en modo demo. Por lo tanto normalmente esta variable ser 0 (demo = 0). channel: En esta variable especificamos cual canal queremos usar, 0 al 7 para entradas analgicas simples, o del 8 al 11 para entradas analgicas diferenciales. Ejemplo: queremos usar el canal analgico AI5 por lo tanto Channel = 5
gain: este es un factor por el que se multiplica la lectura, pero solo se aplica cuando elegimos canales diferenciales. Por lo que no lo usaremos en esta ocacion, asi que le asignamos un 0, (gain = 0)
overvoltaje: como dijimos anteriormente hay dos variables que son de lectura, esta y la siguiente son esas dos variables, esta variable toma valores de 0 y mayor de 0, si es mayor de 0 quiere decir que un sobre voltaje fue detectado en el canal analgico elegido (channel), Si es 0 esta funcionando de manera normal. voltaje: esta variable es igual que la anterior, por lo tanto esta variable se lee, de echo esta es la principal ya que es la que nos entrega el valor ledo de el puerto analgico seleccionado, puede ir de 0 a 5 volts por lo tanto si vamos a hacer una aplicacin que requiera medir mas de 5 volts tenemos que hacer un divisor de tensin que tenga como mximo 5 volts y en cdigo hacer las operaciones necesarias para obtener el valor real.
EAnalogOut
Esta funcin es para controlar las dos salidas anlogas que posee la LabJack, al igual que las entradas solo maneja de 0 a 5 volts, y solo posee cuatro variables de las cuales ya describimos dos anteriormente:
idnum: ya explicada anteriormente demo: ya explicada anteriormente
analogOut0: a esta variable le asignamos el valor que queremos que tome la salida anloga AO0 que puede ir de 0 a 5 volts analogOut1: igual que la variable anterior pero para la salida anloga AO1
DigitalIO
Esta funcin es la principal para controlar directamente los puertos digitales que son el Puerto D y el Puerto IO, hay otras funciones que tambin pueden controlar estos puertos como el EDigitalIn y el EDigitalOut pero como su nombre lo indica, maneja por separado entradas y salidas, la ventaja de la funcin DigitalIO es que controla absolutamente todas las seales digitales que tiene la LabJack es por esto que es importante y se describir esta funcin. Las variables que maneja son las siguientes:
Valor Binario:
64
32
16
D15
D8
D7
D6
D5
D4
D3
D2
D1
D0
se suma el valor binario de los bits que queremos como salidas que son: 32768 16384 8192 4096 2048 8 4 2 1 Resultado = trisD = 63503 63503
trisIO: con esta variable se controla que bits en el PuertoIO son entradas y cuales son salidas, como recordaremos el PuertoIO tiene 4 bits que pueden ser programados como entradas o como salidas, del IO0-IO3, al igual que el anterior si le asignamos un 0 se toma como entrada y si le asignamos un 1 como salida.
Ejemplo: se quiere que en el PuertoIO, los bits IO0 y IO2 sean salidas y los dems bits como entradas. Qu valor debe tener el trisIO?
Valor Binario: 8 4 2 1
se suma el valor binario de los bits que queremos como salidas que son: 4 1 Resultado = 5 trisIO = 5
stateD: Esta variable es de escritura y lectura que el valor de las salidas y lee el valor de las entradas de los bits D0-D15, hay que notar que lectura y escritura son con la misma variable stateD, por lo que hay que tener un muy buen control de que bits consideramos como salidas y cuales como entradas. Ejemplo si asignamos stateD = 300, tendramos los bits D8, D5, D3 y D2 en 1 (+5v) siempre y cuando esos bits los hallamos declarado como salidas
Valor Binario:
64
32
16
D15
D8
D7
D6
D5
D4
D3
D2
D1
D0
Pero si por el contrario preguntamos por esa variable y nos entrega un 56 quiere decir que los bits que forman el 56 estn activos (D5, D4 y D3) por lo que ya sea un switch o un sensor o lo que tengamos conectado a esos bits esta activo. Como se puede observar es muy importante tener en mente cuales bits tenemos programados como entradas y cuales como salidas, ya que si solo tenemos programados como entradas los bits D3 y D4 como entradas y el bit D5 como salida eso significa que tenemos activas las entradas D3 y D4 y tenemos activa una salida que es la D5, por esto es que no se recomienda combinar un puerto para que sea entrada y salida al mismo tiempo por que son muchos bits y tiende a confundirse, lo que se recomienda es usar un puerto ya sea el D o el IO como entrada y salida y el puerto lo contrario.
Valor Binario: 32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1
D15
D8
D7
D6
D5
D4
D3
D2
D1
D0
stateIO: Al igual que la variable stateD es de lectura y escritura, es lo mismo que la variable stateD pero con el PuertoIO.
updateDigital: si esta variable le asignamos un numero mayor de cero, los variables tris (D y IO) y las variables states (D y IO) podrn ser escritas, de lo contrario si es 0 solo se podrn hacer lecturas de ambas variables, en otras palabras es un tipo de seguro para evitar escrituras no deseadas en ciertos momentos
outpudD: esta variable devuelve una lectura de los registros de salida del PuertoD (D0-D15). Esta variable solo es de lectura por lo que no le debemos asignar valor a esta variable.