Manipulacion de Datos Labview
Manipulacion de Datos Labview
Manipulacion de Datos Labview
Datos
Los datos son representaciones simbólicas (vale decir: numéricas, alfabéticas, algorítmicas, etc.) de
un determinado atributo o variable cualitativa o cuantitativa, o sea: la descripción codificada de un
hecho empírico, un suceso, una entidad.
En el tipo de dato se define el modo en que se usa el espacio (memoria) en los programas.
Especificando un tipo de datos, está indicando al compilador como crear un espacio de
almacenamiento en particular, y también como manipular este espacio.
Los tipos de datos pueden parecer confusos. Por ejemplo, si el tipo de datos de un campo es Texto,
puede contener datos que constan de texto o caracteres numéricos. Pero un campo cuyo tipo de
datos es Número solo puede contener datos numéricos. Por tanto, debe saber qué propiedades se
usan con cada tipo de datos.
A continuación hablaremos acerca de algunas funciones que nos permite manipular datos
conociendo su funcionamiento, para que nos sirve y como poder manejarlos.
Marco teórico
Manipulación de datos
Las funciones más sencillas para manipular datos son las que trabajan con bytes y bits.
Rotate Function
Esta función permite girar x el número de bits especificado por y. Tanto en las entradas como en la
salida se ingresan valores de tipo entero sea de 8-16-32 o 64 bits.
“y” especifica el número de bits en “x” que gira la función. Si “y” es mayor que 0, la función desplaza
los primeros bits y en el extremo izquierdo de “x” al extremo derecho. Si “y” es menor que 0, la
función desplaza los primeros bits “y” en el extremo derecho de “x” al extremo izquierdo.
Si x es un entero de 8, 16, 32 o 64 bits, para cualquier valor de y produce el mismo valor de salida,
respectivamente. Por ejemplo, si x es un entero de 8 bits, y = 1 e y = 9 producen el mismo resultado.
El tipo de dato de “x” recorrido a la izquierda por “y”, está determinado por el tipo de datos de la
entrada de “x”. De modo que “y” indica el número de bits recorridos de la izquierda, mientras que
“x” indica el valor entero de 8 bits.
2 3 12 (00001100) Esta función desplaza los dos primeros bits de la izquierda, 00, al
extremo derecho.
(00000011)
–3 3 96 (01100000) Esta función desplaza los primeros tres bits a la derecha, 011, al
extremo izquierdo.
(00000011)
Type Cast
Convierte x en el tipo de datos, tipo, aplanándolo y desaplanándolo usando el nuevo tipo de datos.
Si la función debe reinterpretar los datos en lugar de transformarlos, LabVIEW usa un buffer
temporal. Esta función tiene el riesgo de reinterpretar datos. Para preservar el valor de los datos
mientras convierte los datos, use la función Coerc.
Nota También puede usar los VIs de conversión y las funciones para convertir tipos de datos.
type es el tipo de datos al que desea convertir los datos. Conecte cualquier constante o
control para escribir para establecer el tipo de datos al que desea convertir los datos. LabVIEW
ignora cualquier dato en la constante o control que conecte para escribir.
x especifica los datos que desea convertir. Esta entrada acepta cualquier tipo de datos.
Devuelve la mantisa y el exponente del valor numérico de entrada tal que número = mantisa * 2 ^
exponente.
x puede ser un entero de 8, 16, 32 o 64 bits, o una matriz o grupo de esas representaciones.
del hi (x) y lo(x) son enteros que tienen la mitad ancho de x. hi (x) y lo(x) son enteros sin signo
de 8 bits, 16 bits o 32 bits, respectivamente, o una matriz o grupo de esas representaciones. hi(x)
es el byte de orden numéricamente alto y lo(x) es el byte de orden numéricamente bajo,
independientemente de la endianness del sistema operativo.
Join Numbers
El panel del conector muestra los tipos de datos predeterminados para esta función polimórfica.
(hi.lo) es un número entero dos veces el ancho de hi y lo. (hi.lo) es un entero sin signo de 16,
32 o 64 bits o una matriz o clúster de esas representaciones. Si hi y lo son de diferentes anchos,
(hi.lo) es el doble del ancho del número más ancho.
Swap Words
Intercambia los 16 bits de orden superior y los 16 bits de orden bajo por cada entero largo en los
datos.
data es un entero, una matriz de enteros o un clúster que contiene enteros que desea
intercambiar. En el caso de un clúster que contiene enteros, esta función intercambia solo los
elementos enteros del clúster. Si desea intercambiar byte-números de punto flotante o de punto
fijo, use la función Type Cast para convertir el valor en una matriz de bytes 1D. Luego use la función
Reverse 1D Array y escriba cast de nuevo a un número de punto flotante o de punto fijo. Ni las
referencias ni las variantes son entradas válidas. Ambos romperán el cable de entrada.
word swappedes es del mismo tipo y estructura de datos que los datos.
Swap Bytes
Intercambia los 8 bits de orden superior y los 8 bits de orden inferior por cada palabra en los datos.
Si desea intercambiar byte con números de punto flotante o de punto fijo, use la función Type Cast
para convertir el valor en una matriz 1D de bytes conectando una matriz de controles numéricos a
la entrada de tipo y al punto flotante o fijo. señalar números a la entrada x. Luego use la función
Reverse 1D Array para convertir la matriz a un número de punto flotante con los elementos
invertidos. El panel del conector muestra los tipos de datos predeterminados para esta función
polimórfica.
data es un entero, una matriz de enteros o un clúster que contiene enteros que desea
intercambiar en bytes. Si los datos son un clúster que contiene enteros, esta función intercambia
solo los elementos enteros del clúster. Ni las referencias ni las variantes son entradas válidas. Ambos
romperán el cable de entrada.
byte swapped es del mismo tipo y estructura de datos que los datos
1. Para iniciar creamos un proyecto nuevo y elegimos un archivo en blanco en el cual nos aparecerá
dos ventas el panel frontal y el diagrama de bloques.
2. En el panel frontal ingresamos un bloque de tipo string control para la contraseña y en el
diagrama de bloque ingresamos una constante de tipo string donde se asignará la contraseña
real de la caja fuerte.
3. En el panel frontal añadir un Led y editar en propiedades el color verde para on (encendido) y
rojo para off (apagado), mismo que indicara si la clave es correcta o incorrecta. Agregamos otro
led para la puerta. También se añade la etiqueta en cada led.
5. Añadimos la función Match Pattern, que permite comparar un dato ingresado tipo String y
compararla con una expresión regular, de modo que si son iguales el pin de salida offset envía
el valor de la extensión del dato comparado.
Conectamos un control a la función, y agregamos una contraseña de 7310310243863900720
que esquvale a espoch20 en cadena(podemos cambiar la contraseña utilizando el control de
entrada y copiando el nuevo número en match pattern, ojo solo 8 caracteres), esto el terminal
regular expression de la misma función. Posterior se necesita comparar la extensión del dato
resultante con la ingresada. Entonces se ingresa un “String Lenght” y un comparador de
igualdad equal?. Y conectamos los cables a los terminales de los leds y funciones.
6. Ingresamos type cast, lo conectamos al control de la contraseña, conectamos una constante al
terminal type y creamos un indicador tipo U64(entero sin signo 64 bytes). Luego agregamos la
función Number to Decimal String y conectamos según corresponda.
7. Añadimos una estructura case, true para el proceso actual y para false creamos variables
locales de ambos leds y los colocamos allí, además de conectarlos a una constante de tipo
booleano false. Podemos decorar a nuestro gusto el panel frontal en la paleta decorations.
8. Por ultimo ejecutamos el VI.
Manual de rotate function
1. Para iniciar creamos un proyecto nuevo y elegimos un archivo en blanco en el cual nos aparecerá
dos ventas el panel frontal y el diagrama de bloques.
2. En el panel frontal ingresamos un bloque de tipo numeric control para ingresar un valor y con
su respectiva salida que es un numeric indicator
3. En el diagrama de bloque vamos a definir los bits de cada una de unas entradas el uno va ser de
16 y el otro 8 bit que esto nos va permitir la conversión de los números
4. Una vez realizado lo anterior vamos a buscar la opción rotate que se encuentra en numeric
después data manipulation y seleccionamos y colocamos una conversión de 8bit para que que
esa sea nuestra respuesta
5. En la pantalla de bloque vamos añadir un number to boolean array y también seleccionamos
index array
6. Por finalizado colocamos un led para poder visualizar nuestro resultado de como sirve la
función rotate si es que el numero nos roto o se mantuvo en el mismo
Conclusiones
Labview permite la manipulación de datos con funciones, las cuales ayudan a rotar los
números, dividir o acoplar cadenas y para reinterpretar datos numéricos o de cadena.
Type cast permite convertir los datos de entrada a un tipo de dato compatible, entonces
cuando necesite reinterpretar los datos y no transformarlos Labview utiliza un buffer
temporal. Coerce to type se utiliza cuando queremos convertir los datos de entrada a
un tipo de datos compatible mientras conserva los datos
Para almacenar una cadena desde Labview en un archivo o base de datos o enviarse a
otras computadoras, podemos aplanar o ‘convertir’ con la ayuda de la función Flatten
to string.
Recomendaciones
Bibliografía
a. Cadena de caracteres
b. Dato tipo array
c. Entero de 8-16-32-64 bits
d. Dato tipo dinámico