Skip to content Skip to navigation Skip to collection information

OpenStax-CNX

You are here: Home » Content » Programación Gráfica LabVIEW - Cadenas de texto y Ficheros de entrada y salida » VIs y funciones de bajo nivel para File I/O

Navigation

Recently Viewed

This feature requires Javascript to be enabled.
 

VIs y funciones de bajo nivel para File I/O

Module by: Juan Martínez. E-mail the author

Based on: Low-Level File I/O VI and Functions by National Instruments

Summary: En este módulo, se aprenderá a usar los VIs y funciones de bajo nivel para la entrada/salida con ficheros.

Usar los siguientes VI y funciones de File I/O de bajo nivel para ejecutar tareas básicas de entrada/salida con ficheros:

  • Open/Create/Replace File: OpenFileIcon.png Abre un fichero existente, crea un fichero nuevo, o sustituye un fichero existente, mediante un programa o interactivamente usando una caja de diálogo de fichero. Opcionalmente se puede especificar un mensaje de diálogo, nombre del fichero por defecto, camino de comienzo, o patrón de filtrado. Si file path está vacío, el VI visualiza una caja de diálogo desde la cual se puede seleccionar un fichero.
  • Read File: ReadFileIcon.png Lee datos desde el fichero abierto especificado por refnum y los devuelve en data. La lectura comienza en la marca del fichero actual o en una localización especificados por pos mode y pos offset. El modo en que se leen los datos, depende del formato del fichero especificado.
  • Write File: WriteFileIcon.png Escribe datos a un fichero abierto especificado por refnum. La escritura comienza en la posición especificada por pos mode y pos offset para los ficheros de secuencia de bytes y al final del fichero para los ficheros de datalog. Data, header y el formato del fichero especificado determinan la cantidad de datos escritos.
  • Close File: CloseFileIcon.png Cierra el fichero abierto indicado por refnum y devuelve el camino al fichero asociado con refnum. Error I/O funciona solamente para esta función, la cual cierra el fichero si ha ocurrido un error en una operación precedente. Esto asegura que los ficheros se cierran correctamente. El modo en que se leen los datos, depende del formato del fichero especificado.

Gestión de errores

Error.png

Los VIs y funciones de bajo nivel con ficheros de entrada/salida devuelven información de error. Conectar la informacion de error desde el comienzo del VI hasta el final. Incluir un VI gestor de errores, tal como el VI Simple Error Handler situado en la paleta Time & Dialog, al final del VI para determinar si el VI se ejecutó sin errores. Usar los clusters de entrada y salida de error en cada VI que se use o construya para pasar información del error a través del VI.

Guardar datos en un fichero nuevo o en uno ya existente

Se puede escribir cualquier tipo de datos a un fichero que se abra o se cree con los VIs y funciones con ficheros de entrada/salida. Si otros usuarios o aplicaciones necesitan acceder al fichero, los datos deberán ser escritos en el fichero en formato ASCII. Consultar el manual LabVIEW Basics II: Development Course Manual para obtener mayor información sobre escritura de datalogs de LabVIEW o ficheros binarios.

Se puede acceder a los ficheros mediante programación o interactivamente mediante cajas de diálogo. Para acceder a fichero mediante caja de diálogo, no conectar file path en el VI Open/Create/Replace File. Sin embargo, se puede ahorrar tiempo conectando el nombre del camino por defecto al VI. La Table 1 explica como se organizan los nombres de fichero.

Table 1
Plataforma Camino
Windows Está formado por el nombre de la unidad, el carácter dos puntos, los nombres de los directorios separados por backslash y el nombre del fichero. Por ejemplo, c:\testdata\test1.dat es el camino para el fichero test1.dat en el directorio testdata.
UNIX En UNIX el camino se forma separando los nombres de directorio con el caracter slash y el nombre del fichero. Por ejemplo, /home/testdata/test1.dat es el camino para el fichero test1.dat en el directorio testdata en el directorio /home. Los nombres de fichero y los caminos diferencian mayúsculas y minúsculas.
Mac OS Se forma con el nombre del volumen (el nombre del disco), el carácter dos puntos, los nombres de las carpetas separados por dos puntos y el nombre del fichero. Por ejemplo Hard Disk:testdata:test1.dat es el camino para el fichero llamado test1.dat en una carpeta llamada testdata en un disco llamado Hard Disk.

El diagrama de bloques mostrado en la Figure 1 indica como escribir cadenas de datos a un fichero una vez que se ha especificado el nombre y el camino del fichero. Si el fichero ya existe, será reemplazado; en cualquier otro caso se creará un fichero nuevo.

Figure 1
Figure 1 (pathnameex.png)

El VI Open/Create/Replace File abre el fichero test1.dat. El VI también genera un refnum y un cluster de error.

Cuando se abre un fichero, dispositivo o conexión de red, LabVIEW crea un refnum asociado con ese fichero, dispositivo o conexión de red. Todas las operaciones que se ejecuten sobre ficheros, dispositivos o conexiones de red abiertos usan refnum para identificar cada objeto.

El cluster de error y refnum pasa en secuencia de un nodo al siguiente. Dado que un nodo no se puede ejecutar hasta que reciba todas sus entradas, pasando estos dos parametros se fija un orden de ejecución y se crea una dependencia de datos. El VI Open/Create/Replace File pasa el refnum y el cluster de error a la función Write File que escribe los datos al disco. Cuando la función Write File finaliza su ejecución pasa el refnum y el cluster de error a la función Close File, que cierra el fichero. El VI Simple Error Handler examina el cluster de error y muestra una caja de diálogo si ocurriera un error. Si el error ocurre en un nodo, los nodos subsecuentes no se ejecutan, y el VI pasa el cluster de error al VI Simple Error Handler.

Collection Navigation

Content actions

Download:

Collection as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Module as:

PDF | More downloads ...

Add:

Collection to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks

Module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks