Beruflich Dokumente
Kultur Dokumente
, Mutiplicacin y Divisin . Muestra los respectivos resultados usando indicadores. El VI espera a que haya actividad en el panel frontal
En la primera etapa se asegura de que estn todos apagados menos el primero. Espera 1 segundo (1000ms) y pasa a la siguiente etapa. En la segunda y dems etapas apaga el led de la etapa anterior al mismo tiempo que enciende el de la etapa actual. Tambin espera 1 segundo antes de pasar a la siguiente etapa. Se utilizaron variables locales de la segunda etapa en adelante.
stopPresionando este botn se sale del programa. Como la lectura de este botn solamente se produce al finalizar la secuencia, no importa cuando uno presione el botn, el programa recin termin ar cuando termine la secuen cia .
LED 1
LED 2
LED 3
LED 4
LED 5
Permite seleccionar que operacin (suma, resta, multiplicacin o divisin) realizar entre A y B.
En el caso de que la operacin sea Divisin , y B sea igual a cero, se muestra el indicador Error. Esto se logra insertando un TRUE a la propiedad Visible de tal indicador. De lo contrario se le inserta unFALSE . Por otro lado, el resultado no se muestra directamente en un indicador numrico. Porque en el caso de una divisin por cero el resultado debe decir Infinito . Para eso se forma un array de cadenas de texto. La primera es el nmero resultante de la operacin, formateado a una cadena. La segunda es una cadena constante que dice "Infinito". Luego se indexa el primer o segundo elemento de ese array para mostrarlo como Resultado . Esto se hace tomando el valor booleano que vale TRUE si hubo divisin por cero y FALSE si no. Se convierten estos valores booleanos a un 0 o un 1 respectivamente y se utiliza este valor numrico para indexar el array.
A Primer operando.
B Segundo Operando.
Operacin Este control relaciona la operacin Sumar con un 0, Restar con un 1, Multiplicar con un 2 y Dividir con un 3.
Estos valores numricos son insertados en el CASE para determinar que operacin se realizar.
Error Este indicador siempre muestra el texto Divisin por cero. Pero est siempre invisible, excepto cuando ocurre una divisin por cero.
1- Dentro del bucle FOR simplemente se muestra, en el indicador Cuenta , el valor i+1. La variable i incrementa su valor en cada ciclo, empezando de cero y terminando en Contar hasta - 1. La estructuraFOR tambin contiene un retardo de 100ms para que el ojo pueda apreciar el incremento de la cuenta. 2- Dentro del bucle WHILE se espera a que se presione el botn Contar, para volver a contar hasta el valor indicado por el control Contar hasta , o hasta que se presione SALIR . En este ltimo caso no se vuelve a repetir el bucle WHILE principal, terminando el programa. Las lecturas de los botones Contar y SALIR solo se realizan cuando ocurre un cambio en el panel frontal. Esto para que este bucle no est leyendo innecesariamente, ocupando as el procesador.
El VI efecta un promedio con una cantidad Muestras de nmeros aleatorios entre 0 y Rango . Para ello se utiliza la siguiente frmula: Promedio[i]=(i/(i+1)) x ( (i x Promedio[i- 1]) + ValorActual) Dentro del bucle principal, un bucle WHILE , hay un bucle FOR y un bucle WHILE : 1- Dentro del bucle FOR , que se repite Muestras veces, se genera un nmero aleatorio entre 0 y 1. Luego se lo multiplica por Rango para que est entre 0 y Rango. Este valor equivale a ValorActual en la frmula. El valor Promedio[i- 1] se obtiene del shift register , que en el primer ciclo vale cero. Con estos dos valores aplicamos la frmula y obtenemos Promedio[i] , que se guarda en el shift register . Esto se repite en cada ciclo. Al salir del bucle FOR se toma el valor Promedio[i] y se lo muestra en el indicador Promedio . 2- Dentro del bucle WHILE se espera a que se presione el botn Calcular, para volver a calcular el promedio, o hasta que se presione SALIR , para salir del programa. En este ltimo caso no se vuelve a repetir el bucle WHILE principal, terminando as el programa. Las lecturas de los botones Calcular y SALIR solo se realizan cuando ocurre un cambio en el panel frontal. Esto para que este bucle no est leyendo innecesariamente, ocupando as el procesador.
SALIR Cuando se presiona sale del bucle WHILE principal, terminando as el programa.
Cal cular Cuando se presiona, se vuelve a tomar los datos de los controles Muestras y Rango, se calcula, y se muestra el resultado en el indicador Promedio.
Waveform Chart . El VI efecta un promedio con una cantidad Muestras de nmeros aleatorios entre 0 y Rango . Tambin grafica los promedios parciales en un Waveform Chart. Para el promedio se utiliza la siguiente frmula: Promedio[i]=(i/(i+1)) x ( (i x Promedio[i- 1]) + ValorActual) Dentro del bucle principal, un bucle WHILE , hay una estructura Flat Sequence que primero elimina los datos del Waveform Chart y luego pasa a un bucle FOR que vuelve a tomar los datos. Tambin hay un bucle WHILE : 1- Dentro del bucle FOR , que se repite Muestras veces, se genera un nmero aleatorio entre 0 y 1. Luego se lo multiplica por Rango para que est entre 0 y Rango. Este valor equivale a ValorActual en la frmula. El valor Promedio[i- 1] se obtiene del shift register , que en el primer ciclo vale cero. Con estos dos valores aplicamos la frmula y obtenemos Promedio[i] , que se enva al Waveform Chart y tambin se guarda en el shift register . Esto se repite en cada ciclo. Al salir del bucle FOR se toma el valor Promedio[i] y se lo muestra en el indicador Promedio . El Waveform Chart ya tiene la grfica para ese entonces. 2- Dentro del bucle WHILE se espera a que se presione el botn Calcular, para volver a calcular el promedio, o hasta que se presione SALIR , para salir del programa. En este ltimo caso no se vuelve a repetir el bucle WHILE principal, terminando as el programa. Las lecturas de los botones Calcular y SALIR solo se realizan cuando ocurre un cambio en el panel frontal. Esto para que este bucle no est leyendo innecesariamente, ocupando as el procesador.
SALIR Cuando se presiona, sale del bucle WHILE principla, teminando as el programa.
Cal cular Cuando se presiona, se vuelve a tomar las muestras y mostralas en el Waveform Chart y
Este VI genera una funcin que puede ser configurada mediante los controles de su panel frontal. Tambin cuenta con un cono propio y sus terminales estn configuradas para poder utilizarse como SubVI.
dt
status The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
source The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
t0
dt
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
attributes
Genera dos ondas con dos SubVIs generadores de seales (desarrollados en 1.3.1) y las muestra utilizando el SubVI que simula un osciloscopio creado para este punto (1.3.2). Dentro del bucle WHILE se aguarda a que se genere un cambio en el panel frontal antes de generar la siguiente forma de onda.
Genera una seal y la reproduce en la placa de sonido . En primer lugar y por nica vez, se configura la placa. Luego, dentro del bucle WHILE, se configura el volumen del sonido y luego se enva la onda a la placa. De esta forma el sonido se repite y da la impresin de que fuer contnuo. Ya fuera del bucle WHILE, y por nica vez, se cancela la configuracin de la placa y el programa termina. Si el generador est apagado (presionando el botn OFF) se aguarda a que haya algn evento en el panel frontal para leer el valor del botn OFF, y si este est apagado, seguir reproduciendo el sonido.
FRECUENCIA frequen cy is the frequency of the waveform in units of hertz. The default is 10.
AMPLITUD amplitude is the amplitude of the waveform. The amplitude is also the peak voltage. The default is 1.0.
FASE phase is the initial phase, in degrees, of the waveform. The default is 0. The VI ignores phase if reset signal is FALSE.
DUTY CICLE square wave duty cycle is the percentage of time a square wave remains high versus low over one period. The VI uses this parameter only if the signal type is a square wave. The default is 50.
NRO. MUESTRAS #s is the number of samples in the waveform. The default is 1000.
Se configura el formato de sonido al principio y por nica vez. Luego, en el bucle WHILE, se lee una muestra de sonido y se muestra en el osciloscopio. Cuando se presiona el botn STOP se sale del bucle WHILE, borrando por nica vez la configuracin de la placa que se estableci al principio y saliendo del programa. El sonido se toma en stereo, utilizando ambos canales del osciloscopio para mostrarlo.
sample mode sample mode specifies whether the VI acquires samples just once (Finite Sampl es) or
number of samples/ch number of samples/ch specifies the number of samples per channel in the buffer.
device ID device ID is the input or output device you access for a sound operation. In general, most users should select the default value of 0.
sound format sound format sets the acquisition rate, the number of channels, and the bits per sample of the sound operation. The values for each of these controls is dependent on your sound card.
sample rate (S/s) sample rate (S/s) sets the sampling rate for the sound operation. Common rates are 44,100 S/s, 22,050 S/s, and 11,025 S/s. The default is 22050 S/s.
number of channels number of channels specifies the number of channels. This input can accept as many channels as the sound card supports. For most sound cards 1 is Mono and 2 is Stereo.
bits per sample bits per sample specifies the quality of each sample in bits. Common resolutions are 16 bits and 8 bits. The default is 16 bits.
Waveform Graph
Enva o Recibe un archivo por puerto serie . La accin predeterminada es Recibir . Cuando se est en modo recepcin, se comprueba cada 500ms a ver si hay datos en el puerto. Como la transmisin se hace con el protocolo DTR/DSR , cuando se llena el buffer de entrada, la PC transmisora espera para seguir enviando. El cable debe ser FULL DUPLEX .
Cuando se cambia el modo a Enviar se abre un cuadro de dilogo pidiendo el archivo a enviar y lo enva. El transmisor tambin enva el hash MD5 para que el receptor verifique que la transferencia fue correcta.
stop
Puerto VISA resource name specifies the resource to be opened. This control also specifies the session and class.
Baudios Velocidad de transmisin. Ambos programas, emisor y receptor, deben tener configurada la misma velocidad de transimisin.
Merge Errors.vi
File Dialog
RecibirArch ivoPuerto.vi
EnviarArchivoPuerto.vi
Enva un archivo por puerto serie. Abre el archivo en modo binario y extrae su contenido. Si hay error al leer el archivo, termina el programa. Sino, extrae el nombre y MD5 del archivo y lo une con el contenido en un cluster . En primer lugar se enva el tamao del cluster recin armado y luego el cluster . Se cierra la conexin y termina el programa.
Puerto (COM1) VISA resource name specifies the resource to be opened. This control also specifies the session and class.
Baudios (57600) Velocidad de transferencia. Debe ser la misma que en la otra PC.
error in error in can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
status status is TRUE (X) if an error occurred or FALSE (checkmark) to indicate a warning or that no error occurred.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
error out error in can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
status status is TRUE (X) if an error occurred or FALSE (checkmark) to indicate a warning or that no error occurred.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
MD5Checksum File.vi
RecibirArchivoPuerto.vi
Recibe un archivo por puerto serie. Se abre la conexin y se comprueba si hay bytes esperando para ser ledos en el puerto (estaran almacenados en el cach). Si no hay bytes esperando, se cierra la conexin y termina . Si hay bytes esperando, se leen 4 bytes, que representa un int y que contiene el tamao del cluster , en bytes, que se espera recibir. Luego se lee esa cantidad de bytes desde el puerto y se arma el cluster . Se pide al usuario un nombre de archivo, sugiriendole el mismo
nombre que tena en la otra PC. Se crea el archivo con el nombre sugerido, se guardan en l los datos y se cierra el archivo. Se comprueba si el hash MD5 del archivo recin creado es el mismo que el recibido de la otra PC. Sino, se enva un mensaje de error. Se podran hacer otras comprobaciones, como por ejemplo si el usuario cancel la operacin presionando cancelar cuando se le pidi un nombre para el archivo. Pero si ocurre esto, simplemente habr un error al crear el archivo con un nombre no vlido en el siguiente paso y se propagar por los siguientes SubVIs. Y simplemente se terminar con un error.
Puerto (COM1) VISA resource name specifies the resource to be opened. This control also specifies the session and class.
Baudios (57600) Velocidad de transferencia. Debe ser la misma que en la otra PC.
error in error in describes error conditions that occur before this VI or function runs.
status status is TRUE (X) if an error occurred before this VI or function ran or FALSE (checkmark) to indicate a warning or that no error occurred before this VI or function ran. The default is FALSE.
source source specifies the origin of the error or warning and is, in most cases, the name of the VI or function that produced the error or warning. The default is an empty string.
error out error in can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
status status is TRUE (X) if an error occurred or FALSE (checkmark) to indicate a warning or that no error occurred.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
File Dialog
Servidor TCP/IP . Enva la onda generada a la IP y puerto especificados. En primer lugar intenta, cada 100ms, establecer una comunicacin a la IP y puerto especificados. Cuando se establece la conexin empieza a enviar los datos. Para enviar la onda primero la transforma a formato cadena (que es lo que se puede enviar por TCP/IP). Luego enva, tambin en formato cadena, el tamao de esa cadena. La cadena que contiene el tamao es un cast de int a vector de chars. Son 4 bytes. A continuacin enva la cadena con los datos. Este proceso (de envo) se repite cada 100ms siempre y cuando no haya error en la comunicacin ni se presione el botn STOP. Al finalizar, cierra la conexin TCP/IP.
OFF reset signal, if TRUE, resets the phase to the phase control value and the time stamp to zero. The default is FALSE.
FRECUENCIA frequen cy is the frequency of the waveform in units of hertz. The default is 10.
AMPLITUD amplitude is the amplitude of the waveform. The amplitude is also the peak voltage. The default is 1.0.
FASE phase is the initial phase, in degrees, of the waveform. The default is 0. The VI ignores phase if reset signal is FALSE.
DUTY CICLE square wave duty cycle is the percentage of time a square wave remains high versus low over one period. The VI uses this parameter only if the signal type is a square wave. The default is 50.
NRO. MUESTRAS #s is the number of samples in the waveform. The default is 1000.
SEAL
1.7.1b.vi
Cliente TCP/IP . Escucha por conexiones entrantes TCP/IP en el puerto 2056 . Cuando se establece una conexin (supone que quien la estableci es el servidor 1.7.1a ), lee primero los 4 bytes , que se supone contienen el tamao de los datos que van a ser recibidos (porque as los envi 1.7.1a ). Luego lee esa cantidad de bytes y transforma la cadena leda en un dato tipo waveform , que era el tipo de datos original en el servidor. El tipo de datos (la constante waveform) se crea afuera del bucle, para que no se tenga que estar creando una constante en cada repeticin del bucle (para optimizar noms). Una vez obtenida la forma de onda se la muestra en el osciloscopio. Esto se repite hasta que: 1- Falle la lectura del tamao de los datos. 2- Falle la lectura de los datos. 3- Falle la conversin de los datos a formato waveform . 4- Se presione el botn stop (SALIR). Cuando ocurre alguna de las 4 cosas arriba mencionadas se cierra la conexin y termina el programa.
Oscilos copio.vi
Para configurar el DataSocket Server hay que ir a: Inicio->Programas- >National Instruments- >DataSocket- >DataSocket Server Manager . Una vez ah hay pararse sobre (por ejemplo) Predefined Data Items , y presionar el botn New Item. La descripcin no importa. Hay que llamarlo: waveform_str para que funcione con el VI de ejemplo. O ponerle otro nombre pero despus especificar ese nombre en la URL de los instrumentos. Debe ser de tipo String .
Una vez terminada esa configuracin hay que cerrar esa ventana y abrir: Inicio->Programas- >National Instruments- >DataSocket- >DataSocket Server . Este servidor debe estar abierto todo el tiempo que querramos transmitir los datos, pues se transmiten a travs de este servidor. El generador enva los datos a este servidor y el osciloscopio los lee de ac.
1.7.2a.vi
Generador
de
se ales con
Se conecta al DataSocket Server y enva los datos a ste servidor como una string llamada waveform_str . El programa inicia intentando conectarse con el DataSocket Server en modo write . Si no puede conectarse espera 100ms y vuelve a intentarlo. Esto lo hace hasta que se pueda conectar. Una vez conectado, genera una seal y la enva al DataSocket Server . Espera 100ms y vuelve a hacer lo mismo. Si hay algn error al enviar los datos al DataSocket Server o si se presiona el botn stop (SALIR), sale del bucle WHILE, cierra la conexin y termina el programa. Nota: Debe haber un DataSocket Server funcionando adems de este generador y del osciloscopio 1.7.2b para poder conectarse. Ver DataSocket Server para informacin de como configurarlo.
OFF reset signal, if TRUE, resets the phase to the phase control value and the time stamp to zero. The default is FALSE.
FRECUENCIA frequen cy is the frequency of the waveform in units of hertz. The default is 10.
AMPLITUD amplitude is the amplitude of the waveform. The amplitude is also the peak voltage. The default is 1.0.
FASE phase is the initial phase, in degrees, of the waveform. The default is 0. The VI ignores phase if reset signal is FALSE.
DUTY CICLE square wave duty cycle is the percentage of time a square wave remains high versus low over one period. The VI uses this parameter only if the signal type is a square wave. The default is 50.
NRO. MUESTRAS #s is the number of samples in the waveform. The default is 1000.
1.7.2b.vi
Osciloscopio con
Dat aSocket .
Se conecta al DataSocket Server y recibe los datos desde este servidor como una string llamada waveform_str . El programa inicia intentando conectarse con el DataSocket Server en modo BufferedRead . Si no puede conectarse espera 100ms y vuelve a intentarlo. Esto lo hace hasta que se pueda conectar. Una vez conectado, lee la seal desde el DataSocket Server y la muestra en el osciloscopio. Luego vuelve a repetir el mismo proceso hasta que haya algn error al recibir los datos del DataSocket Server o si se presiona el botn stop (SALIR). Si ocurre alguna de estas dos cosas sale del bucle WHILE, cierra la conexin y termina el programa. Nota: Debe haber un DataSocket Server funcionando adems de este osciloscopior y del generador 1.7.2a para poder conectarse. Ver DataSocket Server para informacin de como configurarlo.
Oscilos copio.vi