Este documento describe 6 prácticas de instrumentación virtual en LabVIEW. La práctica 1 involucra arreglos y operaciones con máximos y mínimos. La práctica 2 trata operaciones matriciales como determinantes y transposición. La práctica 3 simula un censo poblacional. La práctica 4 crea un termómetro luminoso. La práctica 5 simula el movimiento relativo del sistema Tierra-Luna respecto al Sol. Finalmente, la práctica 6 genera y grafica valores aleatorios en el tiempo.
1. Instituto Politécnico Nacional
Unidad Profesional Interdisciplinaria en Ingeniería y
Tecnologías Avanzadas
Instrumentación Virtual
Práctica No. 3
Arreglos y Clusters, Nodo de propiedad, variables y
personalización.
Alumna:
Sarabia Santoyo Lizbeth
Grupo: 3MM5
2. 1. Registro de tensiones
a) Genera un arreglo de tres filas (Lecturas) y quince columnas (Días) con valores oscilantes en
entre 110 y 150, que representan un registro de lecturas quincenales en tres líneas
comerciales. Presenta estos elementos en un arreglo llamado “Consumos 1”
Block Diagram 1.a
b) Posteriormente por fila, identifica el valor más alto y el día al que corresponde para
acomodarlos en un arreglo nombrado máximos.
Consiste en un Stacked Secuence, En el primero se usa el inciso anterior: un arreglo de 3
filas y 15 columnas con valores de 110-150.
3. Tenemos lal función Array Max & Min para obtener el máximo o mínimo de todo un
arreglo.
En el segundo Stacked, por medio de un Index Array, se lee el elemento de la fila n, con
cada elemento de esta fila, y se compararan esos valores hasta obtener el mayor. Por
cada fila se obtiene un valor máximo, y el Search 1D Array (lupa) nos dice el índice
donde se encuentra este valor.
Por lo que finalizando el ciclo “for”, se tienen 3 valores máximos, esto se pasa a la primera
columna del un Array de 3 filas por 2 columnas.
En el tercer Stacked:
4. Front Panel 1.a y 1.b
c) Sustituye la fila 1, por un arreglo con quince elementos que contengan el valor de 127. Esto
debe exhibirse en un tercer indicador.
Al inciso anterior se le agregó al Stacked un Frame After para que reemplaze la fila
escogida por un array igual a 127 en todos sus elementos:
5. d) Separar el arreglo resultante en tres vectores fila.
Al anterior se le agregaron tres subarrays:
Para el Block Diagram, se le añadió otro Add Frame After, en el Stacked. Con el
Index Array, al subarray “x”, se le agrega lo que está en la fila “x” del arreglo del
inciso anterior.
6. 2. Operaciones Matriciales.
Genera un control tipo array 2D de 3X3, para que el usuario ingrese nueve valores. El programa
debe:
a) Mostrar en un indicador numérico el determinante de la matriz.
b) Obtener la matriz transpuesta y exhibirla en un indicador.
7. En labview ya vienen comandos que nos faciitann las operaciones con matrices,
se encuentran en >>Mathematics >>Linear Algebra.
Con la función >>Determinant y/o >>Transpose
3. Operaciones Matriciales.
Genera un control tipo array 2D de 3X3, para que el usuario ingrese nueve valores. El programa
debe:
Mostrar
8. Block Diagram 3.3
A la tabla se conecta un ciclo While, Por el Index Array, se extrae el elemento que
nos interesa, primero por un slide seleccionamos la persona que nos interesa
según la fila en la que esté, el valor puede ser de 0 a 24.
En cada columna se extrae cierto dato: nombre, sexo, edad, nivel de escolaridad
y lugar de origen.
En escolaridad:
1=Secundaria
2=Bachillerato
3=Bachillerato trunco
4=Licenciatura
5=Licenciatura trunca.
Al final, esta información se guarda en un clúster.
9. Front Panel. 3.3
4. Termómetro Luminoso
Genera una señal con oscilación sinusoidal con valor mínimo de cero y máximo de 50, esta señal
deber ser llevada a un indicador tipo Thermometer. Coloca un control de retardo para modificar la
velocidad de cambio. Añade el código necesario al instrumento virtual para cambiar el color del
indicador Thermometer de acuerdo a la siguiente escala:
11. 5. Simulación Sol-Tierra-Luna
El programa consiste en tres indicadores boleanos tipo Led en el panel frontal, nombrados
Sol, Tierra y Luna.
Block Diagram 3.5.
12. Primero se abrió un ciclo While, donde dentro de este se colocó un stacked, esto funciona
como una secuencia, primero por 250 milisegundos su color está en azul marino y pasa al
segundo frame donde por el mismo tiempo pasa a otro color.
Se definió el tamaño donde el Sol que será lo máximo y este fue dado por un “Property
Node” , le sigue la tierra que será la mitad del sol y la luna será un tercio del primero.
La dirección se da por dos slide, para el sentido horizontal y vertical del Sol.
La dirección del Sol,servirá como referencia de los demás cuerpos. La tierra girará
alrededor de este, se utilizó la fórmula de la circunferencia en coordenadas polares:
Donde:
teta=pi*i/n
Pi puede ser negativa o positiva, según la dirección que al valor booleano “Dirección” le
demos.
n := no. de movimientos en un ciclo.
Después se recicla la parte del giro de la Tierra sobre el sol, solo que ahora se cambia a
que la Luna gire alrededor del Sol.
También se cambia que su radio será la mitad del original.
Las operaciones paran con el botón Stop.
Front Panel. 3.5
13. 6. Simulación
En el primer Block Diagram, se generan 100 veces un entero aleatorio de 0 a 50, por medio
de la multiplicación de un random (0-1) por 50. Este valor se verá en el Waveform Chart.
También se le mandará un entero llamado num. Este va a representar el número de
iteración.
La escritura de cada valor se hará cada 200ms.
Block Diagram 3.6 Escritura
En la lectura, primero es necesario inicializar los valores en cero, esto se hizo con un
“Stacked”, el segundo cuadro lee el valor de escritura y los pasa a un array.
Para esto, se utilizó un “Replace Array Subset”, se necesita el lugar de columnas donde
tendrá el nuevo valor, y este era indicado por el valor “i” que había dado en el for de
escritura.
Block Diagram 3.6 Lectura