Está en la página 1de 31

Guía para el desarrollo del componente práctico

PRÁCTICA No. 1

1. Instalar Labview.

2. Empleando Labview realice un instrumento virtual con un contenedor de 6 elementos


(Ventana Modern/Container), en cada espacio ubicar el desarrollo de las siguientes funciones, en
cada caso debe darse la posibilidad de ingresar los datos y visualizar el resultado dentro del
mismo espacio.

Desarrollo

La primera condición del ejercicio es que se deben separar los ejemplos en container.

Nivel de código

A nivel de código el programa refleja el tab como se indica en la figura, la salida del tab es el
nombre de la pestaña que indicamos en el nivel de usuario.

Esa pestaña definirá el comportamiento del case a nivel de código, con los diferentes ejercicios
planteados.

Case para enteros:

Case para reales:


Case para vectores:

Case para matrices:


Case para pares e impares:

Case para comparaciones:


Nivel de Usuario

En el Front Panel se escoge mediante botón derecho Controls/Container/Tab control, donde se


puede observar q existen varias opciones para generar entradas independientes, tomamos la de
tab control y se trabajara en un entorno de carpetas.

Haciendo doble clic en cada tab se pueden cambiar los nombres para personalizarlos
Una vez definidas las pestañas a nivel de usuario y de código procedemos a realizar cada
ejercicio:

Primer Ejercicio

Manejo de números enteros


Asigne a una variable el valor de una distancia en unidades de metros y conviértala a unidades
de milímetros y centímetros

Nivel de código

Desde el Block Diagram escogemos la estructura case, introduciendo dentro de ella los controles
numéricos e indicadores previamente escogidos
Cableamos la salida de manejo numérico al punto de decisión del case

Debido a que la transformación de metros a centímetros es multiplicar por 100 y a milímetros


por 1000, usamos los multiplicadores ubicados en el block diagram con botón derecho con la
ruta /Programming/Numeric/Multiply

Los valores constantes se obtienen pasando el mouse sobre el multiplicador y dando botón
derecho
Nivel de usuario

Se escogen un control y dos indicadores numéricos como se muestra en la figura

Ejemplo para el primer ejercicio

El panel frontal se vería del siguiente modo, para el ejemplo tomamos 4,8 metros

Comentario final

El ejercicio habla de números enteros y por defecto los números de LabView son doublé para
ellos realizamos los siguientes cambios desde el panel de usuario

Desde el panel frontal damos botón derecho a cada indicador y lo definimos como entero de 32
bit sin signo, dado que la distancia es un numero positivo
El diagrama de bloque seria en definitiva así:

Nótese el cambio de color de naranja(doublé) a azul (entero sin signo de 32 bits), el entero sin
signo de 32 bits indica q se puede introducir un valor numérico entre 0 y 232 = 4.294.967.296.

Segundo Ejercicio:

Manejo de números reales

Asigne a una variable el valor de una resistencia en unidades de ohmios y calcule su valor en
unidades de Mega-ohmios y Kilo-ohmios.

La dinámica será igual al anterior ejemplo, solo que los números ahora son reales (doublé) y
permanecerán en naranja
Nivel de código

Para llevar de ohmios a kiloohmios dividimos entre 1000 y para llevarlos a megaohmios
volvemos a dividir entre 1000, lo que daría como resultado dividir entre 1.000.000.

Nivel de usuario

Tenemos como en el caso anterior, un control y dos indicadores los cuales obtenemos de:
Ejemplo para el segundo ejercicio

Introducimos el valor de 200.000 en el campo resistencia, y al presionar el botón enter,


obtenemos el valor en kiloohmios y megaohmios.

Tercer ejercicio:

Manejo de vectores

En un vector almacene en cada celda cada uno de los dígitos del número de su cédula,
multiplique cada elemento del vector por 10 y calcule: para el primer elemento del vector el
seno, para el segundo el coseno y para el tercero el valor de la tangente.

Nivel de código

El diagrama de programación seria la siguiente:


Desglosando cada parte, analizaremos de izquierda a derecha

La cedula se capturo como un vector

Definiendo los elementos del vector como U8, entero sin signo de 8 bits dado que los dígitos de
la cedula son menores a 255.

De la ruta /Progamming/Array/Array size se obtuvo el comando para obtener el tamaño del


vector cedula.

Este tamaño define el ciclo for siguiente, que permite hacer el recorrido del vector cedula, para
multiplicar cada digito por diez.

Luego se muestra la multiplicación con otro indicador array.

Por último, se usa el comando index array ubicado en la ruta /Progamming/Array/index Array
para escoger los tres primeros dígitos de la cedula, vistos de izquierda a derecha, para
posteriormente obtener sus correspondientes funciones trigonométricas asumiendo como entrada
radianes.
Nivel de Usuario

Para definir el vector cedula usamos un vector que escogemos con el botón derecho con la ruta
que vemos en la grafica

Al seleccionarla aparecerá el vector de este modo:


Luego debemos definir qué tipo de elementos tendrá el vector para ello usamos un control con el
tipo de datos que tendrá el vector.

Luego arrastramos con el mouse el control numeric dentro del vector.

Después dimensionamos el vector, para ello nos posamos en la esquina inferior izquierda con el
mouse para y veremos una cuadricula
Al arrastrar la cuadricula con el mouse, podremos redefinir el tamaño del vector

Del mismo modo introducimos un indicador para los valores que generan el resultado
multiplicado por 10.

Y los indicadores de los resultados de las funciones trigonométricas.

Ejemplo del tercer ejercicio

El usuario solo debe ingresar digito a digito el número de cedula y el programa ejecutara la tarea

Cuarto ejercicio:

Manejo de matrices

Seleccione dos matrices de números reales (A y B), de orden 4x4 y con ellas realice las
siguientes operaciones (suma, resta, multiplicación).
Nivel de Código

Para sumar o restar dos matrices, están deben ser del mismo tamaño y se suma o resta cada
elemento de cada matriz. En la figura se puede ver resaltado la parte del diagrama que realiza
esta función

En el caso de la multiplicación se debe recordar que cada elemento de la matriz producto se


forma como la suma de los productos de cada fila del primer factor por la columna del segundo
factor, para lograr esto se utilizó el index array del ejercicio anterior y la matriz B se traspuso
para poder acceder a la matriz por columnas y no por filas.
En el caso de la multiplicación analizaremos según las zonas de color.

Color rojo: esta función traspone la matriz b para recorrerla por columnas, la traspuesta se
obtiene en /Programming/Array/Transpose 2D Array.

Color verde: obtiene la fila de la matriz A, usando index arrary.

Color azul: obtenemos la columna de la matriz B.

Color amarillo: se multiplica las filas por las columnas

Color naranja: se suman los productos.

Nivel de Usuario

Se procede como en el caso de los vectores, pero ahora el arreglo será de dos dimensiones

Para indicar que será de dos dimensiones se debe halar con el mouse la dimensión del arreglo, de
ese modo ya indicamos que es una matriz. El tipo de datos se define incluyendo un control con el
tipo de dato que queremos.

Y el tamaño se obtiene arrastrando la esquina inferior derecha hasta obtener un 4x4.


Finalmente podemos eliminar las dimensiones del arreglo, para ello nos posamos sobre la matriz
y damos botón derecho

Quitamos la selección de Index Display

El arreglo quedaría así:


Cambiamos el nombre por el de matriz A. Del mismo modo definimos la matriz B. El nivel de
usuario quedaría así:

Ejemplo del cuarto ejercicio

El usuario introduce los valores de las dos matrices y al presionar enter obtiene los resultados de
suma, resta y multiplicación de matrices.
Quinto ejercicio:

Contadores

Genere un número aleatorio >= 1 y < 1000, descomponga el número en sus dígitos, los
almacene en un vector, y determine cuantos son pares y cuantos impares.

Nivel de Código
Color negro: se generan los números aleatorios con la función /Programming/Numeric/Random
Numbrer 0-1, debe multiplicarse por mil para llevar el semillero random a valores hasta 1000,
luego se redondea la función para obtener números enteros con la función
/Programming/Numeric/Round To Nearest

Color Rojo: se separan los valores realizando divisiones sucesivas con 10 del numero aleatorio,
tomando el resto de la división par para formar un vector con los dígitos del numero aleatorio. La
división en cociente y residuo se realiza con la función
/Programming/Numeric/Random/Quotient and Remainder. Adicionalmente se usó un ciclo while
con registros de corrimiento para actualizar con cada división el valor del número, el ciclo da por
terminada la división cuando el cociente es cero y ha concluido la división.

Color amarillo: el numero separado se almacena en un vector, y cada unidad decena o centena
se divide entre 2 detectando el valor del cociente y el residuo, si la división entre dos no da
residió el número es par en caso contrario es impar

Color azul: se actualizan los contadores de números pares e impares.

Nivel de Usuario

El número aleatorio generado se actualiza cada dos segundos.

Ejemplo del quinto ejercicio

El usuario no debe ingresar ningún valor porque el número se genera aleatoriamente.


Sexto ejercicio:

Condicionales

Capture el valor de temperatura de tres tanques de almacenamiento, y determine cuál de ellos


registra el mayor grado de temperatura, cual el menor y las demás posibilidades que se
presenten (todos con igual valor de temperatura, dos temperaturas iguales y las mayores… etc.)

Nivel de Código

Las comparaciones se realizarán de forma sucesiva, iniciando con la comparación por igualdad,
primero se compara el primer número con el segundo si son iguales se compara el segundo con
el tercero, si son iguales entonces todos los son. Las funciones comparación se encuentran en el
apartado /Programming/numeric/comparison

Las cadenas de mensajes son string constantes, están ubicados en /Programming/string/string


const.
Cuando solo el tanque uno y dos son iguales pero el tres es diferente, entonces el tres es el mayor
o el menor, esa lógica se realiza del siguiente modo

Si el tanque uno y dos no son iguales entonces se analiza si dos y tres lo son, adicionalmente se
compara si el uno es mayor o menor frente a la igualdad de dos y tres.

De este modo se realizan las combinaciones posibles, el programa detecta las siguientes
comparaciones:

- Los tres tanques iguales.


- Tanque 1 y tanque 2 iguales, pero el 3 diferente, en este caso dice si el tres es el mayor o
el menor.
- Tanque 2 y tanque 3 iguales, pero el 1 diferente, en este caso dice si el uno es el mayor o
el menor.
- Tanque 1 y tanque 3 iguales, pero el 2 diferente, en este caso dice si el dos es el mayor o
el menor.
- El mayor de los tres
- El menor de los tres.

Nivel de Usuario

El control que se usa en esta ocasión es el termómetro ubicado en la ruta


/controls/numeric/thermometer
Ejemplo del sexto ejercicio

Los valores se pueden ingresar con el deslizador del termómetro o directamente


introduciendo el valor en el campo.

- Caso los tres tanques iguales


- Dos tanques iguales y uno diferente
- Los tres valores diferentes, debe decir cuál es el mayor y cual el menor
Finalmente, para que el programa se ejecute continuamente se incluyó en un ciclo while,
gobernado por el botón salir que se ve en cada pantalla de usuario.

También podría gustarte