Está en la página 1de 57

Cadenas, Entrada/Salida de Archivos y Nodos de Propiedad

En esta parte los estudiantes aprendern acerca de las cadenas. Aprendern a escribir un VI simple para escribir y leer hacia y desde los archivos de LabVIEW como una forma de manejo de administracin de datos. Adicionalmente los nodos de propiedad sern introducidos con el fin de cambiar los objetos del Panel Frontal programticamente.

Objetivos Aprender a crear controles en Cadena. Como emplear las funciones en Cadena. Acerca de las operaciones de E/S de Archivos Cmo Emplear los VIs de alto nivel de E/S de Archivos. Cmo emplear el VI y las funciones de bajo nivel de E/S de Archivos. Como dar formato a los archivos de texto para emplearlos en hojas de clculo.

Contenido para el Estudiante


Introduccin
En esta leccin aprenders acerca de las cadenas. Tambin escribirs un VI simple para escribir y leer hacia y desde los archivos de LabVIEW como una forma de administracin de datos. Adicionalmente, los nodos de propiedad sern introducidos con el fin de cambiar los objetos del panel frontal programticamente.

Objetivos

Aprenders varios tipos de pantallas de cadenas Aprenders como acceder archivos a travs de una interfase de
usuario.

Aprender el orden de ejecucin de un nodo de propiedad. Teora CADENAS


Una cadena es una secuencia de caracteres ASCII expuestos y no expuestos. Las cadenas suministran un formato independiente de plataforma para la informacin y los datos. Las operaciones de Entrada/Salida (E/S) de Archivos pasan datos hacia y desde los archivos.

Algunas de las aplicaciones ms comunes de las cadenas incluyen lo siguiente: Crear mensajes de texto simples Pasar datos numricos como cadenas de caracteres a los instrumentos y luego convertir las cadenas en valores numricos. Almacenar datos numricos en disco. Para almacenar valores numricos en un archivo ASCII, usted primero debe de convertir los valores numricos en cadenas antes de escribirlos en un archivo del disco. Instruir o asistir a los usuarios con cajas de dilogo. En el panel frontal las cadenas aparecen como tablas, cajas de entrada de texto y etiquetas. Edita y manipula las cadenas para usarlas en otras aplicaciones tales como aplicaciones de procesamiento de palabras y hojas de clculo. Usa las funciones de Cadena localizadas en la paleta de FunctionsString del diagrama de bloques para editar y manipular cadenas de la siguiente manera: Bsqueda, retrieve y remplazar caracteres o substraer los mismos en una cadena Cambiar todo el texto en una cadena a una casilla superior o inferior. Buscar y retrieve patrones iguales dentro de una cadena Retrieve una lnea de una cadena. Rotar y regresar un texto dentro de una cadena Borrar caracteres de una cadena.

A continuacin se describen algunas de las funciones en Cadena: String Lenght.- Retorna en lenght el nmero de caracteres (bytes) de string, incluyendo los caracteres de espacio. Por ejemplo, la funcin String Lenght retorna un lenght de 19 para la siguiente cadena: The quick brown fox Concatenate Strings.- Concatena cadenas de entrada y arreglos de 1D de cadenas en una sola cadena de salida. Para las entradas de los arreglos, esta funcin concatena cada elemento del arreglo. Agregue entradas a la funcin haciendo clic derecho en una entrada y seleccionando Add Input

desde el men rpido o ajustando el tamao de la funcin. Por ejemplo, concatene la cadena anterior con el siguiente arreglo de cadenas:

La funcin Concatenate Strigs devuelve la siguiente cadena: The quick brown fox jumped over the lazy dog. String Subset.- Retorna una cadena substring de la entrada string comenzando en offset y conteniendo lenght nmero de caracteres. El offset del primer carcter en string es 0. Por ejemplo si se utiliza la cadena anterior como entrada, la funcin String Subset retorna el siguiente substring para un offset de 4 y un lenght de 5: quick Match Pattern.- Busca regular expresin en string comenzando en offset y si encuentra uno igual, separa string en tres subcadenas. Si no encuentra uno igual, match substring queda vaco y offset past match es -1. Por ejemplo, use una regular expresin de: y use la siguiente cadena como entrada: VOLTS DC : +1.22863E+1; La funcin Match Pattern retorna un before substring de VOLTS DC, un match string de : , un after substring de +1.22863E+1; y un offset past match de 9. Para usar datos en otro VI, funciones o aplicacin, regularmente debes de convertir los datos a una cadena y despus formatear la cadena de una forma que el VI, funcin o aplicacin pueda leer. Por ejemplo, Microsoft Excel espera cadenas que incluyen delimitaciones, las cuales Excel usa para segregar nmeros o palabras en las celdas. Por ejemplo, para escribir un arreglo de 1D de numricos en una hoja de clculo usando la funcin Write File, debes formatear el arreglo en una cadena y separar cada numrico con un delimitante, tal como un tab. Para escribir un arreglo de numricos a un hoja de clculo usando Write to Spreadsheet File VI, debes de formatear el arreglo con una funcin Array to SpreadSheet String y especifica el formato y una delimitante. A continuacin se resumen algunas de las funciones de Cadenas localizadas en la paleta de FunctionsString para realizar las siguientes operaciones. Concatenar dos o mas cadenas Extraer un subconjuntos de cadenas de una cadena. Convertir datos en cadenas

Formatear una cadena para ser usada en una aplicacin de procesamiento de texto u hoja de clculo.

Funciones de E/S de Archivos


Introduccin Las operaciones de E/S de Archivos transfieren datos hacia y desde archivos. Emplea los VIs y funciones de E/S de Archivos localizados en la paleta FunctionsFile I/O para tratar los aspectos de E/S de Archivos, incluyendo las siguientes funciones: Abrir y cerrar archivos de datos Leer y escribir datos en archivos Leer y escribir en archivos de formato de hojas de clculo Mover y Renombrar archivos y directorios Cambiar las caractersticas de los archivos Crear, modificar y leer los archivos de configuracin Usa los VIs de alto nivel para realizar operaciones comunes de E/S. Usa los VIs de bajo nivel y funciones para controlar cada operacin de los archivos de E/S individualmente. Aspectos Bsicos de Archivos de E/S Una operacin tpica de Archivos de E/O envuelve los siguientes procesos. 1. Crea o abre un archivo. Indica donde reside un archivo existente o donde quieres crear un nuevo archivo especificando una ruta o respondiendo a una caja de dilogo para direccional a LabVIEW a una localidad del archivo. Despus de que el archivo se abre un refnum lo representa. 2. Lee o escribe en el archivo. 3. Cierra el archivo La mayora de los VIs de Archivos de E/S y funciones realizan un paso a la vez en una operacin de Archivo de E/S. De cualquier forma algunas operaciones de alto nivel en los VIs de Archivos de E/S diseadas para operaciones de archivos comunes de E/S realizan los tres pasos. Aunque estos VIs no son siempre eficientes como las funciones de bajo nivel, probablemente los encontraras ms fcil de usar.

Seleccionando el formato de un Archivo E/S Los VIs de Archivos de E/S son usados dependiendo del formato de los archivos. Puedes leer o escribir datos en los archivos en tres formatos texto, binario y datalog. El formato que usas depende de los datos que se adquieren o crean y las aplicaciones que accesarn esos datos. Usa la siguiente gua bsica para determinar cual formato usar: Si quieres que tus datos estn disponibles para otras aplicaciones tales como Excel, usa los archivos de texto ya que son los ms comunes. Si necesitas acceder de forma aleatoria lectura o escritura o si la velocidad y el espacio del disco es crucial, usa archivos binarios ya que estos son ms eficientes que los archivos de texto para conservar velocidad y espacio en tu disco. Si quieres manipular datos complejos que han sido guardados o diferentes tipos de datos en LabVIEW, usa archivos datalog ya que son la mejor forma de guardar datos si necesitas accesar los datos desde LabVIEW y grabar estructuras de datos complejas.

Usando Archivos de E/S de alto nivel Usa los VIs de archivos de E/S localizados en la paleta FunctionsFile I/O para realizar operaciones comunes de E/S, tales como escribir en o leer de los siguientes tipos de datos. Caracteres hacia o desde archivos de texto Lneas desde archivos de texto Arreglos 1D o 2D de valores numricos de precisin individual hacia o desde archivos de texto de hojas de clculo. Arreglos 1D o 2D de valores numricos de precisin individual o enteros con signo de 16 bits hacia o desde archivos binarios.

Puedes ahorrar tiempo y esfuerzo en la programacin usando VIs de alto nivel para escribir y leer archivos. Los VIs de alto nivel realizan las operaciones que se mencionaron anteriormente aparte de abrir y cerrar los archivos. Evita usar VIs de alto nivel en los ciclos ya que los VIs efectan operaciones de abrir y cerrar cada vez que corren. Los VIs de alto nivel esperan una ruta de entrada del archivo. Si no cableas la ruta del archivo, una caja de dilogo aparece para especificar un archivo de lectura desde o escribir hacia. Si un error ocurre, los VIs de alto nivel de alto nivel despliegan la caja de dialogo que describe el error. Puedes escoger parar la ejecucin o continuar. Usa los VIs de Archivos Binarios localizados en la paleta FunctionsFile I/OWrite to Binary File o FunctionsFile I/ORead from Binary File para leer hacia o escribir desde un formato binario. Los datos pueden ser enteros o de punto flotante.

Nodos de Propiedad

En algunas aplicaciones, usted podra desear modificar programticamente la apariencia de los objetos del panel frontal como respuesta a ciertas entradas. Por ejemplo, si un usuario entra una contrasea no vlida, podra desear que un LED rojo comenzara a parpadear. Otro ejemplo sera cambiar el color de un trazo en un mapa. Cuando los puntos de datos estn sobre cierto valor, podra desear mostrar un trazo rojo en vez de un verde. Los nodos de Propiedad le permiten hacer estas modificaciones programticamente. Tambin puedes emplear los nodos de propiedad para reajustar el tamao de los objetos del panel frontal, ocultar partes del panel frontal, agregar cursores en las grficas programticamente y muchas cosas ms. Crea un Nodo de Propiedad haciendo clic derecho en un objeto y seleccionando clic derecho Properties>>Functions>>Application Control>> Property Node desde el men rpido. LabVIEW crea un Nodo de Propiedad en el diagrama de bloques que se enlaza implcitamente a los objetos del panel frontal. Si el objeto tiene va una etiqueta, el Nodo de propiedad tiene la misma etiqueta. Puede cambiar la etiqueta despus de crear el nodo. Puedes crear mltiples Nodos de Propiedades para el mismo objeto. Cuando creas un Nodo de Propiedad, este tiene inicialmente una terminal que representa una propiedad que puede modificar para el correspondiente objeto del panel frontal. Empleando esta terminal en el Nodo de

Propiedad, puedes ajustar (escribir) la propiedad u obtener (leer) el estado actual de esa propiedad. Si creas un Nodo de Propiedad para un control numrico digital, este aparece en el diagrama de bloques con la propiedad Visible seleccionada por defecto. Una flecha pequea aparece en un lado derecho de esa terminal, indicando que est leyendo el valor de esa propiedad. Puedes cambiar la accin a escribir haciendo clic derecho en la terminal y seleccionando Change to Write desde el men rpido. Cablear un booleano a esa propiedad provoca que el control numrico desaparezca del panel frontal cuando el Nodo de Propiedad reciba el dato. Cablear un TRUE booleano provoca que el control reaparezca. Puedes leer o escribir mltiples propiedades usando un solo nodo. Usa la herramienta de posicionamiento para reajustar el Nodo de Propiedad para agregar nuevas terminales o haz clic derecho y selecciona Add Element selecciona. El nodo se ejecuta de arriba hacia abajo, el Nodo de Propiedad no se ejecuta si un error ocurre antes de su ejecucin, por lo tanto siempre debes de verificar la posibilidad de errores. Si un error ocurre en la propiedad, LabVIEW ignora las propiedades que quedan y manda un mensaje de error. El cluster error out contiene informacin acerca de cual propiedad causo el error. Para obtener la informacin de la propiedad, haga clic derecho en el nodo y seleccione Change to Read desde el men rpido. Para ajustar la informacin de la propiedad haga clic derecho en el nodo y seleccione Change to Write desde el men rpido. Si la flecha pequea de direccin esta a la esta a la derecha tu estas obteniendo el valor de la propiedad si esta a la izquierda estas ajustando el valor de la propiedad.

Algunas de las propiedades de los nodos son las siguientes: Propiedad Visible.- La propiedad visible escribe o lee la visibilidad de un objeto del panel frontal. El objeto asociado es visible cuando es TRUE y est oculto es False. Propiedad Disable.- La propiedad Disabled escribe o lee el estado del acceso de usuario a un objeto. Un valor 0 activa un objeto para que el usuario pueda operarlo. Un valor 1 desactiva el objeto, previniendo la operacin. Un valor de 2 desactiva y atena el objeto. Propiedad Key Focus.- Escribe o lee el enfoque de la tecla de un objeto del panel frontal. Cuando es TRUE, el cursor est activo en el objeto asociado. En la mayora de los controles, puede ingresar valores en el control escribindolos en el teclado. Tambin puede ajustar el enfoque en

el panel frontal presionando la tecla <Tab> mientras esta en modo de ejecucin o presionando la tecla de mtodo abreviado asociado con el control. Propiedad Blinking.- Esta propiedad lee o escribe el estado de parpadeo de un objeto. Cuando esta propiedad se ajusta en TRUE, un objeto empieza a parpadear. Puedes ajustar la velocidad de parpadeo y los colores. Propiedad Value.- La propiedad Value lee o escribe el valor actual de un objeto. Cuando ajusta la propiedad Value a escribir, esta escribe el valor cableado a un objeto se es un control o un indicador. Cuando ajusta la propiedad Value a leer, esta lee el valor actual a en un control o indicador. Se deben de emplear las tcnicas de cableado de flujo de datos en vez de los Nodos de Propiedad para actualizar los valores de los objetos del panel frontal, recuerda que usar la propiedad value con moderacin. Propiedad Position.- Ajusta o escribe la posicin de la esquina superior izquierda de un objeto en el panel frontal. Esta propiedad consiste de un cluster de dos enteros largos sin signo. El primer tem en el cluster, Left, es la posicin del extremo izquierdo del control relativa al extremo izquierdo del panel frontal y el segundo tem en el cluster, Top, es la posicin del extremo del control relativa al extremo superior del panel frontal. Propiedad Bounds.- Lee los lmites de un objeto en el panel frontal en unidades de pxeles. El valor comprende el control y todas sus partes, incluyendo la etiqueta, la leyenda, la escala y otros. Esta es una propiedad solo de lectura. No reajusta el tamao el tamao de un control o de un indicador en el panel frontal. Propiedad de Cadena (Display Style).- Esta propiedad escribe o lee el tipo de despliegue para un control o indicador. Un entero largo sin signo determina el modo del despliegue. 0 Despliegue Normal 1 Despliegue de Cdigos 2 Despliegue de Contrasea 3 Despliegue Hexadecimal Propiedad Numrica (Format and Precisin).- Esta propiedad ajusta o escribe el formato (tipo de notacin) y la precisin (nmero de dgitos mostrados despus del punto decimal) de los objetos numricos del panel frontal. La entrada es un cluster de dos enteros de un byte sin signo. El primer elemento ajusta el formato y el segundo ajusta la precisin.

Cuando creas un Nodo de Propiedad desde un objeto del panel frontal haciendo clic derecho en el objeto y seleccionando CreateProperty Node desde el men rpido, LabVIEW crea un Nodo de Propiedad en el diagrama de boques que esta ligado implcitamente al objeto del panel frontal. Ya que estos Nodos de Propiedad estn ligados implcitamente al objeto del cual fueron creados, no tienen una entrada refnum, no necesitas cablear el Nodo de Propiedad a la terminal del objeto del panel frontal o el control refnum.

Ejercicio Parte 1 El VI Create String


Realiza los siguientes pasos para construir un VI que convierte un valor numrico en una cadena, concatene la cadena a otras cadenas para formar una sola cadena de salida y luego determine su longitud. El VI tambin busca un modelo en una cadena y convierte la cadena restante en un valor numrico. 1.- Abre un VI en blanco y construye el siguiente panel frontal.

Sigue las siguientes instrucciones: Haga clic derecho en String 2 y selecciona \Codes Display desde el men rpido.

Cambie String Lenght y Offset Past Match a la representacin de entero con un signo de 32 bits. (I32) Despus de entrar texto en los controles, seleccione Edit>>Make Current Values Default para ajustar como valores por defecto de estos controles. 2.- Construye el siguiente diagrama de bloques.

Coloque el VI Build Text Express, localizado en la paleta Functions>>Output, en el diagrama de bloques. Esta funcin convierte Number en una cadena. Aparece la caja de dilogo de Build Text. Coloque la funcin String Lenght, localizada en la paleta Functions>>All Functions>>String, en el diagrama de bloques. Esta funcin retorna el nmero de caracteres en Result. Coloque la funcin Match Pattern, localizada en la paleta Functions>>All Functions>>String, en el diagrama de bloques. Esta funcin busca los dos puntos (:) en String 2. Haga clic derecho en la entrada regular expresin, seleccione Create>>Constant desde el men rpido, escriba dos puntos (:) y presione la tecla <Enter> en el bloque de teclas numrico. Puede tambin hacer clic en el botn Enter en la barra de herramientas para completar la entrada. No uses la tecla <Enter> en el teclado principal porque en este caso agrega el caracter de retorno a la expresin de bsqueda. Coloque la funcin Scan from string localizada en la paleta Functions>>String, en el diagrama de bloques. Esta funcin convierte la cadena detrs de los dos puntos en un valor numrico.

3.- Presente el panel frontal y cree un icono y un panel conector a fin de que puedas emplear este VI como un subVI ms adelante en este curso.

4.- Guarda el VI como Create String.vi Cambie los valores de los controles del panel frontal y corra el VI. El VI concatena Header, Number y Trailer en Combined String y muestra la longitud de la cadena. El VI tambin busca los dos puntos en String 2, convierte la cadena posterior a los dos puntos en Number Out y muestra el ndice del primer caracter despus de los dos puntos en Offset Past Match. 6.- Guarda y cierra el VI.

Ejercicio 2 El VI File Writer


Realiza los siguientes pasos para construir un VI que concatene una cadena de mensaje, un valor numrico y una cadena de unidad en un archivo. 1.- Abre un VI en blanco y construye el siguiente panel frontal.

Coloque un indicador de ruta localizado en la paleta Controls>>Text Indicators en el panel frontal. Este indicador muestra la ruta para le archive de datos que creas.

Coloque un indicador de ruta localizado en la paleta Controls>>Text Indicators en el panel frontal. Este indicador muestra la ruta para el archivo de datos que creas.

Haga clic derecho en el control String to Write y selecciona Visible Items>>Scrollbar desde la barra de men rpido para mostrar la barra de despliegue.

2.- Construye el siguiente diagrama de bloques.

Coloca el VI Create String del ejercicio de la primera parte en el diagrama de bloques. Selecciona Functions>>Select VI y navegue hacia C: \Exercise\LabVIEW Basics 1\Create String.vi. Este subVI concatena las tres cadenas de entrada en una cadena combinada. Coloque el VI Open\Create\Replace File, localizado en la paleta Functions>>File I\O, en el diagrama de bloques. Este VI muestra un cuadro de dilogo para abrir o crear un archivo. Haz clic derecho en la entrada prompt, seleccione Create>>Constant desde el men rpido y escriba Enter Filename en la constante. Cuando el VI corre, un cuadro de dilogo de navegacin del archivo aparece como Enter Filename como ttulo de la ventana. Haz clic derecho en la entrada function, seleccione Create>>Constant desde el men rpido y haz clic en la constante con la herramienta de operacin para seleccionar create or replace. Coloca la funcin Write File, localizada en la paleta Functions>>File I/O, en el diagrama de bloques. Esta funcin escribe las cadenas concatenadas en el archivo. Coloca la funcin Close File, localizada en la paleta Functions>>File I/O, en el diagrama de bloques. Esta funcin cierra el archivo. Coloca el VI Simple Error Handler, localizado en la paleta Functions>>Time&Dialog, en el diagrama de bloques. Esta funcin checa un cluster de error y muestra un cuadro de dilogo si ocurre alguno.

3.- Guarda el VI como C:\Exercises\LabVIEW Basics I

FileWriter.vi

en

el

directorio

4.- Cambie los valores de los controles del panel frontal y corre el VI. Aparece el cuadro de dilogo Enter Filename. 5.- Escribe demofile.txt y haz clic en el botn Save y OK para guardar el archivo. El VI escribe los valores String to Write, Numeric to Write y Unit to Write en el archivo. 6.- Cierre el VI.

Ejercicio 2 El VI File Writer


Realiza los siguientes pasos para construir un VI que lea el archivo que se creo en el ejercicio anterior y presente la informacin en un indicador de cadena. 1.- Abre un VI en blanco y construye el siguiente panel frontal empleando el control de ruta de archivo localizado en la paleta Controls>>Text Controls y un indicador de cadena localizado en la paleta Controls>>Text Indicators.

2.- Construye el siguiente diagrama de bloques.

Coloca el VI Open/Create/Replace, localizado en la paleta Functions>>File I/O, en el diagrama de bloques. Este VI muestra un cuadro de dilogo que puede emplear para abrir o crear un archivo. Haz clic derecho en la entrada prompt, selecciona Create>>Constant desde el men rpido y haz clic en la constante con la herramienta de Operacin para seleccionar open. Coloca la funcin Read File, localizada en la paleta Functions>>File I/O, en el diagrama de bloques. Esta funcin lee los bytes de datos de count del archivo comenzando al inicio de este. Coloque la funcin Close File, localizada en la paleta Functions>>File I/O, en el diagrama de bloques. Esta funcin cierra el archivo. Coloca el VI simple Error Handler, localizado en la paleta Functions>>Time&Dialog, en el diagrama de bloques. Este VI checa el cluster de error y muestra un cuadro de dilogo si ocurre alguno. Complete el diagrama de bloques como se muestra en la figura anterior. 3.- Guarda el VI como File Reader.vi en el directorio C: \Exercises\LabVIEW Basics I. 4.- Presenta el panel frontal y emplea la herramienta de Operacin para hacer clic en el botn Browse en el control de ruta. 5.- Navegue a demofile.txt y haz clic en el botn Open u OK. 6-. Corra el VI.String String Read from File presente el contenido del archivo.

Ejercicio de Tarea
Modifique el VI a fin de que transfiera el valor numrico y lo presente en un indicador numrico. Despus que termine, guarde y cierre el VI.

Ejercicio 3 El VI Spreadsheet
Realice los siguientes pasos para examinar un VI que guarde arreglos numricos en un archivo de formato al cual pueda acceder con una hoja de clculo. 1.- Abre el VI Spreadsheet Example localizado en el directorio C:\Excercise\LabVIEW Basics I. El siguiente panel frontal ya est listo.

2.- Corra el VI. El VI genera un arreglo 2D de 128 filas x 3 columnas. La primera columna contiene datos para una forma de onda de seno, la segunda columna tiene datos para una forma de onda de ruido y la tercera columna contiene datos para una forma de onda coseno. El VI dibuja cada columna en una grfica y presenta los datos en una tabla. 3.- Cuando el cuadro de dilogo Choose file to write aparezca, guarda el archivo como wave.txt en el directorio C:\Exercises\LabVIEW Basics I y haz clic en el botn OK. Mas adelante examinars este archivo.

4.- Presenta y examina el diagrama de bloques en este VI.

El VI sine Pattern localizado en la paleta Functions>>Analyze>>Signal Processing>>Signal Generation retorna un arreglo numrico de 128 elementos que contiene un modelo de onda seno. La constante 90.0, en el segundo ejemplo del VI Sine Pattern especifica la fase del modelo de onda seno o el modelo de onda coseno. El VI Uniform White Noise localizado en la paleta Functions>>Analize>>Signal Processing>>Signal Generation retorna un valor numrico de 128 elementos que contiene un modelo de ruido. La funcin Build Array localizada en la paleta Functions>>Array construye el siguiente arreglo 2D desde los arreglos de seno, ruido y coseno.

Arreglo de Seno Arreglo de Ruido Arreglo de Coseno

La funcin Transpose 2D Array localizada en la paleta Functions>>Array reordena los elementos del arreglo 2D de modo que el elemento [i,j] se vuelva el elemento [j,i] , como sigue.

El VI Write to Spreadsheet File localizado en la paleta Functions>>File I/O da formato al arreglo 2D en una hoja de clculo y escribe la cadena en archivo. La cadena tiene el siguiente formato, donde una flecha indica un Tab y un smbolo de prrafo indica un caracter de final de lnea.

La funcin Number To Fractional String localizada en la paleta Functions>>String>>String/Number Conversion convierte un arreglo de valores numricos en un arreglo de cadenas que la tabla muestra. 5.- Cierre el VI. No guardes los cambios.

Ejercicio Property Node


En este ejercicio vas a construir un VI que cambia programticamente la posicin, activacin y las propiedades de los colores de los objetos del panel frontal. 1.- Abre un VI nuevo y construye el siguiente panel frontal.

2.- Abra y construya el siguiente diagrama de bloques.

3.- Regresa al panel frontal y corre el VI. Deberan suceder algunas cosas: Cuando el VI genera nmeros aleatorios y los escribe al tanque, el color de llenado se vuelve rojo si el valor aleatorios mayor que el valor Limit y el color de llenado se vuelve azul si el valor aleatorio es un menor que Limit. Las dos regletas cambian la posicin del tanque en el panel. Mueva estos valores y vea cmo se mueve el tanque. El interruptor Disable controla si puede o no cambiar los valores. Mueva el interruptor Disable a True y todos los objetos del panel excepto el interruptor Disable y el botn Stop estarn atenuados y no podr cambiar sus valores. 5.- Detenga y cierre este VI cuando termines.

CUESTIONARIO 1.- Identifica que tipo de cadenas son las que se muestran en las siguientes figuras:

a.

b.

c.

d.

2.- Como accesas a un archivo a travs de una caja de dilogo?

VISA y Comunicacin Serial

Contenido para el instructor.

En los siguientes ejercicios se demostrara a los estudiantes la necesidad del control de instrumentos, la arquitectura del software para controlarlo y como hacer comunicacin serial bsica. La principal intencin de este curso es ensear a los estudiantes como comunicarse con instrumentos y como usar NI VISA para comunicarse con instrumentos usando diferentes protocolos de comunicacin (Serial, GPIB, etc.)

Estos ejercicios estn escritos suponiendo que al menos habr un Instrumento Simulador NI para cada estacin de trabajo. De cualquier forma se puede trabajar en el ejercicio y dejar menos de un instrumento de simulacin por estacin. Los estudiantes podrn trabajar en los VIs en una computadora, cargarlos en un disco y tratar de correrlos en una computadora que este conectada a un Instrumento Simulador NI.

Algunos de los procedimientos bsicos y conceptos seguirn siendo los mismos sin importar el instrumento, sin embargo algunos de las especificaciones varan de acuerdo a los diferentes instrumentos.

Contenido para el Estudiante Algunos ejemplos comunes de instrumentos seran osciloscopios, multmetros digitales y generadores de funciones, sin embargo un instrumento puede ser cualquier aparato que se use para grabar, medir o controlar. Mientras la funcionalidad de cada instrumento es diferente, muchos de los instrumentos tienen en comn dos componentes:

Interfase de Usuario.- La interfase de usuario esta hecha comnmente de medidores anlogos, botones y perillas para proveer al usuario de entradas al instrumento y desplegar pantallas y lecturas digitales de salida para ver las salidas del instrumento. Protocolo de Comunicacin.- En este experimento veremos uno de los ms comunes y simples protocoles conocido como comunicacin serial. El Serial es muy til para pequeas cantidades de datos y es un concepto fcil de entender. Diversos protocolos de comunicacin tales como Serial, General Purpose Interface Bus (GPIB), PXI, etc. estn disponibles para ingenieros y cientficos. La industria ha estado trabajando para hacer un sistema estandarizado que pueda operar todos estos instrumentos. Este estndar esta siendo conocido como Virtual Instrument Software Architecture (VISA). Usaremos VISA dentro de LabVIEW para efectuar la comunicacin va serial. VISA puede ser usado para simplificar grandemente al hacer varios programas debido a su versatibilidad a travs de protocolos de comunicacin.

Objetivos
Entender los objetivos de VISA y cuando usarlo. Aprender como trabaja la comunicacin serial. Identificar cuando usar la comunicacin serial. Aprender como usar LabVIEW para comunicarse con instrumentos seriales.

Comunicacin Serial

RS232

Figura 1: Un Instrumento RS-232 esta conectado al puerto serial de una PC por medio de un cable RS-232.

La comunicacin serial es un medio popular para transferir datos entre un computador y un dispositivo perifrico tal como un instrumento programable o incluso otra computadora. La comunicacin serial emplea un transmisor para enviar datos, un bit a la vez, sobre una simple lnea de comunicacin hacia un receptor. Puedes emplear este mtodo cuando las velocidades de transferencia de datos son lentas o si tienes que transferir datos sobre distancias largas. La comunicacin serial es popular debido a que la mayora de las computadoras poseen uno o ms puertos seriales, por lo que no se requiere hardware adicional a un cable para conectar el instrumento una o ms computadoras. La comunicacin serial requiere de que especifiques los siguientes 4 parmetros: La velocidad en baudios de la transmisin, el nmero de bits de datos codificados de caracter, la sensibilidad del bit opcional de paridad y el nmero de bits de parada. Cada caracter transmitido es empaquetado en un marco de caracter que consiste en un solo bit de inicio seguido por los bits de datos, el bit opcional de paridad y el bit o bits de parada. La siguiente ilustracin muestra un marco tpico de caracter codificado la letra m.

La velocidad en baudios es una medida de cuan rpido los datos son movidos entre instrumentos que emplean comunicacin serial. RS-232 emplea solo dos estados de voltaje, denominados MARCA Y ESPACIO. En un esquema de codificacin como el de dos estados, la velocidad de baudios es idntica al mximo nmero de bits de informacin, incluyendo bits de control, que son transmitidos por segundo.

La MARCA es un voltaje negativo y e ESPACIO es positivo. La ilustracin anterior muestra como una seal luce una seal ideal en el osciloscopio. La siguiente es la tabla de verdad para RS-232:

Seal > +3 V = 0 Seal < 3 V = 1

El nivel de salida usualmente flucta entre +12 V y -12 V. El rea muerta entre +3 V y 3 V est designada para absorber ruido de lnea. Un bit de inicio indica el principio de cada marco de caracter. Esta es una transicin desde un voltaje negativo (MARCA) hasta uno positivo (ESPACIO). Su duracin en segundos es un recproco de la velocidad en baudios. Si el instrumento est transmitiendo a 9,600 baudios, la duracin del bit de inicio y cada subsecuente bit esta cerca de 0.104 ms. El marco total de caracter sw once bits debe de ser transmitido en cerca de 1.146 ms. Los bits de datos son transmitidos al revs y hacia atrs. Esto es, se emplea lgica inversa y el orden de la transmisin es desde el bit menos significativo (LSB) hasta el bit ms significativo (MSB). Para interpretar los bits de datos en un marco de caracteres, debe de leer de derecha a izquierda y leer 1 para voltaje negativo y 0 para voltaje positivo. Esto

produce 1101101(binario) o 6 (hexadecimal). Una tabla de conversin ASCII muestra que esta es la letra m.

Un bit de paridad opcional sigue los bits de datos en un marco de caracter. El bit de paridad, si est presente, tambin sigue lgica inversa, 1 para voltaje negativo y 0 para voltaje positivo. Este bit es incluido como un simple medio de error. T especificas el periodo de tiempo donde la paridad del instrumento debe ser par o impar. Si la paridad se elige impar, entonces el transmisor fija el bit de paridad en forma tal que se realice un nmero par de unos a travs de los bits de datos y el bit de paridad. Esta transmisin emplea paridad impar. Existen cinco unos a travs de los bits de datos, ya hay un nuevo nmero impar, as el bit de paridad se fija en 0. La ltima parte del marco de caracteres consiste de 1, 1.5 o 2 bits de parada. Estos bits estn siempre representados por un voltaje negativo. Si no se adelantan ms transmisiones de caracteres, la lnea permanece en condicin negativa (MARCA). La transmisin del siguiente marco de caracter, si hay, se anuncia por un bit de inicio de voltaje positivo (ESPACIO). Sabiendo como se aplican a la comunicacin serial una estructura de un marco de caracteres y el significado de velocidad en baudios, t puedes calcular la velocidad de transmisin, en caracteres por segundo, para una configuracin de comunicacin dada. Esta velocidad es justo la velocidad en baudios dividida entre los bits por marco. En el ejemplo previo existe un total de once bits por marco de caracter. Si la velocidad de transmisin se fija a 9,600 baudios, tu obtienes 9,600/11=872 caracteres por segundo. Observa que esta es la mxima velocidad de transmisin de caracteres. El hardware en un extremo o el otro del enlace serial pueden no estar capacitados para alcanzar estas velocidades, por varias razones.

Existen muchos diferentes estndares recomendados para comunicacin por puerto serial, incluyendo los tipos ms comunes, como los que se mencionan a continuacin.

RS-232
El RS-232 es un estndar desarrollado por Electronic Industries Association (EIA) y otros colegas, especificando la interfaz serial entre el Equipo Terminal de Dato (DTE) y el Equipo de Comunicaciones de Dato (DCE). El estndar RS-232 incluye caractersticas de seal elctrica (niveles de voltaje), caractersticas mecnicas de la interfaz (conectores), descripcin de funcionalidad de los circuitos de intercambio (la funcin de cada seal elctrica) y algunas recomendaciones para clases comunes de conexiones terminal a modem. La revisin ms frecuentemente encontrada de este estndar es la denominada RS-232C. Parte de este estndar ha sido adoptado (con varios grados de fidelidad) para uso en comunicacin serial entre computadoras e impresoras, modems y otros equipos. Los puertos seriales en un estndar de computadora personal compatible IBM siguen RS-232. La figura siguiente muestra uno de estos conectores as como la descripcin detallada de cada pin.

Los puertos seriales RS-232 contiene 9 pines diferentes los cuales tienen una funcin distinta.
Line # 1 2 3 4 5 6 7 8 Line Name Carrier Detect Receive Data Transmit Data Data Terminal Ready Signal Ground Data Set Ready Request To Send Clear To Send Line Type Handshake Data Data Handshake Common Handshake Handshake Handshake Function Determina si el Puerto esta conectado a un equipo. Recibe informacin del equipo al cual esta conectado. La computadora enva informacin al equipo. La computadora dice al equipo que esta listo para hablar (talk) establecer comunicacin. El pin esta aterrizado. El equipo dice a la computadora que esta lista para comunicarse. La computadora le pide al equipo si puede enviar informacin. El equipo dice a la computadora que puede enviar

Signal Indicator

Other

informacin. La computadora reconoce que una seal fue detectada.

La tabla anterior muestra el nombre de cada lnea, ya sea usada para transmitir datos o handshaking, y cual es la funcin exacta de cada lnea.

RS-449, RS-422, RS-423


El RS-449, RS-422, y RS-423 son estndares de comunicacin seriales adicionales EIA relacionados con RS-232. RS-449 fue emitido en 1975 y se supona que remplazara al RS-232, pero pocos fabricantes lo han adoptado.

Software Serial
Emplea los VIs y funciones localizados en la paleta FunctionsAll FunctionsInstrument I/OSerial para comunicacin por puerto serial. Las funciones VISA Write y VISA Read trabajan con cualquier tipo de comunicacin de instrumentos y son las mismas independientemente que realice comunicacin GPIB o serial. Sin embargo, debido a que la comunicacin serial requiere que se configure parmetros extras, debe iniciar comunicacin de puerto serial con el VI VISA Configure Serial Port. El VI VISA Configure Serial Port inicializa el puerto identificado por VISA resource name con las configuraciones especificadas. Timeout fija el valor de tiempo fuera para la comunicacin serial. Baud rate, data bits, parity y flor control determina los parmetros especficos de puerto serial. Los clusters de error in y error out dan las condiciones de error para este VI. El siguiente ejemplo muestra como enviar el comando de solicitud de identificacin *IDN? al instrumento conectado al puerto serial COM2. El VI VISA Configure Serial Port abre la comunicacin con COM2 y lo fija a 9,600 baudios, 8 bits de datos, paridad impar, un bit de parada y software handshaking XON/XOFF. Entonces la funcin VISA Write enva el comando. La funcin VISA Read lee el retorno hasta 200 bytes en el buffer de lectura y el VI Simple Error Handler verifica la condicin de error.

Los VIs y funciones localizadas en la paleta FunctionsAll FunctionsInstrument I/OSerial tambin son empleadas para comunicacin por puerto serial.

Ejercicio Serial Write & Read


Nota: (Este ejercicio requiere de un simulador NI)

Realiza los siguientes pasos para emplear el Asistente de E/S de Instrumentos y construir un VI que se comunique con el Simulador de Instrumentos de NI. 1.- Apaga el Simulador de Instrumentos de NI y configralo para comunicarse a travs del puerto serial estableciendo los siguientes interruptores en el lado de la caja.

Estos interruptores determinan la configuracin del instrumento como un dispositivo serial con las siguientes caractersticas: Velocidades en baudios = 9,600 Bits de datos = 8 Paridad = no paridad Bits de parada = 1 Parmetros de control de flujo = hardware handshaking

Handshaking es un medio de control de flujo de datos. El software handshaking involucra caracteres de control embebido en los datos transmitidos. Por ejemplo, el control de flujo XON/XOFF trabaja encerrando un mensaje transmitido entre los dos caracteres de control XON/XOFF. El hardware handshaking emplea voltajes en cables fsicos para controlar el flujo de datos. Las lneas RTS y CTS del dispositivo RS232 son empleadas frecuentemente en este propsito. Muchos equipos de laboratorio emplean hardware handshaking. 2.- Asegrate que el Simulador de Instrumentos de NI est conectado a un puerto serial en el computador con un cable serial. Toma nota de este nmero de puerto. 3.- Enciende el simulador de Instrumentos de NI. Los LEDs Power, Ready y Listen se iluminan para indicar que el dispositivo est en modo de comunicacin serial. 4.- Abre un VI en blanco y construye el siguiente diagrama de bloques.

Coloca el VI Instrument I/O Express, localizado en la paleta FunctionsInput, en el diagrama de bloques. Realiza los siguientes pasos en la caja de dilogo Instrument I/O Assistant que aparece para configurar el VI Express. Selecciona COM1 (o COM2 dependiendo del puerto de conexin para el Simulador de Instrumentos de NI) desde el men desplegable Select an instrument. Haz clic en el botn Add Step y luego en Write. En el campo comando, digita *IDN y selecciona \n como Termination character. Haz clic en el botn Add Step y luego en Read and Parse. Haz clic en el botn Add Step y luego en Read and Parse nuevamente.

El Simulador de Instrumentos retorna el tamao de byte de respuesta, el caracter de terminacin, la respuesta, luego otro caracter de terminacin. Por tanto, luego *IDN? se enva la instrumento, la respuesta debe ser leda dos veces.

Haz clic en el botn Run (no el botn Run this step). El botn Run corre toda secuencia. Retorne el primer paso Read and Parse. Haz clic en el botn Auto parse. El valor retornado es el tamao en bytes de la respuesta solicitada. Renombra Token como String Lenght en la caja de texto Token name. Selecciona el segundo paso Read and Parse. Haz clic en el botn Auto Parse. El valor retornado es la cadena de identificacin del Simulador de Instrumentos de NI. Renombra Token como String en la caja de texto Token name. La ventana de configuracin debe ser similar a la siguiente figura.

Selecciona OK para regresar al diagrama de bloques. o Haz clic derecho en la salida String y selecciona CreateIndicador desde el men rpido. o Haz clic derecho en la salida String Lenght y selecciona CreateIndicador desde el men rpido. Ya que LabVIEW esta configurado para manipular errores automticamente, no es necesario conectar un Simple Error Handler error out. Muestra el panel frontal y corre el VI. Guarda el VI como Serial Communication.vi Cierra el VI.

VISA

VISA es capaz de comunicarse con todas estas formas de comunicacin llamando individualmente a cada uno de sus controladores de bajo nivel. Esto permite un tiempo de desarrollo de software ms rpido.

Virtual Instrument Software Architecture (VISA) es la capa ms baja de las funciones en los VIs de control de instrumentos en LabVIEW, que se comunica con un software controlador.

VISA fue desarrollado y diseado para tener los siguientes atributos:

Maximizar la facilidad de uso y desempeo. Mantener la compatibilidad de largo trmino en la base instalada. Mantener arquitecturas abiertas para muchos proveedores. Maximizar la capacidad de multiplataformas. Maximizar la expansibilidad y modularidad en marcos de trabajo. Maximizar la reutilizacin de software. Estandarizar el empleo de elementos de software del sistema. Tratar los controladores de instrumentos como parte del instrumento. Acomodar los estndares establecidos. Maximizar el soporte cooperativo de usuarios.

VISA por si mismo no provee capacidades de programacin de bajo nivel ni puede controlar instrumentos. Los que realmente llaman a los controladores de bajo nivel es el Application Programmer Interface (API). VISA puede controlar VXI, GPIB, serial o instrumentos basados en computadora y hace las llamadas apropiadas de los controladores dependiendo del instrumento que se esta usando. Cuando se estn depurando problemas en VISA, se debe de recordar esta jerarqua. Un problema aparente en VISA puede ser un problema de instalacin con uno de los controladores que se llama VISA. En LabVIEW VISA es una nica librera de funciones que empleas para comunicarte con instrumentos GPIB, serial, VXI y basados en computadora. No necesitas emplear paletas de E/S separadas para programar un instrumento. Por ejemplo, algunos instrumentos te dan la opcin para el tipo de interfaz. Si los controladores de instrumentos de LabVIEW fueran escritos con funciones de las paletas Functions Instrument I/OGPIB, estos VIs controladores de instrumentos no trabajaran para el mismo instrumento con una interfaz de puerto serial. VISA resuelve este problema suministrando un simple conjunto de funciones que trabajan para cualquier tipo de interfaz. Por lo tanto, todos los controladores de instrumentos en LabVIEW emplean VISA como lenguaje de E/S.

Terminologa de Programacin de VISA

Las funciones que puedes emplear con un recurso son operaciones. Los recursos tambin tienen variables o atributos, que contienen informacin relacionada con el recurso. La siguiente terminologa es similar a la que se emplea para VIs de controladores de instrumentos: Resource.- Cualquier instrumento en el sistema, incluyendo puerto serial y paralelo. Sesion.- Debes de abrir una sesin VISA para un recurso con el fin de comunicarte con el, similar a un canal de comunicacin. Cuando abre una sesin para un recurso, LabVIEW retorna el nmero de sesin VISA, el cual es un nico nmero de referencia para este instrumento. Debes de usar el nmero de sesin en todas las subsecuentes funciones de VISA.

Instrument Descriptor.- Nombre exacto de un recurso. El descriptor especifica el tipo de interfaz (GPIB, VXI, ASRL) la direccin del dispositivo (direccin lgica o primaria) y el tipo de sesin VISA (INSTR o event). El descriptor de instrumento es similar a un nmero telefnico, el recurso es similar a la persona con quien deseas hablar y la sesin es similar a la lnea telefnica. Cada llamada emplea su propia lnea y cruzar estas lneas resulta un error. La siguiente tabla muestra la sintaxis adecuada para el descriptor de instrumento.

La Funcin de VISA Write escribe la cadena write buffer al dispositivo especificado por VISA resource name.dup. VISA resource name regresa los mismo a esa sesin. En las plataformas de UNIX, los datos son escritas de forma sincronizada. En todas las otras plataformas son escritas de forma asncrona. Return Count contiene el nmero de bytes que se transfieren actualmente por GPIB. Los clusters de error in y error out contienen la informacin de errores.

Visa Read lee el nmero especificado de bytes de un dispositivo o interfase especificado.

La funcin VISA Read mostrada en la figura anterior lee datos del dispositivo especificado por VISA. Resource name, byte count, indica el nmero de bytes que sern ledos en la cadena read buffer de regreso. En las plataformas de UNIX, los datos son escritas de forma sincronizada. En todas las otras plataformas son escritas de forma asncrona. Return Count contiene el nmero de bytes que se transfieren actualmente por GPIB. Los clusters de error in y error out contienen la informacin de errores.

Ejercicio 1.- Programacin con VISA

El objetivo de este ejercicio es construir un VI que lea y escriba informacin desde el Simulador de Instrumentos de NI empleando funciones VISA. 1.- Asegrate de que el simulador de Instrumentos est encendido y conectado a la Interfaz GPIB. Panel Frontal 2.- Abre un VI en blanco. El siguiente panel frontal resultar de construir el diagrama de bloques.

Diagrama de Bloques 3.- Construye el siguiente diagrama de bloques.

Coloca la funcin VISA Open, localizada en la paleta Functions All Functions Instrument I/O VISA VISA Advanced, en el diagrama de bloques. Esta funcin abre una sesin VISA con un instrumento. Haz clic derecho en la entrada VISA resource name y selecciona CreateControl desde el men rpido. Coloca la funcin VISA Write, localizada en la paleta FunctionsAll FunctionsInstrument I/OVISA, en el diagrama de bloques. Esta funcin escribe una cadena al instrumento. Haz clic derecho en la entrada write buffer y selecciona CreateControl desde el men rpido. Coloca la funcin VISA Read, localizada en la paleta FunctionsAll FunctionsInstrument I/OVISA, en el diagrama de bloques. Esta funcin lee datos desde el instrumento. Haz clic derecho en la entrada byte count y selecciona CreateControl desde el men rpido. Haz clic derecho en la salida read buffer y selecciona CreateIndicador desde el men rpido. Coloca la funcin VISA Close, localizada en la paleta FunctionsAll FunctionsInstrument I/OVISAVISA Advanced, en el diagrama de bloques. Esta funcin cierra la sesin con el instrumento y libera cualquier recurso del sistema que haya sido usado. Coloca el VI Simple Error Handler, localizado en la paleta FunctionsAll FunctionsTime & Dialog, en el diagrama de bloques. Este VI verifica las condiciones de error y abre una caja de dilogo con informacin de error en caso de que ocurra alguno.

Controladores de Instrumentos
Un controlador de Instrumento es un conjunto modular de funciones de software que emplea los comandos o protocolo del instrumento para realizar operaciones comunes en el. El controlador de instrumento tambin llama los VIs y funciones apropiados para el instrumento. Los controladores de instrumentos de LabVIEW eliminan la necesidad de aprender los comandos de programacin complejos y de bajo nivel para cada instrumento. Los controladores de instrumentos reciben, leen y escalan las cadenas de respuesta desde el instrumento en datos escalados que puedes emplear en aplicaciones de prueba. Los controladores de instrumentos ayudan a hacer ms fciles de mantener las aplicaciones de prueba ya que el controlador

contiene todas las E/S para un instrumento en una librera, separado de otro cdigo. Cuando actualizas tu hardware, es ms fcil de actualizar la aplicacin ya que todo el cdigo especfico para el instrumento est contenido en el controlador. La librera de control de instrumentos de LabVIEW est localizada en el CD LabVIEW. Tambin puedes descargar los controladores desde el sitio Web de NI en ni.com/idnet. Todos los controladores de instrumentos incluyen un ejemplo que puede ser usado en probar la comunicacin con un instrumento. Este ejemplo es normalmente denominado Getting Started Example. Especifica la direccin correcta de GPIB (o Nombre de Recurso VISA) para el instrumento como se configur en MAX. Los controladores de instrumentos son desarrollados con un instrumento especfico en mente y eliminan la necesidad por parte del usuario de saber los comandos exactos IEEE 488.2 que el instrumento espera.

GPIB
Objetivos: El propsito de este capitulo es comprender y aprender la comunicacin General Purpose Interface Bus (GPIB) y como es implementada en los sistemas del mundo real. Aprenders que es GPIB, para que es usado, porque es tan usado como protocolo de comunicacin, como comunicarse con instrumentos GPIB, como encontrar controladores de instrumentos y que tan fcil es llamar a los instrumentos usando los controladores de instrumentos. Tambin aprenders la teora bsica de GPIB, las diferencias entre lneas de transmisin y como conectar el instrumento a la tarjeta GPIB de forma que el software LabVIEW se pueda comunicar con el instrumento. El estndar ANSI/IEEE 488.1 1987 tambin conocido como Bus de Interfaz de Propsito General (GPIB), describe un estndar de interfaz para comunicacin entre instrumentos y controladores para varios proveedores.

Tarjeta PCI GPIB National Instruments con cable GPIB Los instrumentos GPIB, o Bus de Interfaz de Propsito General, ofrecen a los ingenieros de prueba y manufacturacin una amplia seleccin de proveedores de instrumentos de propsito general para aplicaciones especializadas de prueba en un mercado vertical. Los instrumentos GPIB son usados normalmente como instrumentos auto ejecutable de escritorio donde las mediciones son tomadas a mano. Puedes automatizar estas mediciones usando una PC para controlar los instrumentos GPIB.

Instrumentos P C

Las computadoras son usadas para comunicarse con instrumentos tradicionales. GPIB es una interfaz de comunicacin digital paralela de 8 bits con transferencia de datos de 1 Mbyte/s y superiores, usando un handshake de tres cables. El bus soporta un controlador de sistema, regularmente una computadora y hasta 14 instrumentos adicionales. El protocolo GIPIB categoriza los dispositivos como controladores, habladores y oyentes para determinar cual dispositivo posee control activo del bus. Cada dispositivo posee una nica direccin primaria GPIB entre 0 y 30. El controlador define los enlaces de comunicacin, responde a los dispositivos que requieren servicio, enva comandos GPIB y pasa/recibe control del bus. Los Controladores instruyen a los habladores para hablar y poner datos en el GPIB. Puedes direccionar un dispositivo a la vez para hablar. El Controlador direcciona al Oyente para or y leer datos desde el GPIB. Pedes direccionar varios dispositivos para or.

Configuracin de Estrella

Configuracin Lineal

La Terminacin informa a los oyentes que todos los datos han sido transferidos. Puedes terminar una transferencia de datos GPIB de las siguientes tres formas: El GPIB incluye una lnea de hardware End Or Identify (EOI) que puede ser activada con el ltimo byte de datos. Este es el mtodo ms comn. Coloca un carcter especfico de fin de cadena (EOS) al final de la misma. El oyente cuneta los bytes transferidos por handshaking y para la lectura cuando el oyente alcanza un lmite de cuenta de byte. Para alcanzar la mayor velocidad de transferencia de datos para la cual GPIB fue diseado, debes limitar el el nmero de dispositivos en el bus y la distancia fsica entre ellos. Las siguientes restricciones sin tpicas. Una separacin mxima de 4m entre cualquiera de los dispositivos y una separacin promedio de 2m sobre todo el bus Una mxima longitud de cable de 20m Un mximo de 15 dispositivos conectados a cada bus, con por lo menos dos tercios encendidos Para una operacin de alta velocidad, se aplican las siguientes restricciones: Todos los dispositivos en el sistema deben estar encendidos La longitud del cable debe ser tan corta como sea posible con hasta un mximo de 15m de cable por cada sistema

Debe existir por lo menos el equivalente a un dispositivo cargado por metro de cable Puedes obtener mayores velocidades de transferencia con dispositivos HS488 y controladores. HS488 es una extensin de GPIB que la mayora de los controladores de NI soportan.

Arquitectura de software La arquitectura de software para control de instrumentos GPIB empleando LabVIEW es similar a la arquitectura DAQ. La interfaz GPIB incluye un conjunto de controladores. Estos controladores tambin estn disponibles en el CD LabVIEW y la mayora de los controladores estn disponibles para descargar en ni.com/support/gpib/versions.htm. Siempre instala la versin ms nueva de estos controladores a menos que se indique de otra forma en las notas de informacin ya sea para interfaz GPIB o LabVIEW. (Windows) Emplea MAX para configurar y probar la interfaz GPIB. MAX interacta con varias herramientas de diagnstico y configuracin instaladas con el controlador y tambin con Windows Registry and device Manager. El software de nivel de controlador est en forma de un DLL y contiene todas las funciones que se comunican directamente con la interfaz GPIB. Los VIs y funciones de E/S de Instrumentos llaman directamente el software controlador. MAX es la utilidad de configuracin para el software y hardware de Nacional Instruments. Este tambin puede ejecutar diagnsticos de sistema, adicionar nuevos canales, interfaces y canales virtuales y ve dispositivos e instrumentos conectados al sistema. Abre MAX haciendo doble clic en el icono en el escritorio o seleccionando ToolsMeasurement&Automation Explorer en LabVIEW. El panel Configuration de MAX incluye las siguientes secciones bajo My System: Data Neighborhood.- Emplea esta seccin para crear y probar canales virtuales, alias y etiquetas para canales o mediciones configuradas en Devices and Interfaces. Devices and Interfaces.- Emplea esta seccin para configurar fuentes y otras propiedades fsicas de dispositivos y para ver atributos de uno o varios dispositivos, tales como nmeros seriales. IVI Instruments.- Emplea esta seccin para dar nombre a un instrumento virtual IVI, modificar sus propiedades y modificar instrumentos IVI.

Scales.- Emplea esta seccin para configurar operaciones simples a realizar en datos, tales como escala en lecturas de temperatura desde un Accesorio de Seal de voltios a grados Celsius. Historical Data.- Emplea esta seccin para acceder a bases de datos y datos registrados. Software.- Emplea esta seccin para determinar que controladores y software de aplicacin de National Instruments estn instalados y sus nmeros de versin. VI Logger Tasks.- Emplea esta seccin para crear, modificar, ejecutar y ver tareas VI Logger. El siguiente ejemplo muestra una interfaz GPIB en MAX luego de hacer clic en el botn Scan For Instruments de la barra de herramientas.

La seccin Remote Systems en el panel frontal Configuration le permite ver y configurar sistemas remotos, tales como Controladores RT Series PXI. Configura los objetos listados en MAX haciendo clic derecho en cada tem y seleccionando una opcin desde el men rpido.

Ejercicio. Configuracin GPIB con MAX (Windows)

En este ejercicio emplearemos MAX para examinar las configuraciones de interfaz GPIB, detectar instrumentos y comunicarse con uno de ellos. Apaga el Simulador de Instrumentos de NI y configralo para comunicarse a travs de GPIB configurando el siguiente banco izquierdo de interruptores en el lado de la caja.}

Enciende el Simulador de Instrumentos de NI y verifique que tanto los LED de Power y Ready estn iluminados. Lance MAX ya sea haciendo doble clic en el icono del escritorio o seleccionando ToolsMeasurement&Automation Explorer en LabVIEW. Expanda la seccin Device and Interfaces para mostrar las interfaces pra mostrar las interfaces instaladas. Si se lista una interfaz GPIB, en software NI-488.2 esta cargado correctamente en la computadora. Selecciona la interfaz GPIB y haz clic en el botn Properties en la barra de herramientas para desplegar la caja de dilogo Properties. Examina pero no cambia las configuraciones de la interfaz GPIB y haz clic en el botn OK. Asegrate que la interfaz GPIB an este seleccionada en la seccin Device and Interfaces y haz clic en el botn Scan for Instruments en la barra de herramientas. Expanda la seccin de tarjeta GPIB. Aparece un instrumento llamado Instrument0. Haz clic en Instrument0 para mostrar la informacin sobre este en el panel derecho de MAX. El Simulador De Instrumentos de NI posee una direccin primaria PATH GPIB de 2. Haz clic en el botn Communicate with Instrument de la barra de herramientas. Aparece una ventana interactiva. Puedes emplearla para preguntar, escribir o leer desde este instrumento. Digita *IDN? en Send String y haz clic en el botn Query. El Instrumento regresa su fabricante y un nmero de modelo en String

Recived. Puede emplear una ventana para depurar problemas con el instrumento o para verificar que un comando especfico trabaje como se describe en la documentacin del instrumento.

Digita MEAS: DC? en Send String y haz clic en el botn Query. El Simulador de Instrumentos de NI entrega una medicin de voltaje simulado. Haz clic en el botn Query nuevamente para devolver un valor diferente. Haz clic en el botn Exit. Fija un alias VISA para el Simulador de Instrumentos de NI as puedes ampliar el alias en lugar de tener que recordar la direccin primaria. Mientras el Instrument0 este seleccionado en MAX, haz clic en el botn VISA Properties para desplegar la caja de dilogo Properties. Digita devsim en el campo VISA Alias y haz clic en el botn OK. Selecciona FileExit para salir de MAX.

OTROS TIPOS DE INTERFACES


Existen dispositivos hechos para comunicacin con instrumentos seriales o GPIB a travs de puertos Ethernet, USB o IEEE 1394 (FIRE Wire), los cuales sobrepasan las necesidades para un puerto serial o tarjeta GPIB en tu computadora. Cuando usas estos dispositivos, progrmalos justo como si estuvieras usando el puerto serial o una tarjeta GPIB. La interfaces USB y Ethernet en puertos seriales asncronos para comunicacin con instrumentos seriales. Puedes usar e instalar estas interfaces como puertos seriales estndar desde tus aplicaciones existentes. Los controladores USB, Ethernet y IEEE 1394 transforman cualquier computadora con estos puertos en un controlador de funcionalidad total Plug an Play IEEE-488.2 que puede controlar hasta 14 instrumentos programables GPIB.

Asistente de E/S de Instrumentos


El Asistente de E/S de Instrumentos localizado en las paletas FunctionsInput y FunctionsInstrument I/O es un VI Express de LabVIEW el cual puedes emplear para comunicarte con instrumentos basados en mensajes y ver grficamente y ver la respuesta. Por ejemplo, puedes comunicarte con un instrumento que emplea una interfaz serial, Ethernet o GPIB. Emplea el Asistente de E/S cuando un controlador de instrumentos no esta disponible. El Asistente de E/S de Instrumentos organiza la comunicacin con el instrumento en pasos ordenados. Para emplear el Asistente de Instrumentos, debes de colocar pasos en una secuencia. A medida que adiciona pasos a una secuencia, ellos aparecen en la ventana Step Sequence. Emplee la vista asociada con un paso para configurar E/S de instrumentos. Para alcanzar el Asistente de E/S de Instrumentos, coloca el VI Instrument I/O Assistant Express en el diagrama de bloques. Aparece la caja de dilogo de configuracin Instrument I/O Assistant. Si esta no aparece haz clic en el icono Instrument I/O Assistant. Realiza los pasos para configurar el Asistente de E/S de instrumentos. Seleccione un instrumento. Los instrumentos que han sido configurados en MAX aparecen en el men desplegable Select an instrument.

Selecciona un Code generation type. La generacin de cdigo VISA le permite flexibilidad y modularidad que la generacin de cdigo GPIB. Selecciona de entre los siguientes pasos de comunicacin empleando el botn Add Step: o Query and Parse.- Enva una pregunta a un instrumento, tal como *IDN? y muestra la cadena retornada. Este paso combina el comando Write and Read y el comando Parse. o Write.- Enva un comando al instrumento. o Read and Parse.- Lee y trae datos desde el instrumento. Despus de adicionar el nmero deseado de pasos, haz clic en el botn Run para probar la secuencia de comunicacin que ha configurado en el VI Express. Haz clic en el botn OK para salir de la caja de dilogo de configuracin Instrument I/O Assistant. LabVIEW adiciona terminales de entrada y salida al VI Instrument I/O Assistant Express en el diagrama de bloques que corresponden al dato que recibirs desde el instrumento. Para ver el cdigo generado por el Asistente de E/S de Instrumentos, haz clic en el icono Instrument I/O Assistant y selecciona Open Front Panel desde el men rpido. Esto convierte al VI Express en un subVI. Cambia al diagrama de bloques para ver el cdigo generado. Una vez que un VI Express ha sido convertido a un subVI, este no puede ser convertido de regreso.

Ejercicio.- Asistente de E/S de Instrumentos


Realiza los siguientes pasos para construir un VI que adquiera datos desde el Simulador de Instrumentos de NI. Panel Frontal 1.- Abre un VI en blanco. 2.- El siguiente panel frontal resulta de construir el diagrama de bloques.

3.- Muestra y construye el siguiente diagrama de bloques.

Coloca el VI Instrument I/O Assistant Express, localizado en la paleta FunctionsInput, en el diagrama de bloques. Realiza los siguientes pasos para configurar el VI Express en la caja de dilogo Instrument I/O Assistant. Selecciona devsim desde el men desplegable Select an instrument y escoja VISA Code Generation desde el men desplegable Code generation type. Haz clic en el botn Add Step. Haz clic en Query and Parse para escribir y leer desde el Simulador de Instrumentos. Digita *IDN? como comando, seleccione \n como Termination character y haz clic en el botn Run this step. Si no aparecen prevenciones de error en la mitad inferior de la caja de dilogo, este paso ha sido realizado exitosamente.

Para leer los datos recibidos, haz clic en el botn Auto parse. Observa que ahora Token aparece en el panel Output al lado izquierdo de la caja de dilogo. Este valor representa la cadena retornada desde la solicitud de identificacin. Renombre Token digitando ID String en la caja de texto Token name. Haz clic en el botn Add Step. Haz clic en Quero and Parse. Digite MEAS : DC? como comando y haz clic en el botn Run this step. Para leer los datos recibidos, haz clic en el botn Auto Parse. El valor retornado es un valor numrico aleatorio. Renombra Token digitando Voltage en la caja de texto Token name. Haz clic en el botn OK para salir del Asistente de E/S y regresar el diagrama de bloques. Haz clic derecho en la salida ID String y selecciona CreateIndicador desde el men rpido. Haz clic derecho en la salida Voltage y selecciona CreateIndicador desde el men rpido. Cablea la salida Error Out al VI Simple Error Handler. 4.- Muestra el panel frontal y corre el VI. Cambia el tamao del indicador de cadena si es necesario. 5.- Guarda el VI como Read Instrument Data.vi 6.- Haz clic derecho en el Asistente de E/S y selecciona Show Front Panel. Haz clic en el botn Convert cuando le pregunte si desea convertir a un subVI. 7.- Observa el cambio generado por el Asistente de E/S. Cuando es escrito comando *IDN, al Simulador de Instrumentos? Cuando es ledo el voltaje? 8.- Selecciona FileExit para salir del subVI. No es necesario guardar cambios.

Arquitectura de Instrumentos
La arquitectura de software para control de instrumentos usando LabVIEW es similar a la arquitectura para DAQ. Las Interfaces de instrumentos tales como GPIB incluyen un conjunto de controladores. Usa MAX para configurar la interfaz. VISA, Virtual Instrument Software Arquitecture es un API comn para comunicarse con los controladores de interfaz y es el mtodo preferido que se usa cuando se programa control de instrumentos en LabVIEW, ya que VISA abstrae el tipo de interfaz usada. Muchos VIs de LabVIEW usados para control de instrumentos usan el API de VISA. Por ejemplo, el Instrument I/O Assistant es un VI Express de LabVIEW que puede usar VISA para comunicarse con instrumentos basados en mensajes y convierte la respuesta desde datos en bruto a una representacin ASCII. Usa el Instrument I/O Assistant cuando un controlador de instrumentos no est disponible. En LabVIEW, un controlador de instrumentos es un conjunto de VIs especialmente escritos para comunicarse con un instrumento. Si trabajas bajo la plataforma de Windows usa MAX para configurar y probar la interfaz GPIB. MAX interacta con las diferentes herramientas de diagnstico y configuracin instaladas con el controlador y tambin con el Windows Registry y Device Manager. EL software a nivel del controlador es la forma de una DLL y consiste de todas las funciones que se comunican directamente con la interfaz GPIB. Los VIs de Instrument I/O y funciones llaman directamente el software controlador.

EJERCICIO 1.- VI VISA Write & Read


El objetivo de este ejercicio es comunicarse con una interfaz serial o GPIB para un instrumento usando funciones VISA. Este VI usa VISA para comunicarse ya sea con una interfaz serial o GPIB con un instrumento. El VI puede enviar un buffer de datos al instrumento y leer un buffer de regreso. Si usas GPIB, el usuario especifica cuantos bytes leer desde el bus. Si usas serial, el VI determina cuantos bytes estn disponibles y los lee. 1.- Crea el siguiente panel frontal o abre el VISA Write & Read.vi del directorio C:\Exercises\LabVIEW Basics I\VISA Write & Read directory.

2.- Abre el siguiente diagrama de bloques del VI y examina el cdigo. La parte GPIB se muestra en la siguiente figura.

Coloca la funcin VISA Open, localizada en la paleta Functions All Functions Instrument I/O VISA VISA Advanced, en el diagrama de bloques. Esta funcin abre una sesin VISA con cada instrumento. Haz clic derecho en la entrada VISA resource name y seleccione CreateControl desde el men rpido.

Coloca la funcin VISA Write localizada en la paleta FunctionsAll functionsInstrument I/OVISA, en el diagrama de bloques. Esta funcin escribe una cadena al instrumento. Haz clic derecho en la entrada write buffer y selecciona CreateControl desde el men rpido. Coloca la funcin VISA Read, localizada en la paleta FunctionsAll FunctionsInstrument I/OVISA, en el diagrama de bloques. Esta funcin lee datos desde el instrumento. Haz clic derecho en la entrada byte count y selecciona CreateControl desde el men rpido. Haz clic derecho en la salida y selecciona CreateIndicador desde el men rpido. Coloca la funcin VISA Close localizada en la paleta FunctionsAll FunctionsInstrument I/OVISAVISA Advanced, en el diagrama de bloques. Esta funcin cierra la sesin con el instrumento y libera cualquier recurso del sistema que haya sido usado. Coloca el VI Simple Error Handler, localizado en la paleta FunctionsAll FunctionsTime &Dialog, en el diagrama de bloques. Este VI verifica las condiciones de error y abre una caja de dilogo con informacin de error en caso de que ocurra alguno.

Guarda el VI como My VISA Write&Read.vi Muestra el panel frontal. Digite devsim en la entrada VISA resource name y fija byte count a 200 para asegurarse que leas toda la informacin. Digita *IDN? en write buffer y corre el VI, La parte superior del simulador de instrumentos lista otros comandos que son reconocidos por este instrumento. Prueba otros comandos en este VI. Cierra el VI.

Controladores de Instrumentos

Un controlador de instrumento es un conjunto modular de funciones de software que emplea los comandos o protocolo del instrumento para realizar operaciones comunes con el. El controlador de instrumento tambin llama los VIs y funciones apropiadas para el instrumento. Los controladores de instrumentos de LabVIEW eliminan la necesidad de aprender los comandos de programacin complejos y de bajo nivel para cada instrumento. Los controles de instrumentos reciben, leen y escalan las cadenas de respuesta desde el instrumento en datos escalados que puedes emplear en aplicaciones de prueba, el controlador contiene todas las E/S para un instrumento en una librera, separado de otro cdigo. Cuando actualizas el hardware, es ms fcil de actualizar la aplicacin ya que todo el cdigo especfico para el instrumento est contenido en el controlador.

Todos los controladores de instrumentos incluyen un ejemplo que puede ser usado para probar la comunicacin con el instrumento. Este ejemplo es normalmente denominado Getting Started Example. Especificas la direccin correcta de GPIB (o nombre de recurso de VISA) para el instrumento como se configur en MAX. Los controladores de instrumentos son desarrollados con un instrumento especfico en mente y eliminan la necesidad por parte del usuario de saber los comandos exactos IEEE 488.2 que el instrumento espera.

Todos los controladores de instrumentos en la librera poseen la misma jerarqua bsica de VI. La jerarqua, secuencia de VIs y manipulacin de error son las mismas que aquellas empleadas en otras reas de E/S en LabVIEW , tales como archivos I/O, DAQ, TCP/IP y otras. La siguiente ilustracin muestra la jerarqua de un controlador de instrumentos.

Las funciones de alto nivel son construidas a partir de las funciones de bajo nivel. Para un mayor control sobre el instrumento, emplea las funciones de bajo nivel. Los controladores de instrumentos poseen VIs en las siguientes categoras:

Initialize.- Inicializa el canal de comunicacin con el instrumento. Configuration.- Configura el instrumento para realizar operaciones tal como configuracin de velocidad de disparo. Action/Status.- Contiene dos tipos de VIs. Los VIs de accin hacen que el instrumento inicialice o termina operaciones de prueba y medicin, as como obtener el estado actual del instrumento o el estado de operaciones pendientes. Data.- Transfiere datos desde o hacia el instrumento, tal como leer una forma de onda medida desde el instrumento o descargar la forma de onda al mismo instrumento. Utility.- Realiza una amplia variedad de funciones, tales como reset, auto prueba, preguntas de error y preguntas de revisin. Close.- Termina el canal de comunicacin del instrumento y libera los recursos para este. Todos los controladores de instrumentos de Nacional Instruments son requeridos para implementar las siguientes funciones: inicializar, cerrar, resetear, auto prueba, pregunta de revisin, pregunta de error y mensaje de error.

EJERCICIO.- Controladores de Instrumentos

1.- Construye el siguiente panel frontal.

Emplea los siguientes pasos de ayuda para construir el panel frontal. Coloca un control VISA Resource Name, localizado en la paleta ControlsI/O, en el panel frontal. Fija la escala del eje de x de la grfica de forma de onda para mostrar valores incrementales. 2.- Construye el siguiente diagrama de bloques.

Crea dos registros de desplazamiento haciendo clic derecho en los bordes derecho o izquierdo del ciclo y seleccionando Add Shift Register desde el men rpido. Coloca el VI NI DEVSIM Initialize, localizado en la paleta FunctionsInstrument I/OInstrument DriversNI Device Simulator, en el diagrama de bloques. Este VI abre la comunicacin entre LabVIEW y el simulador de instrumentos de NI. Haz clic derecho en la entrada ID Query y seleccione CreateConstant desde el men rpido. Emplea la herramienta de Operacin para cambiar la constante a un valor de FALSO. Cablea la constante Booleana a la entrada Reset.

Coloca el VI NI DEVSIM Multimeter Configuration, localizado en la paleta FunctionsInstrument I/OInstruments DriversNI Device SimulatorConfiguration, en el diagrama de bloques. Este VI configura el rango de mediciones de voltaje que genera el Simulador de Instrumentos NI. Por defecto es desde 0.0 hasta 10.0 V DC. Coloca el VI NI DEVSIM Measure DC Voltage, localizado en la paleta FunctionsInstrument I/OInstruments DriversNI Device SimulatorData, en el diagrama de bloques. Este VI retorna una medicin simulada de voltaje desde el Simulador de Instrumentos de NI. Coloca el VI NI DEVSIM Close, localizado en la paleta FunctionsInstrument I/OInstruments DriversNI Device Simulator, en el diagrama de bloques. Este VI termina la comunicacin entre LabVIEW y el Simulador de Instrumentos de NI.

Coloca la funcin Max & Min, localizada en la paleta FunctionsComparison, en el diagrama de bloques. Emplea dos de estas funciones para verificar el voltaje actual contra los valores mximo y mnimo almacenados en los registros de desplazamiento. Coloca el VI Simple Error Handler, localizado en la paleta FunctionsTime & Dialog, en el diagrama de bloques. Este VI despliega una caja de dilogo si ocurre un error y muestra la informacin de error. Coloca la funcin Unbundle by Name, localizada en la paleta FunctionsCluster, en el diagrama de bloques. Esta funcin acepta el status desde el cluster de error. Coloca la funcin Or, localizada en la paleta FunctionsArithmetic & ComparisionExpress Bolean, en el diagrama de bloques. Esta funcin controla cuando termina el Ciclo While. Si existe un error o haces clic en el botn STOP, el Ciclo While para. Cablea el diagrama de bloques como se muestra en la figura anterior. 3.- Guarda el VI. 4.- Asegrate que el Simulador de Instrumentos esta encendido. 5.- Muestra el panel frontal y corre el VI. Los LEDs alternan entre Listen y Talk a medida que LabVIEW se comunica con el instrumento GPIB una vez por segundo para obtener lecturas simuladas de voltaje. Este voltaje se muestra en la grfica y los valores mximo y mnimo se actualizan de ser necesario. 6.- Para y cierra el VI.

También podría gustarte