Está en la página 1de 22

3MV4

Instituto Politcnico Nacional

Unidad Profesional Interdisciplinaria de Ingeniera


y Tecnologa Avanzadas

Instrumentacin Virtual

Campa Laguna Dante Amadeus


Regular

Rbrica de Evaluacin Prctica 1.


Funcionamiento
Procedimiento
Orden de Diagrama de Bloques
Observaciones y Resultados

%
%
%
%

3MV4
Ejercicio 1.
Generador de Funciones
Panel Frontal

Figura 1.1. Generador de Funciones

Para este ejercicio se realiz un generador de funciones, la interfaz de usuario se


puede apreciar en la figura 1.1. En esta imagen en la parte del visor, se observa la
forma de onda sinusoidal. Las formas de onda que reproduce este generador son
en el siguiente orden:
1.
2.
3.
4.

Forma de Onda Sinusoidal


Forma de Onda Cuadrada
Forma de Onda Triangular
Forma de Onda Diente de Sierra.

El sistema tambin cuenta con dos opciones ms, las cuales son un control directo
y GND. Las formas de onda son reproducidas por medio de un Waveform de tipo
Chart.
Para elegir cada forma de onda se cuenta con un control de tipo Text ring ubicado
por debajo de la esquina inferior izquierda del visor del generador. Existiendo 6

3MV4
opciones en total para elegir. El visor del generador est acotado de -15V a 15V,
aunque las ondas descritas anteriormente solo llegan a tomar valores de 10V y 10V en su amplitud. Rebasando estos valores se ven truncadas las seales.
Las tres perillas que se encuentran en la parte inferior del visor, tienen la funcin
de, la primera, controla el offset de todas las seales, pudiendo mover cada seal,
entre 10V y -10V. La segunda perilla se encarga del control de la amplitud de cada
una de las ondas, tomando valores de 0V hasta una amplitud de 10V. La ltima
perilla se encarga de controlar la frecuencia de cada una de las ondas. Por ltimo
para poder realizar el control directo, se necesita mover tanto la perilla de amplitud
como la de offset, para llevar la seal al punto deseado.
Para detener el Instrumento Virtual, debajo del Text Ring se presenta un botn de
paro, con este se realiza la accin enunciada previamente.

Diagrama de Bloques

Figura 1.2. Diagrama de Bloques para Forma Sinusoidal

3MV4
En la figura 1.2, se muestra el diagrama de bloques para la realizacin para el
generador, dentro de la primera etapa, se utiliz una estructura while, para que el
instrumento se estuviese repitiendo indefinidamente, hasta que el usuario por
medio del botn de Stop decidiera pararlo. La primera etapa del diagrama
iniciando por la constante 0 ubicada a un lado del Shift Register est etapa nos
sirve para tener un control de la frecuencia que deseamos a cada una de las
seales, que por medio de la perilla de frecuencia se logra variar, pasando esta
etapa, viene una estructura de tipo case, para cada una de las seales que se
producirn. Para el caso de default la seal sinusoidal ocupara este espacio. A la
estructura case, llegan cada uno de los controles, descritos en la parte del panel
frontal. El Text Ring llega al selector de la estructura case, pudiendo con esto
escoger cada seal. Para poder variar la amplitud de cada seal, la perilla va
conectada a una funcin de multiplicacin que tiene como su otra entrada el valor
de amplitud de salida de la seal original, as variando la perilla, variara la
amplitud. Para poder controlar el offset, se utiliza el mismo procedimiento descrito
con anterioridad solo que esta vez, en lugar de una funcin de multiplicacin se
utiliza una suma, pudiendo con esto variar, la seal en el eje de las ordenadas.
Finalmente para graficar cada seal y que no rebase el lmite de los 10V y -10V,
se realizan dos comparaciones, una para 10V y otra para -10V, por ultimo uniendo
los Select con una funcin Bundle, podemos mandar la seal de salida al
Waveform de tipo chart.

Figura 1.3 Diagrama de Bloques Seal Cuadrada

3MV4
La figura 1.3 muestra el caso 1 de la estructura case, se encuentran las
operaciones para producir una forma de onda cuadrada, de la frecuencia entra, a
una serie de comparaciones y dependiendo de si se supera el valor de pi o no, se
producir un escaln. El mtodo para hacer variar la frecuencia, la amplitud y el
offset es el mismo, utilizado para la seal sinusoidal.

Figura 1.4. Diagrama de Bloques seal Triangular

La figura 1.4 muestra el procedimiento para elaborar la seal Triangular, para esto
se utiliz la funcin de Triangle Waveform, la variacin de la amplitud y el offset se
sigue llevando a cabo de la misma manera que el mtodo descrito anteriormente,
pero para el caso de la frecuencia cambia, ms adelante en las observaciones se
dir porque, pero para el caso debe dividirse entre 10 para que la onda pueda
apreciarse correctamente.

3MV4

Figura 1.5. Diagrama de Bloques Seal Diente de Sierra

En la figura 1.5 se presenta la forma de reproducir la forma de onda diente de


sierra, esto se llev simplemente a cabo, dividiendo la seal que tenemos de
entrada entre pi medios, esto para cortar la grfica y solo producir la recta de
subida. Mtodo para variar, amplitud, frecuencia y offset sigue siendo el mismo.

3MV4

Figura 1.6. Diagrama de Bloques Control Directo.

Como se dijo anteriormente para realizar el control directo, se deben de utilizar las
dos perillas, la de amplitud y la de offset, amplitud necesaria para darle un valor a
la seal, y offset para variarla en el eje ordenado. Los valores de estas dos perillas
se suman y nos dan el resultado de nuestro control directo.

3MV4

Figura 1.7. Diagrama de bloques GND

Para la reproducir GND solo se crea una constante con valor de cero y esta se
conecta a los tneles de salida, la esta seal se mantiene constante en 0, cuando
es graficada.
Por ltimo, para poder apreciar cada seal correctamente, se necesita una funcin
de wait, localizada por debajo de la perilla de offset, esto ya que sin esta funcin la
seal de salida va demasiado rpido como para poder ser apreciada.
Observaciones y resultados
La primera observacin es que para cambiar la frecuencia de la onda triangular se
tuvo que dividir entre 10 la frecuencia arrojada originalmente, esto porque la seal
sin este paso, no se apreciaba, y no daba la forma de una seal triangular. La
mayora de los problemas de este ejercicio se resuelve con comparaciones,
asignando valores y asi obteniendo el resultado o comportamiento deseado,

3MV4
aunque cabe mencionar que lleva su proceso de anlisis entre cada paso que se
realiza ya que no siempre la solucin es trivial, y se necesitan de mas de un
conjunto de pasos para llegar al objetivo, como es el caso de hacer que la seal
se trunque a los 10V.
Ejercicio 2. Termmetro

Figura 2.1 Termmetro


En la figura 2.1 se muestra la interfaz para, el control de la temperatura, se cuenta
con dos controles, el primero es un control numrico, encargado de asignarle
valores de temperatura al termmetro, ya sea si queremos calentar o enfriar, el
segundo control es el botn de stop que finaliza el instrumento virtual. Los
indicadores son, el termmetro, y dos leds que nos indican que proceso se est
llevando a cabo, si el de calentamiento o enfriamiento. El color del termmetro
cambia de acuerdo a la temperatura, y siempre inicia en una temperatura de 0
grados. Por ltimo la variacin de la temperatura se da 1 grado cada 50ms.

3MV4

Figura 2.2 Diagrama de Bloques. Termmetro.

Para inicializar siempre en cero el control de objetivo se utiliza una estructura de


secuencia, de nuestro objetivo se crea su variable local, la cual cambia a forma de
escritura en el primer frame, y puesto que lee un cero, inicia con cero, pasado
esto, se inicia lo que es el while donde se encuentran las funciones para el control
del objetivo. El problema pide que mediante el control de objetivo se controle otra
variable, esto se refiere al termmetro, dentro de las propiedades del termmetro,
hay una que se llama add slider, que no es ms que dividir al termmetro en
varias partes dependiendo de la opcin que elijamos, de fill style. As que cuando
el objetivo sube, de temperatura, la variable controlada disminuye, y cuando se
disminuye el control de temperatura, la variable controlada aumenta. Lo que es el
control objetivo, continuamente se est comparando. Por medio del shift register
van pasando los datos, retroalimentando el sistema, es cada iteracin el programa
compara, si objetivo es mayor, al valor que entrega el shift register de ser as, el
select entrega el valor del shift register mas uno, de ser falso vuelve a comparar
con objetivo, el valor de select de la suma se dirige a una nueva comparacin esta
vez comparando si objetivo es menor al valor entregado, de ser asi empieza el
proceso de disminuir la variable, siendo shift register menos , de ser falso se
entrega el valor del select de suma, y se pasa al valor a la variable controlada y al
shift register, para unir la variable controlada y objetivo se utiliza la funcin de

3MV4
bundle, esto para poder visualizar las dos en el termmetro, de no usar esta
funcin al querer asignarle de otra forma un valor a termmetro no sirve, ya que
mediante el add slider se ha convertido en un arregle de clusters.
Observaciones y Resultados
Al iniciar el programa, se inici probando con la estructura for, aunque con este
caso, ocurri el error de que se daba un numero de iteraciones igual a la variable
objetivo, y se haca variar el termmetro, pero el programa solo poda correr una
vez, cuando se usaba un for dentro de un while, exista el problema, de que las
iteraciones del ciclo for se repetan y cuando llega a la temperatura de objetivo el
termmetro se volva a repetir el proceso, sin poder tener un verdadero control
sobre el for. Por ltimo se decidi utilizar solamente una estructura while, lo que
llevo a utilizar solamente comparaciones, para realizar el programa. Con esto una
vez ms se comprob que la mayora de los problemas pueden resolverse
comparando los valores y asignando nuevos valores.

Ejercicio 3. Control de Accesos

Figura 3.1. Control de Accesos Panel Frontal

3MV4
El programa consiste en que para tener acceso, a la parte del programa de
Fibonacci, se debe introducir el usuario y contrasea correctos, en este caso
Nombre123 como usuario y 123Nombre como contrasea. Esto se logr por
medio del arregle de cluster ubicado en la esquina superior izquierda, el cual nos
permite ingresar tanto nuestro usuario como nuestra contrasea, y validar
nuestros datos. Se tiene un mximo de tres intentos para ingresar la contrasea
correcta, de no ser as, el programa se detendr. Si la contrasea es correcta, se
tendr la posibilidad de utilizar el programa de Fibonacci, el cual se describe a
detalle en la descripcin del siguiente ejercicio. Ya dentro del programa al usuario
se le da la opcin de finalizar el instrumento en el momento que el quiera por
medio del botn de stop.
Diagrama de Bloques

Figura 3.2 Diagrama de Bloques Fibonacci

El cluster se divide en sus elementos por medio de unbundle by name, esto nos
permite tener un control sobre cada uno de ellos, se hace una primera
comparacin para averiguar si el nombre y la contrasea coinciden con la
establecida en el sistema, de ser as manda un verdadero y espera por la
asignacin del botn, si es verdadero el botn se podr acceder al programa
Fibonacci, de no ser as, por medio de la estructura case solitaria, mandara a
verdadero con el pulso del botn y sumara 0 + 1 siendo 1, se guarda ese 1 por
medio del shift register, y cuando vuelve a ser verdadero el botn le suma 1+1
siendo dos, guarda el 2, de nuevo botn verdadero y suma 2+1 siendo 3, de la
salida del tnel de esta estructura case siempre hay una comparacin, que nos

3MV4
dice si la variable es igual a 3 mandar un verdadero a la compuerta or, que al estar
en 1,0 mandara un verdadero al control de paro, haciendo que el programa se
detenga.
Cuando el usuario logre introducir el usuario y contraseas correctas se le dar
acceso a la siguiente parte del programa, su nico control ser el coeficiente, del
que quiere averiguar su coeficiente de Fibonacci, aunque cuando acceda al
programa la variable el control coeficiente por default se inicializara a 0. Para esto
se utiliza un flat sequence, pasando al segundo frame, aqu es donde se ejecuta el
programa Fibonacci por medio de su subvi. En el momento que el usuario quiera
detener el instrumento, se le da un botn de paro, que utilizara el programa,
primero para finalizar el ciclo while donde se encuentra el subvi, y despus para
mandar un verdadero a la compuerta or y asi la compuerta or pueda mandar
verdadero al paro del instrumento.
Observaciones y Resultados.
El problema de este ejercicio, fue como hacer el contador de veces que se
presiona el botn Ok del programa, investigando no se encontraron ms opciones
ms que el uso de for y la estructura event structure para realizar un conteo fcil
de la variable, se escogi el uso del for, ya que se sabe cmo utilizarlo y como
funciona y para el caso prctico es ms sencillo. Teniendo esta parte, las dems
partes de cdigo son ms fciles de sintetizar, de igual manera como en los
programa
anteriores
por
medio
de
comparaciones.

3MV4
Ejercicio 4. Funcin Fibonacci.

Figura 4.1. Fibonacci Panel Frontal

La figura 4.1 muestra la interfaz para el programa de Fibonacci, encargado, de por


medio de un nico control en este caso llamado coeficiente, encontrar los
diferentes datos mostrados en el panel. Como se pidi en la tabla del ejercicio 3
aparecen los coeficientes y coeficientes de Fibonacci. Siendo un programa de
Fibonacci nos muestra el valor de la divina proporcin y como va variando cuando
incrementa el coeficiente, de igual manera se obtienen, los valores de la divina
proporcin del nmero anterior al coeficiente, as como sus elementos tericos y
valores de divina proporcin. Por ltimo se presenta una grfica que nos muestra
cmo es que van cambiando los datos, cuando crece el coeficiente, y empieza a
tomar un valor casi constante la grfica en valor de 1.61. Posteriormente el
programa creado es utilizado como subvi.

3MV4
Diagrama de Bloques

Figura 4.2 Diagrama de Bloques Fibonacci.

El programa se dividi en dos bloques, uno que controla el coeficiente y otro que
controla el valor precedente, el clculo de la divina proporcin se lleva a cabo solo
dividendo el valor a entre el valor b, para este caso el valor a, es el primer shift
register de cada for, para el primer for es el primer y tercer shift register el valor a.
Los indicadores, solamente toman salidas de diferentes puntos de las conexiones
para dar los valores, cambiado la opcin en los tneles entre indexado y ultimo
valor es como se obtienen los diferentes arreglos o indicadores.

3MV4
Subvi

Figura 4.3 Diagrama de Bloque Subvi

Se escogi ese smbolo para el subvi ya que representa la divina proporcin. La


conexin de control fue especificada como requerida, por lo tanto si no est
conectada el programa no funcionaria.
Observaciones y Resultados.
Cuando el vi se encerraba dentro de un ciclo while en el programa principal, al
pasarlo a subvi y querer correr el programa este solo los valores para el ultimo
coeficiente que haya quedado guardado. Esto se resolvi quitando el while del
programa principal, y cuando fue pasado a subvi como lo muestra la figura 4.3 se
englobo dentro de un while. Con esto el programa logro realizar su cometido sin
ningn error, o algo anormal.

3MV4
Ejercicio 5. Mquina de Estados

Figura 5.1 Panel Frontal Maquina de Estados

Se program una mquina de estados, al iniciar el instrumento los dos motores


deben de estar encendidos, la simulacin de obstculo es el botn, cuando
detecta un obstculo, primero el motor derecho debe apagarse, deja de detectar
obstculo y vuelve a encenderse, vuelve a detectar obstculo y ahora el motor
izquierdo se apaga y as uno y uno mientras detecte y no detecte obstculo.
Cuando se da stop los dos motores se apagan y el instrumento se detiene.

3MV4
Diagrama de Bloques

Figura 5.2 Diagrama de Bloque estado 0

El caso por default es que los motores siempre estn activos, con este caso se
inicia el programa, mientras el obstculo es cero y el stop de igual manera es cero
la estructura while seguir realimentando al programa con un cero, por lo que
seguir en el caso 0, cuando obstculo es verdadero, la comapracin manda un 1,
si el stop sigue siendo falso, entonces mandara un 1 por el tnel hacia el shift
register, mandando un 1 a la seleccin de casos pasando al caso 1.

3MV4

Figura 5.3. Estado 1

El programa se encuentra ya en el estado 1, un motor se encuentra apagado ya


que est dando vuelta el carrito para evadir el obstculo. De nuevo vuelve a hacer
la comparacin para el obstculo, si es verdadero mandara 1, comparando con si
es igual a cero, ser falso por lo que mandara 1 el select, y si stop es falso
mandara ese mismo uno quedando sobre este estado hasta que el obstculo
cambien a falso. Cambiando a falso mandara un 2 cambiando al estado 2.

3MV4

Figura 5.4. Estado 2

Figura 5.4 Estado3

3MV4
Para el estado 2 y 3 se hacen las mismas comparaciones solamente asignando
valores diferentes en cada select para poder permanecer o cambiar al siguiente
estado.

Figura 5.5 Estado 4

El estado 4 se activa, al presionar el botn de stop, y que este mande un


verdadero, en el caso que se encuentre, cuando este sea verdadero, se ira directo
al caso 4, aqu har de nuevo una comparacin, si es verdadero, mandara un 4,
en el siguiente nodo, la igualdad a cero es falsa por lo que mandara un 4 y seguir
en ese estado, apagando los dos motores. Los dos motores toman el valor de
falso y mediante una compuerta nor, para que solo mande un verdadero cuando
los dos motores estn apagados hacia el interruptor de paro del ciclo while.

3MV4
Observaciones y Resultados.
Aqu se puede demostrar de nuevo que mediante comparaciones se puede
resolver un problema. En youtube se encuentran tutoriales de cmo hacer
mquinas de estado, pero en la mayora de los casos utilizaban variables locales,
por lo que no se tiene un verdadero control de lo que realiza el programa, ya que
lo realiza en secuencia. Y tambin se dej de lado la idea de utilizar variables
locales ya que el profesor lo prohibi. Tambin debe de existir una lgica correcta
entre un estado y otro refirindose a lo que se pide que se haga en el programa,
ya que debe de seguir una secuencia que cumpla con la establecida. Este
programa nos da una idea de que programar un robot que resuelva laberintos
podra llegar a ser ms sencillo, ya que otros lenguajes de programacin de
sistemas digitales, tales como VHDL o Verilog algunas veces llegan a ser
tediosos.
Bibliografa
-Video tutoriales de youtube.
-Guas prcticas encontradas en internet.
-Tutoriales de introduccin a labview en formato pdf en internet.
-Tutoriales o prcticas encontradas en la pgina de Slideshare.
-Wikipedia

También podría gustarte