Escribir Y Leer Archivos Binarios Usando LabVIEW

Actualizado el Jun 18, 2021

Reportado en

Software

  • LabVIEW

Detalles del problema

Me gustaría leer y escribir archivos binarios usando LabVIEW. También me gustaría entender cómo funciona el procedimiento para poder escribir y leer estructuras de datos como matrices bidimensionales en un archivo binario.
Me gustaría saber cuál es el tamaño del paquete de datos de transferencia en LabVIEW usando Write to Binary File vi para escribir en una carpeta de red.

Solución

Los programas de LabVIEW pueden acceder a archivos binarios con los VIs Write to Binary File y Read from Binary File ubicados en la paleta de funciones Programación »E / S de archivos . Hay varios ejemplos en NI Example Finder (Ayuda »Buscar ejemplos ...) en Fundamentos» Entrada y salida de archivos » Leer archivo binario.vi y Escribir archivo binario.vi que demuestran cómo usar estas funciones.


Los protocolos Windows e IPv determinan el tamaño del paquete de transferencia de datos que se envía desde LabVIEW. Más específicamente, el protocolo SMB de Windows integrado se utiliza para transferir los datos con un tamaño máximo de paquete de 64 KB.

Información adicional

El acceso a archivos binarios sigue la misma estructura de código que el acceso a otros archivos. Específicamente, el usuario abre el archivo, llama a las funciones de lectura y escritura según sea necesario y luego cierra el archivo. La siguiente imagen muestra un caso simple de cómo se escribiría un entero de 32 bits con signo en un archivo binario:
Al leer un archivo binario, el usuario debe conocer el formato en el que estaban los datos cuando se escribieron en el archivo. Al escribir archivos binarios, tome notas cuidadosas del formato en el que se almacenan los datos para poder leerlos correctamente más tarde. Depende del usuario elegir la estructura de su archivo binario y no existe un formato universalmente aceptado para archivos binarios (a diferencia de ASCII), por lo que otras aplicaciones o sistemas operativos pueden no ser capaces de leer datos significativos del archivo.

Al escribir enteros en un archivo binario, los bits del entero se asignan a bits en el archivo. Por ejemplo, si se escribe un I32 en un archivo binario, ocupa 32 bits de espacio.
Escribir una matriz I32 2D en un archivo binario es más complejo porque la matriz puede tener diferentes números de filas y columnas. Para simplificar esta matriz 2D, los datos a menudo se guardan con un encabezado que describe estas dimensiones. Para leer una matriz 2D desde un archivo binario, LabVIEW requiere un encabezado de 8 bytes. La creación de este encabezado se puede realizar de dos formas:
  • Manualmente: la función Tamaño de matriz se puede utilizar para determinar estos valores. Se debe conectar una constante FALSE a Prepend Array o String Size terminal de la función Escribir en archivo binario.
  • Automáticamente: para generar el encabezado automáticamente, se puede conectar una constante TRUE a Prepend Array o String Size? terminal de la función Escribir en archivo binario (pero no es obligatorio).
En general, se recomienda permitir que la función Escribir en archivo binario cree el encabezado de datos automáticamente , porque el encabezado varía según el tipo de datos guardados en el disco. Sin embargo, puede haber ocasiones en las que un usuario necesite conocer explícitamente la estructura del encabezado y escribir (o leer) en el disco. En este caso, la referencia en línea se puede utilizar para determinar los encabezados necesarios para diferentes tipos de datos.

La siguiente imagen muestra un caso simple de escribir una matriz 2D en un archivo binario y crear automáticamente el encabezado:
Para leer el archivo binario, conecte el tipo de datos esperado en la entrada Tipo de datos. Por ejemplo, si el archivo contiene una matriz 2D de enteros de 32 bits, conecte una matriz 2D de enteros de 32 bits a la entrada Tipo de datos. LabVIEW asumirá que el encabezado apropiado para el tipo de datos ficticios está almacenado en el archivo y lo usará para extraer la información binaria. La siguiente imagen muestra un caso simple de lectura de datos 2D de un archivo binario: